diff truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/Accessor.java @ 22352:7d9b7365b675

Adding Map<String,Object> parameter to the attach(Eval*Listener) method to allow passing parameter values that the evaluated Source can reference.
author Jaroslav Tulach <jaroslav.tulach@oracle.com>
date Wed, 04 Nov 2015 16:54:36 +0100
parents 096e2c0fd2dc
children dea950d41ef3 163fdf64587d
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/Accessor.java	Mon Nov 02 19:13:21 2015 +0100
+++ b/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/Accessor.java	Wed Nov 04 16:54:36 2015 +0100
@@ -180,7 +180,7 @@
     protected boolean isInstrumentable(Object vm, Node node) {
         final RootNode rootNode = node.getRootNode();
         Class<? extends TruffleLanguage> languageClazz = findLanguage(rootNode);
-        TruffleLanguage language = findLanguageImpl(vm, languageClazz);
+        TruffleLanguage language = findLanguageImpl(vm, languageClazz, null);
         return isInstrumentable(node, language);
     }
 
@@ -195,7 +195,7 @@
     protected WrapperNode createWrapperNode(Object vm, Node node) {
         final RootNode rootNode = node.getRootNode();
         Class<? extends TruffleLanguage> languageClazz = findLanguage(rootNode);
-        TruffleLanguage language = findLanguageImpl(vm, languageClazz);
+        TruffleLanguage language = findLanguageImpl(vm, languageClazz, null);
         return createWrapperNode(node, language);
     }
 
@@ -231,7 +231,7 @@
     }
 
     @SuppressWarnings("rawtypes")
-    protected TruffleLanguage<?> findLanguageImpl(Object known, Class<? extends TruffleLanguage> languageClass) {
+    protected TruffleLanguage<?> findLanguageImpl(Object known, Class<? extends TruffleLanguage> languageClass, String mimeType) {
         Object vm;
         if (known == null) {
             vm = CURRENT_VM.get();
@@ -241,7 +241,7 @@
         } else {
             vm = known;
         }
-        return SPI.findLanguageImpl(vm, languageClass);
+        return SPI.findLanguageImpl(vm, languageClass, mimeType);
     }
 
     protected Instrumenter getInstrumenter(Object known) {
@@ -334,7 +334,7 @@
 
     @SuppressWarnings("rawtypes")
     protected CallTarget parse(Class<? extends TruffleLanguage> languageClass, Source code, Node context, String... argumentNames) throws IOException {
-        final TruffleLanguage<?> truffleLanguage = findLanguageImpl(null, languageClass);
+        final TruffleLanguage<?> truffleLanguage = findLanguageImpl(null, languageClass, code.getMimeType());
         return parse(truffleLanguage, code, context, argumentNames);
     }