diff --git a/notizen/stf/Notes b/notizen/stf/Notes new file mode 100644 index 00000000..c9fe69a5 --- /dev/null +++ b/notizen/stf/Notes @@ -0,0 +1,16 @@ +- Was sind / wofür brauch man TTO und Classes +- Unify löst auch zirkuläre Abhängigkeiten a <. b <. c <. a + - Tests dazu? + - Prüfung im Builder? + +- Unterschied Wildcard und FreshWildcard, ExtendsWildcard und FreshExtendsWildcard etc... + - FreshWildcard = TPH für Wildcards? + +- Warum ist result von unify = Menge> und nicht Menge + +- Menge Equals überarbeiten (Momentan Reihenfolgensensitiv) + +- Wie kommen die Mengen des Unify-Algorithmus zustande? Siehe test: + /* + * Test b <. a, a <. b + */ \ No newline at end of file diff --git a/src/de/dhbwstuttgart/bytecode/ClassGenerator.java b/src/de/dhbwstuttgart/bytecode/ClassGenerator.java index 0f8012ac..be42c2ba 100644 --- a/src/de/dhbwstuttgart/bytecode/ClassGenerator.java +++ b/src/de/dhbwstuttgart/bytecode/ClassGenerator.java @@ -1,6 +1,8 @@ package de.dhbwstuttgart.bytecode; +import java.util.HashMap; import java.util.Iterator; +import java.util.Map; import org.apache.commons.bcel6.classfile.BootstrapMethod; import org.apache.commons.bcel6.classfile.BootstrapMethods; @@ -29,9 +31,10 @@ public class ClassGenerator extends ClassGen{ private Type superClass; private Menge usedTPHs = new Menge<>(); + + private Map extraClasses = new HashMap<>(); - public ClassGenerator(String name, Type superClass, String string, - short accPublic, String[] strings, TypeinferenceResultSet resultSet) { + public ClassGenerator(String name, Type superClass, String string, short accPublic, String[] strings, TypeinferenceResultSet resultSet) { super(name,superClass.get_Name(),string,accPublic,strings, new DHBWConstantPoolGen()); this.tiResult = resultSet; this.superClass = superClass; @@ -156,4 +159,12 @@ public class ClassGenerator extends ClassGen{ return ret; } + public void addExtraClass(ClassGenerator cg){ + extraClasses.put(cg.getClassName(), cg); + } + + public Map getExtraClasses() { + return extraClasses; + } + } diff --git a/src/de/dhbwstuttgart/core/MyCompiler.java b/src/de/dhbwstuttgart/core/MyCompiler.java index 74099f38..60ea5bb2 100755 --- a/src/de/dhbwstuttgart/core/MyCompiler.java +++ b/src/de/dhbwstuttgart/core/MyCompiler.java @@ -1,9 +1,6 @@ -// ino.module.MyCompiler.8569.package + package de.dhbwstuttgart.core; -// ino.end - -// ino.module.MyCompiler.8569.import import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; @@ -48,67 +45,28 @@ import de.dhbwstuttgart.typeinference.exceptions.ParserError; import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException; - -// ino.class.MyCompiler.21258.declaration -public class MyCompiler implements MyCompilerAPI -// ino.end -// ino.class.MyCompiler.21258.body -{ - // ino.attribute.NO_LINENUMBER.21262.decldescription type=line +public class MyCompiler implements MyCompilerAPI{ // PL: Der Zusammenhang zwischen paralist und vParaOrg muesste // noch geklaert werden 05-01-07 - // ino.end - // ino.attribute.NO_LINENUMBER.21262.declaration public static final int NO_LINENUMBER = -1; - // ino.end - - // ino.attribute.codegenlog.21265.decldescription type=line - // Logger - // ino.end - // ino.attribute.codegenlog.21265.declaration - //protected static Logger codegenlog = Logger.getLogger("codegen"); - // ino.end - // ino.attribute.inferencelog.21268.declaration + protected static Logger inferencelog = Logger.getLogger(MyCompiler.class.getName()); - // ino.end - // ino.attribute.parserlog.21271.declaration - //protected static Logger parserlog = Logger.getLogger("parser"); - // ino.end - - // ino.attribute.OutputDir.21274.declaration + protected String OutputDir = ""; - // ino.end + public Menge testPair = null; - // ino.attribute.m_AbstractSyntaxTree.21280.decldescription type=javadoc - /** - * Der abstrake Syntaxbaum - *
Autor: J�rg B�uerle - */ - // ino.end - // ino.attribute.m_AbstractSyntaxTree.21280.declaration - private Menge m_AbstractSyntaxTree = new Menge(); - // ino.end - - // ino.method.MyCompiler.21283.defdescription type=javadoc /** * Author: J�rg B�uerle
* Der private Konstruktor. Es soll von au�en kein Compiler angelegt werden * k�nnen, sondern nur eine API zur Verf�gung gestellt werden. * @param logger Konfiguration für Debug Ausgabe TODO */ - // ino.end - // ino.method.MyCompiler.21283.definition - private MyCompiler() - // ino.end - // ino.method.MyCompiler.21283.body - { + private MyCompiler(){ this.init(); } - // ino.end - - // ino.method.getAPI.21286.defdescription type=javadoc + /** * Author: Jörg Bäuerle
* Stellt eine neue Instanz der CompilerAPI zur Verf�gung. @@ -116,116 +74,11 @@ public class MyCompiler implements MyCompilerAPI * um eine Quellcode-Datei zu kompilieren. * @return Die Compiler-API */ - // ino.end - // ino.method.getAPI.21286.definition - public static MyCompilerAPI getAPI(LoggerConfiguration loggerConfig) - // ino.end - // ino.method.getAPI.21286.body - { + public static MyCompilerAPI getAPI(LoggerConfiguration loggerConfig){ Logger.setStandardConfiguration(loggerConfig); return new MyCompiler(); } - // ino.end - public Menge testPair = null; - - // ino.method.wandleGeneric2RefType.21289.defdescription type=javadoc - /** - * Author: Thomas Ott
- * Ersetzt in der Superklassenparameterliste einer Klasse, diejenigen - * GenericTypeVars, zu denen es eine Klasse gibt, die gleich hei�t. - * Beim Parsen werden n�mlich vom Jay nur GenericTypeVars erzeugt und keine - * RefTypes. Dies wird durch diese Methode nachgeholt.
- * Bsp.: class JoergsTolleKlasse extends MartinsSuperklasse - *
Wie man an diesem Beispiel sieht, kann nur eine Superklasse instantiierte - * Typvariablen zwischen den eckigen Klammern stehen haben, nicht jedoch die - * abgeleitete Klasse. - * - * @param className Klassenname der aktuell betrachteten Klasse - * @param Parameter Parameter der Superklasse - * @param KlassenVektor - - // ino.end - // ino.method.wandleGeneric2RefType.21289.definition - public static void wandleGeneric2RefType(Menge Parameter, Menge KlassenVektor ) - // ino.end - // ino.method.wandleGeneric2RefType.21289.body - { - //wandleGeneric2RefType SOLLTE NICHT NUR FUER LISTEN - //VON TYPEN FUNKTIONIEREN PL 05-01-19 - // otth: GenericTypeVar in Superklassenparameterlisten in RefTypes mit Parameterlsite = NULL umwandeln, - // falls: f�r GenericTypeVar existiert eine gleichnamige Klasse - if(Parameter == null) return; - - for( int i = 0; i < Parameter.size(); i++) - { - Type TempParameter = Parameter.elementAt(i); - inferencelog.debug("Nr. des Parameters: " + i); - - // an dieser Stelle: Parametername - if ( TempParameter instanceof GenericTypeVar) - { - inferencelog.debug("Generic, WANDLE: " + TempParameter.getName()); - // existiert f�r GenericTypeVar eine deklarierte Klasse - for( int k = 0; k < KlassenVektor.size(); k++) - { - if( KlassenVektor.elementAt(k).getSimpleName().equals(TempParameter.getSimpleName()) ) - { - // Klasse existiert, darf aber keine Parameterliste in der Definition haben - if( KlassenVektor.elementAt(k).get_ParaList().size() == 0 ) - { - RefType RNeu = new RefType( TempParameter.getName().toString(), null,TempParameter.getOffset()); - inferencelog.debug( "Vorher: " + Parameter ); - // i-te Stelle ersetzen - Parameter.set( i, RNeu ); - inferencelog.debug( "GenericTypeVar " + TempParameter.getName() + " umwandeln..." ); - inferencelog.debug( "Nachher: " + Parameter ); - } - else - { - //parserlog.error( "SEMANTIK-CHECK-FEHLER: Parameter " + TempParameter.getName() + " muss weitere Parameter besitzen (laut Klassendefinition)" ); - //FIXME Throw exception instead of simple exit - System.exit( 1 ); - } - } - else { - inferencelog.debug("Ist echter Generic, wird nicht ersetzt!"); - } - } // end for - } // end if - else - { - inferencelog.debug("Nicht Generic, WANDLE nicht: " + TempParameter.getName()); - // RefType --> u.U. rekursiv weiterwandeln - if(TempParameter instanceof RefType) - { - RefType R = (RefType)TempParameter; - if( R.get_ParaList() != null ) - wandleGeneric2RefType( R.get_ParaList(), KlassenVektor ); - } - else if(TempParameter instanceof ITypeContainer) - { - Type T = ((ITypeContainer)TempParameter).getContainedType(); - if(T instanceof RefType) - { - RefType R = (RefType)T; - if( R.get_ParaList() != null ) - wandleGeneric2RefType( R.get_ParaList(), KlassenVektor ); - } - } - else - { - inferencelog.error("Internal Error"); - System.exit( 1 ); - } - } - } //end for - } //end wandleGeneric2RefType - // ino.end - */ - - - // ino.method.parse.21292.defdescription type=javadoc /** * Parst den Quellcode und baut den abstrakten Syntaxbaum auf. Danach wird * automatisch der von Thomas Ott implementierte Algorithmus @@ -236,246 +89,19 @@ public class MyCompiler implements MyCompilerAPI * @throws IOException * @throws JavaParser.yyException */ - // ino.end - // ino.method.parse.21292.definition - private void parse_backup(Reader reader) - throws IOException, JavaParser.yyException - // ino.end - // ino.method.parse.21292.body - { - /* - parserlog.info("#########################################"); - parserlog.info("# Parsen - START #"); - parserlog.info("#########################################\n"); - - ////////////////////////////////////// - // Alte Daten l�schen: - ////////////////////////////////////// - m_AbstractSyntaxTree = null; - - ////////////////////////////////////// - // Scanner und Parser erzeugen: - ////////////////////////////////////// - Scanner scanner = new Scanner(reader); - JavaParser parser = new JavaParser(); - - ////////////////////////////////////// - // Parsen ==> Ergebnis: srcFile = Abstrakter Syntaxbaum - ////////////////////////////////////// - SourceFile srcFile = (SourceFile) parser.yyparse( scanner ); - this.testPair = parser.testPair; - - parserlog.info( "Parsen war erfolgreich!\n"); - - //PL 05-07-31 verschoben nach SourceFile.java in Methode typeReconstruction - // otth: TypePlaceholders in Superklassenparameterlisten in RefTypes mit Parameterlsite = NULL umwandeln, - // falls: f�r TypePlaceholder existiert eine gleichnamige Klasse - // Superklasse suchen - //for( int i = 0; i < srcFile.KlassenVektor.size(); i++ ) - //{ - //Class tempKlasse = (Class)srcFile.KlassenVektor.elementAt( i ); - - //PL 05-07-30 ausgetauscht um alle Typedeklarationen zu wandeln - // if( tempKlasse.superclassid != null && tempKlasse.get_ParaList() != null ) - // { - // // aktuelle Klasse hat Superklasse und Parameter - // Menge Parameter = tempKlasse.superclassid.get_ParaList(); - // this.wandleGeneric2RefType(Parameter, srcFile.KlassenVektor ); - // } - //wandleGeneric2RefType(tempKlasse.getContainedTypes(), srcFile.KlassenVektor ); - - //} - - // otth: echte Konstruktoren von Methodendeklarationen ohne Typen unterscheiden - if ( srcFile != null ) - { - Class tempKlasse = null; - ClassBody tempKlassBody = null; - Menge tempMengeFieldDecl; - mycompiler.myclass.Field tempFieldDecl = null; - String strKlasse; - - for( int i = 0; i < srcFile.KlassenVektor.size(); i++ ) - { - - // Unterscheidung zwischen Class und Interfaces - if (srcFile.KlassenVektor.elementAt(i) instanceof Class) { - tempKlasse = (Class)srcFile.KlassenVektor.elementAt( i ); - tempKlassBody = tempKlasse.get_ClassBody(); - } else { - tempKlasse = null; - tempKlassBody = null; - } - - if ( tempKlassBody != null ) - { - strKlasse = tempKlasse.getName(); - parserlog.debug("T->Felddeklarationen f�r die Klasse:" + strKlasse); - parserlog.debug( "------------------------------------"); - - // Schleife �ber alle fielddeclarations - tempMengeFieldDecl = tempKlassBody.getFields(); - for( int k = 0; k < tempMengeFieldDecl.size(); k++ ) - { - tempFieldDecl = tempMengeFieldDecl.elementAt(k); - if( tempFieldDecl instanceof Constructor ) - { - //parserlog.debug("T->Konstruktor: " + ((DeclId)tempFieldDecl.get_Name().elementAt(0)).get_Name() + " - ReturnType: " + tempFieldDecl.getTypeName()); - - // pr�fen, ob Construktorname == Klassenname - falls nein: Construktor in Methode umwandeln !!! - String strConstName = ((DeclId)tempFieldDecl.get_Name().elementAt(0)).get_Name(); // Konstruktorname - if ( !strConstName.equals( strKlasse ) ) - { - // Element k durch neues ersetzen! - - Method Methode = new Method(); - Method Konstruktor = (Constructor)tempFieldDecl; - - // Elementweise vom Konstruktor in die Methode kopieren - Methode.set_Block( Konstruktor.get_Block() ); - Methode.setParameterList( Konstruktor.getParameterList() ); - Methode.set_ExceptionList( Konstruktor.get_ExceptionList() ); - Methode.setReturnType( Konstruktor.getReturnType() ); - Methode.setDeclIdMenge( Konstruktor.getDeclIdMenge() ); - // types_in_parameterlist wird wohl erst sp�ter und intern gef�llt - - // R�ckgabetyp = Objekt der Klasse 'TypePlaceholder' - - // #JB# 31.03.2005 - // ########################################################### - Methode.setReturnType(TypePlaceholder.fresh(Methode)); - //Methode.setReturnType( new TypePlaceholder("###NEU###") ); - // ########################################################### - - // Element an der Position k durch neues ersetzen! - tempMengeFieldDecl.setElementAt( Methode, k ); - } - } - if( tempFieldDecl instanceof Method && !(tempFieldDecl instanceof Constructor) ) - { - //parserlog.debug("T->Methode: " + ((DeclId)tempFieldDecl.get_Name().elementAt(0)).get_Name() + " - ReturnType: " + tempFieldDecl.getTypeName()); - } - - } - - // Debugg-Infos - parserlog.debug(""); - parserlog.debug("T->NEUE Felddeklarationen f�r die Klasse:" + strKlasse); - parserlog.debug( "-----------------------------------------"); - for( int k = 0; k < tempMengeFieldDecl.size(); k++ ) - { - tempFieldDecl = tempMengeFieldDecl.elementAt(k); - //parserlog.debug("T->" + ((DeclId)tempFieldDecl.get_Name().elementAt(0)).get_Name() + " - Typ: " + tempFieldDecl + " - ReturnType: " + tempFieldDecl.getTypeName()); - } - - // otth: TypePlaceholders durchnummerieren mit A, B, ... - parserlog.debug(""); - parserlog.debug(""); - parserlog.debug("Suche TypePlaceholders in den FieldDecls:"); - parserlog.debug( "------------------------------------------"); - - ParameterList tempParameterList; - Menge tempVFktPara; - FormalParameter tempFP; - Method tempMethod; - Type tempReturn; - Type tempType; - for( int k = 0; k < tempMengeFieldDecl.size(); k++ ) - { - tempFieldDecl = tempMengeFieldDecl.elementAt(k); - tempMethod = null; - - if( tempFieldDecl instanceof Method ) - { - tempMethod = (Method)tempFieldDecl; - tempReturn = tempMethod.getReturnType(); - - // Funktionen ohne definierten R�ckgabetyp suchen!!! - if( tempReturn instanceof TypePlaceholder ) - { - // Methode mit nicht-definiertem R�ckgabetyp gefunden! - - // #JB# 31.03.2005 - // ########################################################### - // Wird bereits �ber fresh() gemacht!! - //tempReturn.setName( TypePlaceholder.makeNewName() ); - // ########################################################### - parserlog.debug(""); - parserlog.debug("Methode ohne Rueckgabetyp: " + tempMethod.get_Method_Name() + " --> " + tempReturn.getName()); - } - else - { - parserlog.debug(""); - parserlog.debug("Methode mit Rueckgabetyp / Konstruktor: " + tempMethod.get_Method_Name()); - } - - // Methoden-Funktionsparameter durchsuchen - tempParameterList = tempMethod.getParameterList(); - if ( tempParameterList != null ) - { - tempVFktPara = tempParameterList.sc_get_Formalparalist(); - for( int l = 0; l < tempVFktPara.size(); l++ ) - { - tempFP = tempVFktPara.elementAt(l); - tempType = tempFP.getType(); - if( tempType instanceof TypePlaceholder ) - { - if( tempType != null ) - { - // neuer Name berechnen - - // #JB# 31.03.2005 - // ########################################################### - // Wird bereits �ber fresh() gemacht!! - //tempType.setName( TypePlaceholder.makeNewName() ); - // ########################################################### - } - } - parserlog.debug(""); - parserlog.debug(" Parameter: " + tempFP.get_Name() + " --> " + tempType.getName()); - } - } - else - { - parserlog.debug(""); - parserlog.debug(" Methode hat keine Parameter!"); - } - } - } - } //end if - } //end for - } //end if - m_AbstractSyntaxTree = srcFile; - - parserlog.info("#########################################"); - parserlog.info("# Parsen - ENDE #"); - parserlog.info("#########################################\n"); - */ - } // end Methode parse() - // ino.end - + private void parse_backup(Reader reader) throws IOException, JavaParser.yyException{ + + } ///////////////////////////////////////////////////////////////////////////////////////////////// // Implementierte API-Methoden: ///////////////////////////////////////////////////////////////////////////////////////////////// - // ino.method.init.21295.defdescription type=javadoc /** * Author: J�rg B�uerle
* Initialisiert den Compiler */ - // ino.end - // ino.method.init.21295.definition - public void init() - // ino.end - // ino.method.init.21295.body - { + public void init(){ TypePlaceholder.deleteRegistry(); - - // Log4J fuer die Ausgabe vorbereiten - //DOMConfigurator.configure("log4j.xml"); } - // ino.end - - // ino.method.parse.21298.defdescription type=javadoc /** * Author: J�rg B�uerle
* Ruft die Parse-Methode. @@ -484,22 +110,13 @@ public class MyCompiler implements MyCompilerAPI * @throws IOException Wenn was schief l�uft. * @throws JavaParser.yyException Wenn ein Fehler beim Parsen auftritt. */ - // ino.end - // ino.method.parse.21298.definition - public SourceFile parse(File file) - throws FileNotFoundException, IOException, JavaParser.yyException - // ino.end - // ino.method.parse.21298.body - { + public SourceFile parse(File file) throws FileNotFoundException, IOException, JavaParser.yyException{ FileReader fr = new FileReader(file); SourceFile ret = this.parse2SyntaxTree(fr); - this.m_AbstractSyntaxTree.add(ret); fr.close(); return ret; } - // ino.end - - // ino.method.typeReconstruction.21304.defdescription type=javadoc + /** * Author: J�rg B�uerle
* Ruft den Typrekonstruktionsalgorithmus auf. @@ -508,16 +125,7 @@ public class MyCompiler implements MyCompilerAPI * ist. @throws CTypeReconstructionException Wenn ein Fehler bei der * Typrekonstruktion auftritt. */ - // ino.end - // ino.method.typeReconstruction.21304.definition - public Menge typeReconstruction() - throws NullPointerException, CTypeReconstructionException - // ino.end - // ino.method.typeReconstruction.21304.body - { - if(m_AbstractSyntaxTree==null){ - throw new NullPointerException("Es wurde noch kein Abstrakter Syntaxbaum erstellt!"); - } + public Menge typeReconstruction(Menge m_AbstractSyntaxTree) throws NullPointerException, CTypeReconstructionException{ inferencelog.info("##########################################", Section.TYPEINFERENCE); inferencelog.info("# TypeReconstruction-Algorithmus - START #", Section.TYPEINFERENCE); inferencelog.info("##########################################\n", Section.TYPEINFERENCE); @@ -535,7 +143,6 @@ public class MyCompiler implements MyCompilerAPI return result; } - // ino.end /** * Erstellt die FunN-Assumptions @@ -559,45 +166,13 @@ public class MyCompiler implements MyCompilerAPI return ret; } - - /** - * Author: J�rg B�uerle
- * Generiert den Bytecode und das Class-File f�r den Syntaxbaum. - * @throws NullPointerException Wenn noch kein abstrakter Syntaxbaum vorhanden - * ist. - - @Override - public Menge codeGeneration(ResultSet result) - throws NullPointerException, JVMCodeException - { - if(m_AbstractSyntaxTree==null){ - throw new NullPointerException("Es wurde noch kein Abstrakter Syntaxbaum erstellt!"); - } - codegenlog.info("Beginn der Codegenerierung ..."); - - Menge ret = new Menge(); - - for(SourceFile sf : m_AbstractSyntaxTree){ - ret.addAll(sf.codegen(result)); - } - - codegenlog.info("Codegenerierung beendet!"); - return ret; - }*/ - - // ino.method.main.21313.defdescription type=javadoc /** * Die Main-Funktion, �ber die der Compiler auch per Konsole gestartet * werden kann. * @param args Klassendatei */ - // ino.end - // ino.method.main.21313.definition - public static void main(String[] args) - // ino.end - // ino.method.main.21313.body - { + public static void main(String[] args){ MyCompilerAPI compiler = MyCompiler.getAPI(new LoggerConfiguration()); // Hier koennten ggf. Aenderungen der Ausgabeeinstellungen @@ -617,33 +192,9 @@ public class MyCompiler implements MyCompilerAPI System.err.println(e); System.exit(0); } - - ///////////////////////// - // Semantik-Check: - ///////////////////////// - // try { - // compiler.semanticCheck(); - // } catch (NullPointerException e) { - // System.out.println("Fehler beim Aufrufen des Semantik-Checks:"); - // System.out.println(e); - // System.exit(0); - // } catch (SCException e) { - // e.fehlerausgabe(); - // System.exit(0); - // } - - ///////////////////////// - // Code-Generierung: - ///////////////////////// - //compiler.codeGeneration(); - } - // ino.end + } - // ino.method.setOutputDir.21316.definition - public void setOutputDir(String dir) - // ino.end - // ino.method.setOutputDir.21316.body - { + public void setOutputDir(String dir){ char c = dir.charAt(dir.length()-1); if (c != '/' & c != '\\') dir = dir + "/"; OutputDir = dir; @@ -652,75 +203,11 @@ public class MyCompiler implements MyCompilerAPI File f = new File(dir); f.mkdirs(); } - // ino.end - // ino.method.getOutputDir.21319.definition - public String getOutputDir() - // ino.end - // ino.method.getOutputDir.21319.body - { + public String getOutputDir(){ return OutputDir; } - // ino.end -/* - // ino.method.getFullyQualifiedNameFromClassname.21322.definition - public static String getFullyQualifiedNameFromClassname(String typ, ImportDeclarations declarations) - // ino.end - // ino.method.getFullyQualifiedNameFromClassname.21322.body - { - String ret=null; - // Es ist kein FullyQualifiedName => In den Imports die Klasse suchen - for(int j=0;j de.dhbwstuttgart.typeinference.Menge x; - * @param containedTypes Alle Typen, die die Klasse beinhaltet - * @param name Alle Klassen, die es in den BasicAssumptions und im - * AbstractSyntaxTree gibt @param declarations Alle Import-Declarations - - // ino.end - // ino.method.makeRefTypesFullyQualified.21325.definition - public static void makeRefTypesFullyQualified(Menge containedTypes, ImportDeclarations declarations) - // ino.end - // ino.method.makeRefTypesFullyQualified.21325.body - { - // HOTI 8.5.06 Anhand der ContainedTypes alle Variablen aendern - for( int i = 0; i < containedTypes.size(); i++) - { - Type tempParameter = (Type)(containedTypes.elementAt(i)); - // Nat�rlich nur RefTypes updaten - if(tempParameter instanceof RefType){ - RefType typ=(RefType)tempParameter; - UsedId fullyQualifiedName=UsedId.createFromQualifiedName(typ.getTypeName(),typ.getOffset()); - // Kein FullyQualifiedName - if(fullyQualifiedName.name.size()==1){ - String newType=getFullyQualifiedNameFromClassname(typ.getSimpleName(),declarations); - if(newType!=null){ - typ.setName(newType); - } - - } - if(typ.get_ParaList()!=null){ - makeRefTypesFullyQualified(typ.get_ParaList(),declarations); - } - } - } - } - // ino.end - */ /** * @author Arne Lüdtke * Ersetzt alle GTVs durch TPHs mit gleichem Namen. Arbeitet Rekursiv. @@ -790,8 +277,10 @@ public class MyCompiler implements MyCompilerAPI /** * Diese Funktion nimmt einen Menge von Dateinamen. Alle diese Dateien werden zu einem SyntaxBaum geparst. + * @return */ - public void parse(Menge filenames) throws ParserError { + public Menge parse(Menge filenames) throws ParserError { + Menge m_AbstractSyntaxTree = new Menge(); for(String filename : filenames){ StringBuffer fileData = new StringBuffer(); @@ -816,58 +305,25 @@ public class MyCompiler implements MyCompilerAPI StringReader srcreader = new StringReader(fileData.toString()); //Den aus der Datei ausgelesenen Quellcode zu einem Syntaxbaum parsen: - this.m_AbstractSyntaxTree.add(parse2SyntaxTree(srcreader)); // Alle Dateien nacheinander hintereinander anhängen... - - } - /* - String gesamterSrc = ""; - //Hier werden alle übergebenen Dateinamen abgearbeitet: - for(String filename : filenames){ - try { - StringBuffer fileData = new StringBuffer(); - BufferedReader reader = new BufferedReader( - new FileReader(filename)); - char[] buf = new char[1024]; - int numRead=0; - while((numRead=reader.read(buf)) != -1){ - String readData = String.valueOf(buf, 0, numRead); - fileData.append(readData); - } - reader.close(); - gesamterSrc += fileData.toString() + "\n"; // Alle Dateien nacheinander hintereinander anhängen... - } catch (Exception e) { - e.printStackTrace(); - throw new TypinferenzException("Die übergebenen Dateien konnten nicht zum Parsen eingelesen werden."); - } + m_AbstractSyntaxTree.add(parse2SyntaxTree(srcreader)); // Alle Dateien nacheinander hintereinander anhängen... } - try { - // und anschließend zum Parsen übergeben. - this.parse(gesamterSrc.toString()); - } catch (Exception e) { - e.printStackTrace(); - //throw new TypinferenzException("Fehler beim Parsen"); - } - - */ + return m_AbstractSyntaxTree; } @Override public SourceFile parse(String sourceCode) { - SourceFile ret = this.parse2SyntaxTree(new StringReader(sourceCode)); - this.m_AbstractSyntaxTree.add(ret); - return ret; + return parse2SyntaxTree(new StringReader(sourceCode)); } @Override - public Menge generateBytecode(TypeinferenceResultSet typeinferenceResult) { + public Menge generateBytecode(Menge m_AbstractSyntaxTree, TypeinferenceResultSet typeinferenceResult) { //SourceFile parsedFile = this.m_AbstractSyntaxTree.firstElement(); //Class parsedClass = parsedFile.KlassenVektor.firstElement(); Menge ret = new Menge<>(); - for(SourceFile sf : this.m_AbstractSyntaxTree){ + for(SourceFile sf : m_AbstractSyntaxTree){ ret.addAll(sf.generateBytecode(typeinferenceResult)); } return ret; } } -// ino.end diff --git a/src/de/dhbwstuttgart/core/MyCompilerAPI.java b/src/de/dhbwstuttgart/core/MyCompilerAPI.java index 9c5d2a57..f0eac42f 100755 --- a/src/de/dhbwstuttgart/core/MyCompilerAPI.java +++ b/src/de/dhbwstuttgart/core/MyCompilerAPI.java @@ -85,8 +85,7 @@ public interface MyCompilerAPI */ // ino.end // ino.method.typeReconstruction.21340.declaration - public Menge typeReconstruction() - throws NullPointerException, TypeinferenceException; + public Menge typeReconstruction(Menge m_AbstractSyntaxTree) throws NullPointerException, CTypeReconstructionException; // ino.end // ino.method.setOutputDir.21349.decldescription type=javadoc @@ -112,8 +111,9 @@ public interface MyCompilerAPI /** * Parst zusammenhängende JavaKlassen in verschiedenen Dateien. * @param filenames - Eine Liste von Quellcodedateien, welche gseparst werden sollen + * @return */ - public void parse(Menge filenames) throws ParserError; + public Menge parse(Menge filenames) throws ParserError; /** * Parst den SourceCode einer Datei. @@ -127,6 +127,6 @@ public interface MyCompilerAPI * Dafür müssen die Schritte Parsen und typeReconstruction ausgeführt werden. * @return */ - public Menge generateBytecode(TypeinferenceResultSet rs); + public Menge generateBytecode(Menge m_AbstractSyntaxTree, TypeinferenceResultSet typeinferenceResult); } // ino.end diff --git a/src/de/dhbwstuttgart/syntaxtree/Class.java b/src/de/dhbwstuttgart/syntaxtree/Class.java index 356e3298..2ea33d0e 100755 --- a/src/de/dhbwstuttgart/syntaxtree/Class.java +++ b/src/de/dhbwstuttgart/syntaxtree/Class.java @@ -15,7 +15,6 @@ import org.apache.commons.bcel6.generic.InstructionHandle; import org.apache.commons.bcel6.generic.InstructionList; import org.apache.commons.bcel6.generic.MethodGen; -import de.dhbwstuttgart.typeinference.Menge; import de.dhbwstuttgart.logger.Logger; import de.dhbwstuttgart.logger.Section; import de.dhbwstuttgart.logger.SectionLogger; @@ -25,6 +24,7 @@ import de.dhbwstuttgart.bytecode.DHBWInstructionFactory; import de.dhbwstuttgart.core.AClassOrInterface; import de.dhbwstuttgart.core.IItemWithOffset; import de.dhbwstuttgart.parser.JavaClassName; +import de.dhbwstuttgart.syntaxtree.misc.DeclId; import de.dhbwstuttgart.syntaxtree.misc.UsedId; import de.dhbwstuttgart.syntaxtree.modifier.Modifiers; import de.dhbwstuttgart.syntaxtree.statement.Block; @@ -80,6 +80,8 @@ public class Class extends GTVDeclarationContext implements AClassOrInterface, I DHBWConstantPoolGen _cp; ClassGenerator _cg; + Menge results = new Menge(); + SectionLogger logger = Logger.getSectionLogger(this.getClass().getName(), Section.CODEGEN); logger.debug("Test"); @@ -111,11 +113,10 @@ public class Class extends GTVDeclarationContext implements AClassOrInterface, I c.genByteCode(_cg, fieldInitializations); } - ByteCodeResult code = new ByteCodeResult(_cg); - return code; + return new ByteCodeResult(_cg); } - private Menge superif = new Menge(); + private Menge superif = new Menge(); public UsedId getPackageName() { @@ -222,8 +223,8 @@ public class Class extends GTVDeclarationContext implements AClassOrInterface, I superclassid=null; } this.offset = offset; - if(!name.equals("Object"))//Alle Klassen außer Object erben von Object: - this.superClass = new Class("Object", -1).getType(); + if(!name.equals("Object") && !name.equals("java.lang.Object"))//Alle Klassen außer Object erben von Object: + this.superClass = new Class("java.lang.Object", -1).getType(); } // ino.end @@ -593,112 +594,6 @@ public class Class extends GTVDeclarationContext implements AClassOrInterface, I { return this.parahash; } - // ino.end - - - -/*static void string_rec(Hashtable ht){ - String record=""; - boolean isError=false; - record=record.concat("["); - for(Enumeration e=ht.elements(),k=ht.keys();e.hasMoreElements();){ - String s = (String)k.nextElement(); - Object o = e.nextElement(); - - record=record.concat(" "+s); - - if(o instanceof Type){ - record=record.concat(" = "+((Type)o).getName()); - } else if(o instanceof Hashtable){ - record=record.concat("= "); - string_rec((Hashtable)o); - if(e.hasMoreElements()) - record=record.concat(", "); - } else if(o instanceof String){ - record=record.concat(" = "+o); - if(e.hasMoreElements()) - record=record.concat(", "); - } - else { - record=("[FEHLER: string_rec: unbekannter Typ!!!!!!"); - isError=true; - } - } - record=record.concat("]"); - if(isError){ - parserlog.error(record); - }else{ - parserlog.debug(record); - } - }*/ - - /*static void string_rec(Menge v){ - String record=("{"); - for(Enumeration e=v.elements();e.hasMoreElements();){ - Type t = (Type)e.nextElement(); - record=record.concat(" "+t.getName()); - - if(e.hasMoreElements()) - record=record.concat(","); - } - record=record.concat("}"); - parserlog.debug(record); - }*/ - /*static void string_rec(String st, Hashtable ht){ - String record=(st); - boolean isError=false; - record=record.concat("["); - for(Enumeration e=ht.elements(),k=ht.keys();e.hasMoreElements();){ - String s = (String)k.nextElement(); - Object o = e.nextElement(); - - record=record.concat(" "+s); - - if(o instanceof Type){ - record=record.concat(" = "+((Type)o).getName()); - } - - else if(o instanceof Hashtable){ - record=record.concat("= "); - string_rec((Hashtable)o); - if(e.hasMoreElements()) - record=record.concat(", "); - } - else if(o instanceof String){ - record=record.concat(" = "+o); - if(e.hasMoreElements()) - record=record.concat(", "); - } - else { - record=("[FEHLER: string_rec: unbekannter Typ!!!!!! " +o); - isError = true; - } - } - record=record.concat("]"); - if(isError){ - parserlog.error(record); - }else{ - parserlog.debug(record); - } - }*/ - - /*static void string_rec(String st,Menge v) - { - String record=(st); - record=record.concat("{"); - for(Enumeration e=v.elements();e.hasMoreElements();) - { - Type t = (Type)e.nextElement(); - record=record.concat(" "+t.getName()); - if(e.hasMoreElements()) - { - record=record.concat(", "); - } - } - record=record.concat("}"); - parserlog.debug(record); - }*/ - ///////////////////////////////////////////////////////////////////////// // TypeReconstructionAlgorithmus @@ -771,165 +666,7 @@ public class Class extends GTVDeclarationContext implements AClassOrInterface, I typinferenzLog.debug("Erstellte Constraints: "+oderConstraints, Section.TYPEINFERENCE); return oderConstraints; - - - /* - CReconstructionTupleSet retTupleSet = this.TRStart(methodList, V, V_fields_methods, supportData); - inferencelog.debug("Bin aus TRStart() zur�ck in TRProg()."); - ////////////////////////////// - // Neu Ergebnismenge A aller - // Typannahmen erzeugen: - ////////////////////////////// - inferencelog.debug("Erstelle Ergebnismenge..."); - Menge newA = new Menge(); - - // Alle bisherigen M�glichkeiten an Typkombinationen durchgehen: - Menge oldA = supportData.getA(); - for(int i=0; i retTupleIt = retTupleSet.getIterator(); - while(retTupleIt.hasNext()){ - CReconstructionTuple possibleTuple = retTupleIt.next(); - this.clear(possibleTuple.getAssumSet(), rememberLocals); - - // Neue Typinformationen mit alten Typinformationen vereinigen: - CTypeReconstructionResult newReconResult = oneReconResult.shallowCopy(); - newReconResult.addDataFromTupel(possibleTuple); - - - //PL 05-08-02 eingefuegt - //Fuegt Klassen und GenericTypeVars zu A hinzu - newReconResult.addClassName(this.getName()); - Menge genericsList = new Menge(); - for(int ii =0; ii getMethodList() { - - - if(this.methodList != null) return this.methodList; - //TODO: Unnötige Berechnungen im folgenden Code rauskürzen: - ////////////////////////////// - // Die Eingabedaten bauen: - ////////////////////////////// - inferencelog.debug("Baue Eingabedaten..."); - TypeAssumptions V_fields_methods = new TypeAssumptions(this.getName()); - Menge methodList = new Menge(); - Menge V = new Menge(); - Menge rememberLocals = new Menge(); - - ////////////////////////////// - // Alle Felder durchgehen: - // Zuerst alle Attribute, dann Methoden - // ge�ndert: hoth 06.04.2006 - - ////////////////////////////// - for(Field field : this.getFields()) - { - ////////////////////////////// - // Attribut: - ////////////////////////////// - - } - - for(Field field : this.getFields()) - { - ////////////////////////////// - // Methode: - ////////////////////////////// - if(field instanceof Method){ - Method method = (Method)field; - //if(method.get_Method_Name().equals(this.getName()) && ((method.getReturnType().equals(new mycompiler.mytype.Void(0))) || method.getReturnType() instanceof TypePlaceholder)){ - if(method.get_Method_Name().equals(this.getName()) ){ - method.set_Method_Name(""); - } - //hoth: 06.04.2006 - //durchlaufe Block und suche nach Objektvariablen fuer Offset-Markierung - Iterator fieldVarIterator = V_fields_methods.iterator(); - while (fieldVarIterator.hasNext()) - { - //Wenn ObjektVariable - CTypeAssumption dieAssum = fieldVarIterator.next(); - if(dieAssum instanceof CInstVarTypeAssumption) - { - Class.isFirstLocalVarDecl=false; - if(method.get_Block() != null) - method.get_Block().addOffsetsToAssumption(dieAssum,dieAssum.getIdentifier(),true); - } - } - - methodList.addElement(method); - - // F�r V_fields_methods: - CMethodTypeAssumption methodAssum = new CMethodTypeAssumption(this.getType(), method.get_Method_Name(), method.getReturnType(), method.getParameterCount(),method.getLineNumber(),method.getOffset(),new Menge(),method.getGenericMethodParameters()); // Typannahme bauen... - - - // Methode in V_Fields_methods ablegen - // Dabei wird die OverloadedMethodID ermittelt !! - // => Method setzenuct - - - V_fields_methods.add(methodAssum); - method.setOverloadedID(methodAssum.getHashSetKey().getOverloadedMethodID()); - - - // F�r die V_i: - CTypeAssumptionSet localAssum = new CTypeAssumptionSet(); - - // Bauen... - ParameterList parameterList = method.getParameterList(); - if(parameterList!=null){ - for(int i=0; i()); - //fuege Offsets fuer Parameter hinzu, hoth: 06.04.2006 - Class.isFirstLocalVarDecl=false; - - if(method.get_Block() != null) - method.get_Block().addOffsetsToAssumption(paraAssum,paraAssum.getIdentifier(),true); - - methodAssum.addParaAssumption(paraAssum); - - - - - // F�r die V_i: - CLocalVarTypeAssumption varAssum = new CLocalVarTypeAssumption(this.getName(), method.get_Method_Name(), method.getParameterCount(), method.getOverloadedID(),"1", para.getIdentifier(),para.getType(), para.getLineNumber(),para.getOffset(),new Menge()); - localAssum.addElement(varAssum); - rememberLocals.addElement(varAssum); - } - } - // ...und hinzuf�gen: - - V.addElement(localAssum); - } - } - - this.methodList = methodList; - return methodList; - - } -*/ /** * Ermittelt alle privaten Felder und Methoden der Klasse und Erstellt eine Assumption für diese. @@ -957,49 +694,8 @@ public class Class extends GTVDeclarationContext implements AClassOrInterface, I this.typeAssumptions = assumptions; //Diese müssen anschließend nicht wieder generiert werden. return assumptions; -} - /* - public ConstraintsSet TYPE(Menge methodList, Menge fielddeclarationList, TypeAssumptions assumptions){ - ConstraintsSet ret = new ConstraintsSet(); - // Die Felddeklarationen werden zu den Assumptions hinzugefügt und gelten danach für jede Methode. - //TypeAssumptions assumptionsPlusFieldAssumptions = new TypeAssumptions(assumptions); - for(Expr expr : fielddeclarationList){ - //ret.add(expr.TYPEStmt(assumptionsPlusFieldAssumptions)); - ret.add(expr.TYPEStmt(assumptions)); - } - for(Method methode : methodList){ - //ret.add(methode.TYPE(assumptionsPlusFieldAssumptions)); - ret.add(methode.TYPE(assumptions)); - } - return ret; - } - */ + } - - // ino.method.RetType.23119.defdescription type=javadoc - /** - * Liefert den berechneten R�ckgabetyp f�r die �bergebene Methode zur�ck.
- * (siehe Algorithmus RetType, Martin Pl�micke) - *
Author: J�rg B�uerle - * @param me - * @param V - * @return - - // ino.end - // ino.method.RetType.23119.definition - private Type RetType(Method me, CTypeAssumptionSet V) - // ino.end - // ino.method.RetType.23119.body - { - CTypeAssumption assum = V.getElement(new CMethodKey(this.getName(), me.get_Method_Name(), me.getParameterCount(),me.getOverloadedID())); - if(assum instanceof CMethodTypeAssumption){ - return ((CMethodTypeAssumption)assum).getAssumedType(); - } - else return null; - } - // ino.end - - */ // ino.method.toString.23125.defdescription type=javadoc /** *
Author: Martin Pl�micke @@ -1037,48 +733,8 @@ public class Class extends GTVDeclarationContext implements AClassOrInterface, I for(Field f : this.getFields()){ //f.wandleRefTypeAttributes2GenericAttributes(paralist); } - /* - Menge fieldsAndMethods=this.getFields(); - - // Alle Methoden und Instanzvariablen durchgehen - for(int i=0;i enumer = V_last.getHashtable().keys(); -// while(enumer.hasMoreElements()){ -// CTypeAssumption currentAssum = V_last.getElement(enumer.nextElement()); -// if(currentAssum instanceof CLocalVarTypeAssumption){ -// V_i.removeElement(currentAssum); -// } -// } -// -// } - - - // ino.method.getSimpleName.23140.defdescription type=javadoc /** * HOTI * Liefert bei Klassen die fullyQualified angegeben wurden @@ -1115,18 +771,6 @@ public class Class extends GTVDeclarationContext implements AClassOrInterface, I */ public String printJavaCode(TypeinferenceResultSet reconstructionResult){ JavaCodeResult ret = new JavaCodeResult("class "); - - - - - //Generiere JavaCode der extends-Typen: - /* - String containedTypesJavaCode = ""; - for(Type containedType : containedTypes){ - containedTypesJavaCode += containedType.printJavaCode(resultSet)+ ", "; - } - if(containedTypesJavaCode.length()>1)containedTypesJavaCode = containedTypesJavaCode.substring(0, containedTypesJavaCode.length() -2); - */ JavaCodeResult classBodyCode = new JavaCodeResult(); if(this.modifiers!=null)classBodyCode.attach(this.modifiers.printJavaCode(reconstructionResult.getUnifiedConstraints())).attach(" "); @@ -1382,5 +1026,67 @@ public class Class extends GTVDeclarationContext implements AClassOrInterface, I public boolean isInterface(){ return false; } + + /* + private Collection getGenericClasses() { + Collection results = new Menge<>(); + + for(Field field : this.fielddecl){ + Type type = field.getType(); + //Der Type des Feldes + if(type instanceof RefType){ + RefType refType = (RefType) type; + + if(!refType.getCombinedType(null).equals(refType.get_Name().replace(".", "%"))){ + results.addAll(generateGenericClass(refType.getCombinedType(null), new Class("java/util/Vector",-1))); + } + } + + if(field instanceof Method){ + Method method = (Method) field; + ParameterList parameterList = method.getParameterList(); + + //Die Typen der Methodenparameter + for(FormalParameter parameter: parameterList){ + Type parameterType = parameter.getType(); + + if(parameterType instanceof RefType){ + RefType refType = (RefType) parameterType; + + if(!refType.getCombinedType(null).equals(refType.get_Name().replace(".", "%"))){ + results.addAll(generateGenericClass(refType.getCombinedType(null), new Class("java/util/Vector",-1))); + } + } + } + } + } + + return results; + } + */ + + /* + private Menge generateGenericClass(String name, Class superClass){ + //TODO: bytecode -- Generics hinzuf�gen + //Type superClassType = superClass.getType(); + + //TODO: bytecode + //ClassGenerator genericClassGenerator = new ClassGenerator(name, superClassType, name + ".java", Constants.ACC_PUBLIC , new String[] { }, new TypeinferenceResultSet(null, null, null)); + + //TODO: bytecode -- Namen der neuen Klasse + Class generatedClass = new Class(name, 0); + + //TODO: bytecode -- alle Konstruktoren generieren + Block konstruktorBlock = new Block(); + konstruktorBlock.setType(new de.dhbwstuttgart.syntaxtree.type.Void(konstruktorBlock, 0)); + konstruktorBlock.statements.add(new SuperCall(konstruktorBlock)); + Constructor standardKonstruktor = new Constructor(Method.createEmptyMethod(konstruktorBlock, name, superClass), superClass); + standardKonstruktor.parserPostProcessing(generatedClass); + + generatedClass.addField(standardKonstruktor); + + return generatedClass.genByteCode(new TypeinferenceResultSet(generatedClass, new Menge<>(), new ResultSet())); + } + */ } // ino.end diff --git a/src/de/dhbwstuttgart/syntaxtree/Method.java b/src/de/dhbwstuttgart/syntaxtree/Method.java index ba8cba98..3d4a60ce 100755 --- a/src/de/dhbwstuttgart/syntaxtree/Method.java +++ b/src/de/dhbwstuttgart/syntaxtree/Method.java @@ -541,8 +541,7 @@ public class Method extends Field implements IItemWithOffset, TypeInsertable ret.add(this.block.TYPEStmt(localAss)); // eine Verknüpfung mit der Type Assumption aus dem Assumption Set // und dem ermittelten Typ der Methode: - ret.add(new SingleConstraint(this.block.getType().TYPE(localAss, this), - this.returntype.TYPE(localAss, this))); + ret.add(new SingleConstraint(this.block.getType().TYPE(localAss, this), this.returntype.TYPE(localAss, this))); return ret; } diff --git a/src/de/dhbwstuttgart/syntaxtree/SourceFile.java b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java index f96cc32e..56222f1a 100755 --- a/src/de/dhbwstuttgart/syntaxtree/SourceFile.java +++ b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java @@ -1834,7 +1834,7 @@ public class SourceFile * Bisher wird nur der Bytecode der Klassen generiert. Nicht der Interfaces. * @return */ - public Collection generateBytecode(TypeinferenceResultSet rs) { + public Menge generateBytecode(TypeinferenceResultSet rs) { Menge ret = new Menge<>(); for(Class cl : this.KlassenVektor){ ret.add(cl.genByteCode(rs)); diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java b/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java new file mode 100644 index 00000000..557ff35b --- /dev/null +++ b/src/de/dhbwstuttgart/syntaxtree/factory/ASTFactory.java @@ -0,0 +1,56 @@ +package de.dhbwstuttgart.syntaxtree.factory; + +import de.dhbwstuttgart.bytecode.ClassGenerator; +import de.dhbwstuttgart.syntaxtree.Class; +import de.dhbwstuttgart.syntaxtree.Constructor; +import de.dhbwstuttgart.syntaxtree.Method; +import de.dhbwstuttgart.syntaxtree.misc.DeclId; +import de.dhbwstuttgart.syntaxtree.statement.Block; +import de.dhbwstuttgart.syntaxtree.statement.SuperCall; +import de.dhbwstuttgart.typeinference.Menge; +import de.dhbwstuttgart.typeinference.ResultSet; +import de.dhbwstuttgart.typeinference.TypeinferenceResultSet; + +public class ASTFactory { + public static Method createMethod(String name, Block block, Class parent) { + block.parserPostProcessing(parent); + + Method method = new Method(0); + DeclId DImethod = new DeclId(); + DImethod.set_Name(name); + method.set_DeclId(DImethod); + method.set_Block(block); + method.parserPostProcessing(parent); + return method; + } + + public static Method createEmptyMethod(String withSignature, Class parent) { + return ASTFactory.createMethod(withSignature, new Block(), parent); + } + + public static Constructor createEmptyConstructor(Class parent){ + Block block = new Block(); + block.setType(new de.dhbwstuttgart.syntaxtree.type.Void(block, 0)); + block.statements.add(new SuperCall(block)); + + return ASTFactory.createConstructor(parent, block); + } + + public static Constructor createConstructor(Class superClass, Block block){ + block.parserPostProcessing(superClass); + + Method method = ASTFactory.createMethod("", block, superClass); + method.setType(new de.dhbwstuttgart.syntaxtree.type.Void(block, 0)); + + return new Constructor(method, superClass); + } + + public static Class createClass(String className, Class superClass) { + // TODO bytecode createClass + Class generatedClass = new Class(className, 0); + generatedClass.addField(ASTFactory.createEmptyConstructor(superClass)); + generatedClass.parserPostProcessing(superClass); + + return generatedClass; + } +} diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/UnifyPairMengenBuilder.java b/src/de/dhbwstuttgart/syntaxtree/factory/UnifyPairMengenBuilder.java new file mode 100644 index 00000000..95fd0897 --- /dev/null +++ b/src/de/dhbwstuttgart/syntaxtree/factory/UnifyPairMengenBuilder.java @@ -0,0 +1,39 @@ +package de.dhbwstuttgart.syntaxtree.factory; + +import de.dhbwstuttgart.syntaxtree.type.Type; +import de.dhbwstuttgart.typeinference.Menge; +import de.dhbwstuttgart.typeinference.Pair; +import de.dhbwstuttgart.typeinference.Pair.PairOperator; + +public class UnifyPairMengenBuilder { + + private Menge buildMenge = new Menge(); + + public void addPair(Type t1, Type t2) { + buildMenge.add(new Pair(t1, t2)); + } + + public void addPair(Type t1, Type t2, PairOperator pairOp) { + buildMenge.add(new Pair(t1, t2, pairOp)); + } + + public Menge getPairMenge() { + return buildMenge; + } + + public Menge> getNestedPairMenge() { + Menge> nested = new Menge<>(); + + for(Pair p : buildMenge) { + Menge m = new Menge(); + m.add(p); + nested.add(m); + } + + return nested; + } + + public void clear() { + buildMenge = new Menge(); + } +} diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java b/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java new file mode 100644 index 00000000..428c08e2 --- /dev/null +++ b/src/de/dhbwstuttgart/syntaxtree/factory/UnifyTypeFactory.java @@ -0,0 +1,43 @@ +package de.dhbwstuttgart.syntaxtree.factory; + +import de.dhbwstuttgart.syntaxtree.type.Type; +import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder; +import de.dhbwstuttgart.syntaxtree.type.WildcardType; +import de.dhbwstuttgart.syntaxtree.type.ExtendsWildcardType; +import de.dhbwstuttgart.syntaxtree.type.ObjectType; +import de.dhbwstuttgart.syntaxtree.type.RefType; +import de.dhbwstuttgart.syntaxtree.type.SuperWildcardType; +import de.dhbwstuttgart.typeinference.Menge; +import de.dhbwstuttgart.typeinference.Pair; +import de.dhbwstuttgart.typeinference.Pair.PairOperator; + +public class UnifyTypeFactory { + + public RefType GetSimpleType(String name, Type... parameters) { + if(parameters.length == 0) + return new RefType(name, null, 0); + + Menge typeParams = new Menge(); + + for(Type t : parameters) + typeParams.add(t); + + return new RefType(name, typeParams, null, 0); + } + + public ExtendsWildcardType GetExtendsType(ObjectType extendedType) { + return new ExtendsWildcardType(extendedType); + } + + public SuperWildcardType GetSuperType(ObjectType superedType) { + return new SuperWildcardType(superedType); + } + + public WildcardType GetWildcardType() { + return new WildcardType(null, null, 0); + } + + public TypePlaceholder GetTypePlaceholder(String name) { + return TypePlaceholder.backdoorCreate(name); + } +} diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/Unify_FC_TTO_Builder.java b/src/de/dhbwstuttgart/syntaxtree/factory/Unify_FC_TTO_Builder.java new file mode 100644 index 00000000..524e729e --- /dev/null +++ b/src/de/dhbwstuttgart/syntaxtree/factory/Unify_FC_TTO_Builder.java @@ -0,0 +1,33 @@ +package de.dhbwstuttgart.syntaxtree.factory; + +import de.dhbwstuttgart.typeinference.Menge; +import de.dhbwstuttgart.typeinference.Pair; +import de.dhbwstuttgart.typeinference.unify.FC_TTO; +import de.dhbwstuttgart.syntaxtree.Class; +import de.dhbwstuttgart.syntaxtree.type.RefType; +import de.dhbwstuttgart.syntaxtree.type.Type; + +public class Unify_FC_TTO_Builder { + + private Menge fc = new Menge(); + private Menge classes = new Menge(); + + public void AddInheritance(Type t1, Type t2) { + if(t1 instanceof RefType) + classes.add(new Class(t1.get_Name(), t1.getOffset())); + + if(t2 instanceof RefType) + classes.add(new Class(t2.get_Name(), t2.getOffset())); + + fc.add(new Pair(t1, t2)); + } + + public FC_TTO Get_FC_TTO() { + return new FC_TTO(fc, (Menge) fc.clone(), classes); + } + + public void clear() { + fc = new Menge(); + classes = new Menge(); + } +} diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java b/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java index 60b2657b..73467924 100755 --- a/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/Binary.java @@ -6,8 +6,13 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.Hashtable; +import org.apache.commons.bcel6.generic.BranchInstruction; import org.apache.commons.bcel6.generic.ClassGen; +import org.apache.commons.bcel6.generic.GOTO; +import org.apache.commons.bcel6.generic.IF_ICMPNE; +import org.apache.commons.bcel6.generic.InstructionConstants; import org.apache.commons.bcel6.generic.InstructionList; +import org.apache.commons.bcel6.generic.NOP; import de.dhbwstuttgart.typeinference.Menge; import de.dhbwstuttgart.bytecode.ClassGenerator; @@ -228,8 +233,22 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { if(this.getReturnType().getName().equals(new JavaClassName("String"))){ throw new TypeinferenceException("Zeichenketten zusammenfügen ist noch nicht unterstützt",this); } - //TODO: Je nachdem welches der Rückgabetyp ist, müssen die linke und rechte Seite unboxt und addiert werden. - return null; + + linkeSeite.append(rechteSeite); + + //TODO: bytecode (Bis jetzt wird jeder Condition als EQUALS behandelt) + //TODO: bytecode autoboxing + + BranchInstruction if_icmpneInstruction = new IF_ICMPNE(null); + linkeSeite.append(if_icmpneInstruction); + linkeSeite.append(InstructionConstants.ICONST_1); + + BranchInstruction gotoInstruction = new GOTO(null); + + linkeSeite.append(gotoInstruction); + if_icmpneInstruction.setTarget(linkeSeite.append(InstructionConstants.ICONST_0)); + gotoInstruction.setTarget(linkeSeite.append(new NOP())); + return linkeSeite; } } diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/ForStmt.java b/src/de/dhbwstuttgart/syntaxtree/statement/ForStmt.java index 6f5ab521..dc8526ae 100755 --- a/src/de/dhbwstuttgart/syntaxtree/statement/ForStmt.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/ForStmt.java @@ -4,8 +4,13 @@ import java.util.Enumeration; import java.util.Hashtable; import java.util.Iterator; +import org.apache.commons.bcel6.generic.BranchInstruction; import org.apache.commons.bcel6.generic.ClassGen; +import org.apache.commons.bcel6.generic.GOTO; +import org.apache.commons.bcel6.generic.IF_ICMPGE; +import org.apache.commons.bcel6.generic.InstructionHandle; import org.apache.commons.bcel6.generic.InstructionList; +import org.apache.commons.bcel6.generic.NOP; import de.dhbwstuttgart.typeinference.Menge; import de.dhbwstuttgart.bytecode.ClassGenerator; @@ -22,10 +27,13 @@ import de.dhbwstuttgart.syntaxtree.operator.RelOp; import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar; import de.dhbwstuttgart.syntaxtree.type.RefType; import de.dhbwstuttgart.syntaxtree.type.Type; +import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder; +import de.dhbwstuttgart.syntaxtree.type.Void; import de.dhbwstuttgart.typeinference.ConstraintsSet; import de.dhbwstuttgart.typeinference.JavaCodeResult; import de.dhbwstuttgart.typeinference.Pair; import de.dhbwstuttgart.typeinference.ResultSet; +import de.dhbwstuttgart.typeinference.SingleConstraint; import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions; import de.dhbwstuttgart.typeinference.exceptions.NotImplementedException; import de.dhbwstuttgart.typeinference.unify.Unify; @@ -91,8 +99,13 @@ public class ForStmt extends Statement @Override public ConstraintsSet TYPEStmt(TypeAssumptions assumptions) { - // TODO Auto-generated method stub - return null; + //TODO: TYPEStmt + ConstraintsSet ret = new ConstraintsSet(); + this.setType(TypePlaceholder.fresh(this)); + + ret.add(body_Loop_block.TYPEStmt(assumptions)); + + return ret; } public int getTypeLineNumber() { @@ -100,9 +113,9 @@ public class ForStmt extends Statement } @Override -public JavaCodeResult printJavaCode(ResultSet resultSet) { - // TODO Auto-generated method stub - throw new NotImplementedException(); + public JavaCodeResult printJavaCode(ResultSet resultSet) { + // TODO printJavaCode + return new JavaCodeResult(); } @Override @@ -121,7 +134,34 @@ public JavaCodeResult printJavaCode(ResultSet resultSet) { @Override public InstructionList genByteCode(ClassGenerator _cg) { - // TODO Bytecode - throw new NotImplementedException(); + /* + 0: iconst_0 + 1: istore_1 + 2: iload_1 + 3: bipush 10 + 5: if_icmpge 14 + 8: iinc 1, 1 + 11: goto 2 + 14: return + */ + + InstructionList il = new InstructionList(); + + il.append(head_Initializer.genByteCode(_cg)); + + InstructionHandle ih = il.append(head_Condition.genByteCode(_cg)); + + BranchInstruction branch = new IF_ICMPGE(null); + il.append(branch); + + il.append(body_Loop_block.genByteCode(_cg)); + + il.append(head_Loop_expr.genByteCode(_cg)); + + il.append(new GOTO(ih)); + + branch.setTarget(il.append(new NOP())); + + return il; } } \ No newline at end of file diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/IfStmt.java b/src/de/dhbwstuttgart/syntaxtree/statement/IfStmt.java index 5a7488c7..0998e4d3 100755 --- a/src/de/dhbwstuttgart/syntaxtree/statement/IfStmt.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/IfStmt.java @@ -178,9 +178,8 @@ public class IfStmt extends Statement } @Override - public InstructionList genByteCode(ClassGenerator _cg) { - InstructionFactory _factory = new InstructionFactory(_cg, _cg.getConstantPool()); - + public InstructionList genByteCode(ClassGenerator _cg) { + InstructionFactory _factory = _cg.getInstructionFactory(); InstructionList il = new InstructionList(); IfInstruction ifInstruction = new IFEQ(null); diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/LocalOrFieldVar.java b/src/de/dhbwstuttgart/syntaxtree/statement/LocalOrFieldVar.java index 8a39cbd0..50c2bdf8 100755 --- a/src/de/dhbwstuttgart/syntaxtree/statement/LocalOrFieldVar.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/LocalOrFieldVar.java @@ -13,6 +13,7 @@ import org.apache.commons.bcel6.generic.ObjectType; import de.dhbwstuttgart.typeinference.Menge; import de.dhbwstuttgart.bytecode.ClassGenerator; import de.dhbwstuttgart.logger.Logger; +import de.dhbwstuttgart.logger.Section; import de.dhbwstuttgart.myexception.CTypeReconstructionException; import de.dhbwstuttgart.myexception.JVMCodeException; import de.dhbwstuttgart.myexception.SCExcept; @@ -152,7 +153,13 @@ public class LocalOrFieldVar extends Expr if(this.isFieldAccess){ il.append(cg.getInstructionFactory().createFieldAccess(this.getParentClass().getName().toString(), this.get_Name(), this.getType().getBytecodeType(cg), Constants.GETFIELD)); } - il.append(cg.getInstructionFactory().createLoad(this.getType().getBytecodeType(cg), this.get_Name())); + + Type type = this.getType(); + org.apache.commons.bcel6.generic.Type byteCodeType = type.getBytecodeType(cg); + + String name = this.get_Name(); + + il.append(cg.getInstructionFactory().createLoad(byteCodeType, name)); return il; } diff --git a/src/de/dhbwstuttgart/syntaxtree/type/FreshWildcardType.java b/src/de/dhbwstuttgart/syntaxtree/type/FreshWildcardType.java index 33f153e0..40ddb895 100755 --- a/src/de/dhbwstuttgart/syntaxtree/type/FreshWildcardType.java +++ b/src/de/dhbwstuttgart/syntaxtree/type/FreshWildcardType.java @@ -8,7 +8,7 @@ import de.dhbwstuttgart.typeinference.JavaCodeResult; import de.dhbwstuttgart.typeinference.ResultSet; import de.dhbwstuttgart.typeinference.exceptions.NotImplementedException; -public class FreshWildcardType extends Type { +public class FreshWildcardType extends ObjectType { private static String strNextName = "A"; private Menge upperBounds = new Menge(); diff --git a/src/de/dhbwstuttgart/syntaxtree/type/RefType.java b/src/de/dhbwstuttgart/syntaxtree/type/RefType.java index a83054d6..1c62c1e6 100755 --- a/src/de/dhbwstuttgart/syntaxtree/type/RefType.java +++ b/src/de/dhbwstuttgart/syntaxtree/type/RefType.java @@ -14,11 +14,17 @@ import de.dhbwstuttgart.core.IItemWithOffset; import de.dhbwstuttgart.myexception.SCException; import de.dhbwstuttgart.parser.JavaClassName; import de.dhbwstuttgart.syntaxtree.Class; +import de.dhbwstuttgart.syntaxtree.Constructor; +import de.dhbwstuttgart.syntaxtree.Method; import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode; +import de.dhbwstuttgart.syntaxtree.factory.ASTFactory; import de.dhbwstuttgart.syntaxtree.misc.UsedId; +import de.dhbwstuttgart.syntaxtree.statement.Block; +import de.dhbwstuttgart.syntaxtree.statement.SuperCall; import de.dhbwstuttgart.typeinference.JavaCodeResult; import de.dhbwstuttgart.typeinference.ResultSet; import de.dhbwstuttgart.typeinference.TypeInsertable; +import de.dhbwstuttgart.typeinference.TypeinferenceResultSet; import de.dhbwstuttgart.typeinference.assumptions.TypeAssumptions; import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException; import de.dhbwstuttgart.typeinference.unify.CSubstitutionGenVar; @@ -815,7 +821,7 @@ public class RefType extends ObjectType implements IMatchable } public org.apache.commons.bcel6.generic.Type getBytecodeType(ClassGenerator cg) { - org.apache.commons.bcel6.generic.ObjectType ret = new org.apache.commons.bcel6.generic.ObjectType(this.getTypeName()); + org.apache.commons.bcel6.generic.ObjectType ret = new org.apache.commons.bcel6.generic.ObjectType(getCombinedType(cg)); if(this.IsArray()){ //Hier wird einfachhalber von einer Dimension ausgegangen. Arrays sind im Bytecode nur für main-Methode relevant return new org.apache.commons.bcel6.generic.ArrayType(ret, 1); @@ -826,6 +832,7 @@ public class RefType extends ObjectType implements IMatchable @Override public String getBytecodeSignature(ClassGenerator cg) { + /* String paramString = ""; if(this.parameter != null && this.parameter.size()>0){ paramString+="<"; @@ -833,14 +840,42 @@ public class RefType extends ObjectType implements IMatchable while(it.hasNext()){ Type param = it.next(); paramString+=param.getBytecodeSignature(cg); - //if(it.hasNext()) - //paramString+=";"; //kein Delimiter zwischen den Typen } paramString+=">"; } String typeSignature = this.getBytecodeType(cg).getSignature(); typeSignature = typeSignature.substring(0, typeSignature.length()-1); return typeSignature+paramString+";"; + */ + + //TODO: bytecode woher bekommt ich die parent klasse + String combinedType = getCombinedType(cg); + if(!combinedType.equals(get_Name())){ + // TODO bytecode createClass + Class generatedClass = ASTFactory.createClass(getCombinedType(cg), getParentClass()); + + cg.addExtraClass(generatedClass.genByteCode(new TypeinferenceResultSet(generatedClass, new Menge<>(), new ResultSet())).getByteCode()); + } + + return "L"+getCombinedType(cg)+";"; + } + + public String getCombinedType(ClassGenerator cg){ + //Bsp.: Ljava/util/Vector; + StringBuilder sb = new StringBuilder(); + + if(parameter != null && parameter.size() > 0){ + sb.append(this.get_Name().replace(".", "%")); + sb.append("%%"); + for(Type type: parameter){ + sb.append(((RefType) type).getCombinedType(cg).replace(".", "%")); + sb.append("%"); + } + }else{ + sb.append(this.get_Name()); + } + + return sb.toString(); } } diff --git a/src/de/dhbwstuttgart/typeinference/ByteCodeResult.java b/src/de/dhbwstuttgart/typeinference/ByteCodeResult.java index c036b5da..8ed910ba 100644 --- a/src/de/dhbwstuttgart/typeinference/ByteCodeResult.java +++ b/src/de/dhbwstuttgart/typeinference/ByteCodeResult.java @@ -2,23 +2,26 @@ package de.dhbwstuttgart.typeinference; import java.io.File; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import org.apache.commons.bcel6.generic.ClassGen; import de.dhbwstuttgart.typeinference.Menge; +import de.dhbwstuttgart.bytecode.ClassGenerator; import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder; public class ByteCodeResult{ - private ClassGen byteCode; + private ClassGenerator byteCode; //TODO: unresolvedTPHs entfernen. BROKEN! private Menge unresolvedTPHs = new Menge(); - public ByteCodeResult(ClassGen byteCode){ + public ByteCodeResult(ClassGenerator byteCode){ this.byteCode = byteCode; } - public ClassGen getByteCode(){ + public ClassGenerator getByteCode(){ return byteCode; } diff --git a/src/de/dhbwstuttgart/typeinference/TypeinferenceResultSet.java b/src/de/dhbwstuttgart/typeinference/TypeinferenceResultSet.java index 9a38d298..5dbf463c 100755 --- a/src/de/dhbwstuttgart/typeinference/TypeinferenceResultSet.java +++ b/src/de/dhbwstuttgart/typeinference/TypeinferenceResultSet.java @@ -119,8 +119,7 @@ public class TypeinferenceResultSet * Dabei wird die codegen-Methode der inferierten Klasse mit diesem ResultSet aufgerufen. */ public ByteCodeResult codegen(){ - ByteCodeResult res = this.ownerOfResultSet.genByteCode(this); - return res; + return this.ownerOfResultSet.genByteCode(this); } } diff --git a/test/bytecode/BytecodeTest.java b/test/bytecode/BytecodeTest.java new file mode 100644 index 00000000..35b8dc33 --- /dev/null +++ b/test/bytecode/BytecodeTest.java @@ -0,0 +1,57 @@ +package bytecode; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; + +import junit.framework.TestCase; + +import org.junit.BeforeClass; +import org.junit.Test; + +public abstract class BytecodeTest extends TestCase{ + public String rootDirectory = System.getProperty("user.dir")+"/test/bytecode/"; + public String testFile; + public String outputDirectory; + + protected String testName; + + public BytecodeTest(){ + init(); + + if(testName != null){ + + testFile = testName+".jav"; + outputDirectory = ""; + + SingleClassTester.compileToBytecode(rootDirectory+testFile, rootDirectory+outputDirectory); + }else{ + throw new RuntimeException("rootDirectory, testFile or outputFile is null."); + } + } + + protected abstract void init(); + + protected Class getClassToTest(){ + Class classToTest = null; + try { + File file = new File(rootDirectory); + URL url = file.toURL(); + URL[] urls = new URL[]{url}; + + ClassLoader classLoader = new URLClassLoader(urls); + + classToTest = classLoader.loadClass(testName); + + + } catch (Exception e) { + throw new RuntimeException(e); + } + + return classToTest; + } +} diff --git a/test/bytecode/Condition.jav b/test/bytecode/Condition.jav new file mode 100644 index 00000000..4f68e8ab --- /dev/null +++ b/test/bytecode/Condition.jav @@ -0,0 +1,7 @@ +class Condition{ + + Boolean method() { + return 0 == 1; + } + +} \ No newline at end of file diff --git a/test/bytecode/ConditionTest.java b/test/bytecode/ConditionTest.java new file mode 100644 index 00000000..851d6426 --- /dev/null +++ b/test/bytecode/ConditionTest.java @@ -0,0 +1,34 @@ +package bytecode; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; + +import junit.framework.TestCase; + +import org.junit.Test; + +import plugindevelopment.TypeInsertTester; +import de.dhbwstuttgart.core.MyCompiler; +import de.dhbwstuttgart.core.MyCompilerAPI; +import de.dhbwstuttgart.logger.LoggerConfiguration; +import de.dhbwstuttgart.logger.Section; +import de.dhbwstuttgart.parser.JavaParser.yyException; +import de.dhbwstuttgart.typeinference.ByteCodeResult; +import de.dhbwstuttgart.typeinference.Menge; +import de.dhbwstuttgart.typeinference.TypeinferenceResultSet; +import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertSet; + +public class ConditionTest { + + public final static String rootDirectory = System.getProperty("user.dir")+"/test/bytecode/"; + public final static String testFile = "Condition.jav"; + public final static String outputFile = "Condition.class"; + + @Test + public void test() { + SingleClassTester.compileToBytecode(rootDirectory+testFile, rootDirectory+outputFile); + } + +} diff --git a/test/bytecode/ForTest.jav b/test/bytecode/ForTest.jav index 7343a1b8..649b71b0 100644 --- a/test/bytecode/ForTest.jav +++ b/test/bytecode/ForTest.jav @@ -1,6 +1,6 @@ class IfElse{ method(){ - while(true){ + for( i = 0; i < 10 ; i = i++){ } } diff --git a/test/bytecode/ForTest.java b/test/bytecode/ForTest.java index fea1e7c5..497dc375 100644 --- a/test/bytecode/ForTest.java +++ b/test/bytecode/ForTest.java @@ -1,5 +1,6 @@ package bytecode; +import org.junit.Ignore; import org.junit.Test; public class ForTest { @@ -8,6 +9,7 @@ public class ForTest { public final static String outputFile = "ForTest.class"; @Test + @Ignore public void test() { SingleClassTester.compileToBytecode(rootDirectory+testFile, rootDirectory+outputFile); } diff --git a/test/bytecode/IfStatement.jav b/test/bytecode/IfStatement.jav index 476c9bc0..d9fdb16c 100644 --- a/test/bytecode/IfStatement.jav +++ b/test/bytecode/IfStatement.jav @@ -1,7 +1,7 @@ class IfStatement{ method(flag){ if(flag){ - + } } } \ No newline at end of file diff --git a/test/bytecode/LambdaExpr2.java b/test/bytecode/LambdaExpr2.java index ff607c6c..83308ca5 100644 --- a/test/bytecode/LambdaExpr2.java +++ b/test/bytecode/LambdaExpr2.java @@ -7,6 +7,7 @@ import java.io.IOException; import junit.framework.TestCase; +import org.junit.Ignore; import org.junit.Test; import plugindevelopment.TypeInsertTester; @@ -27,6 +28,7 @@ public class LambdaExpr2 { public final static String outputFile = "LambdaExpr2.class"; @Test + @Ignore public void test() { SingleClassTester.compileToBytecode(rootDirectory+testFile, rootDirectory+outputFile); } diff --git a/test/bytecode/PostDecrement.java b/test/bytecode/PostDecrement.java index 075cf135..b0dbee20 100644 --- a/test/bytecode/PostDecrement.java +++ b/test/bytecode/PostDecrement.java @@ -7,6 +7,7 @@ import java.io.IOException; import junit.framework.TestCase; +import org.junit.Ignore; import org.junit.Test; import plugindevelopment.TypeInsertTester; @@ -27,6 +28,7 @@ public class PostDecrement { public final static String outputFile = "PostDecrement.class"; @Test + @Ignore public void test() { SingleClassTester.compileToBytecode(rootDirectory+testFile, rootDirectory+outputFile); } diff --git a/test/bytecode/PostIncrement.java b/test/bytecode/PostIncrement.java index 8c0b3930..da1fe1e3 100644 --- a/test/bytecode/PostIncrement.java +++ b/test/bytecode/PostIncrement.java @@ -7,6 +7,7 @@ import java.io.IOException; import junit.framework.TestCase; +import org.junit.Ignore; import org.junit.Test; import plugindevelopment.TypeInsertTester; @@ -27,6 +28,7 @@ public class PostIncrement { public final static String outputFile = "PostIncrement.class"; @Test + @Ignore public void test() { SingleClassTester.compileToBytecode(rootDirectory+testFile, rootDirectory+outputFile); } diff --git a/test/bytecode/SingleClassTester.java b/test/bytecode/SingleClassTester.java index bbee95d6..46693780 100644 --- a/test/bytecode/SingleClassTester.java +++ b/test/bytecode/SingleClassTester.java @@ -2,10 +2,14 @@ package bytecode; import java.io.File; import java.io.IOException; +import java.util.Map; + +import org.apache.commons.bcel6.classfile.JavaClass; import com.google.common.io.Files; import junit.framework.TestCase; +import de.dhbwstuttgart.bytecode.ClassGenerator; import de.dhbwstuttgart.core.MyCompiler; import de.dhbwstuttgart.core.MyCompilerAPI; import de.dhbwstuttgart.logger.Logger; @@ -13,24 +17,44 @@ import de.dhbwstuttgart.logger.LoggerConfiguration; import de.dhbwstuttgart.logger.Section; import de.dhbwstuttgart.logger.Timewatch; import de.dhbwstuttgart.parser.JavaParser.yyException; +import de.dhbwstuttgart.syntaxtree.SourceFile; import de.dhbwstuttgart.typeinference.ByteCodeResult; import de.dhbwstuttgart.typeinference.Menge; public class SingleClassTester { - public static void compileToBytecode(String inputFile, String outputFile){ + public static void compileToBytecode(String inputFile, String outputDirectory){ LoggerConfiguration logConfig = new LoggerConfiguration().setOutput(Section.PARSER, System.out); MyCompilerAPI compiler = MyCompiler.getAPI(logConfig); try { - compiler.parse(new File(inputFile)); - Menge bytecode = compiler.generateBytecode(compiler.typeReconstruction().firstElement()); - System.out.println(bytecode); - bytecode.firstElement().getByteCode().getJavaClass().dump(new File(outputFile)); + SourceFile sf = compiler.parse(new File(inputFile)); + + Menge sourceFiles = new Menge<>(); + sourceFiles.add(sf); + + Menge bytecode = compiler.generateBytecode(sourceFiles, compiler.typeReconstruction(sourceFiles).firstElement()); + //System.out.println(bytecode); + + ByteCodeResult result = bytecode.firstElement(); + + JavaClass javaClass = result.getByteCode().getJavaClass(); + javaClass.dump(new File(outputDirectory+javaClass.getClassName()+".class")); + + for(ClassGenerator cg: result.getByteCode().getExtraClasses().values()){ + JavaClass jc = cg.getJavaClass(); + jc.dump(new File(outputDirectory+jc.getClassName()+".class")); + } + + Logger.getLogger("SingleClassTester").error(result.getByteCode().getJavaClass().toString(), Section.CODEGEN); + + + } catch (IOException | yyException e) { + Logger.getLogger("SingleClassTester").error(e.toString(), Section.CODEGEN); e.printStackTrace(); TestCase.fail(); }finally{ - writeLog(outputFile+".log"); + writeLog(outputDirectory+".log"); } } diff --git a/test/bytecode/types/ExtendsObject.jav b/test/bytecode/types/ExtendsObject.jav new file mode 100644 index 00000000..758def9c --- /dev/null +++ b/test/bytecode/types/ExtendsObject.jav @@ -0,0 +1,3 @@ +class ExtendsObject extends Object{ + +} \ No newline at end of file diff --git a/test/bytecode/types/ExtendsObjectTest.java b/test/bytecode/types/ExtendsObjectTest.java new file mode 100644 index 00000000..43648fdf --- /dev/null +++ b/test/bytecode/types/ExtendsObjectTest.java @@ -0,0 +1,48 @@ +package bytecode.types; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.util.Vector; + +import junit.framework.TestCase; + +import org.junit.Test; + +import bytecode.BytecodeTest; +import plugindevelopment.TypeInsertTester; +import de.dhbwstuttgart.core.MyCompiler; +import de.dhbwstuttgart.core.MyCompilerAPI; +import de.dhbwstuttgart.logger.LoggerConfiguration; +import de.dhbwstuttgart.logger.Section; +import de.dhbwstuttgart.parser.JavaParser.yyException; +import de.dhbwstuttgart.typeinference.ByteCodeResult; +import de.dhbwstuttgart.typeinference.Menge; +import de.dhbwstuttgart.typeinference.TypeinferenceResultSet; +import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertSet; + +public class ExtendsObjectTest extends BytecodeTest{ + @Override + protected void init() { + testName = "ExtendsObject"; + rootDirectory = System.getProperty("user.dir")+"/test/bytecode/types/"; + } + + @Test + public void testConstruct(){ + try{ + Class cls = getClassToTest(); + + Constructor method = cls.getConstructor(new Class[]{}); + method.newInstance(); + assertTrue(true); + }catch(Exception e){ + e.printStackTrace(); + fail(); + } + } + +} diff --git a/test/bytecode/types/ExtendsVector.jav b/test/bytecode/types/ExtendsVector.jav new file mode 100644 index 00000000..f029967d --- /dev/null +++ b/test/bytecode/types/ExtendsVector.jav @@ -0,0 +1,5 @@ +import java.util.Vector; + +class ExtendsVector extends Vector{ + +} \ No newline at end of file diff --git a/test/bytecode/types/ExtendsVectorString.jav b/test/bytecode/types/ExtendsVectorString.jav new file mode 100644 index 00000000..7829ecd0 --- /dev/null +++ b/test/bytecode/types/ExtendsVectorString.jav @@ -0,0 +1,5 @@ +import java.util.Vector; + +class ExtendsVectorString extends Vector{ + +} \ No newline at end of file diff --git a/test/bytecode/types/ExtendsVectorStringTest.java b/test/bytecode/types/ExtendsVectorStringTest.java new file mode 100644 index 00000000..8511499b --- /dev/null +++ b/test/bytecode/types/ExtendsVectorStringTest.java @@ -0,0 +1,43 @@ +package bytecode.types; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.util.Vector; + +import junit.framework.TestCase; + +import org.junit.Test; + +import bytecode.BytecodeTest; +import plugindevelopment.TypeInsertTester; +import de.dhbwstuttgart.core.MyCompiler; +import de.dhbwstuttgart.core.MyCompilerAPI; +import de.dhbwstuttgart.logger.LoggerConfiguration; +import de.dhbwstuttgart.logger.Section; +import de.dhbwstuttgart.parser.JavaParser.yyException; +import de.dhbwstuttgart.typeinference.ByteCodeResult; +import de.dhbwstuttgart.typeinference.Menge; +import de.dhbwstuttgart.typeinference.TypeinferenceResultSet; +import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertSet; + +public class ExtendsVectorStringTest extends BytecodeTest{ + @Override + protected void init() { + testName = "ExtendsVectorString"; + rootDirectory = System.getProperty("user.dir")+"/test/bytecode/types/"; + } + + @Test + public void testConstruct() throws Exception{ + Class cls = getClassToTest(); + + Constructor method = cls.getConstructor(new Class[]{}); + method.newInstance(); + assertTrue(true); + } + +} diff --git a/test/bytecode/types/ExtendsVectorTest.java b/test/bytecode/types/ExtendsVectorTest.java new file mode 100644 index 00000000..aefe5d4b --- /dev/null +++ b/test/bytecode/types/ExtendsVectorTest.java @@ -0,0 +1,48 @@ +package bytecode.types; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.util.Vector; + +import junit.framework.TestCase; + +import org.junit.Test; + +import bytecode.BytecodeTest; +import plugindevelopment.TypeInsertTester; +import de.dhbwstuttgart.core.MyCompiler; +import de.dhbwstuttgart.core.MyCompilerAPI; +import de.dhbwstuttgart.logger.LoggerConfiguration; +import de.dhbwstuttgart.logger.Section; +import de.dhbwstuttgart.parser.JavaParser.yyException; +import de.dhbwstuttgart.typeinference.ByteCodeResult; +import de.dhbwstuttgart.typeinference.Menge; +import de.dhbwstuttgart.typeinference.TypeinferenceResultSet; +import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertSet; + +public class ExtendsVectorTest extends BytecodeTest{ + @Override + protected void init() { + testName = "ExtendsVector"; + rootDirectory = System.getProperty("user.dir")+"/test/bytecode/types/"; + } + + @Test + public void testConstruct(){ + try{ + Class cls = getClassToTest(); + + Constructor method = cls.getConstructor(new Class[]{}); + method.newInstance(); + assertTrue(true); + }catch(Exception e){ + e.printStackTrace(); + fail(); + } + } + +} diff --git a/test/bytecode/types/Overloading.jav b/test/bytecode/types/Overloading.jav new file mode 100644 index 00000000..ce94fb7d --- /dev/null +++ b/test/bytecode/types/Overloading.jav @@ -0,0 +1,12 @@ +import java.util.Vector; + +class Overloading{ + + void method(Vector v) { + + } + + void method(Vector v) { + + } +} \ No newline at end of file diff --git a/test/bytecode/types/OverloadingTest.java b/test/bytecode/types/OverloadingTest.java new file mode 100644 index 00000000..9e6b3a22 --- /dev/null +++ b/test/bytecode/types/OverloadingTest.java @@ -0,0 +1,61 @@ +package bytecode.types; + +import static org.junit.Assert.*; + +import java.lang.reflect.Method; +import java.util.Vector; + +import org.junit.Test; + +import bytecode.BytecodeTest; + +public class OverloadingTest extends BytecodeTest{ + @Override + protected void init() { + testName = "Overloading"; + rootDirectory = System.getProperty("user.dir")+"/test/bytecode/types/"; + } + + + + @Test + public void testString() { + try{ + Class cls = getClassToTest(); + Object obj = cls.newInstance(); + + Vector stringVector = new Vector(); + + Class[] params = new Class[1]; + params[0] = stringVector.getClass(); + + Method method = cls.getDeclaredMethod("method", params); + method.invoke(obj, stringVector); + assertTrue(true); + }catch(Exception e){ + e.printStackTrace(); + fail(); + } + } + + @Test + public void testInteger() { + try{ + Class cls = getClassToTest(); + Object obj = cls.newInstance(); + + Vector stringVector = new Vector(); + + Class[] params = new Class[1]; + params[0] = stringVector.getClass(); + + Method method = cls.getDeclaredMethod("method", params); + method.invoke(obj, stringVector); + assertTrue(true); + }catch(Exception e){ + e.printStackTrace(); + fail(); + } + } + +} diff --git a/test/bytecode/types/TypedVector.jav b/test/bytecode/types/TypedVector.jav new file mode 100644 index 00000000..d64e4f5f --- /dev/null +++ b/test/bytecode/types/TypedVector.jav @@ -0,0 +1,7 @@ +import java.util.Vector; + +class TypedVector{ + public void method(Vector v) { + + } +} \ No newline at end of file diff --git a/test/bytecode/types/TypedVectorTest.java b/test/bytecode/types/TypedVectorTest.java new file mode 100644 index 00000000..ef32180b --- /dev/null +++ b/test/bytecode/types/TypedVectorTest.java @@ -0,0 +1,41 @@ +package bytecode.types; + +import static org.junit.Assert.*; + +import java.lang.reflect.Method; +import java.util.Stack; +import java.util.Vector; + +import org.junit.Test; + +import bytecode.BytecodeTest; +import de.dhbwstuttgart.logger.Logger; +import de.dhbwstuttgart.logger.Section; + +public class TypedVectorTest extends BytecodeTest{ + @Override + protected void init() { + testName = "TypedVector"; + rootDirectory = System.getProperty("user.dir")+"/test/bytecode/types/"; + } + + @Test + public void test() { + try{ + Class cls = getClassToTest(); + Object obj = cls.newInstance(); + + Vector stringVector = new Vector(); + + Class[] params = new Class[1]; + params[0] = stringVector.getClass(); + + Method method = cls.getDeclaredMethod("method", params); + method.invoke(obj, stringVector); + assertTrue(true); + }catch(Exception e){ + Logger.getLogger("SingleClassTester").error(e.toString(), Section.CODEGEN); + fail(); + } + } +} diff --git a/test/unify/UnifyFilter.jav b/test/unify/UnifyFilter.jav deleted file mode 100644 index 47103c2a..00000000 --- a/test/unify/UnifyFilter.jav +++ /dev/null @@ -1,16 +0,0 @@ -class Test{ - void methode(){ - var; - var.methode(); - var.methode(); - } -} - -class Klasse1 { - void methode(){ - } -} -class Klasse2 { - void methode(){ - } -} \ No newline at end of file diff --git a/test/unify/UnifyFilter.jav.log b/test/unify/UnifyFilter.jav.log deleted file mode 100644 index 365cb944..00000000 --- a/test/unify/UnifyFilter.jav.log +++ /dev/null @@ -1,6956 +0,0 @@ -parser: P -> Lokale Variable angelegt! - PARSER -parser: M1 - PARSER -parser: M1 - PARSER -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH A für SyntaxTreeNode: null [Test]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH B für SyntaxTreeNode: no type [var] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH C für SyntaxTreeNode: null [Klasse1]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH D für SyntaxTreeNode: null [Klasse2]null { [] - TYPEINFERENCE -de.dhbwstuttgart.core.MyCompiler: ########################################## - TYPEINFERENCE -de.dhbwstuttgart.core.MyCompiler: # TypeReconstruction-Algorithmus - START # - TYPEINFERENCE -de.dhbwstuttgart.core.MyCompiler: ########################################## - - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH E für SyntaxTreeNode: null [numberOfLeadingZeros]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH F für SyntaxTreeNode: null [numberOfTrailingZeros]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH G für SyntaxTreeNode: null [bitCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH H für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH I für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH J für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH K für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH L für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH M für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH N für SyntaxTreeNode: null [min]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH O für SyntaxTreeNode: null [max]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH P für SyntaxTreeNode: null [reverseBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH Q für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH R für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH S für SyntaxTreeNode: null [byteValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH T für SyntaxTreeNode: null [shortValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH U für SyntaxTreeNode: null [intValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH V für SyntaxTreeNode: null [longValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH W für SyntaxTreeNode: null [floatValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH X für SyntaxTreeNode: null [doubleValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH Y für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH Z für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AA für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AB für SyntaxTreeNode: null [toHexString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AC für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AD für SyntaxTreeNode: null [decode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AE für SyntaxTreeNode: null [reverse]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AF für SyntaxTreeNode: null [sum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AG für SyntaxTreeNode: null [parseInt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AH für SyntaxTreeNode: null [parseInt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AI für SyntaxTreeNode: null [toUnsignedLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AJ für SyntaxTreeNode: null [compareUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AK für SyntaxTreeNode: null [divideUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AL für SyntaxTreeNode: null [getInteger]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AM für SyntaxTreeNode: null [getInteger]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AN für SyntaxTreeNode: null [getInteger]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AO für SyntaxTreeNode: null [highestOneBit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AP für SyntaxTreeNode: null [lowestOneBit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AQ für SyntaxTreeNode: null [parseUnsignedInt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AR für SyntaxTreeNode: null [parseUnsignedInt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AS für SyntaxTreeNode: null [remainderUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AT für SyntaxTreeNode: null [rotateLeft]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AU für SyntaxTreeNode: null [rotateRight]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AV für SyntaxTreeNode: null [signum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AW für SyntaxTreeNode: null [toBinaryString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AX für SyntaxTreeNode: null [toOctalString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AY für SyntaxTreeNode: null [toUnsignedString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AZ für SyntaxTreeNode: null [toUnsignedString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BA für SyntaxTreeNode: null [java.lang.Integer]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BB für SyntaxTreeNode: null [java.lang.Integer]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BC für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BD für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BE für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BF für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BG für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BH für SyntaxTreeNode: null [indexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BI für SyntaxTreeNode: null [indexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BJ für SyntaxTreeNode: null [indexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BK für SyntaxTreeNode: null [indexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BL für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BM für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BN für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BO für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BP für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BQ für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BR für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BS für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BT für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BU für SyntaxTreeNode: null [charAt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BV für SyntaxTreeNode: null [codePointAt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BW für SyntaxTreeNode: null [codePointBefore]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BX für SyntaxTreeNode: null [codePointCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BY für SyntaxTreeNode: null [compareToIgnoreCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH BZ für SyntaxTreeNode: null [concat]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CA für SyntaxTreeNode: null [contains]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CB für SyntaxTreeNode: null [contentEquals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CC für SyntaxTreeNode: null [contentEquals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CD für SyntaxTreeNode: null [copyValueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CE für SyntaxTreeNode: null [copyValueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CF für SyntaxTreeNode: null [endsWith]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CG für SyntaxTreeNode: null [equalsIgnoreCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CH für SyntaxTreeNode: null [format]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CI für SyntaxTreeNode: null [format]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CJ für SyntaxTreeNode: null [getBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CK für SyntaxTreeNode: null [getBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CL für SyntaxTreeNode: null [getBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CM für SyntaxTreeNode: null [getBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CN für SyntaxTreeNode: null [getChars]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CO für SyntaxTreeNode: null [intern]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CP für SyntaxTreeNode: null [isEmpty]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CQ für SyntaxTreeNode: null [join]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CR für SyntaxTreeNode: null [join]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CS für SyntaxTreeNode: null [lastIndexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CT für SyntaxTreeNode: null [lastIndexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CU für SyntaxTreeNode: null [lastIndexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CV für SyntaxTreeNode: null [lastIndexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CW für SyntaxTreeNode: null [length]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CX für SyntaxTreeNode: null [matches]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CY für SyntaxTreeNode: null [offsetByCodePoints]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH CZ für SyntaxTreeNode: null [regionMatches]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DA für SyntaxTreeNode: null [regionMatches]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DB für SyntaxTreeNode: null [replace]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DC für SyntaxTreeNode: null [replace]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DD für SyntaxTreeNode: null [replaceAll]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DE für SyntaxTreeNode: null [replaceFirst]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DF für SyntaxTreeNode: null [split]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DG für SyntaxTreeNode: null [split]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DH für SyntaxTreeNode: null [startsWith]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DI für SyntaxTreeNode: null [startsWith]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DJ für SyntaxTreeNode: null [subSequence]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DK für SyntaxTreeNode: null [substring]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DL für SyntaxTreeNode: null [substring]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DM für SyntaxTreeNode: null [toCharArray]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DN für SyntaxTreeNode: null [toLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DO für SyntaxTreeNode: null [toLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DP für SyntaxTreeNode: null [toUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DQ für SyntaxTreeNode: null [toUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DR für SyntaxTreeNode: null [trim]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DS für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DT für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DU für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DV für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DW für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DX für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DY für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH DZ für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EA für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EB für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EC für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ED für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EE für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EF für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EG für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EH für SyntaxTreeNode: null [isJavaIdentifierStart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EI für SyntaxTreeNode: null [isJavaIdentifierStart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EJ für SyntaxTreeNode: null [isJavaIdentifierPart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EK für SyntaxTreeNode: null [isJavaIdentifierPart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EL für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EM für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EN für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EO für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EP für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EQ für SyntaxTreeNode: null [reverseBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ER für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ES für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ET für SyntaxTreeNode: null [charValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EU für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EV für SyntaxTreeNode: null [getName]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EW für SyntaxTreeNode: null [charCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EX für SyntaxTreeNode: null [codePointAt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EY für SyntaxTreeNode: null [codePointAt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH EZ für SyntaxTreeNode: null [codePointAt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FA für SyntaxTreeNode: null [codePointBefore]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FB für SyntaxTreeNode: null [codePointBefore]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FC für SyntaxTreeNode: null [codePointBefore]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FD für SyntaxTreeNode: null [codePointCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FE für SyntaxTreeNode: null [codePointCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FF für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FG für SyntaxTreeNode: null [highSurrogate]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FH für SyntaxTreeNode: null [isBmpCodePoint]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FI für SyntaxTreeNode: null [isValidCodePoint]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FJ für SyntaxTreeNode: null [lowSurrogate]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FK für SyntaxTreeNode: null [offsetByCodePoints]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FL für SyntaxTreeNode: null [offsetByCodePoints]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FM für SyntaxTreeNode: null [toChars]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FN für SyntaxTreeNode: null [toChars]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FO für SyntaxTreeNode: null [toLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FP für SyntaxTreeNode: null [toLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FQ für SyntaxTreeNode: null [toUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FR für SyntaxTreeNode: null [toUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FS für SyntaxTreeNode: null [getType]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FT für SyntaxTreeNode: null [getType]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FU für SyntaxTreeNode: null [isHighSurrogate]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FV für SyntaxTreeNode: null [isLowSurrogate]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FW für SyntaxTreeNode: null [isSurrogate]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FX für SyntaxTreeNode: null [digit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FY für SyntaxTreeNode: null [digit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH FZ für SyntaxTreeNode: null [forDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GA für SyntaxTreeNode: null [getDirectionality]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GB für SyntaxTreeNode: null [getDirectionality]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GC für SyntaxTreeNode: null [getNumericValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GD für SyntaxTreeNode: null [getNumericValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GE für SyntaxTreeNode: null [isAlphabetic]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GF für SyntaxTreeNode: null [isDefined]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GG für SyntaxTreeNode: null [isDefined]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GH für SyntaxTreeNode: null [isDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GI für SyntaxTreeNode: null [isDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GJ für SyntaxTreeNode: null [isISOControl]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GK für SyntaxTreeNode: null [isISOControl]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GL für SyntaxTreeNode: null [isIdentifierIgnorable]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GM für SyntaxTreeNode: null [isIdentifierIgnorable]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GN für SyntaxTreeNode: null [isIdeographic]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GO für SyntaxTreeNode: null [isJavaLetter]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GP für SyntaxTreeNode: null [isJavaLetterOrDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GQ für SyntaxTreeNode: null [isLetter]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GR für SyntaxTreeNode: null [isLetter]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GS für SyntaxTreeNode: null [isLetterOrDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GT für SyntaxTreeNode: null [isLetterOrDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GU für SyntaxTreeNode: null [isLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GV für SyntaxTreeNode: null [isLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GW für SyntaxTreeNode: null [isMirrored]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GX für SyntaxTreeNode: null [isMirrored]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GY für SyntaxTreeNode: null [isSpace]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH GZ für SyntaxTreeNode: null [isSpaceChar]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HA für SyntaxTreeNode: null [isSpaceChar]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HB für SyntaxTreeNode: null [isSupplementaryCodePoint]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HC für SyntaxTreeNode: null [isSurrogatePair]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HD für SyntaxTreeNode: null [isTitleCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HE für SyntaxTreeNode: null [isTitleCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HF für SyntaxTreeNode: null [isUnicodeIdentifierPart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HG für SyntaxTreeNode: null [isUnicodeIdentifierPart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HH für SyntaxTreeNode: null [isUnicodeIdentifierStart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HI für SyntaxTreeNode: null [isUnicodeIdentifierStart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HJ für SyntaxTreeNode: null [isUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HK für SyntaxTreeNode: null [isUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HL für SyntaxTreeNode: null [isWhitespace]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HM für SyntaxTreeNode: null [isWhitespace]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HN für SyntaxTreeNode: null [toCodePoint]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HO für SyntaxTreeNode: null [toTitleCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HP für SyntaxTreeNode: null [toTitleCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HQ für SyntaxTreeNode: null [java.lang.Character]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HR für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HS für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HT für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HU für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HV für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HW für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HX für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HY für SyntaxTreeNode: null [getBoolean]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH HZ für SyntaxTreeNode: null [booleanValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IA für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IB für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IC für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ID für SyntaxTreeNode: null [logicalAnd]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IE für SyntaxTreeNode: null [logicalOr]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IF für SyntaxTreeNode: null [logicalXor]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IG für SyntaxTreeNode: null [parseBoolean]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IH für SyntaxTreeNode: null [java.lang.Boolean]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH II für SyntaxTreeNode: null [java.lang.Boolean]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IJ für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IK für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IL für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IM für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IN für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IO für SyntaxTreeNode: null [min]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IP für SyntaxTreeNode: null [max]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IQ für SyntaxTreeNode: null [doubleToRawLongBits]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IR für SyntaxTreeNode: null [doubleToLongBits]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IS für SyntaxTreeNode: null [longBitsToDouble]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IT für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IU für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IV für SyntaxTreeNode: null [byteValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IW für SyntaxTreeNode: null [shortValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IX für SyntaxTreeNode: null [intValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IY für SyntaxTreeNode: null [longValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH IZ für SyntaxTreeNode: null [floatValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JA für SyntaxTreeNode: null [doubleValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JB für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JC für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JD für SyntaxTreeNode: null [toHexString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JE für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JF für SyntaxTreeNode: null [isNaN]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JG für SyntaxTreeNode: null [isNaN]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JH für SyntaxTreeNode: null [isFinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JI für SyntaxTreeNode: null [isInfinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JJ für SyntaxTreeNode: null [isInfinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JK für SyntaxTreeNode: null [sum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JL für SyntaxTreeNode: null [parseDouble]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JM für SyntaxTreeNode: null [java.lang.Double]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JN für SyntaxTreeNode: null [java.lang.Double]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JO für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JP für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JQ für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JR für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JS für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JT für SyntaxTreeNode: null [min]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JU für SyntaxTreeNode: null [max]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JV für SyntaxTreeNode: null [floatToRawIntBits]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JW für SyntaxTreeNode: null [floatToIntBits]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JX für SyntaxTreeNode: null [intBitsToFloat]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JY für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH JZ für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KA für SyntaxTreeNode: null [byteValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KB für SyntaxTreeNode: null [shortValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KC für SyntaxTreeNode: null [intValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KD für SyntaxTreeNode: null [longValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KE für SyntaxTreeNode: null [floatValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KF für SyntaxTreeNode: null [doubleValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KG für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KH für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KI für SyntaxTreeNode: null [toHexString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KJ für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KK für SyntaxTreeNode: null [isNaN]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KL für SyntaxTreeNode: null [isNaN]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KM für SyntaxTreeNode: null [isFinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KN für SyntaxTreeNode: null [isInfinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KO für SyntaxTreeNode: null [isInfinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KP für SyntaxTreeNode: null [parseFloat]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KQ für SyntaxTreeNode: null [sum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KR für SyntaxTreeNode: null [java.lang.Float]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KS für SyntaxTreeNode: null [java.lang.Float]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KT für SyntaxTreeNode: null [java.lang.Float]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KU für SyntaxTreeNode: null [numberOfLeadingZeros]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KV für SyntaxTreeNode: null [numberOfTrailingZeros]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KW für SyntaxTreeNode: null [bitCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KX für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KY für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH KZ für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LA für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LB für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LC für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LD für SyntaxTreeNode: null [min]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LE für SyntaxTreeNode: null [max]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LF für SyntaxTreeNode: null [reverseBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LG für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LH für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LI für SyntaxTreeNode: null [getLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LJ für SyntaxTreeNode: null [getLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LK für SyntaxTreeNode: null [getLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LL für SyntaxTreeNode: null [byteValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LM für SyntaxTreeNode: null [shortValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LN für SyntaxTreeNode: null [intValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LO für SyntaxTreeNode: null [longValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LP für SyntaxTreeNode: null [floatValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LQ für SyntaxTreeNode: null [doubleValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LR für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LS für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LT für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LU für SyntaxTreeNode: null [toHexString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LV für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LW für SyntaxTreeNode: null [decode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LX für SyntaxTreeNode: null [reverse]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LY für SyntaxTreeNode: null [sum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH LZ für SyntaxTreeNode: null [compareUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MA für SyntaxTreeNode: null [divideUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MB für SyntaxTreeNode: null [highestOneBit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MC für SyntaxTreeNode: null [lowestOneBit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MD für SyntaxTreeNode: null [parseLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ME für SyntaxTreeNode: null [parseLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MF für SyntaxTreeNode: null [remainderUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MG für SyntaxTreeNode: null [rotateLeft]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MH für SyntaxTreeNode: null [rotateRight]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MI für SyntaxTreeNode: null [signum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MJ für SyntaxTreeNode: null [toBinaryString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MK für SyntaxTreeNode: null [toOctalString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ML für SyntaxTreeNode: null [toUnsignedString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MM für SyntaxTreeNode: null [toUnsignedString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MN für SyntaxTreeNode: null [parseUnsignedLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MO für SyntaxTreeNode: null [parseUnsignedLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MP für SyntaxTreeNode: null [java.lang.Long]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MQ für SyntaxTreeNode: null [java.lang.Long]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MR für SyntaxTreeNode: null [wait]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MS für SyntaxTreeNode: null [wait]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MT für SyntaxTreeNode: null [wait]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MU für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MV für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MW für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MX für SyntaxTreeNode: null [getClass]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MY für SyntaxTreeNode: null [notify]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH MZ für SyntaxTreeNode: null [notifyAll]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NA für SyntaxTreeNode: null [java.lang.Object]null { [] - TYPEINFERENCE -Typeinference: Von JRE erstellte Assumptions: this: null -Method Assumptions: -[MethodAssumption: java.lang.Integer* [numberOfLeadingZeros](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [numberOfTrailingZeros](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [bitCount](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [min](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [max](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [reverseBytes](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Integer java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Integer [valueOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [valueOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compare](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [decode](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [reverse](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [sum](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [parseInt](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [parseInt](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [toUnsignedLong](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [divideUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [getInteger](java.lang.String java.lang.String,java.lang.Integer java.lang.Integer), MethodAssumption: java.lang.Integer [getInteger](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [highestOneBit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lowestOneBit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [parseUnsignedInt](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [parseUnsignedInt](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [remainderUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [rotateLeft](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [rotateRight](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [signum](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toBinaryString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toOctalString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [compareTo](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [indexOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [indexOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [indexOf](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [indexOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [valueOf](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.String [valueOf](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.String [valueOf]([C [C), MethodAssumption: java.lang.String [valueOf]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [valueOf](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [valueOf](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Character* [charAt](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareToIgnoreCase](java.lang.String java.lang.String), MethodAssumption: java.lang.String [concat](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [contains](java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.Boolean* [contentEquals](java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.Boolean* [contentEquals](java.lang.StringBuffer java.lang.StringBuffer), MethodAssumption: java.lang.String [copyValueOf]([C [C), MethodAssumption: java.lang.String [copyValueOf]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [endsWith](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equalsIgnoreCase](java.lang.String java.lang.String), MethodAssumption: java.lang.String [format](java.util.Locale java.util.Locale,java.lang.String java.lang.String,[Ljava.lang.Object; [Ljava.lang.Object;), MethodAssumption: java.lang.String [format](java.lang.String java.lang.String,[Ljava.lang.Object; [Ljava.lang.Object;), MethodAssumption: void [getBytes](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,[B [B,java.lang.Integer* java.lang.Integer), MethodAssumption: [B [getBytes](java.nio.charset.Charset java.nio.charset.Charset), MethodAssumption: [B [getBytes](java.lang.String java.lang.String), MethodAssumption: [B [getBytes](), MethodAssumption: void [getChars](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,[C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [intern](), MethodAssumption: java.lang.Boolean* [isEmpty](), MethodAssumption: java.lang.String [join](java.lang.CharSequence java.lang.CharSequence,[Ljava.lang.CharSequence; [Ljava.lang.CharSequence;), MethodAssumption: java.lang.String [join](java.lang.CharSequence java.lang.CharSequence,java.lang.Iterable java.lang.Iterable), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [length](), MethodAssumption: java.lang.Boolean* [matches](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [offsetByCodePoints](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [regionMatches](java.lang.Integer* java.lang.Integer,java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [regionMatches](java.lang.Boolean* java.lang.Boolean,java.lang.Integer* java.lang.Integer,java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [replace](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [replace](java.lang.CharSequence java.lang.CharSequence,java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.String [replaceAll](java.lang.String java.lang.String,java.lang.String java.lang.String), MethodAssumption: java.lang.String [replaceFirst](java.lang.String java.lang.String,java.lang.String java.lang.String), MethodAssumption: [Ljava.lang.String; [split](java.lang.String java.lang.String), MethodAssumption: [Ljava.lang.String; [split](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [startsWith](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [startsWith](java.lang.String java.lang.String), MethodAssumption: java.lang.CharSequence [subSequence](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [substring](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [substring](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: [C [toCharArray](), MethodAssumption: java.lang.String [toLowerCase](java.util.Locale java.util.Locale), MethodAssumption: java.lang.String [toLowerCase](), MethodAssumption: java.lang.String [toUpperCase](), MethodAssumption: java.lang.String [toUpperCase](java.util.Locale java.util.Locale), MethodAssumption: java.lang.String [trim](), MethodAssumption: java.lang.Boolean* [isJavaIdentifierStart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaIdentifierStart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isJavaIdentifierPart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaIdentifierPart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [reverseBytes](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Character java.lang.Character), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Character* [charValue](), MethodAssumption: java.lang.Character [valueOf](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [getName](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [charCount](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt]([C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore]([C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compare](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [highSurrogate](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isBmpCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isValidCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [lowSurrogate](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [offsetByCodePoints](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [offsetByCodePoints]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toChars](java.lang.Integer* java.lang.Integer,[C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: [C [toChars](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [toLowerCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [toLowerCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toUpperCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [toUpperCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getType](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getType](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isHighSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLowSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [digit](java.lang.Character* java.lang.Character,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [digit](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [forDigit](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: byte [getDirectionality](java.lang.Integer* java.lang.Integer), MethodAssumption: byte [getDirectionality](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getNumericValue](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [getNumericValue](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isAlphabetic](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDefined](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isDefined](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDigit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isISOControl](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isISOControl](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isIdentifierIgnorable](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isIdentifierIgnorable](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isIdeographic](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isJavaLetter](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaLetterOrDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetter](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLetter](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetterOrDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetterOrDigit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLowerCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLowerCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isMirrored](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isMirrored](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSpace](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSpaceChar](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isSpaceChar](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSupplementaryCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isSurrogatePair](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isTitleCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isTitleCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierPart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierPart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierStart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierStart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUpperCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUpperCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isWhitespace](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isWhitespace](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toCodePoint](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [toTitleCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [toTitleCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Boolean java.lang.Boolean), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Boolean* [getBoolean](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [booleanValue](), MethodAssumption: java.lang.Boolean [valueOf](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [compare](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalAnd](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalOr](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalXor](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [parseBoolean](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [min](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [max](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Long* [doubleToRawLongBits](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Long* [doubleToLongBits](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [longBitsToDouble](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Double java.lang.Double), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Double [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Double [valueOf](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.String [toHexString](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Integer* [compare](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isNaN](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isNaN](), MethodAssumption: java.lang.Boolean* [isFinite](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isInfinite](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isInfinite](), MethodAssumption: java.lang.Double* [sum](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [parseDouble](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [min](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [max](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [floatToRawIntBits](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [floatToIntBits](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [intBitsToFloat](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Float java.lang.Float), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Float [valueOf](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [compare](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isNaN](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isNaN](), MethodAssumption: java.lang.Boolean* [isFinite](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isInfinite](), MethodAssumption: java.lang.Boolean* [isInfinite](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [parseFloat](java.lang.String java.lang.String), MethodAssumption: java.lang.Float* [sum](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [numberOfLeadingZeros](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [numberOfTrailingZeros](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [bitCount](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [min](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [max](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [reverseBytes](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Long java.lang.Long), MethodAssumption: java.lang.Long [getLong](java.lang.String java.lang.String,java.lang.Long java.lang.Long), MethodAssumption: java.lang.Long [getLong](java.lang.String java.lang.String), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Long [valueOf](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long [valueOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compare](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long [decode](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [reverse](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [sum](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [divideUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [highestOneBit](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [lowestOneBit](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [parseLong](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [parseLong](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [remainderUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [rotateLeft](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [rotateRight](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [signum](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toBinaryString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toOctalString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [parseUnsignedLong](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [parseUnsignedLong](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: void [wait](), MethodAssumption: void [wait](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: void [wait](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Class [getClass](), MethodAssumption: void [notify](), MethodAssumption: void [notifyAll]()] -FieldVar Assumptions: -[FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Class TYPE, FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Class TYPE, FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, FieldAssumption: int BYTES] -LocalVar Assumptions: -[] -Parameter Assumptions: -[] -Generic Var Assumptions: -[] -Konstruktor Assumptions: -[ConstructorAssumption: java.lang.Integer(int p0), ConstructorAssumption: java.lang.Integer(java.lang.String p0), ConstructorAssumption: java.lang.String([B p0,int p1,int p2), ConstructorAssumption: java.lang.String([B p0,java.nio.charset.Charset p1), ConstructorAssumption: java.lang.String([B p0,java.lang.String p1), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,java.nio.charset.Charset p3), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,java.lang.String p3), ConstructorAssumption: java.lang.String(java.lang.StringBuilder p0), ConstructorAssumption: java.lang.String(java.lang.StringBuffer p0), ConstructorAssumption: java.lang.String([B p0), ConstructorAssumption: java.lang.String([I p0,int p1,int p2), ConstructorAssumption: java.lang.String(), ConstructorAssumption: java.lang.String([C p0), ConstructorAssumption: java.lang.String(java.lang.String p0), ConstructorAssumption: java.lang.String([C p0,int p1,int p2), ConstructorAssumption: java.lang.String([B p0,int p1), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,int p3), ConstructorAssumption: java.lang.Character(char p0), ConstructorAssumption: java.lang.Boolean(boolean p0), ConstructorAssumption: java.lang.Boolean(java.lang.String p0), ConstructorAssumption: java.lang.Double(double p0), ConstructorAssumption: java.lang.Double(java.lang.String p0), ConstructorAssumption: java.lang.Float(java.lang.String p0), ConstructorAssumption: java.lang.Float(double p0), ConstructorAssumption: java.lang.Float(float p0), ConstructorAssumption: java.lang.Long(long p0), ConstructorAssumption: java.lang.Long(java.lang.String p0), ConstructorAssumption: java.lang.Object()] -Class Assumptions: -[java.lang.Object, java.lang.Number, java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long, java.lang.Object] - - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NB für SyntaxTreeNode: null [numberOfLeadingZeros]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NC für SyntaxTreeNode: null [numberOfTrailingZeros]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ND für SyntaxTreeNode: null [bitCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NE für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NF für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NG für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NH für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NI für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NJ für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NK für SyntaxTreeNode: null [min]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NL für SyntaxTreeNode: null [max]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NM für SyntaxTreeNode: null [reverseBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NN für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NO für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NP für SyntaxTreeNode: null [byteValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NQ für SyntaxTreeNode: null [shortValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NR für SyntaxTreeNode: null [intValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NS für SyntaxTreeNode: null [longValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NT für SyntaxTreeNode: null [floatValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NU für SyntaxTreeNode: null [doubleValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NV für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NW für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NX für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NY für SyntaxTreeNode: null [toHexString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH NZ für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OA für SyntaxTreeNode: null [decode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OB für SyntaxTreeNode: null [reverse]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OC für SyntaxTreeNode: null [sum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OD für SyntaxTreeNode: null [parseInt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OE für SyntaxTreeNode: null [parseInt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OF für SyntaxTreeNode: null [toUnsignedLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OG für SyntaxTreeNode: null [compareUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OH für SyntaxTreeNode: null [divideUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OI für SyntaxTreeNode: null [getInteger]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OJ für SyntaxTreeNode: null [getInteger]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OK für SyntaxTreeNode: null [getInteger]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OL für SyntaxTreeNode: null [highestOneBit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OM für SyntaxTreeNode: null [lowestOneBit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ON für SyntaxTreeNode: null [parseUnsignedInt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OO für SyntaxTreeNode: null [parseUnsignedInt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OP für SyntaxTreeNode: null [remainderUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OQ für SyntaxTreeNode: null [rotateLeft]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OR für SyntaxTreeNode: null [rotateRight]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OS für SyntaxTreeNode: null [signum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OT für SyntaxTreeNode: null [toBinaryString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OU für SyntaxTreeNode: null [toOctalString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OV für SyntaxTreeNode: null [toUnsignedString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OW für SyntaxTreeNode: null [toUnsignedString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OX für SyntaxTreeNode: null [java.lang.Integer]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OY für SyntaxTreeNode: null [java.lang.Integer]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH OZ für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PA für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PB für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PC für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PD für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PE für SyntaxTreeNode: null [indexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PF für SyntaxTreeNode: null [indexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PG für SyntaxTreeNode: null [indexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PH für SyntaxTreeNode: null [indexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PI für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PJ für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PK für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PL für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PM für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PN für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PO für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PP für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PQ für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PR für SyntaxTreeNode: null [charAt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PS für SyntaxTreeNode: null [codePointAt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PT für SyntaxTreeNode: null [codePointBefore]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PU für SyntaxTreeNode: null [codePointCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PV für SyntaxTreeNode: null [compareToIgnoreCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PW für SyntaxTreeNode: null [concat]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PX für SyntaxTreeNode: null [contains]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PY für SyntaxTreeNode: null [contentEquals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH PZ für SyntaxTreeNode: null [contentEquals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QA für SyntaxTreeNode: null [copyValueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QB für SyntaxTreeNode: null [copyValueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QC für SyntaxTreeNode: null [endsWith]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QD für SyntaxTreeNode: null [equalsIgnoreCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QE für SyntaxTreeNode: null [format]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QF für SyntaxTreeNode: null [format]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QG für SyntaxTreeNode: null [getBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QH für SyntaxTreeNode: null [getBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QI für SyntaxTreeNode: null [getBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QJ für SyntaxTreeNode: null [getBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QK für SyntaxTreeNode: null [getChars]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QL für SyntaxTreeNode: null [intern]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QM für SyntaxTreeNode: null [isEmpty]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QN für SyntaxTreeNode: null [join]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QO für SyntaxTreeNode: null [join]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QP für SyntaxTreeNode: null [lastIndexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QQ für SyntaxTreeNode: null [lastIndexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QR für SyntaxTreeNode: null [lastIndexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QS für SyntaxTreeNode: null [lastIndexOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QT für SyntaxTreeNode: null [length]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QU für SyntaxTreeNode: null [matches]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QV für SyntaxTreeNode: null [offsetByCodePoints]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QW für SyntaxTreeNode: null [regionMatches]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QX für SyntaxTreeNode: null [regionMatches]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QY für SyntaxTreeNode: null [replace]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH QZ für SyntaxTreeNode: null [replace]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RA für SyntaxTreeNode: null [replaceAll]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RB für SyntaxTreeNode: null [replaceFirst]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RC für SyntaxTreeNode: null [split]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RD für SyntaxTreeNode: null [split]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RE für SyntaxTreeNode: null [startsWith]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RF für SyntaxTreeNode: null [startsWith]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RG für SyntaxTreeNode: null [subSequence]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RH für SyntaxTreeNode: null [substring]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RI für SyntaxTreeNode: null [substring]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RJ für SyntaxTreeNode: null [toCharArray]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RK für SyntaxTreeNode: null [toLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RL für SyntaxTreeNode: null [toLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RM für SyntaxTreeNode: null [toUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RN für SyntaxTreeNode: null [toUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RO für SyntaxTreeNode: null [trim]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RP für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RQ für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RR für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RS für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RT für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RU für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RV für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RW für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RX für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RY für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH RZ für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SA für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SB für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SC für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SD für SyntaxTreeNode: null [java.lang.String]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SE für SyntaxTreeNode: null [isJavaIdentifierStart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SF für SyntaxTreeNode: null [isJavaIdentifierStart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SG für SyntaxTreeNode: null [isJavaIdentifierPart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SH für SyntaxTreeNode: null [isJavaIdentifierPart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SI für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SJ für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SK für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SL für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SM für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SN für SyntaxTreeNode: null [reverseBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SO für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SP für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SQ für SyntaxTreeNode: null [charValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SR für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SS für SyntaxTreeNode: null [getName]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ST für SyntaxTreeNode: null [charCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SU für SyntaxTreeNode: null [codePointAt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SV für SyntaxTreeNode: null [codePointAt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SW für SyntaxTreeNode: null [codePointAt]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SX für SyntaxTreeNode: null [codePointBefore]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SY für SyntaxTreeNode: null [codePointBefore]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH SZ für SyntaxTreeNode: null [codePointBefore]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TA für SyntaxTreeNode: null [codePointCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TB für SyntaxTreeNode: null [codePointCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TC für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TD für SyntaxTreeNode: null [highSurrogate]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TE für SyntaxTreeNode: null [isBmpCodePoint]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TF für SyntaxTreeNode: null [isValidCodePoint]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TG für SyntaxTreeNode: null [lowSurrogate]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TH für SyntaxTreeNode: null [offsetByCodePoints]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TI für SyntaxTreeNode: null [offsetByCodePoints]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TJ für SyntaxTreeNode: null [toChars]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TK für SyntaxTreeNode: null [toChars]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TL für SyntaxTreeNode: null [toLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TM für SyntaxTreeNode: null [toLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TN für SyntaxTreeNode: null [toUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TO für SyntaxTreeNode: null [toUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TP für SyntaxTreeNode: null [getType]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TQ für SyntaxTreeNode: null [getType]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TR für SyntaxTreeNode: null [isHighSurrogate]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TS für SyntaxTreeNode: null [isLowSurrogate]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TT für SyntaxTreeNode: null [isSurrogate]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TU für SyntaxTreeNode: null [digit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TV für SyntaxTreeNode: null [digit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TW für SyntaxTreeNode: null [forDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TX für SyntaxTreeNode: null [getDirectionality]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TY für SyntaxTreeNode: null [getDirectionality]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH TZ für SyntaxTreeNode: null [getNumericValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UA für SyntaxTreeNode: null [getNumericValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UB für SyntaxTreeNode: null [isAlphabetic]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UC für SyntaxTreeNode: null [isDefined]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UD für SyntaxTreeNode: null [isDefined]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UE für SyntaxTreeNode: null [isDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UF für SyntaxTreeNode: null [isDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UG für SyntaxTreeNode: null [isISOControl]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UH für SyntaxTreeNode: null [isISOControl]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UI für SyntaxTreeNode: null [isIdentifierIgnorable]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UJ für SyntaxTreeNode: null [isIdentifierIgnorable]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UK für SyntaxTreeNode: null [isIdeographic]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UL für SyntaxTreeNode: null [isJavaLetter]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UM für SyntaxTreeNode: null [isJavaLetterOrDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UN für SyntaxTreeNode: null [isLetter]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UO für SyntaxTreeNode: null [isLetter]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UP für SyntaxTreeNode: null [isLetterOrDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UQ für SyntaxTreeNode: null [isLetterOrDigit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UR für SyntaxTreeNode: null [isLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH US für SyntaxTreeNode: null [isLowerCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UT für SyntaxTreeNode: null [isMirrored]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UU für SyntaxTreeNode: null [isMirrored]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UV für SyntaxTreeNode: null [isSpace]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UW für SyntaxTreeNode: null [isSpaceChar]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UX für SyntaxTreeNode: null [isSpaceChar]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UY für SyntaxTreeNode: null [isSupplementaryCodePoint]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH UZ für SyntaxTreeNode: null [isSurrogatePair]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VA für SyntaxTreeNode: null [isTitleCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VB für SyntaxTreeNode: null [isTitleCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VC für SyntaxTreeNode: null [isUnicodeIdentifierPart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VD für SyntaxTreeNode: null [isUnicodeIdentifierPart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VE für SyntaxTreeNode: null [isUnicodeIdentifierStart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VF für SyntaxTreeNode: null [isUnicodeIdentifierStart]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VG für SyntaxTreeNode: null [isUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VH für SyntaxTreeNode: null [isUpperCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VI für SyntaxTreeNode: null [isWhitespace]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VJ für SyntaxTreeNode: null [isWhitespace]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VK für SyntaxTreeNode: null [toCodePoint]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VL für SyntaxTreeNode: null [toTitleCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VM für SyntaxTreeNode: null [toTitleCase]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VN für SyntaxTreeNode: null [java.lang.Character]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VO für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VP für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VQ für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VR für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VS für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VT für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VU für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VV für SyntaxTreeNode: null [getBoolean]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VW für SyntaxTreeNode: null [booleanValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VX für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VY für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH VZ für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WA für SyntaxTreeNode: null [logicalAnd]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WB für SyntaxTreeNode: null [logicalOr]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WC für SyntaxTreeNode: null [logicalXor]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WD für SyntaxTreeNode: null [parseBoolean]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WE für SyntaxTreeNode: null [java.lang.Boolean]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WF für SyntaxTreeNode: null [java.lang.Boolean]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WG für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WH für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WI für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WJ für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WK für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WL für SyntaxTreeNode: null [min]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WM für SyntaxTreeNode: null [max]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WN für SyntaxTreeNode: null [doubleToRawLongBits]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WO für SyntaxTreeNode: null [doubleToLongBits]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WP für SyntaxTreeNode: null [longBitsToDouble]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WQ für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WR für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WS für SyntaxTreeNode: null [byteValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WT für SyntaxTreeNode: null [shortValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WU für SyntaxTreeNode: null [intValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WV für SyntaxTreeNode: null [longValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WW für SyntaxTreeNode: null [floatValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WX für SyntaxTreeNode: null [doubleValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WY für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH WZ für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XA für SyntaxTreeNode: null [toHexString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XB für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XC für SyntaxTreeNode: null [isNaN]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XD für SyntaxTreeNode: null [isNaN]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XE für SyntaxTreeNode: null [isFinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XF für SyntaxTreeNode: null [isInfinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XG für SyntaxTreeNode: null [isInfinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XH für SyntaxTreeNode: null [sum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XI für SyntaxTreeNode: null [parseDouble]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XJ für SyntaxTreeNode: null [java.lang.Double]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XK für SyntaxTreeNode: null [java.lang.Double]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XL für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XM für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XN für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XO für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XP für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XQ für SyntaxTreeNode: null [min]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XR für SyntaxTreeNode: null [max]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XS für SyntaxTreeNode: null [floatToRawIntBits]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XT für SyntaxTreeNode: null [floatToIntBits]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XU für SyntaxTreeNode: null [intBitsToFloat]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XV für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XW für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XX für SyntaxTreeNode: null [byteValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XY für SyntaxTreeNode: null [shortValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH XZ für SyntaxTreeNode: null [intValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YA für SyntaxTreeNode: null [longValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YB für SyntaxTreeNode: null [floatValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YC für SyntaxTreeNode: null [doubleValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YD für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YE für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YF für SyntaxTreeNode: null [toHexString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YG für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YH für SyntaxTreeNode: null [isNaN]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YI für SyntaxTreeNode: null [isNaN]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YJ für SyntaxTreeNode: null [isFinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YK für SyntaxTreeNode: null [isInfinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YL für SyntaxTreeNode: null [isInfinite]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YM für SyntaxTreeNode: null [parseFloat]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YN für SyntaxTreeNode: null [sum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YO für SyntaxTreeNode: null [java.lang.Float]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YP für SyntaxTreeNode: null [java.lang.Float]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YQ für SyntaxTreeNode: null [java.lang.Float]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YR für SyntaxTreeNode: null [numberOfLeadingZeros]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YS für SyntaxTreeNode: null [numberOfTrailingZeros]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YT für SyntaxTreeNode: null [bitCount]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YU für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YV für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YW für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YX für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YY für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH YZ für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZA für SyntaxTreeNode: null [min]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZB für SyntaxTreeNode: null [max]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZC für SyntaxTreeNode: null [reverseBytes]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZD für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZE für SyntaxTreeNode: null [compareTo]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZF für SyntaxTreeNode: null [getLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZG für SyntaxTreeNode: null [getLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZH für SyntaxTreeNode: null [getLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZI für SyntaxTreeNode: null [byteValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZJ für SyntaxTreeNode: null [shortValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZK für SyntaxTreeNode: null [intValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZL für SyntaxTreeNode: null [longValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZM für SyntaxTreeNode: null [floatValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZN für SyntaxTreeNode: null [doubleValue]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZO für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZP für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZQ für SyntaxTreeNode: null [valueOf]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZR für SyntaxTreeNode: null [toHexString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZS für SyntaxTreeNode: null [compare]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZT für SyntaxTreeNode: null [decode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZU für SyntaxTreeNode: null [reverse]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZV für SyntaxTreeNode: null [sum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZW für SyntaxTreeNode: null [compareUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZX für SyntaxTreeNode: null [divideUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZY für SyntaxTreeNode: null [highestOneBit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ZZ für SyntaxTreeNode: null [lowestOneBit]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAA für SyntaxTreeNode: null [parseLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAB für SyntaxTreeNode: null [parseLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAC für SyntaxTreeNode: null [remainderUnsigned]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAD für SyntaxTreeNode: null [rotateLeft]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAE für SyntaxTreeNode: null [rotateRight]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAF für SyntaxTreeNode: null [signum]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAG für SyntaxTreeNode: null [toBinaryString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAH für SyntaxTreeNode: null [toOctalString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAI für SyntaxTreeNode: null [toUnsignedString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAJ für SyntaxTreeNode: null [toUnsignedString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAK für SyntaxTreeNode: null [parseUnsignedLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAL für SyntaxTreeNode: null [parseUnsignedLong]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAM für SyntaxTreeNode: null [java.lang.Long]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAN für SyntaxTreeNode: null [java.lang.Long]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAO für SyntaxTreeNode: null [wait]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAP für SyntaxTreeNode: null [wait]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAQ für SyntaxTreeNode: null [wait]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAR für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAS für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAT für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAU für SyntaxTreeNode: null [getClass]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAV für SyntaxTreeNode: null [notify]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAW für SyntaxTreeNode: null [notifyAll]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAX für SyntaxTreeNode: null [java.lang.Object]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAY für SyntaxTreeNode: null [wait]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH AAZ für SyntaxTreeNode: null [wait]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ABA für SyntaxTreeNode: null [wait]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ABB für SyntaxTreeNode: null [equals]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ABC für SyntaxTreeNode: null [toString]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ABD für SyntaxTreeNode: null [hashCode]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ABE für SyntaxTreeNode: null [getClass]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ABF für SyntaxTreeNode: null [notify]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ABG für SyntaxTreeNode: null [notifyAll]null { [] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ABH für SyntaxTreeNode: null [java.lang.Object]null { [] - TYPEINFERENCE -inference: Verarbeite Test - TYPEINFERENCE -inference: Verarbeite Klasse1 - TYPEINFERENCE -inference: Verarbeite Klasse2 - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge FC = { -(java.lang.Integer <. java.lang.Number)Smaller, - -(java.lang.Double <. java.lang.Number)Smaller, - -(java.lang.Float <. java.lang.Number)Smaller, - -(java.lang.Long <. java.lang.Number)Smaller, - -(Test <. java.lang.Object)Smaller, - -(Klasse1 <. java.lang.Object)Smaller, - -(Klasse2 <. java.lang.Object)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -inference: nSubstStelleStart0 0 - FINITECLOSURE -inference: nSubstStelleStart0 1 - FINITECLOSURE -inference: nSubstStelleStart0 2 - FINITECLOSURE -inference: nSubstStelleStart0 3 - FINITECLOSURE -inference: nSubstStelleStart0 4 - FINITECLOSURE -inference: nSubstStelleStart0 5 - FINITECLOSURE -inference: nSubstStelleStart0 6 - FINITECLOSURE -Typeinference: FiniteClosure: -FC: [ -(java.lang.Integer <. java.lang.Number), -(java.lang.Double <. java.lang.Number), -(java.lang.Float <. java.lang.Number), -(java.lang.Long <. java.lang.Number), -(Test <. java.lang.Object), -(Klasse1 <. java.lang.Object), -(Klasse2 <. java.lang.Object)] -TTO: [ -(java.lang.Integer <. java.lang.Number), -(java.lang.Double <. java.lang.Number), -(java.lang.Float <. java.lang.Number), -(java.lang.Long <. java.lang.Number), -(Test <. java.lang.Object), -(Klasse1 <. java.lang.Object), -(Klasse2 <. java.lang.Object)] -CLASSVEC: [Fun0, Fun1, Fun2, Fun3, Fun4, Fun5, Test, Klasse1, Klasse2, java.lang.Number, java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long, Test, Klasse1, Klasse2] - TYPEINFERENCE -inference: Rufe TRStart()... - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.Class: Erstellte FiniteClosure: FC: [ -(java.lang.Integer <. java.lang.Number), -(java.lang.Double <. java.lang.Number), -(java.lang.Float <. java.lang.Number), -(java.lang.Long <. java.lang.Number), -(Test <. java.lang.Object), -(Klasse1 <. java.lang.Object), -(Klasse2 <. java.lang.Object)] -TTO: [ -(java.lang.Integer <. java.lang.Number), -(java.lang.Double <. java.lang.Number), -(java.lang.Float <. java.lang.Number), -(java.lang.Long <. java.lang.Number), -(Test <. java.lang.Object), -(Klasse1 <. java.lang.Object), -(Klasse2 <. java.lang.Object)] -CLASSVEC: [Fun0, Fun1, Fun2, Fun3, Fun4, Fun5, Test, Klasse1, Klasse2, java.lang.Number, java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long, Test, Klasse1, Klasse2] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.Class: Erstellte Assumptions: this: Test -Method Assumptions: -[MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: void [methode](), MethodAssumption: void [methode](), MethodAssumption: void [methode](), MethodAssumption: java.lang.Integer* [numberOfLeadingZeros](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [numberOfTrailingZeros](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [bitCount](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [min](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [max](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [reverseBytes](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Integer java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Integer [valueOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [valueOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compare](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [decode](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [reverse](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [sum](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [parseInt](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [parseInt](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [toUnsignedLong](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [divideUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [getInteger](java.lang.String java.lang.String,java.lang.Integer java.lang.Integer), MethodAssumption: java.lang.Integer [getInteger](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [highestOneBit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lowestOneBit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [parseUnsignedInt](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [parseUnsignedInt](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [remainderUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [rotateLeft](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [rotateRight](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [signum](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toBinaryString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toOctalString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [compareTo](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [indexOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [indexOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [indexOf](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [indexOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [valueOf](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.String [valueOf](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.String [valueOf]([C [C), MethodAssumption: java.lang.String [valueOf]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [valueOf](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [valueOf](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Character* [charAt](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareToIgnoreCase](java.lang.String java.lang.String), MethodAssumption: java.lang.String [concat](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [contains](java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.Boolean* [contentEquals](java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.Boolean* [contentEquals](java.lang.StringBuffer java.lang.StringBuffer), MethodAssumption: java.lang.String [copyValueOf]([C [C), MethodAssumption: java.lang.String [copyValueOf]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [endsWith](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equalsIgnoreCase](java.lang.String java.lang.String), MethodAssumption: java.lang.String [format](java.util.Locale java.util.Locale,java.lang.String java.lang.String,[Ljava.lang.Object; [Ljava.lang.Object;), MethodAssumption: java.lang.String [format](java.lang.String java.lang.String,[Ljava.lang.Object; [Ljava.lang.Object;), MethodAssumption: void [getBytes](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,[B [B,java.lang.Integer* java.lang.Integer), MethodAssumption: [B [getBytes](java.nio.charset.Charset java.nio.charset.Charset), MethodAssumption: [B [getBytes](java.lang.String java.lang.String), MethodAssumption: [B [getBytes](), MethodAssumption: void [getChars](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,[C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [intern](), MethodAssumption: java.lang.Boolean* [isEmpty](), MethodAssumption: java.lang.String [join](java.lang.CharSequence java.lang.CharSequence,[Ljava.lang.CharSequence; [Ljava.lang.CharSequence;), MethodAssumption: java.lang.String [join](java.lang.CharSequence java.lang.CharSequence,java.lang.Iterable java.lang.Iterable), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [length](), MethodAssumption: java.lang.Boolean* [matches](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [offsetByCodePoints](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [regionMatches](java.lang.Integer* java.lang.Integer,java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [regionMatches](java.lang.Boolean* java.lang.Boolean,java.lang.Integer* java.lang.Integer,java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [replace](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [replace](java.lang.CharSequence java.lang.CharSequence,java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.String [replaceAll](java.lang.String java.lang.String,java.lang.String java.lang.String), MethodAssumption: java.lang.String [replaceFirst](java.lang.String java.lang.String,java.lang.String java.lang.String), MethodAssumption: [Ljava.lang.String; [split](java.lang.String java.lang.String), MethodAssumption: [Ljava.lang.String; [split](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [startsWith](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [startsWith](java.lang.String java.lang.String), MethodAssumption: java.lang.CharSequence [subSequence](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [substring](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [substring](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: [C [toCharArray](), MethodAssumption: java.lang.String [toLowerCase](java.util.Locale java.util.Locale), MethodAssumption: java.lang.String [toLowerCase](), MethodAssumption: java.lang.String [toUpperCase](), MethodAssumption: java.lang.String [toUpperCase](java.util.Locale java.util.Locale), MethodAssumption: java.lang.String [trim](), MethodAssumption: java.lang.Boolean* [isJavaIdentifierStart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaIdentifierStart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isJavaIdentifierPart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaIdentifierPart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [reverseBytes](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Character java.lang.Character), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Character* [charValue](), MethodAssumption: java.lang.Character [valueOf](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [getName](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [charCount](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt]([C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore]([C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compare](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [highSurrogate](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isBmpCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isValidCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [lowSurrogate](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [offsetByCodePoints](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [offsetByCodePoints]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toChars](java.lang.Integer* java.lang.Integer,[C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: [C [toChars](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [toLowerCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [toLowerCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toUpperCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [toUpperCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getType](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getType](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isHighSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLowSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [digit](java.lang.Character* java.lang.Character,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [digit](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [forDigit](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: byte [getDirectionality](java.lang.Integer* java.lang.Integer), MethodAssumption: byte [getDirectionality](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getNumericValue](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [getNumericValue](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isAlphabetic](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDefined](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isDefined](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDigit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isISOControl](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isISOControl](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isIdentifierIgnorable](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isIdentifierIgnorable](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isIdeographic](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isJavaLetter](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaLetterOrDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetter](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLetter](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetterOrDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetterOrDigit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLowerCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLowerCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isMirrored](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isMirrored](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSpace](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSpaceChar](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isSpaceChar](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSupplementaryCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isSurrogatePair](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isTitleCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isTitleCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierPart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierPart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierStart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierStart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUpperCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUpperCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isWhitespace](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isWhitespace](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toCodePoint](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [toTitleCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [toTitleCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Boolean java.lang.Boolean), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Boolean* [getBoolean](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [booleanValue](), MethodAssumption: java.lang.Boolean [valueOf](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [compare](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalAnd](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalOr](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalXor](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [parseBoolean](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [min](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [max](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Long* [doubleToRawLongBits](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Long* [doubleToLongBits](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [longBitsToDouble](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Double java.lang.Double), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Double [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Double [valueOf](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.String [toHexString](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Integer* [compare](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isNaN](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isNaN](), MethodAssumption: java.lang.Boolean* [isFinite](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isInfinite](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isInfinite](), MethodAssumption: java.lang.Double* [sum](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [parseDouble](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [min](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [max](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [floatToRawIntBits](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [floatToIntBits](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [intBitsToFloat](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Float java.lang.Float), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Float [valueOf](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [compare](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isNaN](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isNaN](), MethodAssumption: java.lang.Boolean* [isFinite](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isInfinite](), MethodAssumption: java.lang.Boolean* [isInfinite](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [parseFloat](java.lang.String java.lang.String), MethodAssumption: java.lang.Float* [sum](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [numberOfLeadingZeros](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [numberOfTrailingZeros](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [bitCount](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [min](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [max](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [reverseBytes](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Long java.lang.Long), MethodAssumption: java.lang.Long [getLong](java.lang.String java.lang.String,java.lang.Long java.lang.Long), MethodAssumption: java.lang.Long [getLong](java.lang.String java.lang.String), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Long [valueOf](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long [valueOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compare](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long [decode](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [reverse](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [sum](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [divideUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [highestOneBit](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [lowestOneBit](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [parseLong](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [parseLong](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [remainderUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [rotateLeft](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [rotateRight](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [signum](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toBinaryString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toOctalString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [parseUnsignedLong](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [parseUnsignedLong](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: void [wait](), MethodAssumption: void [wait](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: void [wait](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Class [getClass](), MethodAssumption: void [notify](), MethodAssumption: void [notifyAll]()] -FieldVar Assumptions: -[FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Class TYPE, FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Class TYPE, FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, FieldAssumption: int BYTES] -LocalVar Assumptions: -[] -Parameter Assumptions: -[] -Generic Var Assumptions: -[R::GTV R, R::GTV R, T1::GTV T1, R::GTV R, T1::GTV T1, T2::GTV T2, R::GTV R, T1::GTV T1, T2::GTV T2, T3::GTV T3, R::GTV R, T1::GTV T1, T2::GTV T2, T3::GTV T3, T4::GTV T4, R::GTV R, T1::GTV T1, T2::GTV T2, T3::GTV T3, T4::GTV T4, T5::GTV T5] -Konstruktor Assumptions: -[ConstructorAssumption: Test(), ConstructorAssumption: Klasse1(), ConstructorAssumption: Klasse2(), ConstructorAssumption: java.lang.Integer(int p0), ConstructorAssumption: java.lang.Integer(java.lang.String p0), ConstructorAssumption: java.lang.String([B p0,int p1,int p2), ConstructorAssumption: java.lang.String([B p0,java.nio.charset.Charset p1), ConstructorAssumption: java.lang.String([B p0,java.lang.String p1), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,java.nio.charset.Charset p3), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,java.lang.String p3), ConstructorAssumption: java.lang.String(java.lang.StringBuilder p0), ConstructorAssumption: java.lang.String(java.lang.StringBuffer p0), ConstructorAssumption: java.lang.String([B p0), ConstructorAssumption: java.lang.String([I p0,int p1,int p2), ConstructorAssumption: java.lang.String(), ConstructorAssumption: java.lang.String([C p0), ConstructorAssumption: java.lang.String(java.lang.String p0), ConstructorAssumption: java.lang.String([C p0,int p1,int p2), ConstructorAssumption: java.lang.String([B p0,int p1), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,int p3), ConstructorAssumption: java.lang.Character(char p0), ConstructorAssumption: java.lang.Boolean(boolean p0), ConstructorAssumption: java.lang.Boolean(java.lang.String p0), ConstructorAssumption: java.lang.Double(double p0), ConstructorAssumption: java.lang.Double(java.lang.String p0), ConstructorAssumption: java.lang.Float(java.lang.String p0), ConstructorAssumption: java.lang.Float(double p0), ConstructorAssumption: java.lang.Float(float p0), ConstructorAssumption: java.lang.Long(long p0), ConstructorAssumption: java.lang.Long(java.lang.String p0), ConstructorAssumption: java.lang.Object()] -Class Assumptions: -[Fun0, Fun1, Fun2, Fun3, Fun4, Fun5, Test, Klasse1, Klasse2, java.lang.Object, java.lang.Number, java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long, java.lang.Object] - - TYPEINFERENCE -Typeinference: Prozessing statement: TPH B [var] - TYPEINFERENCE -Typeinference: Prozessing statement: null (var.methode( [ ])) - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ABI für SyntaxTreeNode: null (var.methode( [ ])) - TYPEINFERENCE -Typeinference: Prozessing statement: null (var.methode( [ ])) - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.type.TypePlaceholder: Erstelle TPH ABJ für SyntaxTreeNode: null (var.methode( [ ])) - TYPEINFERENCE -Typeinference: Prozessing statement: void (var: TPH B.methode( [ ])) - TYPEINFERENCE -Typeinference: Prozessing statement: void (var: TPH B.methode( [ ])) - TYPEINFERENCE -Typeinference: Prozessing statement: TPH B [var] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.Class: Erstellte Constraints: [de.dhbwstuttgart.typeinference.SingleConstraint@7106e68e -[[ -(void <. TPH ABI), -(TPH B <. Test), ] | [ -(void <. TPH ABI), -(TPH B <. Klasse1), ] | [ -(void <. TPH ABI), -(TPH B <. Klasse2), ] | ] -[[ -(void <. TPH ABJ), -(TPH B <. Test), ] | [ -(void <. TPH ABJ), -(TPH B <. Klasse1), ] | [ -(void <. TPH ABJ), -(TPH B <. Klasse2), ] | ] -de.dhbwstuttgart.typeinference.SingleConstraint@7eda2dbb -de.dhbwstuttgart.typeinference.SingleConstraint@6576fe71 -] - TYPEINFERENCE -inference: Rufe TRStart()... - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.Class: Erstellte FiniteClosure: FC: [ -(java.lang.Integer <. java.lang.Number), -(java.lang.Double <. java.lang.Number), -(java.lang.Float <. java.lang.Number), -(java.lang.Long <. java.lang.Number), -(Test <. java.lang.Object), -(Klasse1 <. java.lang.Object), -(Klasse2 <. java.lang.Object)] -TTO: [ -(java.lang.Integer <. java.lang.Number), -(java.lang.Double <. java.lang.Number), -(java.lang.Float <. java.lang.Number), -(java.lang.Long <. java.lang.Number), -(Test <. java.lang.Object), -(Klasse1 <. java.lang.Object), -(Klasse2 <. java.lang.Object)] -CLASSVEC: [Fun0, Fun1, Fun2, Fun3, Fun4, Fun5, Test, Klasse1, Klasse2, java.lang.Number, java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long, Test, Klasse1, Klasse2] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.Class: Erstellte Assumptions: this: Klasse1 -Method Assumptions: -[MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: void [methode](), MethodAssumption: void [methode](), MethodAssumption: void [methode](), MethodAssumption: java.lang.Integer* [numberOfLeadingZeros](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [numberOfTrailingZeros](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [bitCount](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [min](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [max](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [reverseBytes](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Integer java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Integer [valueOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [valueOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compare](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [decode](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [reverse](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [sum](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [parseInt](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [parseInt](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [toUnsignedLong](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [divideUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [getInteger](java.lang.String java.lang.String,java.lang.Integer java.lang.Integer), MethodAssumption: java.lang.Integer [getInteger](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [highestOneBit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lowestOneBit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [parseUnsignedInt](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [parseUnsignedInt](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [remainderUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [rotateLeft](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [rotateRight](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [signum](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toBinaryString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toOctalString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [compareTo](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [indexOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [indexOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [indexOf](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [indexOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [valueOf](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.String [valueOf](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.String [valueOf]([C [C), MethodAssumption: java.lang.String [valueOf]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [valueOf](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [valueOf](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Character* [charAt](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareToIgnoreCase](java.lang.String java.lang.String), MethodAssumption: java.lang.String [concat](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [contains](java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.Boolean* [contentEquals](java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.Boolean* [contentEquals](java.lang.StringBuffer java.lang.StringBuffer), MethodAssumption: java.lang.String [copyValueOf]([C [C), MethodAssumption: java.lang.String [copyValueOf]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [endsWith](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equalsIgnoreCase](java.lang.String java.lang.String), MethodAssumption: java.lang.String [format](java.util.Locale java.util.Locale,java.lang.String java.lang.String,[Ljava.lang.Object; [Ljava.lang.Object;), MethodAssumption: java.lang.String [format](java.lang.String java.lang.String,[Ljava.lang.Object; [Ljava.lang.Object;), MethodAssumption: void [getBytes](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,[B [B,java.lang.Integer* java.lang.Integer), MethodAssumption: [B [getBytes](java.nio.charset.Charset java.nio.charset.Charset), MethodAssumption: [B [getBytes](java.lang.String java.lang.String), MethodAssumption: [B [getBytes](), MethodAssumption: void [getChars](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,[C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [intern](), MethodAssumption: java.lang.Boolean* [isEmpty](), MethodAssumption: java.lang.String [join](java.lang.CharSequence java.lang.CharSequence,[Ljava.lang.CharSequence; [Ljava.lang.CharSequence;), MethodAssumption: java.lang.String [join](java.lang.CharSequence java.lang.CharSequence,java.lang.Iterable java.lang.Iterable), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [length](), MethodAssumption: java.lang.Boolean* [matches](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [offsetByCodePoints](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [regionMatches](java.lang.Integer* java.lang.Integer,java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [regionMatches](java.lang.Boolean* java.lang.Boolean,java.lang.Integer* java.lang.Integer,java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [replace](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [replace](java.lang.CharSequence java.lang.CharSequence,java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.String [replaceAll](java.lang.String java.lang.String,java.lang.String java.lang.String), MethodAssumption: java.lang.String [replaceFirst](java.lang.String java.lang.String,java.lang.String java.lang.String), MethodAssumption: [Ljava.lang.String; [split](java.lang.String java.lang.String), MethodAssumption: [Ljava.lang.String; [split](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [startsWith](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [startsWith](java.lang.String java.lang.String), MethodAssumption: java.lang.CharSequence [subSequence](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [substring](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [substring](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: [C [toCharArray](), MethodAssumption: java.lang.String [toLowerCase](java.util.Locale java.util.Locale), MethodAssumption: java.lang.String [toLowerCase](), MethodAssumption: java.lang.String [toUpperCase](), MethodAssumption: java.lang.String [toUpperCase](java.util.Locale java.util.Locale), MethodAssumption: java.lang.String [trim](), MethodAssumption: java.lang.Boolean* [isJavaIdentifierStart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaIdentifierStart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isJavaIdentifierPart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaIdentifierPart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [reverseBytes](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Character java.lang.Character), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Character* [charValue](), MethodAssumption: java.lang.Character [valueOf](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [getName](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [charCount](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt]([C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore]([C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compare](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [highSurrogate](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isBmpCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isValidCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [lowSurrogate](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [offsetByCodePoints](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [offsetByCodePoints]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toChars](java.lang.Integer* java.lang.Integer,[C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: [C [toChars](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [toLowerCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [toLowerCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toUpperCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [toUpperCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getType](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getType](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isHighSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLowSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [digit](java.lang.Character* java.lang.Character,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [digit](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [forDigit](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: byte [getDirectionality](java.lang.Integer* java.lang.Integer), MethodAssumption: byte [getDirectionality](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getNumericValue](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [getNumericValue](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isAlphabetic](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDefined](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isDefined](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDigit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isISOControl](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isISOControl](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isIdentifierIgnorable](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isIdentifierIgnorable](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isIdeographic](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isJavaLetter](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaLetterOrDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetter](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLetter](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetterOrDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetterOrDigit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLowerCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLowerCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isMirrored](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isMirrored](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSpace](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSpaceChar](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isSpaceChar](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSupplementaryCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isSurrogatePair](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isTitleCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isTitleCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierPart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierPart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierStart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierStart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUpperCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUpperCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isWhitespace](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isWhitespace](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toCodePoint](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [toTitleCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [toTitleCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Boolean java.lang.Boolean), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Boolean* [getBoolean](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [booleanValue](), MethodAssumption: java.lang.Boolean [valueOf](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [compare](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalAnd](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalOr](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalXor](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [parseBoolean](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [min](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [max](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Long* [doubleToRawLongBits](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Long* [doubleToLongBits](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [longBitsToDouble](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Double java.lang.Double), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Double [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Double [valueOf](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.String [toHexString](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Integer* [compare](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isNaN](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isNaN](), MethodAssumption: java.lang.Boolean* [isFinite](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isInfinite](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isInfinite](), MethodAssumption: java.lang.Double* [sum](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [parseDouble](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [min](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [max](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [floatToRawIntBits](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [floatToIntBits](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [intBitsToFloat](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Float java.lang.Float), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Float [valueOf](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [compare](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isNaN](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isNaN](), MethodAssumption: java.lang.Boolean* [isFinite](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isInfinite](), MethodAssumption: java.lang.Boolean* [isInfinite](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [parseFloat](java.lang.String java.lang.String), MethodAssumption: java.lang.Float* [sum](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [numberOfLeadingZeros](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [numberOfTrailingZeros](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [bitCount](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [min](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [max](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [reverseBytes](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Long java.lang.Long), MethodAssumption: java.lang.Long [getLong](java.lang.String java.lang.String,java.lang.Long java.lang.Long), MethodAssumption: java.lang.Long [getLong](java.lang.String java.lang.String), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Long [valueOf](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long [valueOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compare](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long [decode](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [reverse](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [sum](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [divideUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [highestOneBit](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [lowestOneBit](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [parseLong](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [parseLong](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [remainderUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [rotateLeft](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [rotateRight](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [signum](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toBinaryString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toOctalString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [parseUnsignedLong](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [parseUnsignedLong](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: void [wait](), MethodAssumption: void [wait](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: void [wait](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Class [getClass](), MethodAssumption: void [notify](), MethodAssumption: void [notifyAll]()] -FieldVar Assumptions: -[FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Class TYPE, FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Class TYPE, FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, FieldAssumption: int BYTES] -LocalVar Assumptions: -[] -Parameter Assumptions: -[] -Generic Var Assumptions: -[R::GTV R, R::GTV R, T1::GTV T1, R::GTV R, T1::GTV T1, T2::GTV T2, R::GTV R, T1::GTV T1, T2::GTV T2, T3::GTV T3, R::GTV R, T1::GTV T1, T2::GTV T2, T3::GTV T3, T4::GTV T4, R::GTV R, T1::GTV T1, T2::GTV T2, T3::GTV T3, T4::GTV T4, T5::GTV T5] -Konstruktor Assumptions: -[ConstructorAssumption: Test(), ConstructorAssumption: Klasse1(), ConstructorAssumption: Klasse2(), ConstructorAssumption: java.lang.Integer(int p0), ConstructorAssumption: java.lang.Integer(java.lang.String p0), ConstructorAssumption: java.lang.String([B p0,int p1,int p2), ConstructorAssumption: java.lang.String([B p0,java.nio.charset.Charset p1), ConstructorAssumption: java.lang.String([B p0,java.lang.String p1), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,java.nio.charset.Charset p3), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,java.lang.String p3), ConstructorAssumption: java.lang.String(java.lang.StringBuilder p0), ConstructorAssumption: java.lang.String(java.lang.StringBuffer p0), ConstructorAssumption: java.lang.String([B p0), ConstructorAssumption: java.lang.String([I p0,int p1,int p2), ConstructorAssumption: java.lang.String(), ConstructorAssumption: java.lang.String([C p0), ConstructorAssumption: java.lang.String(java.lang.String p0), ConstructorAssumption: java.lang.String([C p0,int p1,int p2), ConstructorAssumption: java.lang.String([B p0,int p1), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,int p3), ConstructorAssumption: java.lang.Character(char p0), ConstructorAssumption: java.lang.Boolean(boolean p0), ConstructorAssumption: java.lang.Boolean(java.lang.String p0), ConstructorAssumption: java.lang.Double(double p0), ConstructorAssumption: java.lang.Double(java.lang.String p0), ConstructorAssumption: java.lang.Float(java.lang.String p0), ConstructorAssumption: java.lang.Float(double p0), ConstructorAssumption: java.lang.Float(float p0), ConstructorAssumption: java.lang.Long(long p0), ConstructorAssumption: java.lang.Long(java.lang.String p0), ConstructorAssumption: java.lang.Object()] -Class Assumptions: -[Fun0, Fun1, Fun2, Fun3, Fun4, Fun5, Test, Klasse1, Klasse2, java.lang.Object, java.lang.Number, java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long, java.lang.Object] - - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.Class: Erstellte Constraints: [de.dhbwstuttgart.typeinference.SingleConstraint@76fb509a -de.dhbwstuttgart.typeinference.SingleConstraint@300ffa5d -] - TYPEINFERENCE -inference: Rufe TRStart()... - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.Class: Erstellte FiniteClosure: FC: [ -(java.lang.Integer <. java.lang.Number), -(java.lang.Double <. java.lang.Number), -(java.lang.Float <. java.lang.Number), -(java.lang.Long <. java.lang.Number), -(Test <. java.lang.Object), -(Klasse1 <. java.lang.Object), -(Klasse2 <. java.lang.Object)] -TTO: [ -(java.lang.Integer <. java.lang.Number), -(java.lang.Double <. java.lang.Number), -(java.lang.Float <. java.lang.Number), -(java.lang.Long <. java.lang.Number), -(Test <. java.lang.Object), -(Klasse1 <. java.lang.Object), -(Klasse2 <. java.lang.Object)] -CLASSVEC: [Fun0, Fun1, Fun2, Fun3, Fun4, Fun5, Test, Klasse1, Klasse2, java.lang.Number, java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long, Test, Klasse1, Klasse2] - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.Class: Erstellte Assumptions: this: Klasse2 -Method Assumptions: -[MethodAssumption: GTV R [apply](), MethodAssumption: GTV R [apply](GTV T1 T1), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4), MethodAssumption: GTV R [apply](GTV T1 T1,GTV T2 T2,GTV T3 T3,GTV T4 T4,GTV T5 T5), MethodAssumption: void [methode](), MethodAssumption: void [methode](), MethodAssumption: void [methode](), MethodAssumption: java.lang.Integer* [numberOfLeadingZeros](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [numberOfTrailingZeros](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [bitCount](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [min](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [max](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [reverseBytes](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Integer java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Integer [valueOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [valueOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compare](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [decode](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [reverse](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [sum](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [parseInt](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [parseInt](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [toUnsignedLong](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [divideUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer [getInteger](java.lang.String java.lang.String,java.lang.Integer java.lang.Integer), MethodAssumption: java.lang.Integer [getInteger](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [highestOneBit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lowestOneBit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [parseUnsignedInt](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [parseUnsignedInt](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [remainderUnsigned](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [rotateLeft](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [rotateRight](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [signum](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toBinaryString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toOctalString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [compareTo](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [indexOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [indexOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [indexOf](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [indexOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [valueOf](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.String [valueOf](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.String [valueOf]([C [C), MethodAssumption: java.lang.String [valueOf]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [valueOf](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [valueOf](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [valueOf](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Character* [charAt](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareToIgnoreCase](java.lang.String java.lang.String), MethodAssumption: java.lang.String [concat](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [contains](java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.Boolean* [contentEquals](java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.Boolean* [contentEquals](java.lang.StringBuffer java.lang.StringBuffer), MethodAssumption: java.lang.String [copyValueOf]([C [C), MethodAssumption: java.lang.String [copyValueOf]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [endsWith](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equalsIgnoreCase](java.lang.String java.lang.String), MethodAssumption: java.lang.String [format](java.util.Locale java.util.Locale,java.lang.String java.lang.String,[Ljava.lang.Object; [Ljava.lang.Object;), MethodAssumption: java.lang.String [format](java.lang.String java.lang.String,[Ljava.lang.Object; [Ljava.lang.Object;), MethodAssumption: void [getBytes](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,[B [B,java.lang.Integer* java.lang.Integer), MethodAssumption: [B [getBytes](java.nio.charset.Charset java.nio.charset.Charset), MethodAssumption: [B [getBytes](java.lang.String java.lang.String), MethodAssumption: [B [getBytes](), MethodAssumption: void [getChars](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,[C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [intern](), MethodAssumption: java.lang.Boolean* [isEmpty](), MethodAssumption: java.lang.String [join](java.lang.CharSequence java.lang.CharSequence,[Ljava.lang.CharSequence; [Ljava.lang.CharSequence;), MethodAssumption: java.lang.String [join](java.lang.CharSequence java.lang.CharSequence,java.lang.Iterable java.lang.Iterable), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [lastIndexOf](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [length](), MethodAssumption: java.lang.Boolean* [matches](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [offsetByCodePoints](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [regionMatches](java.lang.Integer* java.lang.Integer,java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [regionMatches](java.lang.Boolean* java.lang.Boolean,java.lang.Integer* java.lang.Integer,java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [replace](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [replace](java.lang.CharSequence java.lang.CharSequence,java.lang.CharSequence java.lang.CharSequence), MethodAssumption: java.lang.String [replaceAll](java.lang.String java.lang.String,java.lang.String java.lang.String), MethodAssumption: java.lang.String [replaceFirst](java.lang.String java.lang.String,java.lang.String java.lang.String), MethodAssumption: [Ljava.lang.String; [split](java.lang.String java.lang.String), MethodAssumption: [Ljava.lang.String; [split](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [startsWith](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [startsWith](java.lang.String java.lang.String), MethodAssumption: java.lang.CharSequence [subSequence](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [substring](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [substring](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: [C [toCharArray](), MethodAssumption: java.lang.String [toLowerCase](java.util.Locale java.util.Locale), MethodAssumption: java.lang.String [toLowerCase](), MethodAssumption: java.lang.String [toUpperCase](), MethodAssumption: java.lang.String [toUpperCase](java.util.Locale java.util.Locale), MethodAssumption: java.lang.String [trim](), MethodAssumption: java.lang.Boolean* [isJavaIdentifierStart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaIdentifierStart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isJavaIdentifierPart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaIdentifierPart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [reverseBytes](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Character java.lang.Character), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Character* [charValue](), MethodAssumption: java.lang.Character [valueOf](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.String [getName](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [charCount](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointAt]([C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointBefore]([C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [codePointCount]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compare](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [highSurrogate](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isBmpCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isValidCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [lowSurrogate](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [offsetByCodePoints](java.lang.CharSequence java.lang.CharSequence,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [offsetByCodePoints]([C [C,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toChars](java.lang.Integer* java.lang.Integer,[C [C,java.lang.Integer* java.lang.Integer), MethodAssumption: [C [toChars](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [toLowerCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [toLowerCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toUpperCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [toUpperCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getType](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getType](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isHighSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLowSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSurrogate](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [digit](java.lang.Character* java.lang.Character,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [digit](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Character* [forDigit](java.lang.Integer* java.lang.Integer,java.lang.Integer* java.lang.Integer), MethodAssumption: byte [getDirectionality](java.lang.Integer* java.lang.Integer), MethodAssumption: byte [getDirectionality](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [getNumericValue](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [getNumericValue](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isAlphabetic](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDefined](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isDefined](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDigit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isISOControl](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isISOControl](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isIdentifierIgnorable](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isIdentifierIgnorable](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isIdeographic](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isJavaLetter](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isJavaLetterOrDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetter](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLetter](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetterOrDigit](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isLetterOrDigit](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLowerCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isLowerCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isMirrored](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isMirrored](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSpace](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSpaceChar](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isSpaceChar](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isSupplementaryCodePoint](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isSurrogatePair](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isTitleCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isTitleCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierPart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierPart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierStart](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isUnicodeIdentifierStart](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUpperCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isUpperCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [isWhitespace](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Boolean* [isWhitespace](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [toCodePoint](java.lang.Character* java.lang.Character,java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Character* [toTitleCase](java.lang.Character* java.lang.Character), MethodAssumption: java.lang.Integer* [toTitleCase](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Boolean java.lang.Boolean), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Boolean* [getBoolean](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [booleanValue](), MethodAssumption: java.lang.Boolean [valueOf](java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Integer* [compare](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalAnd](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalOr](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [logicalXor](java.lang.Boolean* java.lang.Boolean,java.lang.Boolean* java.lang.Boolean), MethodAssumption: java.lang.Boolean* [parseBoolean](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [min](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [max](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Long* [doubleToRawLongBits](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Long* [doubleToLongBits](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [longBitsToDouble](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Double java.lang.Double), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Double [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.Double [valueOf](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.String [toHexString](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Integer* [compare](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isNaN](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isNaN](), MethodAssumption: java.lang.Boolean* [isFinite](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isInfinite](java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Boolean* [isInfinite](), MethodAssumption: java.lang.Double* [sum](java.lang.Double* java.lang.Double,java.lang.Double* java.lang.Double), MethodAssumption: java.lang.Double* [parseDouble](java.lang.String java.lang.String), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [min](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [max](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [floatToRawIntBits](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [floatToIntBits](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [intBitsToFloat](java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Float java.lang.Float), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Float [valueOf](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [compare](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isNaN](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isNaN](), MethodAssumption: java.lang.Boolean* [isFinite](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Boolean* [isInfinite](), MethodAssumption: java.lang.Boolean* [isInfinite](java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Float* [parseFloat](java.lang.String java.lang.String), MethodAssumption: java.lang.Float* [sum](java.lang.Float* java.lang.Float,java.lang.Float* java.lang.Float), MethodAssumption: java.lang.Integer* [numberOfLeadingZeros](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [numberOfTrailingZeros](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [bitCount](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.String [toString](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.String [toString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Integer* [hashCode](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [min](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [max](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [reverseBytes](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Object java.lang.Object), MethodAssumption: java.lang.Integer* [compareTo](java.lang.Long java.lang.Long), MethodAssumption: java.lang.Long [getLong](java.lang.String java.lang.String,java.lang.Long java.lang.Long), MethodAssumption: java.lang.Long [getLong](java.lang.String java.lang.String), MethodAssumption: byte [byteValue](), MethodAssumption: short [shortValue](), MethodAssumption: java.lang.Integer* [intValue](), MethodAssumption: java.lang.Long* [longValue](), MethodAssumption: java.lang.Float* [floatValue](), MethodAssumption: java.lang.Double* [doubleValue](), MethodAssumption: java.lang.Long [valueOf](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long [valueOf](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long [valueOf](java.lang.String java.lang.String), MethodAssumption: java.lang.String [toHexString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compare](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long [decode](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [reverse](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [sum](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Integer* [compareUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [divideUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [highestOneBit](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [lowestOneBit](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [parseLong](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [parseLong](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [remainderUnsigned](java.lang.Long* java.lang.Long,java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Long* [rotateLeft](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [rotateRight](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Integer* [signum](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toBinaryString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toOctalString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.String [toUnsignedString](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: java.lang.Long* [parseUnsignedLong](java.lang.String java.lang.String), MethodAssumption: java.lang.Long* [parseUnsignedLong](java.lang.String java.lang.String,java.lang.Integer* java.lang.Integer), MethodAssumption: void [wait](), MethodAssumption: void [wait](java.lang.Long* java.lang.Long,java.lang.Integer* java.lang.Integer), MethodAssumption: void [wait](java.lang.Long* java.lang.Long), MethodAssumption: java.lang.Boolean* [equals](java.lang.Object java.lang.Object), MethodAssumption: java.lang.String [toString](), MethodAssumption: java.lang.Integer* [hashCode](), MethodAssumption: java.lang.Class [getClass](), MethodAssumption: void [notify](), MethodAssumption: void [notifyAll]()] -FieldVar Assumptions: -[FieldAssumption: int MIN_VALUE, FieldAssumption: int MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.util.Comparator CASE_INSENSITIVE_ORDER, FieldAssumption: int MIN_RADIX, FieldAssumption: int MAX_RADIX, FieldAssumption: char MIN_VALUE, FieldAssumption: char MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: byte UNASSIGNED, FieldAssumption: byte UPPERCASE_LETTER, FieldAssumption: byte LOWERCASE_LETTER, FieldAssumption: byte TITLECASE_LETTER, FieldAssumption: byte MODIFIER_LETTER, FieldAssumption: byte OTHER_LETTER, FieldAssumption: byte NON_SPACING_MARK, FieldAssumption: byte ENCLOSING_MARK, FieldAssumption: byte COMBINING_SPACING_MARK, FieldAssumption: byte DECIMAL_DIGIT_NUMBER, FieldAssumption: byte LETTER_NUMBER, FieldAssumption: byte OTHER_NUMBER, FieldAssumption: byte SPACE_SEPARATOR, FieldAssumption: byte LINE_SEPARATOR, FieldAssumption: byte PARAGRAPH_SEPARATOR, FieldAssumption: byte CONTROL, FieldAssumption: byte FORMAT, FieldAssumption: byte PRIVATE_USE, FieldAssumption: byte SURROGATE, FieldAssumption: byte DASH_PUNCTUATION, FieldAssumption: byte START_PUNCTUATION, FieldAssumption: byte END_PUNCTUATION, FieldAssumption: byte CONNECTOR_PUNCTUATION, FieldAssumption: byte OTHER_PUNCTUATION, FieldAssumption: byte MATH_SYMBOL, FieldAssumption: byte CURRENCY_SYMBOL, FieldAssumption: byte MODIFIER_SYMBOL, FieldAssumption: byte OTHER_SYMBOL, FieldAssumption: byte INITIAL_QUOTE_PUNCTUATION, FieldAssumption: byte FINAL_QUOTE_PUNCTUATION, FieldAssumption: byte DIRECTIONALITY_UNDEFINED, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, FieldAssumption: byte DIRECTIONALITY_ARABIC_NUMBER, FieldAssumption: byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_NONSPACING_MARK, FieldAssumption: byte DIRECTIONALITY_BOUNDARY_NEUTRAL, FieldAssumption: byte DIRECTIONALITY_PARAGRAPH_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_SEGMENT_SEPARATOR, FieldAssumption: byte DIRECTIONALITY_WHITESPACE, FieldAssumption: byte DIRECTIONALITY_OTHER_NEUTRALS, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, FieldAssumption: byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE, FieldAssumption: byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, FieldAssumption: char MIN_HIGH_SURROGATE, FieldAssumption: char MAX_HIGH_SURROGATE, FieldAssumption: char MIN_LOW_SURROGATE, FieldAssumption: char MAX_LOW_SURROGATE, FieldAssumption: char MIN_SURROGATE, FieldAssumption: char MAX_SURROGATE, FieldAssumption: int MIN_SUPPLEMENTARY_CODE_POINT, FieldAssumption: int MIN_CODE_POINT, FieldAssumption: int MAX_CODE_POINT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Boolean TRUE, FieldAssumption: java.lang.Boolean FALSE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: double POSITIVE_INFINITY, FieldAssumption: double NEGATIVE_INFINITY, FieldAssumption: double NaN, FieldAssumption: double MAX_VALUE, FieldAssumption: double MIN_NORMAL, FieldAssumption: double MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Class TYPE, FieldAssumption: float POSITIVE_INFINITY, FieldAssumption: float NEGATIVE_INFINITY, FieldAssumption: float NaN, FieldAssumption: float MAX_VALUE, FieldAssumption: float MIN_NORMAL, FieldAssumption: float MIN_VALUE, FieldAssumption: int MAX_EXPONENT, FieldAssumption: int MIN_EXPONENT, FieldAssumption: int SIZE, FieldAssumption: int BYTES, FieldAssumption: java.lang.Class TYPE, FieldAssumption: long MIN_VALUE, FieldAssumption: long MAX_VALUE, FieldAssumption: java.lang.Class TYPE, FieldAssumption: int SIZE, FieldAssumption: int BYTES] -LocalVar Assumptions: -[] -Parameter Assumptions: -[] -Generic Var Assumptions: -[R::GTV R, R::GTV R, T1::GTV T1, R::GTV R, T1::GTV T1, T2::GTV T2, R::GTV R, T1::GTV T1, T2::GTV T2, T3::GTV T3, R::GTV R, T1::GTV T1, T2::GTV T2, T3::GTV T3, T4::GTV T4, R::GTV R, T1::GTV T1, T2::GTV T2, T3::GTV T3, T4::GTV T4, T5::GTV T5] -Konstruktor Assumptions: -[ConstructorAssumption: Test(), ConstructorAssumption: Klasse1(), ConstructorAssumption: Klasse2(), ConstructorAssumption: java.lang.Integer(int p0), ConstructorAssumption: java.lang.Integer(java.lang.String p0), ConstructorAssumption: java.lang.String([B p0,int p1,int p2), ConstructorAssumption: java.lang.String([B p0,java.nio.charset.Charset p1), ConstructorAssumption: java.lang.String([B p0,java.lang.String p1), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,java.nio.charset.Charset p3), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,java.lang.String p3), ConstructorAssumption: java.lang.String(java.lang.StringBuilder p0), ConstructorAssumption: java.lang.String(java.lang.StringBuffer p0), ConstructorAssumption: java.lang.String([B p0), ConstructorAssumption: java.lang.String([I p0,int p1,int p2), ConstructorAssumption: java.lang.String(), ConstructorAssumption: java.lang.String([C p0), ConstructorAssumption: java.lang.String(java.lang.String p0), ConstructorAssumption: java.lang.String([C p0,int p1,int p2), ConstructorAssumption: java.lang.String([B p0,int p1), ConstructorAssumption: java.lang.String([B p0,int p1,int p2,int p3), ConstructorAssumption: java.lang.Character(char p0), ConstructorAssumption: java.lang.Boolean(boolean p0), ConstructorAssumption: java.lang.Boolean(java.lang.String p0), ConstructorAssumption: java.lang.Double(double p0), ConstructorAssumption: java.lang.Double(java.lang.String p0), ConstructorAssumption: java.lang.Float(java.lang.String p0), ConstructorAssumption: java.lang.Float(double p0), ConstructorAssumption: java.lang.Float(float p0), ConstructorAssumption: java.lang.Long(long p0), ConstructorAssumption: java.lang.Long(java.lang.String p0), ConstructorAssumption: java.lang.Object()] -Class Assumptions: -[Fun0, Fun1, Fun2, Fun3, Fun4, Fun5, Test, Klasse1, Klasse2, java.lang.Object, java.lang.Number, java.lang.Integer, java.lang.String, java.lang.Character, java.lang.Boolean, java.lang.Double, java.lang.Float, java.lang.Long, java.lang.Object] - - TYPEINFERENCE -de.dhbwstuttgart.syntaxtree.Class: Erstellte Constraints: [de.dhbwstuttgart.typeinference.SingleConstraint@1f17ae12 -de.dhbwstuttgart.typeinference.SingleConstraint@4d405ef7 -] - TYPEINFERENCE -Typeinference: Übriggebliebene Konstraints: -[de.dhbwstuttgart.typeinference.SingleConstraint@7106e68e -[[ -(void <. TPH ABI), -(TPH B <. Test), ] | [ -(void <. TPH ABI), -(TPH B <. Klasse1), ] | [ -(void <. TPH ABI), -(TPH B <. Klasse2), ] | ] -[[ -(void <. TPH ABJ), -(TPH B <. Test), ] | [ -(void <. TPH ABJ), -(TPH B <. Klasse1), ] | [ -(void <. TPH ABJ), -(TPH B <. Klasse2), ] | ] -de.dhbwstuttgart.typeinference.SingleConstraint@7eda2dbb -de.dhbwstuttgart.typeinference.SingleConstraint@6576fe71 -de.dhbwstuttgart.typeinference.SingleConstraint@76fb509a -de.dhbwstuttgart.typeinference.SingleConstraint@300ffa5d -de.dhbwstuttgart.typeinference.SingleConstraint@1f17ae12 -de.dhbwstuttgart.typeinference.SingleConstraint@4d405ef7 -] - - TYPEINFERENCE -Typeinference: Karthesisches Produkt der Constraints: [[ -(TPH B <. TPH B), -(void <. TPH ABI), -(TPH B <. Test), -(void <. TPH ABJ), -(TPH B <. Test), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void)], [ -(TPH B <. TPH B), -(void <. TPH ABI), -(TPH B <. Test), -(void <. TPH ABJ), -(TPH B <. Klasse1), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void)], [ -(TPH B <. TPH B), -(void <. TPH ABI), -(TPH B <. Test), -(void <. TPH ABJ), -(TPH B <. Klasse2), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void)], [ -(TPH B <. TPH B), -(void <. TPH ABI), -(TPH B <. Klasse1), -(void <. TPH ABJ), -(TPH B <. Test), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void)], [ -(TPH B <. TPH B), -(void <. TPH ABI), -(TPH B <. Klasse1), -(void <. TPH ABJ), -(TPH B <. Klasse1), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void)], [ -(TPH B <. TPH B), -(void <. TPH ABI), -(TPH B <. Klasse1), -(void <. TPH ABJ), -(TPH B <. Klasse2), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void)], [ -(TPH B <. TPH B), -(void <. TPH ABI), -(TPH B <. Klasse2), -(void <. TPH ABJ), -(TPH B <. Test), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void)], [ -(TPH B <. TPH B), -(void <. TPH ABI), -(TPH B <. Klasse2), -(void <. TPH ABJ), -(TPH B <. Klasse1), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void)], [ -(TPH B <. TPH B), -(void <. TPH ABI), -(TPH B <. Klasse2), -(void <. TPH ABJ), -(TPH B <. Klasse2), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void), -(void <. void)]] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. TPH B)Smaller, - -(TPH B <. Test)Smaller, - -(TPH B <. Test)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. TPH B) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. Test)Smaller, - -(TPH B <. Test)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Test), ] | [ -(TPH B = ? extends Test), ] | ] -[[ -(TPH B = Test), ] | [ -(TPH B = ? extends Test), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(TPH B = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Test) alle B durch Test - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(Test = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. ? extends Test muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Test), -(TPH B = ? extends Test)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | [ -(Test = ? extends Test), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(TPH B = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Test) alle B durch Test - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(Test = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. ? extends Test muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Test), -(TPH B = ? extends Test)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | [ -(Test = ? extends Test), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABI)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABI) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABI = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABI = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABI = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABI = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABJ)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABJ) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABJ = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABJ = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABJ = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABJ = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -Typeinference: -JavaFiles: - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Test), -(TPH B = Test)] - - TYPEINFERENCE -Typeinference: class Test extends Object -{ -void methode() -{ -Test var; -var.methode();; -var.methode();; -} -void Test() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Test), -(TPH B = Test)] - - TYPEINFERENCE -Typeinference: class Klasse1 extends Object -{ -void methode() -{ -} -void Klasse1() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Test), -(TPH B = Test)] - - TYPEINFERENCE -Typeinference: class Klasse2 extends Object -{ -void methode() -{ -} -void Klasse2() -{ -} -} - - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. TPH B)Smaller, - -(TPH B <. Test)Smaller, - -(TPH B <. Klasse1)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. TPH B) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. Test)Smaller, - -(TPH B <. Klasse1)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Test), ] | [ -(TPH B = ? extends Test), ] | ] -[[ -(TPH B = Klasse1), ] | [ -(TPH B = ? extends Klasse1), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(TPH B = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Test) alle B durch Test - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(Test = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. ? extends Test muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Test), -(TPH B = ? extends Test)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | [ -(Test = ? extends Test), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(TPH B = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse1) alle B durch Klasse1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(Klasse1 = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. ? extends Klasse1 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse1), -(TPH B = ? extends Klasse1)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | [ -(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABI)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABI) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABI = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABI = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABI = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABI = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABJ)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABJ) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABJ = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABJ = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABJ = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABJ = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -Typeinference: -JavaFiles: - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Test), -(TPH B = Klasse1)] - - TYPEINFERENCE -Typeinference: class Test extends Object -{ -void methode() -{ -Test var; -var.methode();; -var.methode();; -} -void Test() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Test), -(TPH B = Klasse1)] - - TYPEINFERENCE -Typeinference: class Klasse1 extends Object -{ -void methode() -{ -} -void Klasse1() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Test), -(TPH B = Klasse1)] - - TYPEINFERENCE -Typeinference: class Klasse2 extends Object -{ -void methode() -{ -} -void Klasse2() -{ -} -} - - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. TPH B)Smaller, - -(TPH B <. Test)Smaller, - -(TPH B <. Klasse2)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. TPH B) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. Test)Smaller, - -(TPH B <. Klasse2)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Test), ] | [ -(TPH B = ? extends Test), ] | ] -[[ -(TPH B = Klasse2), ] | [ -(TPH B = ? extends Klasse2), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(TPH B = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Test) alle B durch Test - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(Test = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. ? extends Test muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Test), -(TPH B = ? extends Test)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | [ -(Test = ? extends Test), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(TPH B = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse2) alle B durch Klasse2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(Klasse2 = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. ? extends Klasse2 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse2), -(TPH B = ? extends Klasse2)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | [ -(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABI)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABI) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABI = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABI = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABI = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABI = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABJ)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABJ) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABJ = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABJ = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABJ = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABJ = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -Typeinference: -JavaFiles: - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Test), -(TPH B = Klasse2)] - - TYPEINFERENCE -Typeinference: class Test extends Object -{ -void methode() -{ -Test var; -var.methode();; -var.methode();; -} -void Test() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Test), -(TPH B = Klasse2)] - - TYPEINFERENCE -Typeinference: class Klasse1 extends Object -{ -void methode() -{ -} -void Klasse1() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Test), -(TPH B = Klasse2)] - - TYPEINFERENCE -Typeinference: class Klasse2 extends Object -{ -void methode() -{ -} -void Klasse2() -{ -} -} - - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. TPH B)Smaller, - -(TPH B <. Klasse1)Smaller, - -(TPH B <. Test)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. TPH B) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. Klasse1)Smaller, - -(TPH B <. Test)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse1), ] | [ -(TPH B = ? extends Klasse1), ] | ] -[[ -(TPH B = Test), ] | [ -(TPH B = ? extends Test), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(TPH B = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse1) alle B durch Klasse1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(Klasse1 = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. ? extends Klasse1 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse1), -(TPH B = ? extends Klasse1)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | [ -(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(TPH B = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Test) alle B durch Test - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(Test = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. ? extends Test muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Test), -(TPH B = ? extends Test)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | [ -(Test = ? extends Test), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABI)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABI) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABI = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABI = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABI = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABI = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABJ)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABJ) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABJ = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABJ = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABJ = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABJ = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -Typeinference: -JavaFiles: - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse1), -(TPH B = Test)] - - TYPEINFERENCE -Typeinference: class Test extends Object -{ -void methode() -{ -Klasse1 var; -var.methode();; -var.methode();; -} -void Test() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse1), -(TPH B = Test)] - - TYPEINFERENCE -Typeinference: class Klasse1 extends Object -{ -void methode() -{ -} -void Klasse1() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse1), -(TPH B = Test)] - - TYPEINFERENCE -Typeinference: class Klasse2 extends Object -{ -void methode() -{ -} -void Klasse2() -{ -} -} - - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. TPH B)Smaller, - -(TPH B <. Klasse1)Smaller, - -(TPH B <. Klasse1)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. TPH B) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. Klasse1)Smaller, - -(TPH B <. Klasse1)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse1), ] | [ -(TPH B = ? extends Klasse1), ] | ] -[[ -(TPH B = Klasse1), ] | [ -(TPH B = ? extends Klasse1), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(TPH B = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse1) alle B durch Klasse1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(Klasse1 = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. ? extends Klasse1 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse1), -(TPH B = ? extends Klasse1)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | [ -(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(TPH B = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse1) alle B durch Klasse1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(Klasse1 = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. ? extends Klasse1 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse1), -(TPH B = ? extends Klasse1)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | [ -(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABI)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABI) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABI = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABI = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABI = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABI = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABJ)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABJ) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABJ = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABJ = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABJ = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABJ = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -Typeinference: -JavaFiles: - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse1), -(TPH B = Klasse1)] - - TYPEINFERENCE -Typeinference: class Test extends Object -{ -void methode() -{ -Klasse1 var; -var.methode();; -var.methode();; -} -void Test() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse1), -(TPH B = Klasse1)] - - TYPEINFERENCE -Typeinference: class Klasse1 extends Object -{ -void methode() -{ -} -void Klasse1() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse1), -(TPH B = Klasse1)] - - TYPEINFERENCE -Typeinference: class Klasse2 extends Object -{ -void methode() -{ -} -void Klasse2() -{ -} -} - - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. TPH B)Smaller, - -(TPH B <. Klasse1)Smaller, - -(TPH B <. Klasse2)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. TPH B) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. Klasse1)Smaller, - -(TPH B <. Klasse2)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse1), ] | [ -(TPH B = ? extends Klasse1), ] | ] -[[ -(TPH B = Klasse2), ] | [ -(TPH B = ? extends Klasse2), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(TPH B = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse1) alle B durch Klasse1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(Klasse1 = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. ? extends Klasse1 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse1), -(TPH B = ? extends Klasse1)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | [ -(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(TPH B = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse2) alle B durch Klasse2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(Klasse2 = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. ? extends Klasse2 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse2), -(TPH B = ? extends Klasse2)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | [ -(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABI)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABI) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABI = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABI = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABI = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABI = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABJ)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABJ) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABJ = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABJ = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABJ = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABJ = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -Typeinference: -JavaFiles: - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse1), -(TPH B = Klasse2)] - - TYPEINFERENCE -Typeinference: class Test extends Object -{ -void methode() -{ -Klasse1 var; -var.methode();; -var.methode();; -} -void Test() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse1), -(TPH B = Klasse2)] - - TYPEINFERENCE -Typeinference: class Klasse1 extends Object -{ -void methode() -{ -} -void Klasse1() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse1), -(TPH B = Klasse2)] - - TYPEINFERENCE -Typeinference: class Klasse2 extends Object -{ -void methode() -{ -} -void Klasse2() -{ -} -} - - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. TPH B)Smaller, - -(TPH B <. Klasse2)Smaller, - -(TPH B <. Test)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. TPH B) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. Klasse2)Smaller, - -(TPH B <. Test)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Test = Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse2), ] | [ -(TPH B = ? extends Klasse2), ] | ] -[[ -(TPH B = Test), ] | [ -(TPH B = ? extends Test), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(TPH B = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse2) alle B durch Klasse2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(Klasse2 = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. ? extends Klasse2 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse2), -(TPH B = ? extends Klasse2)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | [ -(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(TPH B = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Test) alle B durch Test - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Test)Equal, - -(Test = ? extends Test)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Test = ? extends Test) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Test <. ? extends Test muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Test), -(TPH B = ? extends Test)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Test), ] | [ -(Test = ? extends Test), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABI)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABI) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABI = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABI = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABI = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABI = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABJ)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABJ) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABJ = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABJ = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABJ = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABJ = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -Typeinference: -JavaFiles: - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse2), -(TPH B = Test)] - - TYPEINFERENCE -Typeinference: class Test extends Object -{ -void methode() -{ -Klasse2 var; -var.methode();; -var.methode();; -} -void Test() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse2), -(TPH B = Test)] - - TYPEINFERENCE -Typeinference: class Klasse1 extends Object -{ -void methode() -{ -} -void Klasse1() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse2), -(TPH B = Test)] - - TYPEINFERENCE -Typeinference: class Klasse2 extends Object -{ -void methode() -{ -} -void Klasse2() -{ -} -} - - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. TPH B)Smaller, - -(TPH B <. Klasse2)Smaller, - -(TPH B <. Klasse1)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. TPH B) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. Klasse2)Smaller, - -(TPH B <. Klasse1)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse1 = Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse2), ] | [ -(TPH B = ? extends Klasse2), ] | ] -[[ -(TPH B = Klasse1), ] | [ -(TPH B = ? extends Klasse1), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(TPH B = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse2) alle B durch Klasse2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(Klasse2 = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. ? extends Klasse2 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse2), -(TPH B = ? extends Klasse2)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | [ -(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(TPH B = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse1) alle B durch Klasse1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse1)Equal, - -(Klasse1 = ? extends Klasse1)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse1 = ? extends Klasse1) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse1 <. ? extends Klasse1 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse1), -(TPH B = ? extends Klasse1)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse1), ] | [ -(Klasse1 = ? extends Klasse1), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABI)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABI) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABI = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABI = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABI = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABI = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABJ)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABJ) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABJ = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABJ = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABJ = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABJ = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -Typeinference: -JavaFiles: - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse2), -(TPH B = Klasse1)] - - TYPEINFERENCE -Typeinference: class Test extends Object -{ -void methode() -{ -Klasse2 var; -var.methode();; -var.methode();; -} -void Test() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse2), -(TPH B = Klasse1)] - - TYPEINFERENCE -Typeinference: class Klasse1 extends Object -{ -void methode() -{ -} -void Klasse1() -{ -} -} - - TYPEINFERENCE -Typeinference: JavaFile für ResultSet Unified Constraints: [ -(TPH ABJ = void), -(TPH ABI = void), -(TPH B = Klasse2), -(TPH B = Klasse1)] - - TYPEINFERENCE -Typeinference: class Klasse2 extends Object -{ -void methode() -{ -} -void Klasse2() -{ -} -} - - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. TPH B)Smaller, - -(TPH B <. Klasse2)Smaller, - -(TPH B <. Klasse2)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. TPH B) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B <. Klasse2)Smaller, - -(TPH B <. Klasse2)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B <. Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Number)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Number) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Number muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = java.lang.Object)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = java.lang.Object) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCEEQ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. java.lang.Object muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(Klasse2 = Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE3 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH B = Klasse2), ] | [ -(TPH B = ? extends Klasse2), ] | ] -[[ -(TPH B = Klasse2), ] | [ -(TPH B = ? extends Klasse2), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(TPH B = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse2) alle B durch Klasse2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(Klasse2 = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. ? extends Klasse2 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse2), -(TPH B = ? extends Klasse2)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | [ -(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(TPH B = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in -(TPH B = ? extends Klasse2) alle B durch Klasse2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(TPH B = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 1 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBST: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Pair: -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Nummer: 2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: TV: B - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Bedingung: true - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH B = Klasse2)Equal, - -(Klasse2 = ? extends Klasse2)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH B = Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(Klasse2 = ? extends Klasse2) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: UNIFY FAIL:Klasse2 <. ? extends Klasse2 muesste mindestens einen TPH enthalten. - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH B = Klasse2), -(TPH B = ? extends Klasse2)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [] - UNIFY -Filter: Ausgesondertes Constraint: [[ -(TPH B = Klasse2), ] | [ -(Klasse2 = ? extends Klasse2), ] | ] - TYPEINFERENCE -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABI)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABI) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABI = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABI = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABI = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABI = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABI = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. TPH ABJ)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. TPH ABJ) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ---> keine Regel anwendbar --> umkopieren !!!!!!!!!!!!!!!!!!!!! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [[[ -(TPH ABJ = void), ] | ] -] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(TPH ABJ = void)Equal } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(TPH ABJ = void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: NACH REDUCE2 - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: SUBSTITUTE: in - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Subst? - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere Constraints: -[ -(TPH ABJ = void)] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ergebnis: [[ -(TPH ABJ = void)]] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -(void <. void) - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: -------------------------------------------------- - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ERASE1 ObjectType - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ================================ - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E ist leer! - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Filtere 'WrongConstraints' auf: [] - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Menge E = { -(void <. void)Smaller } - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: ******************************* - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: - UNIFY -de.dhbwstuttgart.typeinference.unify.Unify: Ausgewaehltes Paar = -( \ No newline at end of file diff --git a/test/unify/UnifyFilter.java b/test/unify/UnifyFilter.java deleted file mode 100644 index 3c50bafe..00000000 --- a/test/unify/UnifyFilter.java +++ /dev/null @@ -1,58 +0,0 @@ -package unify; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.UnsupportedEncodingException; - -import org.junit.Test; - -import plugindevelopment.TypeInsertTester; -import de.dhbwstuttgart.core.MyCompiler; -import de.dhbwstuttgart.core.MyCompilerAPI; -import de.dhbwstuttgart.logger.Logger; -import de.dhbwstuttgart.logger.LoggerConfiguration; -import de.dhbwstuttgart.logger.Section; -import de.dhbwstuttgart.parser.JavaParser.yyException; -import de.dhbwstuttgart.syntaxtree.SourceFile; -import de.dhbwstuttgart.typeinference.Menge; -import de.dhbwstuttgart.typeinference.TypeinferenceResultSet; -import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertPoint; -import de.dhbwstuttgart.typeinference.typedeployment.TypeInsertSet; - -public class UnifyFilter { - public final static String rootDirectory = System.getProperty("user.dir")+"/test/unify/"; - - private final String testFile = "UnifyFilter.jav"; - - @Test - public void test(){ - MyCompilerAPI compiler = MyCompiler.getAPI(new LoggerConfiguration().setOutput(Section.UNIFY, System.out)); - try { - compiler.parse(new File(this.rootDirectory+testFile)); - Menge ergebnis = compiler.typeReconstruction(); - //Nichts weiter unternehmen. Nur die Ausgabe des Unifikationsalgorithmus anzeigen. - String log = Logger.getWholeLog(); - //System.out.println(log); - - writeLogFile(log); - } catch (Exception e){ - e.printStackTrace(); - } - } - - private void writeLogFile(String log){ - try { - PrintWriter writer = new PrintWriter(rootDirectory+testFile+".log", "UTF-8"); - writer.write(log); - } catch (FileNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (UnsupportedEncodingException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } -} diff --git a/test/unify/UnifyTest.java b/test/unify/UnifyTest.java new file mode 100644 index 00000000..59671c90 --- /dev/null +++ b/test/unify/UnifyTest.java @@ -0,0 +1,304 @@ +package unify; + +import junit.framework.Assert; + +import org.junit.Test; + +import de.dhbwstuttgart.syntaxtree.factory.UnifyPairMengenBuilder; +import de.dhbwstuttgart.syntaxtree.factory.UnifyTypeFactory; +import de.dhbwstuttgart.syntaxtree.factory.Unify_FC_TTO_Builder; +import de.dhbwstuttgart.syntaxtree.type.RefType; +import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder; +import de.dhbwstuttgart.typeinference.Menge; +import de.dhbwstuttgart.typeinference.Pair; +import de.dhbwstuttgart.typeinference.Pair.PairOperator; +import de.dhbwstuttgart.typeinference.unify.Unify; + +public class UnifyTest { + + @Test + public void unifyTestSimpleTypes() { + + // Init Factories and Builders + UnifyTypeFactory typeFactory = new UnifyTypeFactory(); + Unify_FC_TTO_Builder fcBuilder = new Unify_FC_TTO_Builder(); + UnifyPairMengenBuilder assumptionBuilder = new UnifyPairMengenBuilder(); + UnifyPairMengenBuilder resultBuilder = new UnifyPairMengenBuilder(); + + /* + * Test a <. Boolean + */ + + // Init Types + RefType boolT = typeFactory.GetSimpleType("java.lang.Boolean"); + TypePlaceholder aTph = typeFactory.GetTypePlaceholder("a"); + + // Expected Result + resultBuilder.clear(); + resultBuilder.addPair(aTph, boolT, PairOperator.Equal); + resultBuilder.addPair(aTph, typeFactory.GetExtendsType(boolT), + PairOperator.Equal); + Menge> expectedResult = resultBuilder.getNestedPairMenge(); + + // Actual Result + assumptionBuilder.clear(); + assumptionBuilder.addPair(aTph, boolT); + Menge> actualResult = Unify.unify( + assumptionBuilder.getPairMenge(), fcBuilder.Get_FC_TTO()); + + // System.out.println(expectedResult); + // System.out.println(actualResult); + + Assert.assertTrue(mengeEquals(expectedResult, actualResult)); + + /* + * Test b <. a, a <. Boolean + */ + + // Init Types + boolT = typeFactory.GetSimpleType("java.lang.Boolean"); + aTph = typeFactory.GetTypePlaceholder("a"); + TypePlaceholder bTph = typeFactory.GetTypePlaceholder("b"); + + // Expected Result + resultBuilder.clear(); + resultBuilder.addPair(aTph, boolT, PairOperator.Equal); + resultBuilder.addPair(aTph, typeFactory.GetExtendsType(boolT), + PairOperator.Equal); + resultBuilder.addPair(bTph, boolT, PairOperator.Equal); + resultBuilder.addPair(bTph, typeFactory.GetExtendsType(boolT), + PairOperator.Equal); + expectedResult = resultBuilder.getNestedPairMenge(); + + // Actual Result + assumptionBuilder.clear(); + assumptionBuilder.addPair(bTph, aTph); + assumptionBuilder.addPair(aTph, boolT); + actualResult = Unify.unify(assumptionBuilder.getPairMenge(), + fcBuilder.Get_FC_TTO()); + + // System.out.println(expectedResult); + // System.out.println(actualResult); + + // NOTE: Elemente im actualResult sind nicht unique + // Assert.assertTrue(mengeEquals(expectedResult, actualResult)); + + /* + * Test b <. a, a <. b + */ + + aTph = typeFactory.GetTypePlaceholder("a"); + bTph = typeFactory.GetTypePlaceholder("b"); + + // Expected Result + resultBuilder.clear(); + resultBuilder.addPair(bTph, aTph); + resultBuilder.addPair(aTph, bTph); + + Menge buffer = resultBuilder.getPairMenge(); + expectedResult = new Menge>(); + expectedResult.add(buffer); + + // Actual Result + assumptionBuilder.clear(); + assumptionBuilder.addPair(bTph, aTph); + assumptionBuilder.addPair(aTph, bTph); + actualResult = Unify.unify(assumptionBuilder.getPairMenge(), + fcBuilder.Get_FC_TTO()); + + // System.out.println(expectedResult); + // System.out.println(actualResult); + + Assert.assertTrue(mengeEquals(expectedResult, actualResult)); + + /* + * Test Integer <. a, a <. Boolean + */ + + RefType intT = typeFactory.GetSimpleType("java.lang.Integer"); + boolT = typeFactory.GetSimpleType("java.lang.Boolean"); + aTph = typeFactory.GetTypePlaceholder("a"); + bTph = typeFactory.GetTypePlaceholder("b"); + + // Expected Result + resultBuilder.clear(); + expectedResult = resultBuilder.getNestedPairMenge(); + + // Actual Result + assumptionBuilder.clear(); + assumptionBuilder.addPair(intT, aTph); + assumptionBuilder.addPair(aTph, boolT); + actualResult = Unify.unify(assumptionBuilder.getPairMenge(), + fcBuilder.Get_FC_TTO()); + + // System.out.println(expectedResult); + // System.out.println(actualResult); + + Assert.assertTrue(mengeEquals(expectedResult, actualResult)); + + } + + @Test + public void unifyTestGenerics() { + + // Init Factories and Builders + UnifyTypeFactory typeFactory = new UnifyTypeFactory(); + Unify_FC_TTO_Builder fcBuilder = new Unify_FC_TTO_Builder(); + UnifyPairMengenBuilder assumptionBuilder = new UnifyPairMengenBuilder(); + UnifyPairMengenBuilder resultBuilder = new UnifyPairMengenBuilder(); + + /* + * Test a <. MyClass + */ + + TypePlaceholder aTph = typeFactory.GetTypePlaceholder("a"); + RefType myType = typeFactory.GetSimpleType("MyClass", + typeFactory.GetTypePlaceholder("T"), + typeFactory.GetTypePlaceholder("F")); + + // Expected Result + resultBuilder.clear(); + resultBuilder.addPair(aTph, myType, PairOperator.Equal); + resultBuilder.addPair(aTph, typeFactory.GetExtendsType(myType)); + Menge> expectedResult = resultBuilder.getNestedPairMenge(); + + // Actual Result + assumptionBuilder.clear(); + assumptionBuilder.addPair(aTph, myType); + Menge> actualResult = Unify.unify( + assumptionBuilder.getPairMenge(), fcBuilder.Get_FC_TTO()); + + // System.out.println(expectedResult); + // System.out.println(actualResult); + + Assert.assertTrue(mengeEquals(expectedResult, actualResult)); + + /* + * Test List> <. List + */ + + TypePlaceholder tTph = typeFactory.GetTypePlaceholder("T"); + RefType list = typeFactory.GetSimpleType("List", tTph); + RefType listlist = typeFactory.GetSimpleType("List", list); + + // Expected Result + resultBuilder.clear(); + resultBuilder.addPair(typeFactory.GetExtendsType(list), tTph, + PairOperator.Equal); + expectedResult = resultBuilder.getNestedPairMenge(); + + // Actual Result + assumptionBuilder.clear(); + assumptionBuilder.addPair(listlist, list); + actualResult = Unify.unify(assumptionBuilder.getPairMenge(), + fcBuilder.Get_FC_TTO()); + + System.out.println(expectedResult); + System.out.println(actualResult); + + Assert.assertTrue(mengeEquals(expectedResult, actualResult)); + + /* + * Test List <. List> + */ + } + + @Test + public void unifyTestInheritance() { + + // Init Factories and Builders + UnifyTypeFactory typeFactory = new UnifyTypeFactory(); + Unify_FC_TTO_Builder fcBuilder = new Unify_FC_TTO_Builder(); + UnifyPairMengenBuilder assumptionBuilder = new UnifyPairMengenBuilder(); + UnifyPairMengenBuilder resultBuilder = new UnifyPairMengenBuilder(); + + // Init Types + RefType tBool = typeFactory.GetSimpleType("java.lang.Boolean"); + RefType tString = typeFactory.GetSimpleType("java.lang.String"); + RefType tInt = typeFactory.GetSimpleType("java.lang.Integer"); + TypePlaceholder tphA = typeFactory.GetTypePlaceholder("a"); + + // Build inheritance hierachy + // Bool <. String <. Int + fcBuilder.AddInheritance(tBool, tString); + fcBuilder.AddInheritance(tString, tInt); + + // Build Assumptions + assumptionBuilder.addPair(tphA, tString); + + // Build expected result + resultBuilder.addPair(tphA, tBool, PairOperator.Equal); + resultBuilder.addPair(tphA, typeFactory.GetExtendsType(tBool), + PairOperator.Equal); + resultBuilder.addPair(tphA, tString, PairOperator.Equal); + resultBuilder.addPair(tphA, typeFactory.GetExtendsType(tString), + PairOperator.Equal); + + // Assert + Menge> actualResult = Unify.unify( + assumptionBuilder.getPairMenge(), fcBuilder.Get_FC_TTO()); + + // System.out.println(actualResult); + // System.out.println("-------------------"); + // System.out.println(resultBuilder.getNestedPairMenge()); + + Assert.assertTrue(mengeEquals(resultBuilder.getNestedPairMenge(), + actualResult)); + } + + @Test + public void unifyTestWildcards() { + + } + + private static boolean mengeEquals(Menge> m1, + Menge> m2) { + if (m1.size() != m2.size()) + return false; + + return containsAll(m1, m2) && containsAll(m2, m1); + } + + private static boolean containsAll(Menge> m1, + Menge> m2) { + for (Menge elem : m2) + if (!contains(m1, elem)) + return false; + return true; + } + + private static boolean contains(Menge> m1, Menge m2) { + for (Menge elem : m1) + if (mengePairEquals(elem, m2)) + return true; + return false; + } + + private static boolean mengePairEquals(Menge m1, Menge m2) { + if (m1.size() != m2.size()) + return false; + + return containsAllPair(m1, m2) && containsAllPair(m2, m1); + } + + private static boolean containsAllPair(Menge m1, Menge m2) { + for (Pair elem : m1) + if (contains(m2, elem)) + return true; + return false; + } + + private static boolean contains(Menge m, Pair p) { + for (Pair elem : m) + if (pairEquals(elem, p)) + return true; + return false; + + } + + private static boolean pairEquals(Pair p1, Pair p2) { + return (p1.TA1.equals(p2.TA1) && p1.TA2.equals(p2.TA2)) + || (p1.TA1.equals(p2.TA2) && p1.TA2.equals(p2.TA1)); + } + +}