/** * Creates new instance of {@link ForeignAccess} that delegates to provided factory. * * @param factory the factory that handles access requests to {@link Message}s known as of * version 0.26 * @param languageCheck a {@link RootNode} that performs the language check on receiver objects, * can be <code>null</code>, but then the factory must also implement {@link Factory} * interface * @return new instance wrapping <code>factory</code> * @since 0.26 * @deprecated Use {@link StandardFactory} and * {@link #create(com.oracle.truffle.api.interop.ForeignAccess.StandardFactory, com.oracle.truffle.api.nodes.RootNode) * its associated factory} method */ @Deprecated public static ForeignAccess create(final Factory26 factory, final RootNode languageCheck) { if (languageCheck == null) { Factory f = (Factory) factory; assert f != null; } return new ForeignAccess( languageCheck == null ? null : new RootNodeSupplier(languageCheck), new DelegatingFactory26(null, factory)); }
/** * Creates new instance of {@link ForeignAccess} that delegates to provided factory. * * @param factory the factory that handles access requests to {@link Message}s known as of * version 0.26 * @param languageCheck a {@link RootNode} that performs the language check on receiver objects, * can be <code>null</code>, but then the factory must also implement {@link Factory} * interface * @return new instance wrapping <code>factory</code> * @since 0.26 * @deprecated Use {@link StandardFactory} and * {@link #create(com.oracle.truffle.api.interop.ForeignAccess.StandardFactory, com.oracle.truffle.api.nodes.RootNode) * its associated factory} method */ @Deprecated public static ForeignAccess create(final Factory26 factory, final RootNode languageCheck) { if (languageCheck == null) { Factory f = (Factory) factory; assert f != null; } return new ForeignAccess(languageCheck, new DelegatingFactory26(null, factory)); }
/** * Creates new instance of {@link ForeignAccess} that delegates to provided factory. * * @param baseClass the super class of all {@link TruffleObject}s handled by this factory (if * <code>null</code> then the second interface must also implement {@link Factory}) * @param factory the factory that handles access requests to {@link Message}s known as of * version 0.26 * @return new instance wrapping <code>factory</code> * @since 0.26 * @deprecated Use {@link StandardFactory} and * {@link #create(java.lang.Class, com.oracle.truffle.api.interop.ForeignAccess.StandardFactory)} */ @Deprecated public static ForeignAccess create(final Class<? extends TruffleObject> baseClass, final Factory26 factory) { if (baseClass == null) { Factory f = (Factory) factory; assert f != null; } return new ForeignAccess(new DelegatingFactory26(baseClass, factory)); }
/** * Creates new instance of {@link ForeignAccess} that delegates to provided factory. * * @param baseClass the super class of all {@link TruffleObject}s handled by this factory (if * <code>null</code> then the second interface must also implement {@link Factory}) * @param factory the factory that handles access requests to {@link Message}s known as of * version 0.26 * @return new instance wrapping <code>factory</code> * @since 0.26 * @deprecated Use {@link StandardFactory} and * {@link #create(java.lang.Class, com.oracle.truffle.api.interop.ForeignAccess.StandardFactory)} */ @Deprecated public static ForeignAccess create(final Class<? extends TruffleObject> baseClass, final Factory26 factory) { if (baseClass == null) { Factory f = (Factory) factory; assert f != null; } return new ForeignAccess(new DelegatingFactory26(baseClass, factory)); }
@Override public CallTarget accessMessage(Message msg) { return accessMessage(factory, msg); }
@Override public CallTarget accessMessage(Message msg) { return accessMessage(factory, msg); }