1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
|
<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[]>
<!-- AspectJ v1.2.0 Tests -->
<suite>
<ajc-test dir="bugs/concretizeNpe" pr="43033"
title="NPE in concretization error path"
keywords="poorErrorMessages">
<compile files="base/ExceptionHandling.java,model/ModelExceptionHandling.java">
<!--
<message line="5" kind="error" text="pointcut base.ExceptionHandling.scope() is abstract"/>
<message line="4" kind="error" text="inherited abstract pointcut base.ExceptionHandling.scope() is not made concrete"/>
<message line="8" kind="error" text="inherited abstract pointcut base.ExceptionHandling.scope() is not made concrete"/>
<message line="12" kind="error" />
<message line="13" kind="error" />
-->
<message line="12" kind="error" />
<message line="13" kind="error" />
</compile>
</ajc-test>
<ajc-test dir="bugs/privilege/packageProtected" pr="42711"
title="priviledged aspects calling methods from advice">
<compile files="concern/ContextUser.java,concern/BaseTarget.java,core/Base.java" />
</ajc-test>
<ajc-test dir="bugs" pr="49457"
title="No error on overloaded pointcuts in class">
<compile files="OverloadedPointcutsInClass.java">
<message kind="error" line="3" text="duplicate pointcut name: pc1"/>
<message kind="error" line="4" text="duplicate pointcut name: pc1"/>
<message kind="error" line="6" text="duplicate pointcut name: pc2"/>
<message kind="error" line="7" text="duplicate pointcut name: pc2"/>
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="49457"
title="No error on overloaded pointcuts unless binding variables">
<compile files="OverloadedPointcutsInAspect.java">
<message kind="error" line="15" text="duplicate pointcut name: pc"/>
<message kind="error" line="16" text="duplicate pointcut name: pc"/>
<message kind="error" line="18" text="incompatible type"/>
<message kind="error" line="20" text="incompatible type"/>
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="48522"
title="Declare soft softening other exception types">
<compile files="SofteningTooMuch.java">
<message kind="error" line="6" text="Unhandled exception"/>
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="47754"
title="static method introduction on interfaces, should not be allowed">
<compile files="StaticInterfaceMethods.java">
<message kind="error" line="7" text="methods in interfaces cannot be declared static"/>
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="45184"
title="External pointcut refs not resolved if named pointcut used by declare">
<compile files="DeclareErrorNamedPointcutCE.java">
<message kind="error" line="10" text="ref"/>
</compile>
</ajc-test>
<ajc-test dir="bugs"
title="Appropriate message for 'after() thowing(Throwable th)' syntax error"
pr="49638"
>
<compile
files="AfterThrowingAdviceSyntaxError.java" >
<message kind="error" line="21" />
<message kind="error" line="23" />
</compile>
</ajc-test>
<ajc-test dir="bugs/faultingInSource" pr="46671"
title="Ensure we don't look for source on the classpath when binary not found">
<compile files="SimpleTracing.java" classpath="." options="-verbose -1.4">
<message kind="warning" line="4" text="no match for this type name: SampleClass"/>
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="46750" title="inner aspect containing declare soft">
<compile files="TestSoftening.java">
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="45663"
title="Bad parser error recovery in advice">
<compile files="ParserRecoveryTest.java">
<message kind="error" line="7"/>
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="45663"
title="Bad parser error recovery in java source">
<compile files="ParserRecoveryTestPureJava.java">
<message kind="error" line="6"/>
<message kind="error" line="8"/>
</compile>
</ajc-test>
<ajc-test dir="bugs"
pr="46280"
title="compiler issues error on inner aspects when privilieged">
<compile files="PrivilegedParsing.java"/>
<run class="PrivilegedParsing"/>
</ajc-test>
<ajc-test dir="bugs" pr="44586"
title="After throwing advice on ctors doesn't execute for inter-type decl field inits">
<compile files="AfterThrowingCtor.java" options="-Xlint:ignore">
</compile>
<run class="AfterThrowingCtor"/>
</ajc-test>
<ajc-test dir="bugs/abstractMethods" pr="49784"
title="Introduced abstract method on abstract class not implemented by subtype (single source file)">
<compile files="singlesource/C.java">
<message kind="error" line="9"/>
</compile>
</ajc-test>
<ajc-test dir="bugs/abstractMethods" pr="49784"
title="Introduced abstract method on abstract class with introduced concrete method (single source file)">
<compile files="singlesource/C1.java"/>
<run class="C1"/>
</ajc-test>
<ajc-test dir="bugs/abstractMethods" pr="49784"
title="Introduced abstract method on abstract class with existing concrete method (single source file)">
<compile files="singlesource/C2.java"/>
<run class="C2"/>
</ajc-test>
<ajc-test dir="bugs/interAbstract"
pr="49784"
title="aspect declares interface method (no modifiers)">
<compile files="InterfaceMethodDeclarationNone.java" >
<message kind="error" line="32" text="requires a body" />
</compile>
</ajc-test>
<ajc-test dir="bugs/interAbstract"
pr="49784"
title="aspect declares interface method (abstract)">
<compile files="InterfaceMethodDeclarationAbstract.java">
<message kind="error" line="40" text="abstract intertype method declaration 'int I.getInt()' on interface I must be declared public (compiler limitation)" />
</compile>
</ajc-test>
<ajc-test dir="bugs/interAbstract"
pr="49784"
comment="working in 1.1.1 - keep with others?"
title="aspect declares interface method (public abstract)">
<compile files="InterfaceMethodDeclarationFull.java" />
<run class="InterfaceMethodDeclarationFull"/>
</ajc-test>
<ajc-test dir="bugs/interfaceDefinition"
pr="43972"
title="Use class implementing interface via aspect (not woven together)">
<compile
files="pack/DefineInterface.java,
pack/InterfaceDefinition.java,
pack/MyInterface.java" options="-XnotReweavable"/>
<run class="pack.InterfaceDefinition"/>
<compile
includeClassesDir="true"
files="Main.java">
<message kind="error" line="3"/>
</compile>
</ajc-test>
<ajc-test dir="bugs/interfaceDefinition"
pr="43972"
title="Use class implementing interface via aspect (weave all together)">
<compile
files="pack/DefineInterface.java,
pack/InterfaceDefinition.java,
pack/MyInterface.java,
Main.java"/>
<run class="pack.InterfaceDefinition"/>
<run class="Main"/>
</ajc-test>
<ajc-test dir="bugs/interfaceDefinition"
pr="43972"
title="Use class implementing interface via aspect (only one implementer)">
<compile
files="pack/DefineInterface.java,
pack/InterfaceDefinition.java,
pack/MyInterface.java"/>
<run class="pack.InterfaceDefinition"/>
<compile
includeClassesDir="true"
files="Main1.java"/>
<run class="Main1"/>
</ajc-test>
<ajc-test dir="bugs" pr="44587"
title="Erroneous exception conversion">
<compile files="ErroneousExceptionConversion.java">
</compile>
<run class="ErroneousExceptionConversion"/>
</ajc-test>
<ajc-test dir="bugs" pr="34206"
title="before():execution(new(..)) does not throw NoAspectBoundException">
<compile files="ErroneousExceptionConversion1.java" options="-Xlint:ignore">
</compile>
<run class="ErroneousExceptionConversion1"/>
</ajc-test>
<ajc-test dir="bugs" pr="38824"
title="Anomalous handling of inter-type declarations to abstract base classes in aspectj 1.1">
<compile files="AbstractBaseAndInterTypeInterface.java">
</compile>
</ajc-test>
<ajc-test dir="bugs/caseSensitivity" pr="42515"
title="NPE When compiling intertype declaration">
<compile files="uniqueId/Numbered.java,uniqueId/Bug.aj">
<message kind="error" line="4"/>
</compile>
</ajc-test>
<ajc-test dir="bugs"
pr="49295"
title="declare warning on subtype constructor">
<compile files="SubtypeConstructorCW.java" >
<message kind="warning" line="5" text="String as first"/>
<message kind="warning" line="10" text="String as first"/>
</compile>
<run class="SubtypeConstructorCW"/>
</ajc-test>
<ajc-test dir="bugs" pr="50570"
title="CatchClauseSignature has broken operation">
<compile files="HandlerSig.java"/>
<run class="HandlerSig"/>
</ajc-test>
<ajc-test dir="new" pr="42668"
title="after returning with parameter: matching rules">
<compile files="AfterReturningParamMatching.java" options="-1.4"/>
<run class="AfterReturningParamMatching"/>
</ajc-test>
<ajc-test dir="bugs/binaryCompat" pr="50641"
title="binary compatibility of advice method names - expect no error">
<compile files="Main.java,TraceV1.aj" options="-1.4"/>
<run class="Main"/>
<compile files="TraceV2.aj" options="-1.4"/>
<run class="Main"/>
</ajc-test>
<ajc-test dir="bugs/binaryCompat" pr="50641"
title="binary compatibility of advice method names - expect error">
<compile files="Main.java,TraceV1.aj" options="-1.4"/>
<run class="Main"/>
<compile files="TraceRE.aj" options="-1.4"/>
<run class="Main"/>
</ajc-test>
<ajc-test dir="bugs/binaryCompat" pr="50641"
title="binary compatibility of advice method names - expect no error">
<compile files="Main.java,TraceWithInnerV1.aj" options="-1.4"/>
<run class="Main"/>
<compile files="TraceWithInnerV2.aj" options="-1.4"/>
<run class="Main"/>
</ajc-test>
<ajc-test dir="bugs/protectedvf"
title="mail list VerifyError with protected access">
<compile files="main/Driver.java,main/p2/AbstractTest.aj,main/p1/ConcreteTest.aj"/>
<run class="main.Driver"/>
</ajc-test>
<ajc-test dir="bugs" pr="51919"
title="Polymorphic ITD fails in CVS HEAD (From ajdt 1.1.6)">
<compile files="OverloadedITDNPE.java" />
</ajc-test>
<ajc-test dir="bugs" pr="51320"
title="ClasscastException on concretization of if(false)">
<compile files="DecwClassCastException.java">
<!-- These are the illegal PCDs against a deow -->
<message kind="error" line="27" text="if() pointcut designator cannot be used"/>
<message kind="error" line="29" text="if() pointcut designator cannot be used"/>
<message kind="error" line="31" text="cflow() pointcut designator cannot be used"/>
<message kind="error" line="33" text="cflow() pointcut designator cannot be used"/>
<message kind="error" line="35" text="cflowbelow() pointcut designator cannot be used"/>
<message kind="error" line="37" text="cflowbelow() pointcut designator cannot be used"/>
<message kind="error" line="39" text="this() pointcut designator cannot be used"/>
<message kind="error" line="41" text="this() pointcut designator cannot be used"/>
<message kind="error" line="43" text="target() pointcut designator cannot be used"/>
<message kind="error" line="45" text="target() pointcut designator cannot be used"/>
<message kind="error" line="47" text="args() pointcut designator cannot be used"/>
<message kind="error" line="49" text="args() pointcut designator cannot be used"/>
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="51320"
title="ClasscastException on concretization of if(false)">
<compile files="DeclareSoftDynamicPCDs.java">
<!-- These are the illegal PCDs against a deow -->
<message kind="error" line="27" text="if() pointcut designator cannot be used"/>
<message kind="error" line="29" text="if() pointcut designator cannot be used"/>
<message kind="error" line="31" text="cflow() pointcut designator cannot be used"/>
<message kind="error" line="33" text="cflow() pointcut designator cannot be used"/>
<message kind="error" line="35" text="cflowbelow() pointcut designator cannot be used"/>
<message kind="error" line="37" text="cflowbelow() pointcut designator cannot be used"/>
<message kind="error" line="39" text="this() pointcut designator cannot be used"/>
<message kind="error" line="41" text="this() pointcut designator cannot be used"/>
<message kind="error" line="43" text="target() pointcut designator cannot be used"/>
<message kind="error" line="45" text="target() pointcut designator cannot be used"/>
<message kind="error" line="47" text="args() pointcut designator cannot be used"/>
<message kind="error" line="49" text="args() pointcut designator cannot be used"/>
</compile>
</ajc-test>
<ajc-test dir="bugs/abstractMethods" pr="49784"
title="Introduced abstract method on interface not implemented by subtype (weave altogether)">
<compile files="interface/C.java,interface/A.java,interface/B.java" />
<run class="C"/>
</ajc-test>
<ajc-test dir="bugs/fieldsOnInterfaces"
pr="52107"
title="declare String field on interface">
<compile files="StringFieldOnInterface.java">
<message kind="warning" line="16" text="this affected type is not exposed"/>
<message kind="warning" line="17" text="this affected type is not exposed"/>
</compile>
</ajc-test>
<ajc-test dir="bugs/fieldsOnInterfaces"
pr="52107"
title="declare int field on interface">
<compile files="IntFieldOnInterface.java">
<message kind="warning" line="27" text="this affected type is not exposed"/>
<message kind="warning" line="28" text="this affected type is not exposed"/>
</compile>
</ajc-test>
<ajc-test dir="bugs/fieldsOnInterfaces"
pr="52107"
title="declare Object field on interface">
<compile files="ObjectFieldOnInterface.java">
<message kind="warning" line="20" text="this affected type is not exposed"/>
<message kind="warning" line="21" text="this affected type is not exposed"/>
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="50776"
title="fail in compiling aspect with overriding method introduction with different throws clause ">
<compile files="IntertypeDifferentThrows.java" />
</ajc-test>
<ajc-test dir="new"
comment="in ajc 1.1.1, VerifyError Illegal use of nonvirtual function call"
title="super call in anonymous class created in around advice">
<compile files="SuperClosure.java" />
<run class="SuperClosure" />
</ajc-test>
<ajc-test dir="bugs" pr="44272"
title="retitle warning to circular {advice} dependency at ...">
<compile files="CircularAdvicePrecedence.java" options="-1.4">
<message kind="error" line="4"/>
<message kind="error" line="5"/>
<message kind="error" line="6"/>
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="51322"
title="Introduce Unknown Type to class causes Null pointer exception" >
<compile files="Pr51322.java">
<message kind="error" line="5"/>
</compile>
</ajc-test>
<ajc-test dir="bugs"
title="Private members introduced via an interface are visible to the class"
pr="52928">
<compile
files="VisiblePrivateInterfaceITDs.java" >
<message kind="error" line="13"/>
</compile>
</ajc-test>
<ajc-test dir="bugs/declarePrecedenceWithClasses" pr="53012"
title="declare precedence on a class should be a compile-time error">
<compile files="DeclarePrecedenceTestClass.java" >
<message kind="error" line="10" text="Non-aspect types can only be specified"/>
</compile>
</ajc-test>
<ajc-test dir="bugs/declarePrecedenceWithClasses" pr="53012"
title="declare precedence on a class should be a compile-time error">
<compile files="Priority.aj" />
</ajc-test>
<ajc-test dir="bugs"
pr="59440"
title="NPE when binary weaving a ctor ITD">
<compile files="CtorITD.aj">
<message kind="error" line="2"/>
</compile>
</ajc-test>
<ajc-test dir="bugs"
pr="59397"
title="NPE in compiler when using (an unusual) declare warning against a ctor ITD">
<compile files="DecwInitializationITD.java">
</compile>
</ajc-test>
<ajc-test dir="bugs/compileOrdering"
pr="59778"
title="InterTypeMethodDeclaration.java:104">
<compile files="B.java,D.java" >
<message kind="error" line="2" file="B.java"/>
</compile>
<compile files="D.java,B.java">
<message kind="error" line="2" file="B.java"/>
</compile>
</ajc-test>
<ajc-test dir="bugs"
pr="61538" title="nested uses of this() inside constructors not handled properly for initialization and preinitialization pointcuts">
<compile files="ConstructorMain.java"/>
<run class="ConstructorMain"/>
</ajc-test>
<ajc-test dir="bugs"
pr="61568" title="wrong variable binding in || pointcuts">
<compile files="DisjunctVarBinding.java">
<message kind="error" line="17" text="ambiguous binding of parameter(s) a, b across '||' in pointcut"/>
</compile>
</ajc-test>
<ajc-test dir="bugs"
pr="60936" title="error message for constructor-execution pcd">
<compile files="InterfaceConstructor.java" options="-1.4">
<message kind="warning" line="10" text="no interface constructor-execution join point"/>
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="43714"
title="weaving using an empty jar in -injars" >
<compile files="notAJar.jar" outjar="outJar.jar">
<message kind="warning" text="build config error: skipping missing, empty or corrupt inpath entry"/>
<message kind="error" text="no sources specified"/>
</compile>
</ajc-test>
<ajc-test dir="bugs" pr="43714"
title="weaving using an empty jar in -aspectpath" >
<compile files="WeaveLocal.java" aspectpath="notAJar.jar" outjar="outJar.jar" >
<message kind="warning" text="build config error: skipping missing, empty or corrupt aspectpath entry"/>
</compile>
</ajc-test>
</suite>
|