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

View File

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

View File

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