Mercurial > hg > truffle
diff graal/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/ObjectType.java @ 21770:c76742cc2c6f
Polishing inter-operability APIs: Exposing only Message, TruffleObject and ForeignAccess-related classes.
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Mon, 08 Jun 2015 04:50:13 +0200 |
parents | d6dba4c723c0 |
children | cb051c368c80 |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/ObjectType.java Sun Jun 07 16:59:03 2015 +0200 +++ b/graal/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/ObjectType.java Mon Jun 08 04:50:13 2015 +0200 @@ -24,11 +24,10 @@ */ package com.oracle.truffle.api.object; +import com.oracle.truffle.api.interop.Message; import com.oracle.truffle.api.*; import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary; import com.oracle.truffle.api.interop.*; -import com.oracle.truffle.api.interop.exception.*; -import com.oracle.truffle.api.interop.messages.*; public class ObjectType { /** @@ -72,16 +71,16 @@ public void onPropertyAdded(Property property, Shape shapeBefore, Shape shapeAfter) { } - public ForeignAccessFactory getForeignAccessFactory() { - return new ForeignAccessFactory() { + public ForeignAccess getForeignAccessFactory() { + return ForeignAccess.create(new com.oracle.truffle.api.interop.ForeignAccess.Factory() { - public InteropPredicate getLanguageCheck() { - throw new UnsupportedMessageException(this.toString() + " cannot be shared"); + public boolean canHandle(TruffleObject obj) { + throw new IllegalArgumentException(this.toString() + " cannot be shared"); } - public CallTarget getAccess(Message tree) { - throw new UnsupportedMessageException(this.toString() + " cannot be shared; Message not possible: " + tree.toString()); + public CallTarget accessMessage(Message tree) { + throw new IllegalArgumentException(this.toString() + " cannot be shared; Message not possible: " + tree.toString()); } - }; + }); } }