public class com.google.common.testing.NullPointerTesterTest extends junit.framework.TestCase
{
private static final java.lang.String[] STATIC_ONE_ARG_METHODS_SHOULD_PASS;
private static final java.lang.String[] STATIC_ONE_ARG_METHODS_SHOULD_FAIL;
private static final java.lang.String[] NONSTATIC_ONE_ARG_METHODS_SHOULD_PASS;
private static final java.lang.String[] NONSTATIC_ONE_ARG_METHODS_SHOULD_FAIL;
public void <init>()
{
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
specialinvoke v.<junit.framework.TestCase: void <init>()>();
return;
}
public void testInterfaceStaticMethod()
{
java.lang.AssertionError v;
com.google.common.testing.NullPointerTester v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicStaticMethods(java.lang.Class)>(class "Lcom/google/common/testing/NullPointerTesterTest$InterfaceStaticMethodChecksNull;");
label:
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicStaticMethods(java.lang.Class)>(class "Lcom/google/common/testing/NullPointerTesterTest$InterfaceStaticMethodFailsToCheckNull;");
label:
goto label;
label:
v := @caughtexception;
return;
label:
staticinvoke <com.google.common.testing.NullPointerTesterTest: void fail()>();
return;
catch java.lang.AssertionError from label to label with label;
}
public void testInterfaceDefaultMethod()
{
com.google.common.testing.NullPointerTester v;
com.google.common.testing.NullPointerTesterTest$InterfaceDefaultMethodChecksNull v;
com.google.common.testing.NullPointerTesterTest$InterfaceDefaultMethodFailsToCheckNull v;
java.lang.AssertionError v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
v = staticinvoke <com.google.common.testing.NullPointerTesterTest$InterfaceDefaultMethodChecksNull: com.google.common.testing.NullPointerTesterTest$InterfaceDefaultMethodChecksNull create()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicInstanceMethods(java.lang.Object)>(v);
label:
v = staticinvoke <com.google.common.testing.NullPointerTesterTest$InterfaceDefaultMethodFailsToCheckNull: com.google.common.testing.NullPointerTesterTest$InterfaceDefaultMethodFailsToCheckNull create()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicInstanceMethods(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
return;
label:
staticinvoke <com.google.common.testing.NullPointerTesterTest: void fail()>();
return;
catch java.lang.AssertionError from label to label with label;
}
public void testDontAcceptIae()
{
java.lang.Throwable v;
com.google.common.testing.NullPointerTester v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicStaticMethods(java.lang.Class)>(class "Lcom/google/common/testing/NullPointerTesterTest$ThrowsNpe;");
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicStaticMethods(java.lang.Class)>(class "Lcom/google/common/testing/NullPointerTesterTest$ThrowsUoe;");
label:
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicStaticMethods(java.lang.Class)>(class "Lcom/google/common/testing/NullPointerTesterTest$ThrowsIae;");
label:
goto label;
label:
v := @caughtexception;
return;
label:
staticinvoke <com.google.common.testing.NullPointerTesterTest: void fail()>();
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
public void testStaticOneArgMethodsThatShouldPass() throws java.lang.Exception
{
java.lang.Throwable v;
com.google.common.testing.NullPointerTester v;
java.lang.Class[] v;
java.lang.String[] v;
int v, v;
java.lang.Class v;
java.lang.String v, v;
com.google.common.testing.NullPointerTesterTest$OneArg v;
java.lang.reflect.Method v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = <com.google.common.testing.NullPointerTesterTest: java.lang.String[] STATIC_ONE_ARG_METHODS_SHOULD_PASS>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = class "Lcom/google/common/testing/NullPointerTesterTest$OneArg;";
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/lang/String;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>(v, v);
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
v = new com.google.common.testing.NullPointerTesterTest$OneArg;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$OneArg: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testMethodParameter(java.lang.Object,java.lang.reflect.Method,int)>(v, v, 0);
label:
goto label;
label:
v := @caughtexception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Should not have flagged method \u0001");
staticinvoke <com.google.common.testing.NullPointerTesterTest: void fail(java.lang.String)>(v);
label:
v = v + 1;
goto label;
label:
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
public void testStaticOneArgMethodsThatShouldFail() throws java.lang.Exception
{
java.lang.Throwable v;
com.google.common.testing.NullPointerTester v;
java.lang.Class[] v;
java.lang.String[] v;
int v, v;
java.lang.Class v;
java.lang.String v, v;
com.google.common.testing.NullPointerTesterTest$OneArg v;
java.lang.reflect.Method v;
boolean v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = <com.google.common.testing.NullPointerTesterTest: java.lang.String[] STATIC_ONE_ARG_METHODS_SHOULD_FAIL>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = class "Lcom/google/common/testing/NullPointerTesterTest$OneArg;";
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/lang/String;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>(v, v);
v = 0;
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
v = new com.google.common.testing.NullPointerTesterTest$OneArg;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$OneArg: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testMethodParameter(java.lang.Object,java.lang.reflect.Method,int)>(v, v, 0);
label:
goto label;
label:
v := @caughtexception;
v = 1;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Should report error in method \u0001");
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertTrue(java.lang.String,boolean)>(v, v);
v = v + 1;
goto label;
label:
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
public void testNonStaticOneArgMethodsThatShouldPass() throws java.lang.Exception
{
java.lang.Throwable v;
com.google.common.testing.NullPointerTester v;
java.lang.Class[] v;
java.lang.String[] v;
int v, v;
java.lang.Class v;
java.lang.String v, v;
com.google.common.testing.NullPointerTesterTest$OneArg v;
java.lang.reflect.Method v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$OneArg;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$OneArg: void <init>()>();
v = <com.google.common.testing.NullPointerTesterTest: java.lang.String[] NONSTATIC_ONE_ARG_METHODS_SHOULD_PASS>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = class "Lcom/google/common/testing/NullPointerTesterTest$OneArg;";
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/lang/String;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>(v, v);
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testMethodParameter(java.lang.Object,java.lang.reflect.Method,int)>(v, v, 0);
label:
goto label;
label:
v := @caughtexception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Should not have flagged method \u0001");
staticinvoke <com.google.common.testing.NullPointerTesterTest: void fail(java.lang.String)>(v);
label:
v = v + 1;
goto label;
label:
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
public void testNonStaticOneArgMethodsThatShouldFail() throws java.lang.Exception
{
java.lang.Throwable v;
com.google.common.testing.NullPointerTester v;
java.lang.Class[] v;
java.lang.String[] v;
int v, v;
java.lang.Class v;
java.lang.String v, v;
com.google.common.testing.NullPointerTesterTest$OneArg v;
java.lang.reflect.Method v;
boolean v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$OneArg;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$OneArg: void <init>()>();
v = <com.google.common.testing.NullPointerTesterTest: java.lang.String[] NONSTATIC_ONE_ARG_METHODS_SHOULD_FAIL>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = class "Lcom/google/common/testing/NullPointerTesterTest$OneArg;";
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/lang/String;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>(v, v);
v = 0;
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testMethodParameter(java.lang.Object,java.lang.reflect.Method,int)>(v, v, 0);
label:
goto label;
label:
v := @caughtexception;
v = 1;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Should report error in method \u0001");
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertTrue(java.lang.String,boolean)>(v, v);
v = v + 1;
goto label;
label:
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
public void testMessageOtherException() throws java.lang.Exception
{
java.lang.Throwable v;
com.google.common.testing.NullPointerTester v;
java.lang.Class[] v;
com.google.common.truth.StringSubject v, v;
java.lang.Class v;
java.lang.String v, v;
com.google.common.testing.NullPointerTesterTest$OneArg v;
java.lang.reflect.Method v;
boolean v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = class "Lcom/google/common/testing/NullPointerTesterTest$OneArg;";
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/lang/String;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("staticOneArgThrowsOtherThanNpe", v);
v = 0;
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
v = new com.google.common.testing.NullPointerTesterTest$OneArg;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$OneArg: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testMethodParameter(java.lang.Object,java.lang.reflect.Method,int)>(v, v, 0);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<junit.framework.AssertionFailedError: java.lang.String getMessage()>();
v = staticinvoke <com.google.common.truth.Truth: com.google.common.truth.StringSubject assertThat(java.lang.String)>(v);
virtualinvoke v.<com.google.common.truth.StringSubject: void contains(java.lang.CharSequence)>("index 0");
v = virtualinvoke v.<junit.framework.AssertionFailedError: java.lang.String getMessage()>();
v = staticinvoke <com.google.common.truth.Truth: com.google.common.truth.StringSubject assertThat(java.lang.String)>(v);
virtualinvoke v.<com.google.common.truth.StringSubject: void contains(java.lang.CharSequence)>("[null]");
v = 1;
label:
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertTrue(java.lang.String,boolean)>("Should report error when different exception is thrown", v);
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
public void testMessageNoException() throws java.lang.Exception
{
java.lang.Throwable v;
com.google.common.testing.NullPointerTester v;
java.lang.Class[] v;
com.google.common.truth.StringSubject v, v;
java.lang.Class v;
java.lang.String v, v;
com.google.common.testing.NullPointerTesterTest$OneArg v;
java.lang.reflect.Method v;
boolean v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = class "Lcom/google/common/testing/NullPointerTesterTest$OneArg;";
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/lang/String;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("staticOneArgShouldThrowNpeButDoesnt", v);
v = 0;
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
v = new com.google.common.testing.NullPointerTesterTest$OneArg;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$OneArg: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testMethodParameter(java.lang.Object,java.lang.reflect.Method,int)>(v, v, 0);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<junit.framework.AssertionFailedError: java.lang.String getMessage()>();
v = staticinvoke <com.google.common.truth.Truth: com.google.common.truth.StringSubject assertThat(java.lang.String)>(v);
virtualinvoke v.<com.google.common.truth.StringSubject: void contains(java.lang.CharSequence)>("index 0");
v = virtualinvoke v.<junit.framework.AssertionFailedError: java.lang.String getMessage()>();
v = staticinvoke <com.google.common.truth.Truth: com.google.common.truth.StringSubject assertThat(java.lang.String)>(v);
virtualinvoke v.<com.google.common.truth.StringSubject: void contains(java.lang.CharSequence)>("[null]");
v = 1;
label:
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertTrue(java.lang.String,boolean)>("Should report error when no exception is thrown", v);
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
public void verifyBarPass(java.lang.reflect.Method, com.google.common.testing.NullPointerTesterTest$TwoArg)
{
java.lang.Throwable v;
java.lang.Object[] v;
com.google.common.testing.NullPointerTester v;
com.google.common.testing.NullPointerTesterTest$TwoArg v;
java.lang.String v, v;
java.lang.reflect.Method v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v := @parameter: java.lang.reflect.Method;
v := @parameter: com.google.common.testing.NullPointerTesterTest$TwoArg;
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testMethod(java.lang.Object,java.lang.reflect.Method)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v[0] = v;
v[1] = v;
v = staticinvoke <com.google.common.testing.NullPointerTesterTest: java.lang.String rootLocaleFormat(java.lang.String,java.lang.Object[])>("Should not have flagged method %s for %s", v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertNull(java.lang.String,java.lang.Object)>(v, v);
label:
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
public void verifyBarFail(java.lang.reflect.Method, com.google.common.testing.NullPointerTesterTest$TwoArg)
{
java.lang.Throwable v;
java.lang.Object[] v;
com.google.common.testing.NullPointerTester v;
com.google.common.testing.NullPointerTesterTest$TwoArg v;
java.lang.String v, v;
java.lang.reflect.Method v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v := @parameter: java.lang.reflect.Method;
v := @parameter: com.google.common.testing.NullPointerTesterTest$TwoArg;
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testMethod(java.lang.Object,java.lang.reflect.Method)>(v, v);
label:
goto label;
label:
v := @caughtexception;
return;
label:
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v[0] = v;
v[1] = v;
v = staticinvoke <com.google.common.testing.NullPointerTesterTest: java.lang.String rootLocaleFormat(java.lang.String,java.lang.Object[])>("Should have flagged method %s for %s", v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void fail(java.lang.String)>(v);
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
public void testTwoArgNormalNormal() throws java.lang.Exception
{
int v, v, v, v;
com.google.common.testing.NullPointerTesterTest$TwoArg$Action v, v, v, v;
java.lang.reflect.Method v;
boolean v, v;
com.google.common.testing.NullPointerTesterTest v;
com.google.common.testing.NullPointerTesterTest$TwoArg v;
java.lang.Class[] v;
com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] v, v;
java.lang.Class v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = class "Lcom/google/common/testing/NullPointerTesterTest$TwoArg;";
v = newarray (java.lang.Class)[2];
v[0] = class "Ljava/lang/String;";
v[1] = class "Ljava/lang/Integer;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("normalNormal", v);
v = staticinvoke <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = new com.google.common.testing.NullPointerTesterTest$TwoArg;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$TwoArg: void <init>(com.google.common.testing.NullPointerTesterTest$TwoArg$Action,com.google.common.testing.NullPointerTesterTest$TwoArg$Action)>(v, v);
v = <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action THROW_A_NPE>;
v = virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$TwoArg$Action: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action THROW_A_NPE>;
v = virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$TwoArg$Action: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest: void verifyBarPass(java.lang.reflect.Method,com.google.common.testing.NullPointerTesterTest$TwoArg)>(v, v);
goto label;
label:
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest: void verifyBarFail(java.lang.reflect.Method,com.google.common.testing.NullPointerTesterTest$TwoArg)>(v, v);
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return;
}
public void testTwoArgNormalNullable() throws java.lang.Exception
{
com.google.common.testing.NullPointerTesterTest$TwoArg v;
java.lang.Class[] v;
com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] v, v;
int v, v, v, v;
java.lang.Class v;
com.google.common.testing.NullPointerTesterTest$TwoArg$Action v, v, v;
java.lang.reflect.Method v;
boolean v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = class "Lcom/google/common/testing/NullPointerTesterTest$TwoArg;";
v = newarray (java.lang.Class)[2];
v[0] = class "Ljava/lang/String;";
v[1] = class "Ljava/lang/Integer;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("normalNullable", v);
v = staticinvoke <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = new com.google.common.testing.NullPointerTesterTest$TwoArg;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$TwoArg: void <init>(com.google.common.testing.NullPointerTesterTest$TwoArg$Action,com.google.common.testing.NullPointerTesterTest$TwoArg$Action)>(v, v);
v = <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action THROW_A_NPE>;
v = virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$TwoArg$Action: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest: void verifyBarPass(java.lang.reflect.Method,com.google.common.testing.NullPointerTesterTest$TwoArg)>(v, v);
goto label;
label:
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest: void verifyBarFail(java.lang.reflect.Method,com.google.common.testing.NullPointerTesterTest$TwoArg)>(v, v);
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return;
}
public void testTwoArgNullableNormal() throws java.lang.Exception
{
com.google.common.testing.NullPointerTesterTest$TwoArg v;
java.lang.Class[] v;
com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] v, v;
int v, v, v, v;
java.lang.Class v;
com.google.common.testing.NullPointerTesterTest$TwoArg$Action v, v, v;
java.lang.reflect.Method v;
boolean v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = class "Lcom/google/common/testing/NullPointerTesterTest$TwoArg;";
v = newarray (java.lang.Class)[2];
v[0] = class "Ljava/lang/String;";
v[1] = class "Ljava/lang/Integer;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("nullableNormal", v);
v = staticinvoke <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = new com.google.common.testing.NullPointerTesterTest$TwoArg;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$TwoArg: void <init>(com.google.common.testing.NullPointerTesterTest$TwoArg$Action,com.google.common.testing.NullPointerTesterTest$TwoArg$Action)>(v, v);
v = <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action THROW_A_NPE>;
v = virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$TwoArg$Action: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest: void verifyBarPass(java.lang.reflect.Method,com.google.common.testing.NullPointerTesterTest$TwoArg)>(v, v);
goto label;
label:
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest: void verifyBarFail(java.lang.reflect.Method,com.google.common.testing.NullPointerTesterTest$TwoArg)>(v, v);
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return;
}
public void testTwoArgNullableNullable() throws java.lang.Exception
{
com.google.common.testing.NullPointerTesterTest$TwoArg v;
java.lang.Class[] v;
com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] v, v;
int v, v, v, v;
java.lang.Class v;
com.google.common.testing.NullPointerTesterTest$TwoArg$Action v, v;
java.lang.reflect.Method v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = class "Lcom/google/common/testing/NullPointerTesterTest$TwoArg;";
v = newarray (java.lang.Class)[2];
v[0] = class "Ljava/lang/String;";
v[1] = class "Ljava/lang/Integer;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>("nullableNullable", v);
v = staticinvoke <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <com.google.common.testing.NullPointerTesterTest$TwoArg$Action: com.google.common.testing.NullPointerTesterTest$TwoArg$Action[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = new com.google.common.testing.NullPointerTesterTest$TwoArg;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$TwoArg: void <init>(com.google.common.testing.NullPointerTesterTest$TwoArg$Action,com.google.common.testing.NullPointerTesterTest$TwoArg$Action)>(v, v);
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest: void verifyBarPass(java.lang.reflect.Method,com.google.common.testing.NullPointerTesterTest$TwoArg)>(v, v);
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return;
}
public void testGoodClass()
{
com.google.common.testing.NullPointerTesterTest$PassObject v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$PassObject;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$PassObject: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
return;
}
public void testFailOneArgDoesntThrowNpe()
{
com.google.common.testing.NullPointerTesterTest$FailOneArgDoesntThrowNPE v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$FailOneArgDoesntThrowNPE;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$FailOneArgDoesntThrowNPE: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testFailOneArgThrowsWrongType()
{
com.google.common.testing.NullPointerTesterTest$FailOneArgThrowsWrongType v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$FailOneArgThrowsWrongType;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$FailOneArgThrowsWrongType: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testPassOneNullableArgThrowsNPE()
{
com.google.common.testing.NullPointerTesterTest$PassOneNullableArgThrowsNPE v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$PassOneNullableArgThrowsNPE;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$PassOneNullableArgThrowsNPE: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
return;
}
public void testFailTwoArgsFirstArgDoesntThrowNPE()
{
com.google.common.testing.NullPointerTesterTest$FailTwoArgsFirstArgDoesntThrowNPE v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$FailTwoArgsFirstArgDoesntThrowNPE;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$FailTwoArgsFirstArgDoesntThrowNPE: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testFailTwoArgsFirstArgThrowsWrongType()
{
com.google.common.testing.NullPointerTesterTest v;
com.google.common.testing.NullPointerTesterTest$FailTwoArgsFirstArgThrowsWrongType v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$FailTwoArgsFirstArgThrowsWrongType;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$FailTwoArgsFirstArgThrowsWrongType: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testFailTwoArgsSecondArgDoesntThrowNPE()
{
com.google.common.testing.NullPointerTesterTest$FailTwoArgsSecondArgDoesntThrowNPE v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$FailTwoArgsSecondArgDoesntThrowNPE;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$FailTwoArgsSecondArgDoesntThrowNPE: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testFailTwoArgsSecondArgThrowsWrongType()
{
com.google.common.testing.NullPointerTesterTest$FailTwoArgsSecondArgThrowsWrongType v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$FailTwoArgsSecondArgThrowsWrongType;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$FailTwoArgsSecondArgThrowsWrongType: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testFailTwoMixedArgsFirstArgDoesntThrowNPE()
{
com.google.common.testing.NullPointerTesterTest v;
com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsFirstArgDoesntThrowNPE v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsFirstArgDoesntThrowNPE;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsFirstArgDoesntThrowNPE: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testFailTwoMixedArgsFirstArgThrowsWrongType()
{
com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsFirstArgThrowsWrongType v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsFirstArgThrowsWrongType;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsFirstArgThrowsWrongType: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testPassTwoMixedArgsNullableArgThrowsNPE()
{
com.google.common.testing.NullPointerTesterTest$PassTwoMixedArgsNullableArgThrowsNPE v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$PassTwoMixedArgsNullableArgThrowsNPE;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$PassTwoMixedArgsNullableArgThrowsNPE: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
return;
}
public void testPassTwoMixedArgSecondNullableArgThrowsOther()
{
com.google.common.testing.NullPointerTesterTest$PassTwoMixedArgSecondNullableArgThrowsOther v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$PassTwoMixedArgSecondNullableArgThrowsOther;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$PassTwoMixedArgSecondNullableArgThrowsOther: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
return;
}
public void testFailTwoMixedArgsSecondArgDoesntThrowNPE()
{
com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsSecondArgDoesntThrowNPE v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsSecondArgDoesntThrowNPE;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsSecondArgDoesntThrowNPE: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testFailTwoMixedArgsSecondArgThrowsWrongType()
{
com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsSecondArgThrowsWrongType v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsSecondArgThrowsWrongType;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$FailTwoMixedArgsSecondArgThrowsWrongType: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testPassTwoNullableArgsFirstThrowsNPE()
{
com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsFirstThrowsNPE v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsFirstThrowsNPE;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsFirstThrowsNPE: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
return;
}
public void testPassTwoNullableArgsFirstThrowsOther()
{
com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsFirstThrowsOther v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsFirstThrowsOther;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsFirstThrowsOther: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
return;
}
public void testPassTwoNullableArgsSecondThrowsNPE()
{
com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsSecondThrowsNPE v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsSecondThrowsNPE;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsSecondThrowsNPE: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
return;
}
public void testPassTwoNullableArgsSecondThrowsOther()
{
com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsSecondThrowsOther v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsSecondThrowsOther;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsSecondThrowsOther: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
return;
}
public void testPassTwoNullableArgsNeitherThrowsAnything()
{
com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsNeitherThrowsAnything v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsNeitherThrowsAnything;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$PassTwoNullableArgsNeitherThrowsAnything: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
return;
}
public void testSubclassWithBadSuperclass()
{
com.google.common.testing.NullPointerTesterTest$SubclassWithBadSuperclass v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$SubclassWithBadSuperclass;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$SubclassWithBadSuperclass: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testSubclassWithBadSuperclassForPackagePrivateMethod()
{
com.google.common.testing.NullPointerTesterTest$SubclassWithBadSuperclassForPackagePrivate v;
com.google.common.testing.NullPointerTester$Visibility v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$SubclassWithBadSuperclassForPackagePrivate;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$SubclassWithBadSuperclassForPackagePrivate: void <init>()>();
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PACKAGE>;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
return;
}
public void testSubclassWithBadSuperclassForPackageProtectedMethod()
{
com.google.common.testing.NullPointerTester$Visibility v;
com.google.common.testing.NullPointerTesterTest$SubclassWithBadSuperclassForProtected v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$SubclassWithBadSuperclassForProtected;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$SubclassWithBadSuperclassForProtected: void <init>()>();
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PROTECTED>;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
return;
}
public void testSubclassThatOverridesBadSuperclassMethod()
{
com.google.common.testing.NullPointerTesterTest$SubclassThatOverridesBadSuperclassMethod v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$SubclassThatOverridesBadSuperclassMethod;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$SubclassThatOverridesBadSuperclassMethod: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
return;
}
public void testSubclassOverridesTheWrongMethod()
{
com.google.common.testing.NullPointerTesterTest$SubclassOverridesTheWrongMethod v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$SubclassOverridesTheWrongMethod;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$SubclassOverridesTheWrongMethod: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testClassThatFailsToThrowForStatic()
{
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Class)>(class "Lcom/google/common/testing/NullPointerTesterTest$ClassThatFailsToThrowForStatic;");
return;
}
public void testSubclassThatFailsToThrowForStatic()
{
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Class)>(class "Lcom/google/common/testing/NullPointerTesterTest$SubclassThatFailsToThrowForStatic;");
return;
}
public void testSubclassThatTriesToOverrideBadStaticMethod()
{
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Class)>(class "Lcom/google/common/testing/NullPointerTesterTest$SubclassThatTriesToOverrideBadStaticMethod;");
return;
}
public void testCanCreateDefault()
{
com.google.common.testing.NullPointerTesterTest$CanCreateDefault v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$CanCreateDefault;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$CanCreateDefault: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
return;
}
public void testCannotCreateDefault()
{
com.google.common.testing.NullPointerTesterTest$CannotCreateDefault v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$CannotCreateDefault;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$CannotCreateDefault: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
private static void shouldPass(java.lang.Object, com.google.common.testing.NullPointerTester$Visibility)
{
java.lang.Object v;
com.google.common.testing.NullPointerTester v;
com.google.common.testing.NullPointerTester$Visibility v;
v := @parameter: java.lang.Object;
v := @parameter: com.google.common.testing.NullPointerTester$Visibility;
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testInstanceMethods(java.lang.Object,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
return;
}
private static void shouldPass(java.lang.Object)
{
java.lang.Object v;
com.google.common.testing.NullPointerTester$Visibility v, v, v;
v := @parameter: java.lang.Object;
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PACKAGE>;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PROTECTED>;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PUBLIC>;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
return;
}
private static void shouldFail(java.lang.Object, com.google.common.testing.NullPointerTester$Visibility)
{
java.lang.Throwable v;
com.google.common.testing.NullPointerTester v;
java.lang.Class v;
java.lang.Object v;
java.lang.String v, v;
com.google.common.testing.NullPointerTester$Visibility v;
v := @parameter: java.lang.Object;
v := @parameter: com.google.common.testing.NullPointerTester$Visibility;
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testInstanceMethods(java.lang.Object,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
label:
goto label;
label:
v := @caughtexception;
return;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Should detect problem in \u0001");
staticinvoke <com.google.common.testing.NullPointerTesterTest: void fail(java.lang.String)>(v);
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
private static void shouldFail(java.lang.Object)
{
java.lang.Object v;
com.google.common.testing.NullPointerTester$Visibility v, v, v;
v := @parameter: java.lang.Object;
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PACKAGE>;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PROTECTED>;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PUBLIC>;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
return;
}
private static void shouldFail(java.lang.Class, com.google.common.testing.NullPointerTester$Visibility)
{
java.lang.Throwable v;
com.google.common.testing.NullPointerTester v;
java.lang.Class v;
java.lang.String v, v;
com.google.common.testing.NullPointerTester$Visibility v;
v := @parameter: java.lang.Class;
v := @parameter: com.google.common.testing.NullPointerTester$Visibility;
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testStaticMethods(java.lang.Class,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
label:
goto label;
label:
v := @caughtexception;
return;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Should detect problem in \u0001");
staticinvoke <com.google.common.testing.NullPointerTesterTest: void fail(java.lang.String)>(v);
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
private static void shouldFail(java.lang.Class)
{
java.lang.Class v;
com.google.common.testing.NullPointerTester$Visibility v;
v := @parameter: java.lang.Class;
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PACKAGE>;
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Class,com.google.common.testing.NullPointerTester$Visibility)>(v, v);
return;
}
public void testPrivateClass()
{
java.lang.reflect.Constructor[] v;
com.google.common.testing.NullPointerTester v;
int v, v;
java.lang.Class v;
java.lang.reflect.Constructor v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
v = class "Lcom/google/common/testing/NullPointerTesterTest$PrivateClassWithPrivateConstructor;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor[] getDeclaredConstructors()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testConstructor(java.lang.reflect.Constructor)>(v);
v = v + 1;
goto label;
label:
return;
}
public void testBridgeMethodIgnored()
{
com.google.common.testing.NullPointerTesterTest$StringFoo v;
com.google.common.testing.NullPointerTester v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
v = new com.google.common.testing.NullPointerTesterTest$StringFoo;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$StringFoo: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicInstanceMethods(java.lang.Object)>(v);
return;
}
public void testDefaultValues()
{
com.google.common.testing.NullPointerTesterTest$AllDefaultValuesChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$AllDefaultValuesChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$AllDefaultValuesChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$AllDefaultValuesChecker: void check()>();
return;
}
public void testObjectArrayDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$ObjectArrayDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$ObjectArrayDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$ObjectArrayDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$ObjectArrayDefaultValueChecker: void check()>();
return;
}
public void testStringArrayDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$StringArrayDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$StringArrayDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$StringArrayDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$StringArrayDefaultValueChecker: void check()>();
return;
}
public void testIntArrayDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$IntArrayDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$IntArrayDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$IntArrayDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$IntArrayDefaultValueChecker: void check()>();
return;
}
public void testEmptyEnumDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$EmptyEnumDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$EmptyEnumDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$EmptyEnumDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$EmptyEnumDefaultValueChecker: void check()>();
return;
}
public void testGenericClassDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$GenericClassTypeDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$GenericClassTypeDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$GenericClassTypeDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$GenericClassTypeDefaultValueChecker: void check()>();
return;
}
public void testNonGenericClassDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$NonGenericClassTypeDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$NonGenericClassTypeDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$NonGenericClassTypeDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$NonGenericClassTypeDefaultValueChecker: void check()>();
return;
}
public void testGenericTypeTokenDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$GenericTypeTokenDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$GenericTypeTokenDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$GenericTypeTokenDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$GenericTypeTokenDefaultValueChecker: void check()>();
return;
}
public void testNonGenericTypeTokenDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$NonGenericTypeTokenDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$NonGenericTypeTokenDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$NonGenericTypeTokenDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$NonGenericTypeTokenDefaultValueChecker: void check()>();
return;
}
public void testGenericInterfaceDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$GenericInterfaceDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$GenericInterfaceDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$GenericInterfaceDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$GenericInterfaceDefaultValueChecker: void check()>();
return;
}
public void testNullRejectingInterfaceDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$NullRejectingInterfaceDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$NullRejectingInterfaceDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$NullRejectingInterfaceDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$NullRejectingInterfaceDefaultValueChecker: void check()>();
return;
}
public void testMultipleInterfacesDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$MultipleInterfacesDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$MultipleInterfacesDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$MultipleInterfacesDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$MultipleInterfacesDefaultValueChecker: void check()>();
return;
}
public void testGenericInterfaceReturnedByGenericMethod()
{
com.google.common.testing.NullPointerTesterTest$GenericInterface2DefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$GenericInterface2DefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$GenericInterface2DefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$GenericInterface2DefaultValueChecker: void check()>();
return;
}
public void testGenericTypeResolvedForDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$GenericDefaultValueResolvedToStringChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$GenericDefaultValueResolvedToStringChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$GenericDefaultValueResolvedToStringChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$GenericDefaultValueResolvedToStringChecker: void check()>();
return;
}
public void testDefaultValueResolvedForPackagePrivateMethod()
{
com.google.common.testing.NullPointerTesterTest v;
com.google.common.testing.NullPointerTesterTest$DefaultValueForPackagePrivateMethodResolvedToStringChecker v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$DefaultValueForPackagePrivateMethodResolvedToStringChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$DefaultValueForPackagePrivateMethodResolvedToStringChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$DefaultValueForPackagePrivateMethodResolvedToStringChecker: void check()>();
return;
}
public void testConverterDefaultValue()
{
com.google.common.testing.NullPointerTesterTest$ConverterDefaultValueChecker v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$ConverterDefaultValueChecker;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$ConverterDefaultValueChecker: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTesterTest$ConverterDefaultValueChecker: void check()>();
return;
}
public void testVisibility_public() throws java.lang.Exception
{
com.google.common.testing.NullPointerTester$Visibility v, v, v, v;
java.lang.reflect.Method v, v, v, v;
boolean v, v, v, v;
com.google.common.testing.NullPointerTesterTest v;
java.lang.Class[] v, v, v, v;
java.lang.Class v, v, v, v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PUBLIC>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("privateMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertFalse(boolean)>(v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PUBLIC>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("packagePrivateMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertFalse(boolean)>(v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PUBLIC>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("protectedMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertFalse(boolean)>(v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PUBLIC>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("publicMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertTrue(boolean)>(v);
return;
}
public void testVisibility_protected() throws java.lang.Exception
{
com.google.common.testing.NullPointerTester$Visibility v, v, v, v;
java.lang.reflect.Method v, v, v, v;
boolean v, v, v, v;
com.google.common.testing.NullPointerTesterTest v;
java.lang.Class[] v, v, v, v;
java.lang.Class v, v, v, v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PROTECTED>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("privateMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertFalse(boolean)>(v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PROTECTED>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("packagePrivateMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertFalse(boolean)>(v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PROTECTED>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("protectedMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertTrue(boolean)>(v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PROTECTED>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("publicMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertTrue(boolean)>(v);
return;
}
public void testVisibility_package() throws java.lang.Exception
{
com.google.common.testing.NullPointerTester$Visibility v, v, v, v;
java.lang.reflect.Method v, v, v, v;
boolean v, v, v, v;
com.google.common.testing.NullPointerTesterTest v;
java.lang.Class[] v, v, v, v;
java.lang.Class v, v, v, v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PACKAGE>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("privateMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertFalse(boolean)>(v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PACKAGE>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("packagePrivateMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertTrue(boolean)>(v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PACKAGE>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("protectedMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertTrue(boolean)>(v);
v = <com.google.common.testing.NullPointerTester$Visibility: com.google.common.testing.NullPointerTester$Visibility PACKAGE>;
v = class "Lcom/google/common/testing/NullPointerTesterTest$VisibilityMethods;";
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getDeclaredMethod(java.lang.String,java.lang.Class[])>("publicMethod", v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester$Visibility: boolean isVisible(java.lang.reflect.Member)>(v);
staticinvoke <com.google.common.testing.NullPointerTesterTest: void assertTrue(boolean)>(v);
return;
}
public void testNonStaticInnerClass()
{
com.google.common.testing.NullPointerTester v;
java.lang.String v;
java.lang.IllegalArgumentException v;
com.google.common.truth.StringSubject v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicConstructors(java.lang.Class)>(class "Lcom/google/common/testing/NullPointerTesterTest$Inner;");
staticinvoke <com.google.common.testing.NullPointerTesterTest: void fail()>();
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.IllegalArgumentException: java.lang.String getMessage()>();
v = staticinvoke <com.google.common.truth.Truth: com.google.common.truth.StringSubject assertThat(java.lang.String)>(v);
virtualinvoke v.<com.google.common.truth.StringSubject: void contains(java.lang.CharSequence)>("inner class");
label:
return;
catch java.lang.IllegalArgumentException from label to label with label;
}
private static transient java.lang.String rootLocaleFormat(java.lang.String, java.lang.Object[])
{
java.lang.Object[] v;
java.util.Locale v;
java.lang.String v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Object[];
v = <java.util.Locale: java.util.Locale ROOT>;
v = staticinvoke <java.lang.String: java.lang.String format(java.util.Locale,java.lang.String,java.lang.Object[])>(v, v, v);
return v;
}
public void testEqualsMethod()
{
com.google.common.testing.NullPointerTesterTest$DoesNotOverrideEquals v;
com.google.common.testing.NullPointerTesterTest$OverridesEquals v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$OverridesEquals;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$OverridesEquals: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldPass(java.lang.Object)>(v);
v = new com.google.common.testing.NullPointerTesterTest$DoesNotOverrideEquals;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$DoesNotOverrideEquals: void <init>()>();
staticinvoke <com.google.common.testing.NullPointerTesterTest: void shouldFail(java.lang.Object)>(v);
return;
}
public void testConstructor_Ignored_ShouldPass() throws java.lang.Exception
{
com.google.common.testing.NullPointerTester v, v;
java.lang.Class[] v;
java.lang.Class v;
java.lang.reflect.Constructor v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
v = class "Lcom/google/common/testing/NullPointerTesterTest$FailOnOneOfTwoConstructors;";
v = newarray (java.lang.Class)[1];
v[0] = class "Ljava/lang/String;";
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getDeclaredConstructor(java.lang.Class[])>(v);
v = virtualinvoke v.<com.google.common.testing.NullPointerTester: com.google.common.testing.NullPointerTester ignore(java.lang.reflect.Constructor)>(v);
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicConstructors(java.lang.Class)>(class "Lcom/google/common/testing/NullPointerTesterTest$FailOnOneOfTwoConstructors;");
return;
}
public void testConstructor_ShouldFail() throws java.lang.Exception
{
java.lang.Throwable v;
com.google.common.testing.NullPointerTester v;
java.lang.Class v;
java.lang.String v, v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
label:
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicConstructors(java.lang.Class)>(class "Lcom/google/common/testing/NullPointerTesterTest$FailOnOneOfTwoConstructors;");
label:
goto label;
label:
v := @caughtexception;
return;
label:
v = class "Lcom/google/common/testing/NullPointerTesterTest$FailOnOneOfTwoConstructors;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Should detect problem in \u0001");
staticinvoke <com.google.common.testing.NullPointerTesterTest: void fail(java.lang.String)>(v);
return;
catch junit.framework.AssertionFailedError from label to label with label;
}
public void testNullBounds()
{
com.google.common.testing.NullPointerTesterTest$NullBounds v;
com.google.common.testing.NullPointerTester v;
java.lang.Boolean v;
com.google.common.truth.BooleanSubject v;
boolean v;
com.google.common.testing.NullPointerTesterTest v;
v := @this: com.google.common.testing.NullPointerTesterTest;
v = new com.google.common.testing.NullPointerTesterTest$NullBounds;
specialinvoke v.<com.google.common.testing.NullPointerTesterTest$NullBounds: void <init>()>();
v = new com.google.common.testing.NullPointerTester;
specialinvoke v.<com.google.common.testing.NullPointerTester: void <init>()>();
virtualinvoke v.<com.google.common.testing.NullPointerTester: void testAllPublicInstanceMethods(java.lang.Object)>(v);
v = v.<com.google.common.testing.NullPointerTesterTest$NullBounds: boolean xWasCalled>;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v = staticinvoke <com.google.common.truth.Truth: com.google.common.truth.BooleanSubject assertThat(java.lang.Boolean)>(v);
virtualinvoke v.<com.google.common.truth.BooleanSubject: void isTrue()>();
return;
}
static void <clinit>()
{
java.lang.String[] v, v, v, v;
v = newarray (java.lang.String)[7];
v[0] = "staticOneArgCorrectlyThrowsNpe";
v[1] = "staticOneArgCheckForNullCorrectlyDoesNotThrowNPE";
v[2] = "staticOneArgCheckForNullCorrectlyThrowsOtherThanNPE";
v[3] = "staticOneArgCheckForNullThrowsNPE";
v[4] = "staticOneArgNullableCorrectlyDoesNotThrowNPE";
v[5] = "staticOneArgNullableCorrectlyThrowsOtherThanNPE";
v[6] = "staticOneArgNullableThrowsNPE";
<com.google.common.testing.NullPointerTesterTest: java.lang.String[] STATIC_ONE_ARG_METHODS_SHOULD_PASS> = v;
v = newarray (java.lang.String)[2];
v[0] = "staticOneArgThrowsOtherThanNpe";
v[1] = "staticOneArgShouldThrowNpeButDoesnt";
<com.google.common.testing.NullPointerTesterTest: java.lang.String[] STATIC_ONE_ARG_METHODS_SHOULD_FAIL> = v;
v = newarray (java.lang.String)[7];
v[0] = "oneArgCorrectlyThrowsNpe";
v[1] = "oneArgCheckForNullCorrectlyDoesNotThrowNPE";
v[2] = "oneArgCheckForNullCorrectlyThrowsOtherThanNPE";
v[3] = "oneArgCheckForNullThrowsNPE";
v[4] = "oneArgNullableCorrectlyDoesNotThrowNPE";
v[5] = "oneArgNullableCorrectlyThrowsOtherThanNPE";
v[6] = "oneArgNullableThrowsNPE";
<com.google.common.testing.NullPointerTesterTest: java.lang.String[] NONSTATIC_ONE_ARG_METHODS_SHOULD_PASS> = v;
v = newarray (java.lang.String)[2];
v[0] = "oneArgThrowsOtherThanNpe";
v[1] = "oneArgShouldThrowNpeButDoesnt";
<com.google.common.testing.NullPointerTesterTest: java.lang.String[] NONSTATIC_ONE_ARG_METHODS_SHOULD_FAIL> = v;
return;
}
}