140 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| Method name is myMethod
 | |
|  Declaring class is Target
 | |
|  Arg 0: int
 | |
|  Exc 0: java.lang.NullPointerException
 | |
|  Exc 1: java.io.IOException
 | |
|  Return type is int
 | |
|  Access flags are 0x1
 | |
| Method name is myMethod
 | |
|  Declaring class is SuperTarget
 | |
|  Arg 0: float
 | |
|  Return type is int
 | |
|  Access flags are 0x1
 | |
| Method name is myNoargMethod
 | |
|  Declaring class is Target
 | |
|  Return type is void
 | |
|  Access flags are 0x9
 | |
| Method name is myMethod
 | |
|  Declaring class is Target
 | |
|  Arg 0: [Ljava.lang.String;
 | |
|  Arg 1: float
 | |
|  Arg 2: char
 | |
|  Return type is int
 | |
|  Access flags are 0x1
 | |
| SuperTarget constructor ()V
 | |
| Target constructor ()V
 | |
| Before, float is 3.1415925
 | |
| myMethod: hi there 3.1415925 ✔ !
 | |
| Result of invoke: 7
 | |
| Calling no-arg void-return method
 | |
| myNoargMethod ()V
 | |
| throwingMethod
 | |
| Invoke got expected exception:
 | |
| java.lang.reflect.InvocationTargetException
 | |
| java.lang.NullPointerException: gratuitous throw!
 | |
| 
 | |
| Field name is string1
 | |
|  Declaring class is Target
 | |
|  Field type is java.lang.String
 | |
|  Access flags are 0x1
 | |
|   string1 value is 'hey'
 | |
|   ::: hey:yo:there
 | |
|   string1 value is now 'a new string'
 | |
|   ::: a new string:yo:there
 | |
|   got expected illegal obj store exc
 | |
|   got the other expected access exc
 | |
|   got expected arg exc
 | |
| pubLong initial value is 1122334455667788
 | |
| pubLong new value is 9988776655443322
 | |
| Field name is superInt
 | |
|  Declaring class is SuperTarget
 | |
|  Field type is int
 | |
|  Access flags are 0x1
 | |
|   superInt value is 1010101
 | |
|   superInt boxed is 1010101
 | |
|   superInt value is now 20202
 | |
|   superInt value (from short) is now 30303
 | |
|   superInt value is now 40404
 | |
|   got expected long->int failure
 | |
|   got expected long->int failure
 | |
|   got expected string->int failure
 | |
|   got expected int->short failure
 | |
| Field name is superClassInt
 | |
|  Declaring class is SuperTarget
 | |
|  Field type is int
 | |
|  Access flags are 0x9
 | |
|   superClassInt value is 1010102
 | |
| Field name is staticDouble
 | |
|  Declaring class is Target
 | |
|  Field type is double
 | |
|  Access flags are 0x9
 | |
|   staticDoubleVal value is 3.3
 | |
|   got expected double->long failure
 | |
| as expected: aPrivateInt not found
 | |
| Field name is constantString
 | |
|  Declaring class is Target
 | |
|  Field type is java.lang.String
 | |
|  Access flags are 0x19
 | |
|   Constant test value is a constant string
 | |
| Field name is cantTouchThis
 | |
|  Declaring class is Target
 | |
|  Field type is int
 | |
|  Access flags are 0x11
 | |
|   cantTouchThis is 77
 | |
|   as expected: set-final throws exception
 | |
|   cantTouchThis is still 77
 | |
|   public final int Target.cantTouchThis accessible=false
 | |
|   public final int Target.cantTouchThis accessible=true
 | |
|   cantTouchThis is now 87
 | |
|   cantTouchThis is now 88
 | |
| cons modifiers=1
 | |
| SuperTarget constructor ()V
 | |
| Target constructor (IF)V : ii=7 ff=3.3333
 | |
| myMethod (I)I
 | |
|  arg=17 anInt=7
 | |
| got expected exception for Class.newInstance
 | |
| got expected exception for Constructor.newInstance
 | |
| ReflectTest done!
 | |
| public method
 | |
| private static void java.util.Collections.swap(java.lang.Object[],int,int) accessible=false
 | |
| private static void java.util.Collections.swap(java.lang.Object[],int,int) accessible=true
 | |
| checkType invoking null
 | |
| checkType got expected exception
 | |
| calling const-class FieldNoisyInitUser.class
 | |
| called const-class FieldNoisyInitUser.class
 | |
| got fields
 | |
| got field
 | |
| FieldNoisyInitUser is initializing
 | |
| read field value
 | |
| FieldNoisyInit is initializing
 | |
| 
 | |
| calling const-class MethodNoisyInitUser.class
 | |
| called const-class MethodNoisyInitUser.class
 | |
| got methods
 | |
| got method
 | |
| MethodNoisyInitUser is initializing
 | |
| invoked method
 | |
| MethodNoisyInit is initializing
 | |
| 
 | |
| generic field: java.util.List<java.lang.String>
 | |
| generic method fancyMethod params='[1] java.util.ArrayList<java.lang.String>' ret='java.util.Map<java.lang.Integer, java.lang.String>'
 | |
| generic ctor Main params='[1] java.util.ArrayList<java.lang.Integer>'
 | |
| fields are unique
 | |
| fields are .equals
 | |
| methods are unique
 | |
| methods are .equals
 | |
| type1 is a ParameterizedType
 | |
| type2 is a ParameterizedType
 | |
| type3 is a ParameterizedType
 | |
| type1(java.util.Set<java.lang.String>) equals type2(java.util.Set<java.lang.String>)
 | |
| type1(java.util.Set<java.lang.String>) equals type3(java.util.Set<java.lang.String>)
 | |
| type1(java.util.Set<java.lang.String>) hashCode equals type2(java.util.Set<java.lang.String>) hashCode
 | |
| type1(java.util.Set<java.lang.String>) hashCode equals type3(java.util.Set<java.lang.String>) hashCode
 | |
| type1 is a GenericArrayType
 | |
| type2 is a GenericArrayType
 | |
| type3 is a GenericArrayType
 | |
| type1(T[]) equals type2(T[])
 | |
| type1(T[]) equals type3(T[])
 | |
| type1(T[]) hashCode equals type2(T[]) hashCode
 | |
| type1(T[]) hashCode equals type3(T[]) hashCode
 |