From 71dfe5d9e1b8e9a7fc60ff4c372cd0080360b520 Mon Sep 17 00:00:00 2001 From: "pl@gohorb.ba-horb.de" Date: Thu, 2 May 2024 16:33:37 +0200 Subject: [PATCH] Bei diesem und vorigen Commit wurde der Bug #328 https://gitea.hb.dhbw-stuttgart.de/JavaTX/JavaCompilerCore/issues/328 geloest. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java in der Methode copute wurden die methodSignatureConstraints der bereits zu Beginn aufegloesten einer Oder Constraints in die Methodconstraints der Unifikation geschrieben 2. Elementtyp der linken Seiten der methodSignatureConstraints wurden von RefTypeOrTPHOrWildcardOrGeneric auf TypePlaceholder geaendert, weil dort nur TypePlaceholder geaendert. 3. src/main/java/de/dhbwstuttgart/parser/SyntaxTreeGenerator/SyntaxTreeGenerator.java in der Methode prepareBlock wurde der Typ des Rückgabewerts des supercalls von Void auf eine Freshtpevar gesetzt. 4. src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java in der unify2-Methode wurde am Ende der Aufruf der Substitution nach Hinzufuegen der Methodconstraints auskommentiert -> hat zu nicht geloesten Constraints gefuehrt. modified: src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java modified: src/test/java/TestComplete.java --- .../de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java | 2 ++ src/test/java/TestComplete.java | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index 38f47e9e..90a1b31b 100644 --- a/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/main/java/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -599,11 +599,13 @@ public class TypeUnifyTask extends RecursiveTask>> { eqPrimePrimeSet.forEach(x -> x.addAll(methodSignatureConstraint)); //Substitutionen in methodcontraintsets werdne ausgeführt + /* PL auskommentiert 2024-05-02 eqPrimePrimeSet = eqPrimePrimeSet.stream().map( x -> { Optional> help = rules.subst(x); return help.isPresent() ? help.get(): x; }).collect(Collectors.toSet()); + */ /* * Ende */ diff --git a/src/test/java/TestComplete.java b/src/test/java/TestComplete.java index 160bc5aa..ff42eabc 100644 --- a/src/test/java/TestComplete.java +++ b/src/test/java/TestComplete.java @@ -180,7 +180,7 @@ public class TestComplete { } @Test - @Ignore() + //@Ignore() public void matrixOpTest() throws Exception { var classFiles = generateClassFiles(new ByteArrayClassLoader(), "MatrixOP.jav"); var matrixOP = classFiles.get("MatrixOP");