You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by jt...@apache.org on 2017/09/08 21:06:28 UTC

[20/28] incubator-netbeans-html4j git commit: Handle toString() calls by delegating to java.lang.Object's toString()

Handle toString() calls by delegating to java.lang.Object's toString()

Project: http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/commit/327e6bdd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/tree/327e6bdd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/diff/327e6bdd

Branch: refs/heads/master
Commit: 327e6bddc967e46f904b4bec1c689e24af788dbd
Parents: edff3d3
Author: Jaroslav Tulach <jt...@netbeans.org>
Authored: Fri Feb 3 07:05:46 2017 +0100
Committer: Jaroslav Tulach <ja...@apidesign.org>
Committed: Fri Sep 8 17:13:55 2017 +0200

----------------------------------------------------------------------
 .../java/net/java/html/boot/truffle/JavaObject.java     | 12 ++++++++++++
 1 file changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-netbeans-html4j/blob/327e6bdd/boot-truffle/src/main/java/net/java/html/boot/truffle/JavaObject.java
----------------------------------------------------------------------
diff --git a/boot-truffle/src/main/java/net/java/html/boot/truffle/JavaObject.java b/boot-truffle/src/main/java/net/java/html/boot/truffle/JavaObject.java
index 234f396..1618089 100644
--- a/boot-truffle/src/main/java/net/java/html/boot/truffle/JavaObject.java
+++ b/boot-truffle/src/main/java/net/java/html/boot/truffle/JavaObject.java
@@ -46,6 +46,7 @@ import com.oracle.truffle.api.interop.ForeignAccess;
 import com.oracle.truffle.api.interop.MessageResolution;
 import com.oracle.truffle.api.interop.Resolve;
 import com.oracle.truffle.api.interop.TruffleObject;
+import com.oracle.truffle.api.interop.UnknownIdentifierException;
 import com.oracle.truffle.api.nodes.Node;
 
 @MessageResolution(receiverType = JavaObject.class, language = TrufflePresenter.JavaLang.class)
@@ -79,4 +80,15 @@ final class JavaObject extends JavaValue implements TruffleObject {
         }
     }
 
+    @Resolve(message = "INVOKE")
+    static abstract class Methods extends Node {
+
+        protected Object access(JavaObject javaObject, String methodName, Object[] args) {
+            if (methodName.equals("toString")) {
+                return javaObject.obj.toString();
+            }
+            throw UnknownIdentifierException.raise(methodName);
+        }
+    }
+
 }