|
10 | 10 | package org.truffleruby.language.objects;
|
11 | 11 |
|
12 | 12 | import com.oracle.truffle.api.dsl.Fallback;
|
| 13 | +import com.oracle.truffle.api.dsl.GenerateCached; |
| 14 | +import com.oracle.truffle.api.dsl.GenerateInline; |
13 | 15 | import com.oracle.truffle.api.dsl.GenerateUncached;
|
| 16 | +import com.oracle.truffle.api.nodes.Node; |
14 | 17 | import org.truffleruby.language.ImmutableRubyObject;
|
15 | 18 | import org.truffleruby.language.RubyBaseNode;
|
16 | 19 | import com.oracle.truffle.api.dsl.Specialization;
|
17 | 20 |
|
18 | 21 | @GenerateUncached
|
| 22 | +@GenerateCached(false) |
| 23 | +@GenerateInline |
19 | 24 | public abstract class CanHaveSingletonClassNode extends RubyBaseNode {
|
20 | 25 |
|
21 |
| - public static CanHaveSingletonClassNode getUncached() { |
22 |
| - return CanHaveSingletonClassNodeGen.getUncached(); |
| 26 | + public static boolean executeUncached(Object value) { |
| 27 | + return CanHaveSingletonClassNodeGen.getUncached().execute(null, value); |
23 | 28 | }
|
24 | 29 |
|
25 |
| - public abstract boolean execute(Object value); |
| 30 | + public abstract boolean execute(Node node, Object value); |
26 | 31 |
|
27 | 32 | @Specialization
|
28 |
| - boolean canHaveSingletonClass(int value) { |
| 33 | + static boolean canHaveSingletonClass(int value) { |
29 | 34 | return false;
|
30 | 35 | }
|
31 | 36 |
|
32 | 37 | @Specialization
|
33 |
| - boolean canHaveSingletonClass(long value) { |
| 38 | + static boolean canHaveSingletonClass(long value) { |
34 | 39 | return false;
|
35 | 40 | }
|
36 | 41 |
|
37 | 42 | @Specialization
|
38 |
| - boolean canHaveSingletonClass(double value) { |
| 43 | + static boolean canHaveSingletonClass(double value) { |
39 | 44 | return false;
|
40 | 45 | }
|
41 | 46 |
|
42 | 47 | @Specialization(guards = "!isNil(value)")
|
43 |
| - boolean canHaveSingletonClass(ImmutableRubyObject value) { |
| 48 | + static boolean canHaveSingletonClass(ImmutableRubyObject value) { |
44 | 49 | return false;
|
45 | 50 | }
|
46 | 51 |
|
47 | 52 | @Fallback
|
48 |
| - boolean fallback(Object value) { |
| 53 | + static boolean fallback(Object value) { |
49 | 54 | return true;
|
50 | 55 | }
|
51 | 56 |
|
|
0 commit comments