package rocks.inspectit.agent.java.instrumentation.asm; /** * Class that will be used in the * {@link rocks.inspectit.agent.java.instrumentation.asm.ClassInstrumenterTest}. Contains method * that will be tested. * * @author Ivan Senic * */ @SuppressWarnings("PMD") public class InstrumentationTestClass { public static String s; static { s = ""; } public InstrumentationTestClass() { } public InstrumentationTestClass(String text) { } public InstrumentationTestClass(boolean delegate) { this("delegate"); } public InstrumentationTestClass(int i) { throw new NullPointerException(); } @SuppressWarnings("null") public InstrumentationTestClass(Object o) { Object c = o != null ? null : o; c.toString(); } public InstrumentationTestClass(long l) { try { throw new NullPointerException(); } catch (NullPointerException e) { } } // Ivan's instrumentation methods public int unexpectedExceptionThrowing() { throw new NullPointerException(); } @SuppressWarnings("null") public int unexpectedExceptionNotThrowing(Object o) { Object c = o != null ? null : o; c.toString(); return 3; } public int exceptionHandledResultReturned() { try { throw new NullPointerException(); } catch (NullPointerException e) { return 3; } } // Patrice's test methods below public void voidNullParameter() { } public String stringNullParameter() { return "stringNullParameter"; } public int intNullParameter() { return 3; } public double doubleNullParameter() { return 5.3D; } public float floatNullParameter() { return Float.MAX_VALUE; } public byte byteNullParameter() { return 127; } public short shortNullParameter() { return 16345; } public boolean booleanNullParameter() { return false; } public char charNullParameter() { return '\u1234'; } public static void voidNullParameterStatic() { } public static String stringNullParameterStatic() { return "stringNullParameterStatic"; } public void voidOneParameter(String parameterOne) { } public String stringOneParameter(String parameterOne) { return "stringOneParameter"; } public void voidTwoParameters(String parameterOne, Object parameterTwo) { } public void mixedTwoParameters(int parameterOne, boolean parameterTwo) { } public int[] intArrayNullParameter() { return new int[] { 1, 2, 3 }; } public String[] stringArrayNullParameter() { return new String[] { "test123", "bla" }; } public String returnStringParameter(String parameterOne) { return parameterOne; } public boolean returnBooleanParameter(int one, boolean two) { return two; } public Object returnArrayParameter(Object[] array) { return array; } }