forked from JavaTX/JavaCompilerCore
new file: src/de/dhbwstuttgart/bytecode/gGenericsAli/FamilyOfGeneratedGenerics.java
new file: src/de/dhbwstuttgart/bytecode/gGenericsAli/GGenerics.java new file: src/de/dhbwstuttgart/bytecode/gGenericsAli/preGGenerics.java
This commit is contained in:
parent
040300d78e
commit
1e7c25805e
@ -0,0 +1,89 @@
|
|||||||
|
package de.dhbwstuttgart.bytecode.gGenericsAli;
|
||||||
|
|
||||||
|
import de.dhbwstuttgart.bytecode.constraint.TPHConstraint;
|
||||||
|
import de.dhbwstuttgart.bytecode.constraint.TPHConstraint.Relation;
|
||||||
|
import de.dhbwstuttgart.bytecode.genericsGenerator.ConstraintsSimplierResult;
|
||||||
|
import de.dhbwstuttgart.bytecode.genericsGenerator.GeneratedGenericsFinder;
|
||||||
|
import de.dhbwstuttgart.bytecode.genericsGeneratorTypes.GenericsGeneratorResultForClass;
|
||||||
|
import de.dhbwstuttgart.syntaxtree.Method;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class FamilyOfGeneratedGenerics { // extends TPHConstraint?
|
||||||
|
// private final TPHExtractor tphExtractor = new TPHExtractor();
|
||||||
|
private final List<TPHConstraint> cs;
|
||||||
|
public FamilyOfGeneratedGenerics(List<TPHConstraint> cs) {
|
||||||
|
this.cs = cs;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ClassConstraints> cs_cl;
|
||||||
|
List<MethodConstraints> cs_m;
|
||||||
|
|
||||||
|
public Type getLeftSideOfConstraint(TPHConstraint constraint) {
|
||||||
|
Type leftSideType = null;
|
||||||
|
if(!(getRelationOfConstraint(constraint) == Relation.EXTENDS) {
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
leftSideType = constraint.getLeft();
|
||||||
|
}
|
||||||
|
return leftSideType;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Type getRightSideOfConstraint(TPHConstraint constraint) {
|
||||||
|
Type rightSideType = null;
|
||||||
|
if(!(getRelationOfConstraint(constraint) == Relation.EXTENDS)) {
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
rightSideType = constraint.getRight();
|
||||||
|
}
|
||||||
|
return rightSideType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Relation getRelationOfConstraint(TPHConstraint constraint) {
|
||||||
|
//TODO: get relation (EXTENDS or EQUAL)
|
||||||
|
return constraint.getRel();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void addConstraintToClassConstraint(List<TPHConstraint> constraintsSet) {
|
||||||
|
//TODO: Regeln
|
||||||
|
for(TPHConstraint cons: constraintsSet){
|
||||||
|
|
||||||
|
cs_cl =
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addConstraintToMethodConstraint(List<Constraints> constraintsSet) {
|
||||||
|
//TODO: Regeln
|
||||||
|
/*for(Constraint cons: constraintsSet){
|
||||||
|
|
||||||
|
cs_m =
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GeneratedGenericsFinder genGenFinder;
|
||||||
|
ConstraintsSimplierResult simplifiedConstraints = null;
|
||||||
|
GenericsGeneratorResultForClass ggResult = null;
|
||||||
|
Method m;
|
||||||
|
|
||||||
|
public void addMethodConstraints(List<MethodConstraints> cs_m) {
|
||||||
|
genGenFinder.addMethodConstraints(simplifiedConstraints, ggResult, m);
|
||||||
|
cs_m.add();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
42
src/de/dhbwstuttgart/bytecode/gGenericsAli/GGenerics.java
Normal file
42
src/de/dhbwstuttgart/bytecode/gGenericsAli/GGenerics.java
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
package de.dhbwstuttgart.bytecode.gGenericsAli;
|
||||||
|
|
||||||
|
import de.dhbwstuttgart.core.JavaTXCompiler;
|
||||||
|
import de.dhbwstuttgart.typeinference.result.ResultSet;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* gets set of typed variable constraints with substitutions and the set of typed classes
|
||||||
|
* and returns the set of families of generated generics and the set of families of type variable mappings
|
||||||
|
*//*
|
||||||
|
|
||||||
|
public class GGenerics implements preGGenerics {
|
||||||
|
private TVarConstraints tVarCons;
|
||||||
|
private Substitutions subst;
|
||||||
|
private TClass typedClass;
|
||||||
|
|
||||||
|
|
||||||
|
public GGenerics(TVarConstraints tVarCons, Substitutions subst, TClass typedClass) throws IOException, ClassNotFoundException {
|
||||||
|
this.tVarCons = tVarCons;
|
||||||
|
this.subst = subst;
|
||||||
|
this.typedClass = typedClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<File> input = new ArrayList<>();
|
||||||
|
List<File> classpath = new ArrayList<>();
|
||||||
|
|
||||||
|
JavaTXCompiler compiler = new JavaTXCompiler(input, classpath);
|
||||||
|
compiler.typeInference();
|
||||||
|
|
||||||
|
public List<ResultSet> getResultOfTypeInference() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
*/
|
@ -0,0 +1,9 @@
|
|||||||
|
package de.dhbwstuttgart.bytecode.gGenericsAli;
|
||||||
|
|
||||||
|
import de.dhbwstuttgart.typeinference.result.ResultSet;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
interface preGGenerics {
|
||||||
|
public List<ResultSet> getResultOfTypeInference();
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user