Mercurial > hg > truffle
diff graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/TypeSystemTest.java @ 11507:d6a5ab791b0d
Truffle-DSL: fixed a bug in grouping of abstract guards.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 02 Sep 2013 15:22:25 +0200 |
parents | 4f52b08bd2f9 |
children | 2fb276f5e3e9 |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/TypeSystemTest.java Fri Aug 30 17:45:53 2013 +0200 +++ b/graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/TypeSystemTest.java Mon Sep 02 15:22:25 2013 +0200 @@ -30,7 +30,7 @@ public class TypeSystemTest { - @TypeSystem({int.class, boolean.class, String.class, Str.class, CallTarget.class, Object[].class}) + @TypeSystem({int.class, boolean.class, String.class, Str.class, CallTarget.class, BExtendsAbstract.class, CExtendsAbstract.class, Abstract.class, Object[].class}) static class SimpleTypes { static int intCheck; @@ -73,6 +73,14 @@ return SimpleTypesGen.SIMPLETYPES.expectObjectArray(execute(frame)); } + public BExtendsAbstract executeBExtendsAbstract(VirtualFrame frame) throws UnexpectedResultException { + return SimpleTypesGen.SIMPLETYPES.expectBExtendsAbstract(execute(frame)); + } + + public CExtendsAbstract executeCExtendsAbstract(VirtualFrame frame) throws UnexpectedResultException { + return SimpleTypesGen.SIMPLETYPES.expectCExtendsAbstract(execute(frame)); + } + public abstract Object execute(VirtualFrame frame); @Override @@ -154,4 +162,18 @@ } + abstract static class Abstract { + } + + static final class BExtendsAbstract extends Abstract { + + static final BExtendsAbstract INSTANCE = new BExtendsAbstract(); + + } + + static final class CExtendsAbstract extends Abstract { + + static final CExtendsAbstract INSTANCE = new CExtendsAbstract(); + } + }