Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/MethodGuardsTest.java @ 20171:9ca538e3e46e
DSL: add tests for comparing against a byte and a short in guards.
author | Chris Seaton <chris.seaton@oracle.com> |
---|---|
date | Mon, 06 Apr 2015 13:43:39 +0100 |
parents | 953c813b8e7a |
children | a84d57d27727 |
comparison
equal
deleted
inserted
replaced
20170:953c813b8e7a | 20171:9ca538e3e46e |
---|---|
32 import com.oracle.truffle.api.dsl.test.LimitTestFactory.ConstantLimitTestFactory; | 32 import com.oracle.truffle.api.dsl.test.LimitTestFactory.ConstantLimitTestFactory; |
33 import com.oracle.truffle.api.dsl.test.LimitTestFactory.LocalLimitTestFactory; | 33 import com.oracle.truffle.api.dsl.test.LimitTestFactory.LocalLimitTestFactory; |
34 import com.oracle.truffle.api.dsl.test.LimitTestFactory.MethodLimitTestFactory; | 34 import com.oracle.truffle.api.dsl.test.LimitTestFactory.MethodLimitTestFactory; |
35 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardCompareWithFieldTestFactory; | 35 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardCompareWithFieldTestFactory; |
36 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardComplexTestFactory; | 36 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardComplexTestFactory; |
37 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardEqualByteIntTestFactory; | |
37 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardEqualIntLongTestFactory; | 38 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardEqualIntLongTestFactory; |
38 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardEqualLongIntTestFactory; | 39 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardEqualLongIntTestFactory; |
40 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardEqualShortIntTestFactory; | |
39 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardEqualTestFactory; | 41 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardEqualTestFactory; |
40 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardFieldTestFactory; | 42 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardFieldTestFactory; |
41 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardGreaterEqualTestFactory; | 43 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardGreaterEqualTestFactory; |
42 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardGreaterTestFactory; | 44 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardGreaterTestFactory; |
43 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardLessEqualTestFactory; | 45 import com.oracle.truffle.api.dsl.test.MethodGuardsTestFactory.GuardLessEqualTestFactory; |
83 assertEquals("do1", root.call(1)); | 85 assertEquals("do1", root.call(1)); |
84 } | 86 } |
85 | 87 |
86 @NodeChild | 88 @NodeChild |
87 static class GuardEqualIntLongTest extends ValueNode { | 89 static class GuardEqualIntLongTest extends ValueNode { |
90 @Specialization(guards = "1 == value") | |
91 static String do1(long value) { | |
92 return "do1"; | |
93 } | |
94 | |
95 @Specialization | |
96 static String do2(long value) { | |
97 return "do2"; | |
98 } | |
99 } | |
100 | |
101 @Test | |
102 public void testGuardEqualByteInt() { | |
103 CallTarget root = createCallTarget(GuardEqualByteIntTestFactory.getInstance()); | |
104 assertEquals("do1", root.call((byte) 1)); | |
105 assertEquals("do2", root.call((byte) 2)); | |
106 assertEquals("do1", root.call((byte) 1)); | |
107 } | |
108 | |
109 @NodeChild | |
110 static class GuardEqualByteIntTest extends ValueNode { | |
88 @Specialization(guards = "value == 1") | 111 @Specialization(guards = "value == 1") |
89 static String do1(long value) { | 112 static String do1(byte value) { |
90 return "do1"; | 113 return "do1"; |
91 } | 114 } |
92 | 115 |
93 @Specialization | 116 @Specialization |
94 static String do2(long value) { | 117 static String do2(byte value) { |
118 return "do2"; | |
119 } | |
120 } | |
121 | |
122 @Test | |
123 public void testGuardEqualShortInt() { | |
124 CallTarget root = createCallTarget(GuardEqualShortIntTestFactory.getInstance()); | |
125 assertEquals("do1", root.call((short) 1)); | |
126 assertEquals("do2", root.call((short) 2)); | |
127 assertEquals("do1", root.call((short) 1)); | |
128 } | |
129 | |
130 @NodeChild | |
131 static class GuardEqualShortIntTest extends ValueNode { | |
132 @Specialization(guards = "value == 1") | |
133 static String do1(short value) { | |
134 return "do1"; | |
135 } | |
136 | |
137 @Specialization | |
138 static String do2(short value) { | |
95 return "do2"; | 139 return "do2"; |
96 } | 140 } |
97 } | 141 } |
98 | 142 |
99 @Test | 143 @Test |
104 assertEquals("do1", root.call(1)); | 148 assertEquals("do1", root.call(1)); |
105 } | 149 } |
106 | 150 |
107 @NodeChild | 151 @NodeChild |
108 static class GuardEqualLongIntTest extends ValueNode { | 152 static class GuardEqualLongIntTest extends ValueNode { |
109 @Specialization(guards = "1 == value") | 153 @Specialization(guards = "value == 1") |
110 static String do1(long value) { | 154 static String do1(long value) { |
111 return "do1"; | 155 return "do1"; |
112 } | 156 } |
113 | 157 |
114 @Specialization | 158 @Specialization |