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 <[email protected]> Authored: Fri Feb 3 07:05:46 2017 +0100 Committer: Jaroslav Tulach <[email protected]> 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); + } + } + }
