From aca4ee05a0cb53b37a2e28930ba18c2cc91349e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Pl=C3=BCmicke?= Date: Fri, 5 Dec 2014 16:38:32 +0100 Subject: [PATCH 1/2] Bytecode ergaenzt --- src/mycompiler/mybytecode/CodeAttribute.java | 12 ++++++------ src/mycompiler/mybytecode/SignatureInfo.java | 12 ++++++------ tools/jay.darwin | Bin 112574 -> 93044 bytes 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/mycompiler/mybytecode/CodeAttribute.java b/src/mycompiler/mybytecode/CodeAttribute.java index 86997fdc..69031ebf 100755 --- a/src/mycompiler/mybytecode/CodeAttribute.java +++ b/src/mycompiler/mybytecode/CodeAttribute.java @@ -252,7 +252,7 @@ public class CodeAttribute extends Attribute // ino.method.codegen.21757.definition - public void codegen(ClassFile classfile, FileOutputStream f) + public void codegen(ClassFile classfile, OutputStream f) throws JVMCodeException, IOException // ino.end // ino.method.codegen.21757.body @@ -1090,11 +1090,11 @@ public class CodeAttribute extends Attribute } // ino.end - @Override - public void codegen(ClassFile classfile, OutputStream f) - throws JVMCodeException, IOException { - throw new NotImplementedException(); - } +// @Override +// public void codegen(ClassFile classfile, OutputStream f) +// throws JVMCodeException, IOException { +// throw new NotImplementedException(); +// } } // ino.end diff --git a/src/mycompiler/mybytecode/SignatureInfo.java b/src/mycompiler/mybytecode/SignatureInfo.java index a7d2e6c1..1e4f9a30 100755 --- a/src/mycompiler/mybytecode/SignatureInfo.java +++ b/src/mycompiler/mybytecode/SignatureInfo.java @@ -183,7 +183,7 @@ public class SignatureInfo extends Attribute // ino.end // ino.method.codegen.22987.definition - public void codegen(ClassFile classfile, FileOutputStream f) + public void codegen(ClassFile classfile, OutputStream f) throws JVMCodeException, IOException // ino.end // ino.method.codegen.22987.body @@ -263,11 +263,11 @@ public class SignatureInfo extends Attribute } // ino.end - @Override - public void codegen(ClassFile classfile, OutputStream f) - throws JVMCodeException, IOException { - throw new NotImplementedException(); - } +// @Override +// public void codegen(ClassFile classfile, OutputStream f) +// throws JVMCodeException, IOException { +// throw new NotImplementedException(); +// } } // ino.end diff --git a/tools/jay.darwin b/tools/jay.darwin index 00114230723eee7959d663c02db8b9fe15f2dda7..79f44cb2ac01ee1970a22bfed8f786416a888de3 100755 GIT binary patch literal 93044 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 U{EOzy$)7)WUjDpGDRbxf-^usIO8@`> literal 112574 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 Date: Fri, 5 Dec 2014 17:25:46 +0100 Subject: [PATCH 2/2] Wildcards im Subst im Unify eingefuegt --- .classpath | 2 +- bin/.gitignore | 2 +- .../typeinference/unify/Unify.java | 30 +++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/.classpath b/.classpath index 8031ed71..8ed57022 100755 --- a/.classpath +++ b/.classpath @@ -3,7 +3,7 @@ - + diff --git a/bin/.gitignore b/bin/.gitignore index 56a30e6a..ba369ba7 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,6 +1,6 @@ -/bytecode/ /de/ /mycompiler/ /parser/ /plugindevelopment/ /syntaxTree/ +/bytecode/ diff --git a/src/de/dhbwstuttgart/typeinference/unify/Unify.java b/src/de/dhbwstuttgart/typeinference/unify/Unify.java index d3408e02..3c281407 100755 --- a/src/de/dhbwstuttgart/typeinference/unify/Unify.java +++ b/src/de/dhbwstuttgart/typeinference/unify/Unify.java @@ -2400,6 +2400,36 @@ throws MatchException return true; } } + //Wildcard ergänzt PL 12-12-05 + if ( T instanceof ExtendsWildcardType ) + { + Type Temp = ((ExtendsWildcardType) T).get_ExtendsType(); + if( Temp instanceof TypePlaceholder ) + { + + if( Temp.getName().equals(a.getName()) ) + { + // Typvariable ersetzen + ((ExtendsWildcardType) T).SetWildcardType(o); + return true; + } + } + } + + if ( T instanceof SuperWildcardType ) + { + Type Temp = ((SuperWildcardType) T).get_SuperType(); + if( Temp instanceof TypePlaceholder ) + { + + if( Temp.getName().equals(a.getName()) ) + { + // Typvariable ersetzen + ((SuperWildcardType) T).SetWildcardType(o); + return true; + } + } + } return false; } // ino.end