abstract class com.oracle.truffle.polyglot.TargetMappingNode$SingleMappingNode extends com.oracle.truffle.api.nodes.Node
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.polyglot.TargetMappingNode$SingleMappingNode
super_class: com.oracle.truffle.api.nodes.Node
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/polyglot/TargetMappingNode$SingleMappingNode;
abstract java.lang.Object execute(java.lang.Object, com.oracle.truffle.polyglot.PolyglotTargetMapping, com.oracle.truffle.polyglot.PolyglotLanguageContext, com.oracle.truffle.api.interop.InteropLibrary, boolean);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotTargetMapping;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Lcom/oracle/truffle/api/interop/InteropLibrary;Z)Ljava/lang/Object;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
receiver
targetMapping
context
interop
checkOnly
protected java.lang.Object doDefault(java.lang.Object, com.oracle.truffle.polyglot.PolyglotTargetMapping, com.oracle.truffle.polyglot.PolyglotLanguageContext, com.oracle.truffle.api.interop.InteropLibrary, boolean, com.oracle.truffle.api.profiles.ConditionProfile, boolean, com.oracle.truffle.polyglot.ToHostNode);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/polyglot/PolyglotTargetMapping;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Lcom/oracle/truffle/api/interop/InteropLibrary;ZLcom/oracle/truffle/api/profiles/ConditionProfile;ZLcom/oracle/truffle/polyglot/ToHostNode;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=10, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: iload 5
invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Z)V
1: getstatic com.oracle.truffle.polyglot.TargetMappingNode.NO_RESULT:Ljava/lang/Object;
astore 9
start local 9 2: aload 6
aload 1
aload 2
getfield com.oracle.truffle.polyglot.PolyglotTargetMapping.sourceType:Ljava/lang/Class;
aload 2
getfield com.oracle.truffle.polyglot.PolyglotTargetMapping.sourceType:Ljava/lang/Class;
3: iload 7
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 3
bipush 8
aload 4
aconst_null
4: invokestatic com.oracle.truffle.polyglot.ToHostNode.canConvert:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;Ljava/lang/Boolean;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;ILcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/polyglot/TargetMappingNode;)Z
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
5: ifeq 9
6: iload 5
ifeq 7
aload 2
getfield com.oracle.truffle.polyglot.PolyglotTargetMapping.accepts:Ljava/util/function/Predicate;
ifnull 10
7: StackMap locals: java.lang.Object
StackMap stack:
aload 8
aload 1
aload 2
getfield com.oracle.truffle.polyglot.PolyglotTargetMapping.sourceType:Ljava/lang/Class;
aload 2
getfield com.oracle.truffle.polyglot.PolyglotTargetMapping.sourceType:Ljava/lang/Class;
aload 3
iconst_0
invokevirtual com.oracle.truffle.polyglot.ToHostNode.execute:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Z)Ljava/lang/Object;
astore 9
8: goto 10
9: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.polyglot.TargetMappingNode.NO_RESULT:Ljava/lang/Object;
areturn
10: StackMap locals:
StackMap stack:
aload 2
getfield com.oracle.truffle.polyglot.PolyglotTargetMapping.accepts:Ljava/util/function/Predicate;
ifnull 12
aload 3
aload 9
aload 2
getfield com.oracle.truffle.polyglot.PolyglotTargetMapping.accepts:Ljava/util/function/Predicate;
invokestatic com.oracle.truffle.polyglot.TargetMappingNode$SingleMappingNode.checkPredicate:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/util/function/Predicate;)Z
ifne 12
11: getstatic com.oracle.truffle.polyglot.TargetMappingNode.NO_RESULT:Ljava/lang/Object;
areturn
12: StackMap locals:
StackMap stack:
iload 5
ifeq 14
13: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
areturn
14: StackMap locals:
StackMap stack:
aload 3
aload 2
getfield com.oracle.truffle.polyglot.PolyglotTargetMapping.converter:Ljava/util/function/Function;
aload 9
invokestatic com.oracle.truffle.polyglot.TargetMappingNode$SingleMappingNode.convert:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/function/Function;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/polyglot/TargetMappingNode$SingleMappingNode;
0 15 1 receiver Ljava/lang/Object;
0 15 2 cachedMapping Lcom/oracle/truffle/polyglot/PolyglotTargetMapping;
0 15 3 context Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 15 4 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
0 15 5 checkOnly Z
0 15 6 acceptsProfile Lcom/oracle/truffle/api/profiles/ConditionProfile;
0 15 7 allowsImplementation Z
0 15 8 toHostRecursive Lcom/oracle/truffle/polyglot/ToHostNode;
2 15 9 convertedValue Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
4:
5:
com.oracle.truffle.api.dsl.Cached()
6:
com.oracle.truffle.api.dsl.Cached(value = "allowsImplementation(context, cachedMapping.sourceType)", allowUncached = true)
7:
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
receiver
cachedMapping
context
interop
checkOnly
acceptsProfile
allowsImplementation
toHostRecursive
static boolean allowsImplementation(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.lang.Class<?>);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Class;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.oracle.truffle.polyglot.ToHostNode.allowsImplementation:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 1 1 type Ljava/lang/Class<*>;
Signature: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
context
type
private static convert(com.oracle.truffle.polyglot.PolyglotLanguageContext, java.util.function.Function<java.lang.Object, java.lang.Object>, );
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/function/Function;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ClassCastException
astore 3
start local 3 3: aload 3
invokevirtual java.lang.ClassCastException.getMessage:()Ljava/lang/String;
invokestatic com.oracle.truffle.polyglot.PolyglotEngineException.classCast:(Ljava/lang/String;)Lcom/oracle/truffle/polyglot/PolyglotEngineException;
athrow
end local 3 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 5: aload 0
aload 3
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.hostToGuestException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 6 1 converter Ljava/util/function/Function<Ljava/lang/Object;Ljava/lang/Object;>;
0 6 2 value Ljava/lang/Object;
3 4 3 t Ljava/lang/ClassCastException;
5 6 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.ClassCastException
0 1 4 Class java.lang.Throwable
Signature: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/util/function/Function<Ljava/lang/Object;Ljava/lang/Object;>;Ljava/lang/Object;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
languageContext
converter
value
private static boolean checkPredicate(com.oracle.truffle.polyglot.PolyglotLanguageContext, , java.util.function.Predicate<java.lang.Object>);
descriptor: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/util/function/Predicate;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 3: aload 0
aload 3
invokestatic com.oracle.truffle.polyglot.PolyglotImpl.hostToGuestException:(Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 languageContext Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;
0 4 1 convertedValue Ljava/lang/Object;
0 4 2 predicate Ljava/util/function/Predicate<Ljava/lang/Object;>;
3 4 3 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: (Lcom/oracle/truffle/polyglot/PolyglotLanguageContext;Ljava/lang/Object;Ljava/util/function/Predicate<Ljava/lang/Object;>;)Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
languageContext
convertedValue
predicate
}
SourceFile: "TargetMappingNode.java"
NestHost: com.oracle.truffle.polyglot.TargetMappingNode
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
abstract SingleMappingNode = com.oracle.truffle.polyglot.TargetMappingNode$SingleMappingNode of com.oracle.truffle.polyglot.TargetMappingNode
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.GenerateUncached()