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 6.4KB

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