You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AroundArgsDynamicHelloWorld.txt 7.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. public class DynamicHelloWorld extends java.lang.Object implements java.io.Serializable:
  2. public void <init>():
  3. ALOAD_0 // DynamicHelloWorld this (line 8)
  4. INVOKESPECIAL java.lang.Object.<init> ()V
  5. constructor-execution(void DynamicHelloWorld.<init>())
  6. | RETURN
  7. constructor-execution(void DynamicHelloWorld.<init>())
  8. end public void <init>()
  9. public static void main(String[]):
  10. method-execution(void DynamicHelloWorld.main(java.lang.String[]))
  11. | catch java.lang.UnsupportedOperationException -> E0
  12. | | NEW DynamicHelloWorld (line 12)
  13. | | DUP
  14. | | constructor-call(void DynamicHelloWorld.<init>())
  15. | | | INVOKESPECIAL DynamicHelloWorld.<init> ()V
  16. | | constructor-call(void DynamicHelloWorld.<init>())
  17. | | LDC "hello"
  18. | | field-get(java.util.List java.util.Collections.EMPTY_LIST)
  19. | | | GETSTATIC java.util.Collections.EMPTY_LIST Ljava/util/List;
  20. | | field-get(java.util.List java.util.Collections.EMPTY_LIST)
  21. | | method-call(java.lang.String DynamicHelloWorld.doit(java.lang.String, java.util.List))
  22. | | | INVOKEVIRTUAL DynamicHelloWorld.doit (Ljava/lang/String;Ljava/util/List;)Ljava/lang/String;
  23. | | method-call(java.lang.String DynamicHelloWorld.doit(java.lang.String, java.util.List))
  24. | | POP
  25. | | GOTO L0
  26. | catch java.lang.UnsupportedOperationException -> E0
  27. | E0: ASTORE_1 (line 13)
  28. | field-get(java.io.PrintStream java.lang.System.out)
  29. | | GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 14)
  30. | field-get(java.io.PrintStream java.lang.System.out)
  31. | NEW java.lang.StringBuffer
  32. | DUP
  33. | LDC "expected and caught: "
  34. | constructor-call(void java.lang.StringBuffer.<init>(java.lang.String))
  35. | | INVOKESPECIAL java.lang.StringBuffer.<init> (Ljava/lang/String;)V
  36. | constructor-call(void java.lang.StringBuffer.<init>(java.lang.String))
  37. | ALOAD_1 // java.lang.UnsupportedOperationException t
  38. | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.Object))
  39. | | INVOKEVIRTUAL java.lang.StringBuffer.append (Ljava/lang/Object;)Ljava/lang/StringBuffer;
  40. | method-call(java.lang.StringBuffer java.lang.StringBuffer.append(java.lang.Object))
  41. | method-call(java.lang.String java.lang.StringBuffer.toString())
  42. | | INVOKEVIRTUAL java.lang.StringBuffer.toString ()Ljava/lang/String;
  43. | method-call(java.lang.String java.lang.StringBuffer.toString())
  44. | method-call(void java.io.PrintStream.println(java.lang.String))
  45. | | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
  46. | method-call(void java.io.PrintStream.println(java.lang.String))
  47. | RETURN (line 15)
  48. | L0: NEW java.lang.RuntimeException (line 17)
  49. | DUP
  50. | LDC "should have caught exception"
  51. | constructor-call(void java.lang.RuntimeException.<init>(java.lang.String))
  52. | | INVOKESPECIAL java.lang.RuntimeException.<init> (Ljava/lang/String;)V
  53. | constructor-call(void java.lang.RuntimeException.<init>(java.lang.String))
  54. | ATHROW
  55. method-execution(void DynamicHelloWorld.main(java.lang.String[]))
  56. end public static void main(String[])
  57. String doit(String, java.util.List):
  58. method-execution(java.lang.String DynamicHelloWorld.doit(java.lang.String, java.util.List))
  59. | ALOAD_2 // java.util.List l (line 21)
  60. | ALOAD_1 // java.lang.String arg0
  61. | ASTORE_3
  62. | ASTORE 4
  63. | method-call(boolean java.util.List.add(java.lang.Object))
  64. | | ALOAD 4
  65. | | INSTANCEOF java.util.ArrayList
  66. | | IFEQ L0
  67. | | ALOAD 4
  68. | | CHECKCAST java.util.ArrayList
  69. | | BIPUSH 3
  70. | | ANEWARRAY java.lang.Object
  71. | | ASTORE 5
  72. | | ALOAD 5
  73. | | BIPUSH 0
  74. | | ALOAD_0
  75. | | AASTORE
  76. | | ALOAD 5
  77. | | BIPUSH 1
  78. | | ALOAD 4
  79. | | AASTORE
  80. | | ALOAD 5
  81. | | BIPUSH 2
  82. | | ALOAD_3
  83. | | AASTORE
  84. | | NEW DynamicHelloWorld$AjcClosure1
  85. | | DUP
  86. | | ALOAD 5
  87. | | INVOKESPECIAL DynamicHelloWorld$AjcClosure1.<init> ([Ljava/lang/Object;)V
  88. | | INVOKESTATIC Aspect.ajc_around0 (Ljava/util/ArrayList;Lorg/aspectj/runtime/internal/AroundClosure;)Z
  89. | | GOTO L1
  90. | | L0: ALOAD_0
  91. | | ALOAD 4
  92. | | ALOAD_3
  93. | | INVOKESTATIC DynamicHelloWorld.add_aroundBody0 (LDynamicHelloWorld;Ljava/util/List;Ljava/lang/Object;)Z
  94. | | L1: NOP
  95. | method-call(boolean java.util.List.add(java.lang.Object))
  96. | POP
  97. | ALOAD_2 // java.util.List l (line 22)
  98. | method-call(java.lang.String java.lang.Object.toString())
  99. | | INVOKEVIRTUAL java.lang.Object.toString ()Ljava/lang/String;
  100. | method-call(java.lang.String java.lang.Object.toString())
  101. | ARETURN
  102. method-execution(java.lang.String DynamicHelloWorld.doit(java.lang.String, java.util.List))
  103. end String doit(String, java.util.List)
  104. static final boolean add_aroundBody0(DynamicHelloWorld, java.util.List, Object):
  105. ALOAD_1
  106. ALOAD_2
  107. INVOKEINTERFACE java.util.List.add (Ljava/lang/Object;)Z (line 21)
  108. IRETURN
  109. end static final boolean add_aroundBody0(DynamicHelloWorld, java.util.List, Object)
  110. end public class DynamicHelloWorld
  111. public class DynamicHelloWorld$AjcClosure1 extends org.aspectj.runtime.internal.AroundClosure:
  112. public void <init>(Object[]):
  113. ALOAD_0
  114. ALOAD_1
  115. INVOKESPECIAL org.aspectj.runtime.internal.AroundClosure.<init> ([Ljava/lang/Object;)V
  116. RETURN
  117. end public void <init>(Object[])
  118. public Object run(Object[]):
  119. ALOAD_0
  120. GETFIELD org.aspectj.runtime.internal.AroundClosure.state [Ljava/lang/Object;
  121. ASTORE_2
  122. ALOAD_2
  123. BIPUSH 0
  124. AALOAD
  125. CHECKCAST DynamicHelloWorld
  126. ALOAD_1
  127. BIPUSH 0
  128. AALOAD
  129. CHECKCAST java.util.List
  130. ALOAD_2
  131. BIPUSH 2
  132. AALOAD
  133. INVOKESTATIC DynamicHelloWorld.add_aroundBody0 (LDynamicHelloWorld;Ljava/util/List;Ljava/lang/Object;)Z
  134. INVOKESTATIC org.aspectj.runtime.internal.Conversions.booleanObject (Z)Ljava/lang/Object;
  135. ARETURN
  136. end public Object run(Object[])
  137. end public class DynamicHelloWorld$AjcClosure1