From e061dea7f54a78543a76aa09b98c97e965ee6ba5 Mon Sep 17 00:00:00 2001 From: JanUlrich Date: Wed, 16 Mar 2016 14:54:41 +0100 Subject: [PATCH] =?UTF-8?q?Aufr=C3=A4umen=20SourceFile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dhbwstuttgart/syntaxtree/SourceFile.java | 277 +----------------- 1 file changed, 2 insertions(+), 275 deletions(-) diff --git a/src/de/dhbwstuttgart/syntaxtree/SourceFile.java b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java index 8a42a4c3..2ec26b2e 100755 --- a/src/de/dhbwstuttgart/syntaxtree/SourceFile.java +++ b/src/de/dhbwstuttgart/syntaxtree/SourceFile.java @@ -770,7 +770,7 @@ public class SourceFile .map(i -> constraintsClone.elementAt(i)) .>collect(Menge::new, Menge::add, Menge::addAll)); //Menge> vecconstraintsclone = streamconstraintsclone.collect(Menge::new, Menge::add, Menge::addAll); - System.out.println(); + //System.out.println(); //Schritt 4: Unifikation Menge>> vecunifyResult = //streamconstraintsclone.map(x -> Unify.unify(x, finiteClosure)).collect(Menge::new, Menge::add, Menge::addAll); @@ -814,6 +814,7 @@ public class SourceFile }); //Dann den Ergebnissen anfügen + typinferenzLog.debug("\nErgebnis der Unifizierung:\n"+unifyResult, Section.TYPEINFERENCE); result.addAll(unifyResult); typinferenzLog.debug("\nJavaFiles:\n", Section.TYPEINFERENCE); @@ -841,281 +842,7 @@ public class SourceFile if(!this.KlassenVektor.isEmpty())throw new TypeinferenceException("Fehler in Typinferierung", this.KlassenVektor.firstElement()); } return ret; - /* - // HOTI: Nur zur Info.Ich habe den Loglevel auf Info geschaltet, damit - // in der GUI (Eclipse-Plugin) die Console nicht zugemüllt wird. - // Wers braucht kanns natürlich ausschalten - - // inferencelog.setLevel(Level.INFO); - - Menge A = new Menge(); - - TypeAssumptions basics; - - basics = this.makeBasicAssumptions(); - - //A.addElement(basics); //auskommentiert von Andreas Stadelmeier - - // PL 05-07-31 alle GenericTypeVars werden ueberprueft, ob sie nicht - // deklarierte Classen sind und dann ggfs. gewandelt. - for (int i = 0; i < this.KlassenVektor.size(); i++) { - Class tempKlasse = this.KlassenVektor.elementAt(i); - MyCompiler.wandleGeneric2RefType(tempKlasse.getContainedTypes(), - this.KlassenVektor); - if(tempKlasse.getSuperInterfaces()!=null){ - for(int k=0;k0){ - for(int j=0;j intf_it = InterfaceVektor.iterator(); - while (intf_it.hasNext()) { - Interface intf = intf_it.next(); - - // HOTI In diesem Moment gibt es nur _eine_ potentielle CTypeReconstructionResult, d.h. - // dort können die Definitionen der Interfaces (Methodintersectiontypes, FieldDecls) abgelegt werden - - - //intf.addThisToAssumptions(basics); - } - - // Fuer jede Klasse die Assumptions der öffentlichen Felder zusammentragen: - TypeAssumptions publicFieldsAssumptions = new TypeAssumptions(); - for(Class cl : KlassenVektor){ - publicFieldsAssumptions.add(cl.getPublicFieldAssumptions()); - } - - // Die BasicAssumptions anfügen: - publicFieldsAssumptions.add(this.getBasicAssumptions()); - - // Fuer jede Klasse separat den TRA aufrufen - Iterator class_it = KlassenVektor.iterator(); - while (class_it.hasNext()) { - Class cl = class_it.next(); - CSupportData supportData = new CSupportData(finiteClosure, A, cl.getName(), cl.get_ParaList()); - inferencelog.info("Rufe " + cl.getName() + ".TRProg()..."); - A.addAll(cl.typeReconstruction(supportData, publicFieldsAssumptions)); - } - - return A; - */ } -// ino.end - - /** - * Erstellt die Basic Assumptions (siehe MakeBasicAssumptions) als AssumptionSet - * @return - - @Deprecated //angefügt von Andreas Stadelmeier. Grund: Die Funktion wurde neu als makeBasicAssumptionsFromJRE angelegt - private TypeAssumptions getBasicAssumptions() { - TypeAssumptions ret = new TypeAssumptions(null); - - // AB hier der Teil aus makeBasicAssumptionsFromJRE: - Menge doneImports=new Menge(); - - //CTypeReconstructionResult basicAssumptions = new CTypeReconstructionResult(null); - - Modifiers mod = new Modifiers(); - mod.addModifier(new Public()); - - - // Für jede einzelne Klasse - while (imports.size()>0) { - UsedId importDecl = imports.get(0); - - // Properties laden - java.lang.Class x; - try { - x = java.lang.Class.forName(importDecl.getQualifiedName().toString()); - } catch (ClassNotFoundException e) { - throw new CTypeReconstructionException("Fehlerhafte Import-Declaration: "+e.getMessage(),importDecl); - } - - java.lang.reflect.Field[] fields=x.getDeclaredFields(); - java.lang.reflect.Method[] methods=x.getDeclaredMethods(); - java.lang.reflect.Constructor[] constructors=x.getConstructors(); - java.lang.reflect.TypeVariable[] tvs=x.getTypeParameters(); - //String className=x.getSimpleName(); - String className=x.getName(); - - // Generische Typen erzeugen - - - Hashtable jreSpiderRegistry=new Hashtable(); - Menge typeGenPara = new Menge(); - for(int j=0;j0){ - //basicAssumptions.addGenericTypeVars(className, typeGenPara); - //myCl.set_ParaList((Menge)typeGenPara); - } - - - if(x.getSuperclass()!=null){ - //boolean isObject=x.getSuperclass().getSimpleName().equalsIgnoreCase("Object"); - boolean isObject=x.getSuperclass().getName().equalsIgnoreCase("java.lang.Object"); - boolean isBaseType=isBaseType(className); - - //if((!isObject || READ_OBJECT_SUPERCLASSES_FROM_JRE) && (!isBaseType|| READ_BASE_TYPE_SUPERCLASSES_FROM_JRE)) - if (((!isObject || READ_OBJECT_SUPERCLASSES_FROM_JRE) && READ_IMPORTED_SUPERCLASSES_FROM_JRE) //eingefuegt 07-08-11 - || (isBaseType && READ_BASE_TYPE_SUPERCLASSES_FROM_JRE)) - { - String superclassFullyQualifiedName = x.getSuperclass().getCanonicalName(); - //Andere Methode, da Menge.contains bei Strings nicht richtig vergleicht. - if(!containsString(imports,superclassFullyQualifiedName) && !containsString(doneImports,superclassFullyQualifiedName)){ - imports.addElement(UsedId.createFromQualifiedName(superclassFullyQualifiedName,-1)); - } - //UsedId ui = new UsedId(); - //ui.set_Name(x.getSuperclass().getSimpleName()); - UsedId ui=UsedId.createFromQualifiedName(x.getSuperclass().getName(),-1); - java.lang.Class superClass=x.getSuperclass(); - java.lang.reflect.TypeVariable[] superclassTVS=superClass.getTypeParameters(); - Menge supertypeGenPara = new Menge(); - for(int tvi=0;tvi()); - CInstVarTypeAssumption instVar = new CInstVarTypeAssumption(className, fields[j].getName(), new RefType(fields[j].getType().getName(),-1), MyCompiler.NO_LINENUMBER,MyCompiler.NO_LINENUMBER,new Menge()); - //basicAssumptions.addFieldOrLocalVarAssumption(instVar); - //ret.add(instVar); //auskommentiert von Andreas Stadelmeier - } - } - for(int j=0;j(),null); - - - for(int k=0;k())); - } - //basicAssumptions.addMethodIntersectionType(new CIntersectionType(method)); - //ret.add(method); //auskommentiert von Andreas Stadelmeier - } - } - - for(int j=0;j(),null); - for(int k=0;k())); - } - //basicAssumptions.addMethodIntersectionType(new CIntersectionType(constructor)); - //ret.add(constructor); //auskommentiert von Andreas Stadelmeier - } - } - - imports.removeElement(importDecl); - doneImports.addElement(importDecl); - - } - - imports.addAll(doneImports); - - return ret; - }*/ /** * Erstellt die Assumptions der standardmäßig importierten Packages (java.lang.) sowie der von imports übergebenen Klassen zusammen.