Skip to content

Commit d7a762c

Browse files
committed
add java builtin module helper methods
1 parent 0fe6726 commit d7a762c

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/JavaModuleBuiltins.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@
4545
import com.oracle.graal.python.builtins.Builtin;
4646
import com.oracle.graal.python.builtins.CoreFunctions;
4747
import com.oracle.graal.python.builtins.PythonBuiltins;
48+
import com.oracle.graal.python.builtins.objects.PNone;
4849
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
50+
import com.oracle.graal.python.nodes.function.builtins.PythonBinaryBuiltinNode;
4951
import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
5052
import com.oracle.graal.python.runtime.exception.PythonErrorType;
5153
import com.oracle.truffle.api.TruffleLanguage.Env;
@@ -82,4 +84,34 @@ Object type(String name) {
8284
}
8385
}
8486
}
87+
88+
@Builtin(name = "is_function", fixedNumOfPositionalArgs = 1)
89+
@GenerateNodeFactory
90+
abstract static class IsFunctionNode extends PythonUnaryBuiltinNode {
91+
@Specialization
92+
Object check(Object object) {
93+
Env env = getContext().getEnv();
94+
return env.isHostFunction(object);
95+
}
96+
}
97+
98+
@Builtin(name = "is_object", fixedNumOfPositionalArgs = 1)
99+
@GenerateNodeFactory
100+
abstract static class IsObjectNode extends PythonUnaryBuiltinNode {
101+
@Specialization
102+
Object check(Object object) {
103+
Env env = getContext().getEnv();
104+
return env.isHostObject(object);
105+
}
106+
}
107+
108+
@Builtin(name = "is_symbol", fixedNumOfPositionalArgs = 1)
109+
@GenerateNodeFactory
110+
abstract static class IsSymbolNode extends PythonUnaryBuiltinNode {
111+
@Specialization
112+
Object check(Object object) {
113+
Env env = getContext().getEnv();
114+
return env.isHostSymbol(object);
115+
}
116+
}
85117
}

0 commit comments

Comments
 (0)