public class org.objectweb.asm.util.CheckModuleAdapter extends org.objectweb.asm.ModuleVisitor
{
private final boolean isOpen;
private final org.objectweb.asm.util.CheckModuleAdapter$NameSet requiredModules;
private final org.objectweb.asm.util.CheckModuleAdapter$NameSet exportedPackages;
private final org.objectweb.asm.util.CheckModuleAdapter$NameSet openedPackages;
private final org.objectweb.asm.util.CheckModuleAdapter$NameSet usedServices;
private final org.objectweb.asm.util.CheckModuleAdapter$NameSet providedServices;
int classVersion;
private boolean visitEndCalled;
public void <init>(org.objectweb.asm.ModuleVisitor, boolean)
{
java.lang.IllegalStateException v;
org.objectweb.asm.ModuleVisitor v;
org.objectweb.asm.util.CheckModuleAdapter v;
java.lang.Class v;
boolean v;
v := @this: org.objectweb.asm.util.CheckModuleAdapter;
v := @parameter: org.objectweb.asm.ModuleVisitor;
v := @parameter: boolean;
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter: void <init>(int,org.objectweb.asm.ModuleVisitor,boolean)>(589824, v, v);
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
if v == class "Lorg/objectweb/asm/util/CheckModuleAdapter;" goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
label:
return;
}
protected void <init>(int, org.objectweb.asm.ModuleVisitor, boolean)
{
org.objectweb.asm.ModuleVisitor v;
org.objectweb.asm.util.CheckModuleAdapter v;
int v;
org.objectweb.asm.util.CheckModuleAdapter$NameSet v, v, v, v, v;
boolean v;
v := @this: org.objectweb.asm.util.CheckModuleAdapter;
v := @parameter: int;
v := @parameter: org.objectweb.asm.ModuleVisitor;
v := @parameter: boolean;
specialinvoke v.<org.objectweb.asm.ModuleVisitor: void <init>(int,org.objectweb.asm.ModuleVisitor)>(v, v);
v = new org.objectweb.asm.util.CheckModuleAdapter$NameSet;
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter$NameSet: void <init>(java.lang.String)>("Modules requires");
v.<org.objectweb.asm.util.CheckModuleAdapter: org.objectweb.asm.util.CheckModuleAdapter$NameSet requiredModules> = v;
v = new org.objectweb.asm.util.CheckModuleAdapter$NameSet;
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter$NameSet: void <init>(java.lang.String)>("Module exports");
v.<org.objectweb.asm.util.CheckModuleAdapter: org.objectweb.asm.util.CheckModuleAdapter$NameSet exportedPackages> = v;
v = new org.objectweb.asm.util.CheckModuleAdapter$NameSet;
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter$NameSet: void <init>(java.lang.String)>("Module opens");
v.<org.objectweb.asm.util.CheckModuleAdapter: org.objectweb.asm.util.CheckModuleAdapter$NameSet openedPackages> = v;
v = new org.objectweb.asm.util.CheckModuleAdapter$NameSet;
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter$NameSet: void <init>(java.lang.String)>("Module uses");
v.<org.objectweb.asm.util.CheckModuleAdapter: org.objectweb.asm.util.CheckModuleAdapter$NameSet usedServices> = v;
v = new org.objectweb.asm.util.CheckModuleAdapter$NameSet;
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter$NameSet: void <init>(java.lang.String)>("Module provides");
v.<org.objectweb.asm.util.CheckModuleAdapter: org.objectweb.asm.util.CheckModuleAdapter$NameSet providedServices> = v;
v.<org.objectweb.asm.util.CheckModuleAdapter: boolean isOpen> = v;
return;
}
public void visitMainClass(java.lang.String)
{
java.lang.String v;
org.objectweb.asm.util.CheckModuleAdapter v;
v := @this: org.objectweb.asm.util.CheckModuleAdapter;
v := @parameter: java.lang.String;
staticinvoke <org.objectweb.asm.util.CheckMethodAdapter: void checkInternalName(int,java.lang.String,java.lang.String)>(53, v, "module main class");
specialinvoke v.<org.objectweb.asm.ModuleVisitor: void visitMainClass(java.lang.String)>(v);
return;
}
public void visitPackage(java.lang.String)
{
java.lang.String v;
org.objectweb.asm.util.CheckModuleAdapter v;
v := @this: org.objectweb.asm.util.CheckModuleAdapter;
v := @parameter: java.lang.String;
staticinvoke <org.objectweb.asm.util.CheckMethodAdapter: void checkInternalName(int,java.lang.String,java.lang.String)>(53, v, "module package");
specialinvoke v.<org.objectweb.asm.ModuleVisitor: void visitPackage(java.lang.String)>(v);
return;
}
public void visitRequire(java.lang.String, int, java.lang.String)
{
org.objectweb.asm.util.CheckModuleAdapter v;
java.lang.IllegalArgumentException v;
int v, v, v, v;
java.lang.String v, v, v;
org.objectweb.asm.util.CheckModuleAdapter$NameSet v;
boolean v;
v := @this: org.objectweb.asm.util.CheckModuleAdapter;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: java.lang.String;
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter: void checkVisitEndNotCalled()>();
staticinvoke <org.objectweb.asm.util.CheckClassAdapter: void checkFullyQualifiedName(int,java.lang.String,java.lang.String)>(53, v, "required module");
v = v.<org.objectweb.asm.util.CheckModuleAdapter: org.objectweb.asm.util.CheckModuleAdapter$NameSet requiredModules>;
virtualinvoke v.<org.objectweb.asm.util.CheckModuleAdapter$NameSet: void checkNameNotAlreadyDeclared(java.lang.String)>(v);
v = (int) 36960;
staticinvoke <org.objectweb.asm.util.CheckClassAdapter: void checkAccess(int,int)>(v, v);
v = v.<org.objectweb.asm.util.CheckModuleAdapter: int classVersion>;
if v < 54 goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("java.base");
if v == 0 goto label;
v = v & 96;
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Invalid access flags: \u java.base can not be declared ACC_TRANSITIVE or ACC_STATIC_PHASE");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
specialinvoke v.<org.objectweb.asm.ModuleVisitor: void visitRequire(java.lang.String,int,java.lang.String)>(v, v, v);
return;
}
public transient void visitExport(java.lang.String, int, java.lang.String[])
{
org.objectweb.asm.util.CheckModuleAdapter v;
java.lang.String[] v;
int v, v, v, v;
java.lang.String v, v;
org.objectweb.asm.util.CheckModuleAdapter$NameSet v;
v := @this: org.objectweb.asm.util.CheckModuleAdapter;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: java.lang.String[];
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter: void checkVisitEndNotCalled()>();
staticinvoke <org.objectweb.asm.util.CheckMethodAdapter: void checkInternalName(int,java.lang.String,java.lang.String)>(53, v, "package name");
v = v.<org.objectweb.asm.util.CheckModuleAdapter: org.objectweb.asm.util.CheckModuleAdapter$NameSet exportedPackages>;
virtualinvoke v.<org.objectweb.asm.util.CheckModuleAdapter$NameSet: void checkNameNotAlreadyDeclared(java.lang.String)>(v);
v = (int) 36864;
staticinvoke <org.objectweb.asm.util.CheckClassAdapter: void checkAccess(int,int)>(v, v);
if v == null goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
staticinvoke <org.objectweb.asm.util.CheckClassAdapter: void checkFullyQualifiedName(int,java.lang.String,java.lang.String)>(53, v, "module export to");
v = v + 1;
goto label;
label:
specialinvoke v.<org.objectweb.asm.ModuleVisitor: void visitExport(java.lang.String,int,java.lang.String[])>(v, v, v);
return;
}
public transient void visitOpen(java.lang.String, int, java.lang.String[])
{
java.lang.UnsupportedOperationException v;
org.objectweb.asm.util.CheckModuleAdapter v;
java.lang.String[] v;
int v, v, v, v;
java.lang.String v, v;
org.objectweb.asm.util.CheckModuleAdapter$NameSet v;
boolean v;
v := @this: org.objectweb.asm.util.CheckModuleAdapter;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: java.lang.String[];
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter: void checkVisitEndNotCalled()>();
v = v.<org.objectweb.asm.util.CheckModuleAdapter: boolean isOpen>;
if v == 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("An open module can not use open directive");
throw v;
label:
staticinvoke <org.objectweb.asm.util.CheckMethodAdapter: void checkInternalName(int,java.lang.String,java.lang.String)>(53, v, "package name");
v = v.<org.objectweb.asm.util.CheckModuleAdapter: org.objectweb.asm.util.CheckModuleAdapter$NameSet openedPackages>;
virtualinvoke v.<org.objectweb.asm.util.CheckModuleAdapter$NameSet: void checkNameNotAlreadyDeclared(java.lang.String)>(v);
v = (int) 36864;
staticinvoke <org.objectweb.asm.util.CheckClassAdapter: void checkAccess(int,int)>(v, v);
if v == null goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
staticinvoke <org.objectweb.asm.util.CheckClassAdapter: void checkFullyQualifiedName(int,java.lang.String,java.lang.String)>(53, v, "module open to");
v = v + 1;
goto label;
label:
specialinvoke v.<org.objectweb.asm.ModuleVisitor: void visitOpen(java.lang.String,int,java.lang.String[])>(v, v, v);
return;
}
public void visitUse(java.lang.String)
{
java.lang.String v;
org.objectweb.asm.util.CheckModuleAdapter v;
org.objectweb.asm.util.CheckModuleAdapter$NameSet v;
v := @this: org.objectweb.asm.util.CheckModuleAdapter;
v := @parameter: java.lang.String;
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter: void checkVisitEndNotCalled()>();
staticinvoke <org.objectweb.asm.util.CheckMethodAdapter: void checkInternalName(int,java.lang.String,java.lang.String)>(53, v, "service");
v = v.<org.objectweb.asm.util.CheckModuleAdapter: org.objectweb.asm.util.CheckModuleAdapter$NameSet usedServices>;
virtualinvoke v.<org.objectweb.asm.util.CheckModuleAdapter$NameSet: void checkNameNotAlreadyDeclared(java.lang.String)>(v);
specialinvoke v.<org.objectweb.asm.ModuleVisitor: void visitUse(java.lang.String)>(v);
return;
}
public transient void visitProvide(java.lang.String, java.lang.String[])
{
org.objectweb.asm.util.CheckModuleAdapter v;
java.lang.String[] v;
java.lang.IllegalArgumentException v;
int v, v, v;
java.lang.String v, v;
org.objectweb.asm.util.CheckModuleAdapter$NameSet v;
v := @this: org.objectweb.asm.util.CheckModuleAdapter;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String[];
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter: void checkVisitEndNotCalled()>();
staticinvoke <org.objectweb.asm.util.CheckMethodAdapter: void checkInternalName(int,java.lang.String,java.lang.String)>(53, v, "service");
v = v.<org.objectweb.asm.util.CheckModuleAdapter: org.objectweb.asm.util.CheckModuleAdapter$NameSet providedServices>;
virtualinvoke v.<org.objectweb.asm.util.CheckModuleAdapter$NameSet: void checkNameNotAlreadyDeclared(java.lang.String)>(v);
if v == null goto label;
v = lengthof v;
if v != 0 goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Providers cannot be null or empty");
throw v;
label:
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
staticinvoke <org.objectweb.asm.util.CheckMethodAdapter: void checkInternalName(int,java.lang.String,java.lang.String)>(53, v, "provider");
v = v + 1;
goto label;
label:
specialinvoke v.<org.objectweb.asm.ModuleVisitor: void visitProvide(java.lang.String,java.lang.String[])>(v, v);
return;
}
public void visitEnd()
{
org.objectweb.asm.util.CheckModuleAdapter v;
v := @this: org.objectweb.asm.util.CheckModuleAdapter;
specialinvoke v.<org.objectweb.asm.util.CheckModuleAdapter: void checkVisitEndNotCalled()>();
v.<org.objectweb.asm.util.CheckModuleAdapter: boolean visitEndCalled> = 1;
specialinvoke v.<org.objectweb.asm.ModuleVisitor: void visitEnd()>();
return;
}
private void checkVisitEndNotCalled()
{
java.lang.IllegalStateException v;
org.objectweb.asm.util.CheckModuleAdapter v;
boolean v;
v := @this: org.objectweb.asm.util.CheckModuleAdapter;
v = v.<org.objectweb.asm.util.CheckModuleAdapter: boolean visitEndCalled>;
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Cannot call a visit method after visitEnd has been called");
throw v;
label:
return;
}
}