Compare commits

..

3 Commits

Author SHA1 Message Date
pl@gohorb.ba-horb.de
007d55ea3f modified: resources/AllgemeinTest/Box.jav
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 2m2s
modified:   resources/bytecode/javFiles/Matrix.jav
	modified:   src/test/java/AllgemeinTest.java
2025-05-15 18:04:32 +02:00
4318856fa8 Fix lookup
Some checks failed
Build and Test with Maven / Build-and-test-with-Maven (push) Failing after 6m20s
2024-12-12 14:21:23 +01:00
1ace099d72 Undo 2024-12-12 14:06:33 +01:00
4 changed files with 29 additions and 27 deletions

View File

@@ -9,4 +9,12 @@ public class Box {
set(x) {
a = x;
}
get() {
return a;
}
m(b) {
//b.set(b.get());
}
}

View File

@@ -23,9 +23,7 @@ public class Matrix extends Vector<Vector<Integer>> {
public mul(m) {
var ret = new Matrix();
var i = 0;
while(i < size()) {
var v1 = this.elementAt(i);
for(v1 : this) {
var v2 = new Vector<Integer>();
var j = 0;
while(j < v1.size()) {
@@ -39,7 +37,6 @@ public class Matrix extends Vector<Vector<Integer>> {
v2.addElement(erg);
j++; }
ret.addElement(v2);
i++;
}
return ret;
}

View File

@@ -103,34 +103,31 @@ public class TYPE {
var subPatternList = recordPattern.getSubPattern();
var resolver = new GenericsResolverSameName();
var refType = (RefType) recordPattern.getType();
var allClasses = blockInformation.getAvailableClasses();
var typename = refType.getName().getClassName();
ClassOrInterface allClass = allClasses.stream().filter(c -> c.getClassName().getClassName().equals(typename)).findFirst().orElseThrow();
int counter = 0;
for (Pattern el : subPatternList){
if (el instanceof RecordPattern){
constraintSet.addAll(addRecursiveParameterConstraints((RecordPattern) el, blockInformation));
} else if (recordPattern.getType() instanceof RefType refType){
var allClasses = blockInformation.getAvailableClasses();
var typename = refType.getName().getClassName();
} else {
FormalParameter param = (FormalParameter) allClass.getConstructors().getFirst().getParameterList().getParameterAt(counter);
FieldAssumption assumption = new FieldAssumption(param.getName(), allClass, param.getType(), blockInformation.getCurrentTypeScope());
for (ClassOrInterface allClass : allClasses) {
var className = allClass.getClassName().getClassName();
if(className.equals(typename)){
FormalParameter param = (FormalParameter) allClass.getConstructors().getFirst().getParameterList().getParameterAt(counter);
FieldAssumption assumption = new FieldAssumption(param.getName(), allClass, param.getType(), blockInformation.getCurrentTypeScope());
var fieldCons = new Pair(el.getType(), assumption.getType(resolver), PairOperator.SMALLERDOT);
var recvCons = new Pair(refType, assumption.getReceiverType(resolver), PairOperator.EQUALSDOT);
constraintSet.addUndConstraint(fieldCons);
constraintSet.addUndConstraint(recvCons);
var fieldCons = new Pair(el.getType(), assumption.getType(resolver), PairOperator.EQUALSDOT);
var recvCons = new Pair(refType, assumption.getReceiverType(resolver), PairOperator.EQUALSDOT);
constraintSet.addUndConstraint(fieldCons);
constraintSet.addUndConstraint(recvCons);
for (var i = 0; i < refType.getParaList().size(); i++) {
constraintSet.addUndConstraint(new Pair(refType.getParaList().get(i),
((RefType)assumption.getReceiverType(resolver)).getParaList().get(i),
PairOperator.EQUALSDOT));
}
}
for (var i = 0; i < refType.getParaList().size(); i++) {
constraintSet.addUndConstraint(new Pair(refType.getParaList().get(i),
((RefType)assumption.getReceiverType(resolver)).getParaList().get(i),
PairOperator.EQUALSDOT));
}
}
counter++;
}

View File

@@ -55,7 +55,7 @@ public class AllgemeinTest {
//String className = "VectorNotObject";
//String className = "WildcardCaptureConversionTest";
//String className = "CaptureConversion";
//String className = "Pair";
String className = "Pair2";
//String className = "UseWildcardPair";
//String className = "Assign";
//String className = "StreamTest";
@@ -64,8 +64,8 @@ public class AllgemeinTest {
//String className = "Cycle";
//String className = "TripleTest";
//String className = "WildcardList";
String className = "List";
//String className = "Box";
//String className = "List";
//String className = "BoxUse";
//String className = "GenBox";
//String className = "InnerInf";
//String className = "Foo";