Mercurial > hg > graal-compiler
diff graal/com.oracle.truffle.api.interop/src/com/oracle/truffle/api/interop/ForeignAccessFactory.java @ 18865:d6dba4c723c0
Interop: improve exception names and JavaDoc
author | Matthias Grimmer <grimmer@ssw.jku.at> |
---|---|
date | Wed, 14 Jan 2015 13:43:16 +0100 |
parents | 5294b624e2f0 |
children |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api.interop/src/com/oracle/truffle/api/interop/ForeignAccessFactory.java Tue Jan 13 19:48:15 2015 +0100 +++ b/graal/com.oracle.truffle.api.interop/src/com/oracle/truffle/api/interop/ForeignAccessFactory.java Wed Jan 14 13:43:16 2015 +0100 @@ -27,10 +27,30 @@ import com.oracle.truffle.api.*; import com.oracle.truffle.api.interop.messages.*; +/** + * Interface of a factory that produces AST snippets that can access a foreign {@code TruffleObject} + * . A Truffle language implementation accesses a {@code TruffleObject} via a {@code Message}. The + * {@code TruffleObject} instance provides a {@code ForeignAccessFactory} instance that provides an + * AST snippet for a given {@code Message}. + */ public interface ForeignAccessFactory { + /** + * Provides a {@code InteropPredicate} that tests whether a {@code TruffleObject} can be + * accessed using AST snippets, produced by this {@code ForeignAccessFactory}. + * + * @return the {@code InteropPredicate} that tests if a {@code TruffleObject} can be accessed by + * AST snipptes, produces by this {@code ForeignAccessFactory}. + */ InteropPredicate getLanguageCheck(); + /** + * Provides an AST snippet to access a {@code TruffleObject}. + * + * @param tree the {@code Message} that represents the access to a {@code TruffleObject}. + * @return the AST snippet for accessing the {@code TruffleObject}, wrapped as a + * {@code CallTarget}. + */ CallTarget getAccess(Message tree); }