public final class org.graalvm.polyglot.HostAccess extends java.lang.Object
{
private final java.lang.String name;
private final org.graalvm.collections.EconomicSet accessAnnotations;
private final org.graalvm.collections.EconomicSet implementableAnnotations;
private final org.graalvm.collections.EconomicMap excludeTypes;
private final org.graalvm.collections.EconomicSet members;
private final org.graalvm.collections.EconomicSet implementableTypes;
private final java.util.List targetMappings;
final boolean allowPublic;
private final boolean allowAllInterfaceImplementations;
private final boolean allowAllClassImplementations;
final boolean allowArrayAccess;
final boolean allowListAccess;
final boolean allowBufferAccess;
final boolean allowIterableAccess;
final boolean allowIteratorAccess;
final boolean allowMapAccess;
final boolean allowAccessInheritance;
private final boolean methodScopingDefault;
private final org.graalvm.collections.EconomicSet disableMethodScopingAnnotations;
private final org.graalvm.collections.EconomicSet disableMethodScoping;
volatile java.lang.Object impl;
private static final org.graalvm.polyglot.HostAccess EMPTY;
public static final org.graalvm.polyglot.HostAccess EXPLICIT;
public static final org.graalvm.polyglot.HostAccess SCOPED;
public static final org.graalvm.polyglot.HostAccess ALL;
public static final org.graalvm.polyglot.HostAccess NONE;
void <init>(org.graalvm.collections.EconomicSet, org.graalvm.collections.EconomicMap, org.graalvm.collections.EconomicSet, org.graalvm.collections.EconomicSet, org.graalvm.collections.EconomicSet, java.util.List, java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, org.graalvm.collections.EconomicSet, org.graalvm.collections.EconomicSet)
{
org.graalvm.collections.EconomicSet v, v, v, v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMap v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v;
java.util.ArrayList v;
java.lang.String v;
org.graalvm.collections.Equivalence v, v, v, v, v;
org.graalvm.polyglot.HostAccess v;
v := @this: org.graalvm.polyglot.HostAccess;
v := @parameter: org.graalvm.collections.EconomicSet;
v := @parameter: org.graalvm.collections.EconomicMap;
v := @parameter: org.graalvm.collections.EconomicSet;
v := @parameter: org.graalvm.collections.EconomicSet;
v := @parameter: org.graalvm.collections.EconomicSet;
v := @parameter: java.util.List;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: boolean;
v := @parameter: org.graalvm.collections.EconomicSet;
v := @parameter: org.graalvm.collections.EconomicSet;
specialinvoke v.<java.lang.Object: void <init>()>();
v = <org.graalvm.collections.Equivalence: org.graalvm.collections.Equivalence IDENTITY>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet copySet(org.graalvm.collections.EconomicSet,org.graalvm.collections.Equivalence)>(v, v);
v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet accessAnnotations> = v;
v = <org.graalvm.collections.Equivalence: org.graalvm.collections.Equivalence IDENTITY>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicMap copyMap(org.graalvm.collections.EconomicMap,org.graalvm.collections.Equivalence)>(v, v);
v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicMap excludeTypes> = v;
v = <org.graalvm.collections.Equivalence: org.graalvm.collections.Equivalence DEFAULT>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet copySet(org.graalvm.collections.EconomicSet,org.graalvm.collections.Equivalence)>(v, v);
v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet members> = v;
v = <org.graalvm.collections.Equivalence: org.graalvm.collections.Equivalence IDENTITY>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet copySet(org.graalvm.collections.EconomicSet,org.graalvm.collections.Equivalence)>(v, v);
v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableAnnotations> = v;
v = <org.graalvm.collections.Equivalence: org.graalvm.collections.Equivalence IDENTITY>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet copySet(org.graalvm.collections.EconomicSet,org.graalvm.collections.Equivalence)>(v, v);
v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableTypes> = v;
if v == null goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
goto label;
label:
v = null;
label:
v.<org.graalvm.polyglot.HostAccess: java.util.List targetMappings> = v;
v.<org.graalvm.polyglot.HostAccess: java.lang.String name> = v;
v.<org.graalvm.polyglot.HostAccess: boolean allowPublic> = v;
v.<org.graalvm.polyglot.HostAccess: boolean allowAllInterfaceImplementations> = v;
v.<org.graalvm.polyglot.HostAccess: boolean allowAllClassImplementations> = v;
v.<org.graalvm.polyglot.HostAccess: boolean allowArrayAccess> = v;
v.<org.graalvm.polyglot.HostAccess: boolean allowListAccess> = v;
v.<org.graalvm.polyglot.HostAccess: boolean allowBufferAccess> = v;
if v != 0 goto label;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v.<org.graalvm.polyglot.HostAccess: boolean allowIterableAccess> = v;
v.<org.graalvm.polyglot.HostAccess: boolean allowMapAccess> = v;
if v != 0 goto label;
if v != 0 goto label;
if v != 0 goto label;
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v.<org.graalvm.polyglot.HostAccess: boolean allowIteratorAccess> = v;
v.<org.graalvm.polyglot.HostAccess: boolean allowAccessInheritance> = v;
v.<org.graalvm.polyglot.HostAccess: boolean methodScopingDefault> = v;
v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet disableMethodScopingAnnotations> = v;
v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet disableMethodScoping> = v;
return;
}
public boolean equals(java.lang.Object)
{
org.graalvm.collections.EconomicSet v, v, v, v, v, v, v, v;
org.graalvm.collections.EconomicMap v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v, v;
org.graalvm.polyglot.HostAccess v;
java.lang.Object v;
v := @this: org.graalvm.polyglot.HostAccess;
v := @parameter: java.lang.Object;
v = v instanceof org.graalvm.polyglot.HostAccess;
if v != 0 goto label;
return 0;
label:
v = v.<org.graalvm.polyglot.HostAccess: boolean allowPublic>;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowPublic>;
if v != v goto label;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowAllInterfaceImplementations>;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowAllInterfaceImplementations>;
if v != v goto label;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowAllClassImplementations>;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowAllClassImplementations>;
if v != v goto label;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowArrayAccess>;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowArrayAccess>;
if v != v goto label;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowListAccess>;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowListAccess>;
if v != v goto label;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowIterableAccess>;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowIterableAccess>;
if v != v goto label;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowIteratorAccess>;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowIteratorAccess>;
if v != v goto label;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowMapAccess>;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowMapAccess>;
if v != v goto label;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicMap excludeTypes>;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicMap excludeTypes>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: boolean equalsMap(org.graalvm.collections.EconomicMap,org.graalvm.collections.EconomicMap)>(v, v);
if v == 0 goto label;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet members>;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet members>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: boolean equalsSet(org.graalvm.collections.EconomicSet,org.graalvm.collections.EconomicSet)>(v, v);
if v == 0 goto label;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableAnnotations>;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableAnnotations>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: boolean equalsSet(org.graalvm.collections.EconomicSet,org.graalvm.collections.EconomicSet)>(v, v);
if v == 0 goto label;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableTypes>;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableTypes>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: boolean equalsSet(org.graalvm.collections.EconomicSet,org.graalvm.collections.EconomicSet)>(v, v);
if v == 0 goto label;
v = v.<org.graalvm.polyglot.HostAccess: java.util.List targetMappings>;
v = v.<org.graalvm.polyglot.HostAccess: java.util.List targetMappings>;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet accessAnnotations>;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet accessAnnotations>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: boolean equalsSet(org.graalvm.collections.EconomicSet,org.graalvm.collections.EconomicSet)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public int hashCode()
{
org.graalvm.collections.EconomicSet v, v, v, v, v;
java.lang.Integer v, v, v, v, v, v;
org.graalvm.collections.EconomicMap v;
boolean v, v, v, v, v, v, v, v;
java.util.List v;
java.lang.Object[] v;
int v, v, v, v, v, v, v;
java.lang.Boolean v, v, v, v, v, v, v, v;
org.graalvm.polyglot.HostAccess v;
v := @this: org.graalvm.polyglot.HostAccess;
v = newarray (java.lang.Object)[15];
v = v.<org.graalvm.polyglot.HostAccess: boolean allowPublic>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[0] = v;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowAllInterfaceImplementations>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[1] = v;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowAllClassImplementations>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[2] = v;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowArrayAccess>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[3] = v;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowListAccess>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[4] = v;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowIterableAccess>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[5] = v;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowIteratorAccess>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[6] = v;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowMapAccess>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[7] = v;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicMap excludeTypes>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: int hashMap(org.graalvm.collections.EconomicMap)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[8] = v;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet members>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: int hashSet(org.graalvm.collections.EconomicSet)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[9] = v;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableAnnotations>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: int hashSet(org.graalvm.collections.EconomicSet)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[10] = v;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableTypes>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: int hashSet(org.graalvm.collections.EconomicSet)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[11] = v;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet members>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: int hashSet(org.graalvm.collections.EconomicSet)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[12] = v;
v = v.<org.graalvm.polyglot.HostAccess: java.util.List targetMappings>;
v[13] = v;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet accessAnnotations>;
v = staticinvoke <org.graalvm.polyglot.HostAccess: int hashSet(org.graalvm.collections.EconomicSet)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[14] = v;
v = staticinvoke <java.util.Objects: int hash(java.lang.Object[])>(v);
return v;
}
private static int hashMap(org.graalvm.collections.EconomicMap)
{
org.graalvm.collections.MapCursor v;
org.graalvm.collections.EconomicMap v;
int v, v, v, v;
java.lang.Object v, v;
boolean v;
v := @parameter: org.graalvm.collections.EconomicMap;
v = 0;
if v == null goto label;
v = interfaceinvoke v.<org.graalvm.collections.EconomicMap: org.graalvm.collections.MapCursor getEntries()>();
label:
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: boolean advance()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: java.lang.Object getKey()>();
v = staticinvoke <java.util.Objects: int hashCode(java.lang.Object)>(v);
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: java.lang.Object getValue()>();
v = staticinvoke <java.util.Objects: int hashCode(java.lang.Object)>(v);
v = v ^ v;
v = v + v;
goto label;
label:
return v;
}
private static int hashSet(org.graalvm.collections.EconomicSet)
{
java.util.Iterator v;
int v, v;
java.lang.Object v;
org.graalvm.collections.EconomicSet v;
boolean v;
v := @parameter: org.graalvm.collections.EconomicSet;
v = 0;
if v == null goto label;
v = interfaceinvoke v.<org.graalvm.collections.EconomicSet: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
v = v + v;
goto label;
label:
return v;
}
private static boolean equalsMap(org.graalvm.collections.EconomicMap, org.graalvm.collections.EconomicMap)
{
org.graalvm.collections.MapCursor v;
org.graalvm.collections.EconomicMap v, v;
int v, v;
java.lang.Object v, v, v, v;
boolean v, v, v, v;
v := @parameter: org.graalvm.collections.EconomicMap;
v := @parameter: org.graalvm.collections.EconomicMap;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
return 1;
label:
if v != null goto label;
return 0;
label:
v = interfaceinvoke v.<org.graalvm.collections.EconomicMap: int size()>();
v = interfaceinvoke v.<org.graalvm.collections.EconomicMap: int size()>();
if v == v goto label;
return 0;
label:
v = interfaceinvoke v.<org.graalvm.collections.EconomicMap: org.graalvm.collections.MapCursor getEntries()>();
label:
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: boolean advance()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: java.lang.Object getKey()>();
v = interfaceinvoke v.<org.graalvm.collections.EconomicMap: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: java.lang.Object getValue()>();
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: java.lang.Object getKey()>();
v = interfaceinvoke v.<org.graalvm.collections.EconomicMap: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
return 0;
label:
return 1;
}
private static boolean equalsSet(org.graalvm.collections.EconomicSet, org.graalvm.collections.EconomicSet)
{
java.util.Iterator v;
org.graalvm.collections.EconomicSet v, v;
int v, v;
java.lang.Object v;
boolean v, v, v;
v := @parameter: org.graalvm.collections.EconomicSet;
v := @parameter: org.graalvm.collections.EconomicSet;
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
return 1;
label:
if v != null goto label;
return 0;
label:
v = interfaceinvoke v.<org.graalvm.collections.EconomicSet: int size()>();
v = interfaceinvoke v.<org.graalvm.collections.EconomicSet: int size()>();
if v == v goto label;
return 0;
label:
v = interfaceinvoke v.<org.graalvm.collections.EconomicSet: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.graalvm.collections.EconomicSet: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
return 0;
label:
return 1;
}
private static org.graalvm.collections.EconomicSet copySet(org.graalvm.collections.EconomicSet, org.graalvm.collections.Equivalence)
{
org.graalvm.collections.EconomicSet v, v;
org.graalvm.collections.Equivalence v;
v := @parameter: org.graalvm.collections.EconomicSet;
v := @parameter: org.graalvm.collections.Equivalence;
if v != null goto label;
return null;
label:
v = staticinvoke <org.graalvm.collections.EconomicSet: org.graalvm.collections.EconomicSet create(org.graalvm.collections.Equivalence,org.graalvm.collections.UnmodifiableEconomicSet)>(v, v);
return v;
}
private static org.graalvm.collections.EconomicMap copyMap(org.graalvm.collections.EconomicMap, org.graalvm.collections.Equivalence)
{
org.graalvm.collections.Equivalence v;
org.graalvm.collections.EconomicMap v, v;
v := @parameter: org.graalvm.collections.EconomicMap;
v := @parameter: org.graalvm.collections.Equivalence;
if v != null goto label;
return null;
label:
v = staticinvoke <org.graalvm.collections.EconomicMap: org.graalvm.collections.EconomicMap create(org.graalvm.collections.Equivalence,org.graalvm.collections.UnmodifiableEconomicMap)>(v, v);
return v;
}
public static org.graalvm.polyglot.HostAccess$Builder newBuilder()
{
org.graalvm.polyglot.HostAccess v;
org.graalvm.polyglot.HostAccess$Builder v;
v = new org.graalvm.polyglot.HostAccess$Builder;
v = <org.graalvm.polyglot.HostAccess: org.graalvm.polyglot.HostAccess EMPTY>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
specialinvoke v.<org.graalvm.polyglot.HostAccess$Builder: void <init>(org.graalvm.polyglot.HostAccess)>(v);
return v;
}
public static org.graalvm.polyglot.HostAccess$Builder newBuilder(org.graalvm.polyglot.HostAccess)
{
org.graalvm.polyglot.HostAccess v, v;
org.graalvm.polyglot.HostAccess$Builder v;
v := @parameter: org.graalvm.polyglot.HostAccess;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = new org.graalvm.polyglot.HostAccess$Builder;
v = <org.graalvm.polyglot.HostAccess: org.graalvm.polyglot.HostAccess EMPTY>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
specialinvoke v.<org.graalvm.polyglot.HostAccess$Builder: void <init>(org.graalvm.polyglot.HostAccess,org.graalvm.polyglot.HostAccess)>(v, v);
return v;
}
java.util.List getTargetMappings()
{
java.util.List v;
org.graalvm.polyglot.HostAccess v;
v := @this: org.graalvm.polyglot.HostAccess;
v = v.<org.graalvm.polyglot.HostAccess: java.util.List targetMappings>;
return v;
}
boolean allowsImplementation(java.lang.Class)
{
java.util.Iterator v;
org.graalvm.collections.EconomicSet v, v, v, v;
org.graalvm.polyglot.HostAccess v;
java.lang.'annotation'.Annotation v;
java.lang.Class v;
java.lang.Object v;
boolean v, v, v, v, v, v;
v := @this: org.graalvm.polyglot.HostAccess;
v := @parameter: java.lang.Class;
v = v.<org.graalvm.polyglot.HostAccess: boolean allowAllInterfaceImplementations>;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: boolean isInterface()>();
if v == 0 goto label;
return 1;
label:
v = v.<org.graalvm.polyglot.HostAccess: boolean allowAllClassImplementations>;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: boolean isInterface()>();
if v != 0 goto label;
return 1;
label:
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableTypes>;
if v == null goto label;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableTypes>;
v = interfaceinvoke v.<org.graalvm.collections.EconomicSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
return 1;
label:
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableAnnotations>;
if v == null goto label;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet implementableAnnotations>;
v = interfaceinvoke v.<org.graalvm.collections.EconomicSet: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.Class: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(v);
if v == null goto label;
return 1;
label:
return 0;
}
boolean allowsAccess(java.lang.reflect.AnnotatedElement)
{
org.graalvm.collections.EconomicSet v, v, v, v;
org.graalvm.collections.EconomicMap v, v;
boolean v, v, v, v, v, v, v;
java.util.Iterator v;
org.graalvm.collections.MapCursor v;
org.graalvm.polyglot.HostAccess v;
java.lang.Class v;
java.lang.Object v, v, v;
java.lang.reflect.AnnotatedElement v;
v := @this: org.graalvm.polyglot.HostAccess;
v := @parameter: java.lang.reflect.AnnotatedElement;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicMap excludeTypes>;
if v == null goto label;
v = staticinvoke <org.graalvm.polyglot.HostAccess: java.lang.Class getDeclaringClass(java.lang.reflect.AnnotatedElement)>(v);
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicMap excludeTypes>;
v = interfaceinvoke v.<org.graalvm.collections.EconomicMap: org.graalvm.collections.MapCursor getEntries()>();
label:
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: boolean advance()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: java.lang.Object getKey()>();
v = interfaceinvoke v.<org.graalvm.collections.MapCursor: java.lang.Object getValue()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v == 0 goto label;
return 0;
label:
if v != v goto label;
return 0;
label:
v = v.<org.graalvm.polyglot.HostAccess: boolean allowPublic>;
if v == 0 goto label;
return 1;
label:
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet members>;
if v == null goto label;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet members>;
v = interfaceinvoke v.<org.graalvm.collections.EconomicSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
return 1;
label:
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet accessAnnotations>;
if v == null goto label;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet accessAnnotations>;
v = interfaceinvoke v.<org.graalvm.collections.EconomicSet: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <org.graalvm.polyglot.HostAccess: boolean hasAnnotation(java.lang.reflect.AnnotatedElement,java.lang.Class)>(v, v);
if v == 0 goto label;
return 1;
label:
return 0;
}
boolean isMethodScoped(java.lang.reflect.Executable)
{
java.util.Iterator v;
org.graalvm.collections.EconomicSet v, v, v, v;
org.graalvm.polyglot.HostAccess v;
java.lang.'annotation'.Annotation v;
java.lang.reflect.Executable v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.graalvm.polyglot.HostAccess;
v := @parameter: java.lang.reflect.Executable;
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess: boolean isMethodScopingEnabled()>();
if v != 0 goto label;
return 0;
label:
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet disableMethodScoping>;
if v == null goto label;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet disableMethodScoping>;
v = interfaceinvoke v.<org.graalvm.collections.EconomicSet: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
return 0;
label:
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet disableMethodScopingAnnotations>;
if v == null goto label;
v = v.<org.graalvm.polyglot.HostAccess: org.graalvm.collections.EconomicSet disableMethodScopingAnnotations>;
v = interfaceinvoke v.<org.graalvm.collections.EconomicSet: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.reflect.Executable: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(v);
if v == null goto label;
return 0;
label:
return 1;
}
boolean isMethodScopingEnabled()
{
org.graalvm.polyglot.HostAccess v;
boolean v;
v := @this: org.graalvm.polyglot.HostAccess;
v = v.<org.graalvm.polyglot.HostAccess: boolean methodScopingDefault>;
return v;
}
public java.lang.String toString()
{
java.lang.String v, v;
org.graalvm.polyglot.HostAccess v;
v := @this: org.graalvm.polyglot.HostAccess;
v = v.<org.graalvm.polyglot.HostAccess: java.lang.String name>;
if v != null goto label;
v = specialinvoke v.<java.lang.Object: java.lang.String toString()>();
goto label;
label:
v = v.<org.graalvm.polyglot.HostAccess: java.lang.String name>;
label:
return v;
}
private static boolean hasAnnotation(java.lang.reflect.AnnotatedElement, java.lang.Class)
{
java.lang.'annotation'.Annotation v, v, v;
java.lang.Class v;
boolean v, v, v, v, v, v;
java.lang.reflect.AnnotatedElement v;
v := @parameter: java.lang.reflect.AnnotatedElement;
v := @parameter: java.lang.Class;
v = v instanceof java.lang.reflect.Field;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v instanceof java.lang.reflect.Method;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v instanceof java.lang.reflect.Constructor;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.'annotation'.Annotation getAnnotation(java.lang.Class)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
private static java.lang.Class getDeclaringClass(java.lang.reflect.AnnotatedElement)
{
java.lang.Class v, v, v;
boolean v, v, v;
java.lang.reflect.AnnotatedElement v;
v := @parameter: java.lang.reflect.AnnotatedElement;
v = v instanceof java.lang.reflect.Field;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Field: java.lang.Class getDeclaringClass()>();
return v;
label:
v = v instanceof java.lang.reflect.Method;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getDeclaringClass()>();
return v;
label:
v = v instanceof java.lang.reflect.Constructor;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Class getDeclaringClass()>();
return v;
label:
return class "Ljava/lang/Object;";
}
static void <clinit>()
{
org.graalvm.polyglot.HostAccess$Builder v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.graalvm.polyglot.HostAccess v, v, v, v, v;
v = new org.graalvm.polyglot.HostAccess;
specialinvoke v.<org.graalvm.polyglot.HostAccess: void <init>(org.graalvm.collections.EconomicSet,org.graalvm.collections.EconomicMap,org.graalvm.collections.EconomicSet,org.graalvm.collections.EconomicSet,org.graalvm.collections.EconomicSet,java.util.List,java.lang.String,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,org.graalvm.collections.EconomicSet,org.graalvm.collections.EconomicSet)>(null, null, null, null, null, null, null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, null, null);
<org.graalvm.polyglot.HostAccess: org.graalvm.polyglot.HostAccess EMPTY> = v;
v = staticinvoke <org.graalvm.polyglot.HostAccess: org.graalvm.polyglot.HostAccess$Builder newBuilder()>();
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowAccessAnnotatedBy(java.lang.Class)>(class "Lorg/graalvm/polyglot/HostAccess$Export;");
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowImplementationsAnnotatedBy(java.lang.Class)>(class "Lorg/graalvm/polyglot/HostAccess$Implementable;");
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowImplementationsAnnotatedBy(java.lang.Class)>(class "Ljava/lang/FunctionalInterface;");
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder name(java.lang.String)>("HostAccess.EXPLICIT");
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess build()>();
<org.graalvm.polyglot.HostAccess: org.graalvm.polyglot.HostAccess EXPLICIT> = v;
v = staticinvoke <org.graalvm.polyglot.HostAccess: org.graalvm.polyglot.HostAccess$Builder newBuilder()>();
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowAccessAnnotatedBy(java.lang.Class)>(class "Lorg/graalvm/polyglot/HostAccess$Export;");
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowImplementationsAnnotatedBy(java.lang.Class)>(class "Lorg/graalvm/polyglot/HostAccess$Implementable;");
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowImplementationsAnnotatedBy(java.lang.Class)>(class "Ljava/lang/FunctionalInterface;");
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder methodScoping(boolean)>(1);
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder disableMethodScopingAnnotatedBy(java.lang.Class)>(class "Lorg/graalvm/polyglot/HostAccess$DisableMethodScoping;");
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder name(java.lang.String)>("HostAccess.SCOPED");
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess build()>();
<org.graalvm.polyglot.HostAccess: org.graalvm.polyglot.HostAccess SCOPED> = v;
v = staticinvoke <org.graalvm.polyglot.HostAccess: org.graalvm.polyglot.HostAccess$Builder newBuilder()>();
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowPublicAccess(boolean)>(1);
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowAllImplementations(boolean)>(1);
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowAllClassImplementations(boolean)>(1);
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowArrayAccess(boolean)>(1);
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowListAccess(boolean)>(1);
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowBufferAccess(boolean)>(1);
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowIterableAccess(boolean)>(1);
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowIteratorAccess(boolean)>(1);
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowMapAccess(boolean)>(1);
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder allowAccessInheritance(boolean)>(1);
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder name(java.lang.String)>("HostAccess.ALL");
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess build()>();
<org.graalvm.polyglot.HostAccess: org.graalvm.polyglot.HostAccess ALL> = v;
v = staticinvoke <org.graalvm.polyglot.HostAccess: org.graalvm.polyglot.HostAccess$Builder newBuilder()>();
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess$Builder name(java.lang.String)>("HostAccess.NONE");
v = virtualinvoke v.<org.graalvm.polyglot.HostAccess$Builder: org.graalvm.polyglot.HostAccess build()>();
<org.graalvm.polyglot.HostAccess: org.graalvm.polyglot.HostAccess NONE> = v;
return;
}
}