Mercurial > hg > truffle
diff graal/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/ObjectType.java @ 18747:6db7923af642
OM: DynamicObject extends TruffleObject, add default implementation
author | Matthias Grimmer <grimmer@ssw.jku.at> |
---|---|
date | Tue, 23 Dec 2014 12:13:14 +0100 |
parents | f439fdb137a3 |
children | d6dba4c723c0 |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/ObjectType.java Tue Dec 23 11:56:08 2014 +0100 +++ b/graal/com.oracle.truffle.api.object/src/com/oracle/truffle/api/object/ObjectType.java Tue Dec 23 12:13:14 2014 +0100 @@ -24,7 +24,11 @@ */ package com.oracle.truffle.api.object; +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 { /** @@ -67,4 +71,17 @@ */ public void onPropertyAdded(Property property, Shape shapeBefore, Shape shapeAfter) { } + + public ForeignAccessFactory getForeignAccessFactory() { + return new ForeignAccessFactory() { + + public InteropPredicate getLanguageCheck() { + throw new AccessException(this.toString() + " cannot be shared"); + } + + public CallTarget getAccess(Message tree) { + throw new AccessException(this.toString() + " cannot be shared; Message not possible: " + tree.toString()); + } + }; + } }