123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240 |
- <!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[]>
-
- <!-- AspectJ v1.5.0 Tests -->
- <suite>
-
- <ajc-test dir="bugs150" title="abstract perthis in @AspectJ">
- <compile files="pr121197.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="different numbers of type vars">
- <compile files="pr121575.aj" options="-1.5"/>
- <run class="pr121575"/>
- </ajc-test>
-
-
- <ajc-test dir="bugs150/pr121385" title="mixing aspect styles">
- <compile files="A.java" options="-1.5"/>
- <run class="A"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/tvars" title="different numbers of type vars - 2">
- <compile files="Case1.aj" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Join point 'method-execution(void MyClass.read(java.lang.String))' in Type 'MyClass' (Case1.aj:13) advised by before advice from 'MyAspect' (Case1.aj:5)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/tvars" title="different numbers of type vars - 3">
- <compile files="Case2.aj" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Join point 'method-execution(void MyClass.read(java.lang.Number))' in Type 'MyClass' (Case2.aj:13) advised by before advice from 'MyAspect' (Case2.aj:5)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/tvars" title="different numbers of type vars - 4">
- <compile files="Case3.aj" options="-1.5 -showWeaveInfo">
- <message kind="error" line="9" text="The type MyClass<T,E> must implement the inherited abstract method MyInterface<T>.read(T)"/>
- </compile>
- </ajc-test>
-
-
- <ajc-test dir="bugs150" title="access to private ITD from nested type">
- <compile files="pr118698.aj"/>
- <run class="pr118698"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="modifier overrides">
- <compile files="pr119749.aj" options="-1.5">
- <message kind="warning" line="26" text="C E.*()"/>
- <message kind="warning" line="25" text="D E.*()"/>
- <message kind="warning" line="17" text="aa @Me void m()"/>
- <message kind="warning" line="17" text="aa void m() throws Exception"/>
- <message kind="warning" line="17" text="aa * *(..) throws Exception"/>
- <message kind="warning" line="37" text="aa call void m() throws Exception"/>
- <message kind="warning" line="38" text="aa call void m() throws Exception"/>
- </compile>
- <run class="pr119749">
- <stdout>
- <line text="execution(void pr119749.C.m()): execMe[Me]"/>
- <line text="execution(void pr119749.C.m()): execEx"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr120826" pr="120826" title="varargs NPE">
- <compile files="TestVarargs.java" options="-1.5"/>
- </ajc-test>
-
-
- <ajc-test dir="bugs150/pr112476/case1" title="binary weaving decp broken">
- <compile files="lib/A.java,lib/B.java,lib/C.java" outjar="library.jar" options="-1.5"/>
- <!-- library.jar on the aspectpath here just for resolution when compiling SuperC -->
- <compile aspectpath="library.jar" files="weaved/SuperC.java" outjar="newsuper.jar" options="-1.5"/>
- <compile inpath="library.jar;newsuper.jar" files="weaved/DeclareAspect.aj" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Setting superclass of type 'lib.C' (C.java) to 'weaved.SuperC' (DeclareAspect.aj)"/>
- </compile>
- <run class="weaved.SuperC">
- <stdout>
- <line text="Is [class lib.C] subcass of [class weaved.SuperC]? true"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr114005" title="Annotated ITDFs - 1">
- <compile files="Declaration1.java" options="-1.5"/>
- <run class="Declaration1">
- <stdout>
- <line text="public java.lang.String Test.firstProperty has annotation:true"/>
- <line text="public java.lang.String Test.ajc$interField$Declaration1$TestInterface$secondProperty has annotation:true"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="114495" title="parameterized pointcut and advice">
- <compile files="Pr114495.aj" options="-1.5">
- <message kind="warning" line="3" text="going()"/>
- </compile>
- <run class="Pr114495">
- <stdout>
- <line text="A.going()"/>
- <line text="AA.going()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="112880" title="double parameter generic abstract type">
- <compile files="Pr112880.aj" options="-1.5">
- </compile>
- <run class="Pr112880">
- <stdout>
- <line text="method returning C1 or C2"/>
- <line text="method returning C1 or C2"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr114005" title="Annotated ITDFs - 2">
- <compile files="Declaration2.java" options="-1.5"/>
- <run class="Declaration2">
- <stdout>
- <line text="public java.lang.String Test.firstProperty has annotation:true"/>
- <line text="public java.lang.String Test.ajc$interField$Declaration2$TestInterface$secondProperty has annotation:true"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="114054" title="pertarget and negated pointcut">
- <compile files="Pr114054.aj" options=""/>
- <run class="Pr114054"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="121385" title="mixing styles">
- <compile files="pr121385.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/decps" title="decps - 1">
- <compile files="Basic1.java" options="-1.5"/>
- <run class="Basic1"/>
- </ajc-test>
-
- <ajc-test dir="java5/decps" title="decps - 1b">
- <compile files="Basic1b.java" options="-1.5"/>
- <run class="Basic1b"/>
- </ajc-test>
-
- <ajc-test dir="java5/decps" title="decps - 2">
- <compile files="Basic2.java" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Join point 'method-execution(void X$I.m2())' in Type 'X' (Basic2.java:15) advised by before advice from 'X' (Basic2.java:23)"/>
- <message kind="weave" text="Type 'X$I' (Basic2.java) has intertyped method from 'X' (Basic2.java:'void X$I.m2()')"/>
- <message kind="weave" text="Extending interface set for type 'Basic2' (Basic2.java) to include 'X$I' (Basic2.java)"/>
- <message kind="weave" text="Type 'Basic2' (Basic2.java) has intertyped method from 'X' (Basic2.java:'void X$I.m2()')"/>
- <message kind="weave" text="Join point 'method-execution(void Basic2.main(java.lang.String[]))' in Type 'Basic2' (Basic2.java:2) advised by before advice from 'X' (Basic2.java:23)"/>
- </compile>
- <run class="Basic2"/>
- </ajc-test>
-
- <ajc-test dir="java5/decps" title="decps - 2b">
- <compile files="Basic2b.java" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Join point 'method-execution(void X$IIimpl.m2())' in Type 'X$IIimpl' (Basic2b.java:18) advised by before advice from 'X' (Basic2b.java:27)"/>
- <message kind="weave" text="Extending interface set for type 'Basic2b' (Basic2b.java) to include 'X$I' (Basic2b.java)"/>
- <message kind="weave" text="Join point 'method-execution(void Basic2b.main(java.lang.String[]))' in Type 'Basic2b' (Basic2b.java:4) advised by before advice from 'X' (Basic2b.java:27)"/>
- </compile>
- <run class="Basic2b"/>
- </ajc-test>
-
- <ajc-test dir="java5/decps" title="decps - 3">
- <compile files="Basic3.java" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Extending interface set for type 'Basic3' (Basic3.java) to include 'X$I' (Basic3.java)"/>
- <message kind="weave" text="Type 'Basic3' (Basic3.java) has intertyped method from 'X' (Basic3.java:'void X$I.m2()')"/>
- <message kind="weave" text="Type 'Basic3' (Basic3.java) has intertyped method from 'X' (Basic3.java:'void X$I.m3()')"/>
- <message kind="weave" text="Type 'Basic3' (Basic3.java) has intertyped method from 'X' (Basic3.java:'void X$I.m4()')"/>
- <message kind="weave" text="Join point 'method-call(void X$I.m2())' in Type 'Basic3' (Basic3.java:7) advised by before advice from 'X' (Basic3.java:29)"/>
- <message kind="weave" text="Join point 'method-call(void X$I.m3())' in Type 'Basic3' (Basic3.java:8) advised by before advice from 'X' (Basic3.java:29)"/>
- <message kind="weave" text="Join point 'method-call(void X$I.m2())' in Type 'Basic3' (Basic3.java:9) advised by before advice from 'X' (Basic3.java:29)"/>
- <message kind="weave" text="Join point 'method-call(void X$I.m4())' in Type 'Basic3' (Basic3.java:10) advised by before advice from 'X' (Basic3.java:29)"/>
- <message kind="weave" text="Type 'X$I' (Basic3.java) has intertyped method from 'X' (Basic3.java:'void X$I.m2()')"/>
- <message kind="weave" text="Type 'X$I' (Basic3.java) has intertyped method from 'X' (Basic3.java:'void X$I.m3()')"/>
- <message kind="weave" text="Type 'X$I' (Basic3.java) has intertyped method from 'X' (Basic3.java:'void X$I.m4()')"/>
- </compile>
- <run class="Basic3"/>
- </ajc-test>
-
- <ajc-test dir="java5/decps" title="decps - 3b">
- <compile files="Basic3b.java" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Extending interface set for type 'Basic3b' (Basic3b.java) to include 'X$I' (Basic3b.java)"/>
- <message kind="weave" text="Type 'Basic3b' (Basic3b.java) has intertyped method from 'X' (Basic3b.java:'void X$I.m2()')"/>
- <message kind="weave" text="Type 'Basic3b' (Basic3b.java) has intertyped method from 'X' (Basic3b.java:'void X$I.m3()')"/>
- <message kind="weave" text="Type 'Basic3b' (Basic3b.java) has intertyped method from 'X' (Basic3b.java:'void X$I.m4()')"/>
- <message kind="weave" text="Join point 'method-call(void X$I.m2())' in Type 'Basic3b' (Basic3b.java:7) advised by before advice from 'X' (Basic3b.java:35)"/>
- <message kind="weave" text="Join point 'method-call(void X$I.m3())' in Type 'Basic3b' (Basic3b.java:8) advised by before advice from 'X' (Basic3b.java:35)"/>
- <message kind="weave" text="Join point 'method-call(void X$I.m2())' in Type 'Basic3b' (Basic3b.java:9) advised by before advice from 'X' (Basic3b.java:35)"/>
- <message kind="weave" text="Join point 'method-call(void X$I.m4())' in Type 'Basic3b' (Basic3b.java:10) advised by before advice from 'X' (Basic3b.java:35)"/>
- </compile>
- <run class="Basic3b"/>
- </ajc-test>
-
- <ajc-test dir="java5/decps" title="decps - 3c">
- <compile files="Basic3c.java" options="-1.5">
- <message kind="error" text="@DeclareParents: defaultImpl="X$IImpl" has no public no-arg constructor"/>
- </compile>
- </ajc-test>
-
-
-
- <ajc-test dir="bugs150/pr119570" pr="119570" title="spurious override method warning">
- <compile files="NodeImpl.java,INode.java,ParameterizedDP.java" options="-1.5"/>
- <run class="bugs.ParameterizedDP"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119570" pr="119570" title="spurious override method warning - 2">
- <compile files="ParameterizedDP.java,NodeImpl.java,INode.java" options="-1.5"/>
- <run class="bugs.ParameterizedDP"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr120521" pr="120521" title="named pointcut not resolved in pertarget pointcut">
- <compile files="PerTargetSubaspectError.java"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119210" pr="119210" title="autoboxing around advice - 1">
- <compile files="TestLib.java,ThreadAspectLib.java" options="-1.5"/>
- <run class="TestLib">
- <stderr>
- <line text="obtaining five, got 3"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119210" pr="119210" title="autoboxing around advice - 2">
- <compile files="TestLib2.java,ThreadAspectLib2.java" options="-1.5"/>
- <run class="TestLib2">
- <stderr>
- <line text="obtaining five, got 3"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119210" pr="119210" title="autoboxing around advice - 3">
- <compile files="TestLib2.java,ThreadAspectLib2.java">
- <message kind="error" line="16" text="incompatible return type applying to method-call(java.lang.Integer TestLib2.getFive())"/>
- <message kind="error" line="4" text="incompatible return type applying to method-call(java.lang.Integer TestLib2.getFive())"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119539" pr="119539" title="generic pertypewithin aspect - 1">
- <compile files="GenericPerTypeWithin.java" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Join point 'constructor-execution(void bugs.C.<init>())' in Type 'bugs.C' (GenericPerTypeWithin.java:10) advised by before advice from 'bugs.A' (GenericPerTypeWithin.java:21)"/>
- <message kind="weave" text="Join point 'constructor-execution(void bugs.C.<init>())' in Type 'bugs.C' (GenericPerTypeWithin.java:10) advised by before advice from 'bugs.A' (GenericPerTypeWithin.java:20)"/>
- </compile>
- <run class="bugs.GenericPerTypeWithin"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119539" pr="119539" title="generic pertypewithin aspect - 2">
- <compile files="GenericPerTypeWithin2.java" options="-1.5 -showWeaveInfo">
- <message kind="error" line="24" text="a generic super-aspect must be fully parameterized in an extends clause"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119539" pr="119539" title="generic pertypewithin aspect - 3">
- <compile files="GenericPerTypeWithin3.java" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Join point 'constructor-execution(void bugs.GenericPerTypeWithin3$C.<init>())' in Type 'bugs.GenericPerTypeWithin3$C' (GenericPerTypeWithin3.java:15) advised by before advice from 'bugs.GenericPerTypeWithin3$A' (GenericPerTypeWithin3.java:10)"/>
- <message kind="warning" line="15" text="Singleton.creation()"/>
- </compile>
- <run class="bugs.GenericPerTypeWithin3"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr117854" pr="117854" title="broken switch transform">
- <compile files="BrokenSwitch.java" options=""/>
- <run class="BrokenSwitch"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119749" pr="119749" title="incorrect exception signature matching">
- <compile files="InheritedThrows.java" options="-showWeaveInfo">
- <message kind="weave" text="Join point 'method-execution(void InheritedThrows$NestedClassBoth.m())' in Type 'InheritedThrows$NestedClassBoth' (InheritedThrows.java:24) advised by afterThrowing advice from 'InheritedThrows$A' (InheritedThrows.java:4)"/>
- <message kind="weave" text="Join point 'method-execution(void InheritedThrows$NestedClass1.m())' in Type 'InheritedThrows$NestedClass1' (InheritedThrows.java:16) advised by afterThrowing advice from 'InheritedThrows$A' (InheritedThrows.java:4)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr118599" pr="118599" title="ambiguous method when binary weaving - 1">
- <!-- separate compilation was failing -->
- <compile files="Attributable.java" outjar="foo.jar" options="-1.5"/>
- <compile files="AnAttributedClass.java" aspectpath="foo.jar" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr118599" pr="118599" title="ambiguous method when binary weaving - 2">
- <!-- complete compilation works -->
- <compile files="Attributable.java,AnAttributedClass.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="104220" title="adviceexecution join point toString forms">
- <compile files="Pr104220.aj"/>
- <run class="Pr104220">
- <stdout>
- <line text="adviceexecution"/>
- <line text="adviceexecution(void SomeAspect.before())"/>
- <line text="adviceexecution(SomeAspect.before())"/>
- <line text="adviceexecution(void SomeAspect.before())"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="112756" title="pointcut expression containing 'assert'">
- <compile files="Pr112756.aj" options="-warn:assertIdentifier -Xdev:Pinpoint"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr118781" pr="118781" title="verify error with around advice array sigs">
- <compile files="MyMain.java,MyAspect.java,MyClass.java" options="-XnoInline"/>
- <run class="blah.MyMain"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr117681" pr="117681" title="at declare parents">
- <compile files="Test.java,TestAspect.java,Audit.java,AuditImpl.java" options="-1.5"/>
- <run class="Test"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr120474" pr="120474" title="Dollar classes">
- <compile files="$ProxyPr120474.java"/>
- <compile files="X.aj" options="-outxml"/>
- <run class="$ProxyPr120474" ltw="aop.xml">
- <stdout>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr111667" pr="111667" title="lint for advice sorting">
- <compile files="A.java,X.java,Y.java" options="-1.5 -Xlint:warning">
- <message kind="warning" line="9" text="at this shadow method-execution(void A.m1()) no precedence is specified between advice applying from aspect X and aspect Y [Xlint:unorderedAdviceAtShadow]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr118326" pr="118326" title="illegal initialization - 1">
- <compile files="Foo.java,Bar.java">
- <message kind="error" line="2" text="Type mismatch: cannot convert from null to int"/>
- <message kind="error" line="6" text="Type mismatch: cannot convert from Integer to int"/>
- <message kind="error" line="8" text="Type mismatch: cannot convert from String to int"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr118326" pr="118326" title="illegal initialization - 2">
- <compile files="Foo.java,Bar.java" options="-1.5">
- <message kind="error" line="2" text="Type mismatch: cannot convert from null to int"/>
- <message kind="error" line="8" text="Type mismatch: cannot convert from String to int"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr117296" pr="117296" title="self bounding generic types">
- <compile files="PropertySupport.java" options="-1.5"/>
- <run class="PropertySupport"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="113368" title="thisJoinPointStaticPart in if test">
- <compile files="Pr113368.aj"/>
- <run class="Pr113368">
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr87525" pr="87525" title="privilege problem with switch">
- <compile files="A.java,B.java">
- <message kind="error" line="5" text="Fields accessible due to an aspect being privileged can not be used in switch statements"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/reflection" title="pointcut parsing with ajc compiled pointcut references">
- <compile files="PointcutLibrary.aj,ReflectOnAjcCompiledPointcuts.java" options="-1.5"></compile>
- <run class="ReflectOnAjcCompiledPointcuts" classpath="../lib/bcel/bcel.jar"/>
- </ajc-test>
-
- <ajc-test dir="java5/reflection" title="reflection on itds">
- <compile files="InterTypeDeclarations.aj,ReflectOnCodeStyleITDs.java" options="-1.5 -Xlint:ignore"></compile>
- <run class="ReflectOnCodeStyleITDs" classpath="../lib/bcel/bcel.jar">
- <stdout>
- <line text="public C.new(int, int, int)"/>
- <line text="C.new(int, int)"/>
- <line text="private C.new(int)"/>
- <line text="private C.new(int)"/>
- <line text="public C.new(int, int, int)"/>
- <line text="public C.new(int, int, int)"/>
- <line text="int C.getY()"/>
- <line text="int I.getY()"/>
- <line text="public int C.getZ()"/>
- <line text="public int I.getZ()"/>
- <line text="private int C.getX()"/>
- <line text="private int I.getX()"/>
- <line text="private int C.getX()"/>
- <line text="public int C.getZ()"/>
- <line text="public int I.getZ()"/>
- <line text="public int C.getZ()"/>
- <line text="int C.y"/>
- <line text="int I.y"/>
- <line text="public int C.z"/>
- <line text="public int I.z"/>
- <line text="private int C.x"/>
- <line text="private int I.x"/>
- <line text="private int C.x"/>
- <line text="public int C.z"/>
- <line text="public int I.z"/>
- <line text="public int C.z"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/reflection" title="reflection on @DeclareParents">
- <compile files="AtAspectJDeclareParents.aj,ReflectOnAtAspectJDeclareParents.java" options="-1.5 -Xlint:ignore"></compile>
- <run class="ReflectOnAtAspectJDeclareParents" classpath="../lib/bcel/bcel.jar">
- <stdout>
- <line text="declare parents : C implements I"/>
- <line text="public int I.getX()"/>
- <line text="public void I.setX(int)"/>
- <line text="public int I.getX()"/>
- <line text="public int I.getX()"/>
- <line text="public void I.setX(int)"/>
- <line text="public int I.getX()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="compatibility/case1" title="generating code for a 1.2.1 runtime - 1">
- <compile files="Simple.java" options="-Xajruntimetarget:1.2"/>
- <run class="Simple" classpath="../lib/aspectj/lib/aspectjrt121.jar"/>
- </ajc-test>
-
- <ajc-test dir="compatibility/case2" title="generating code for a 1.2.1 runtime - 2">
- <compile files="TrackingErrors.aj,A.java" options="-Xajruntimetarget:1.2 -Xlint:ignore"/>
- <run class="A" classpath="../lib/aspectj/lib/aspectjrt121.jar"/>
- </ajc-test>
-
- <ajc-test dir="java5/reflection" title="arg names in advice annotations">
- <compile files="AdviceWithArgs.aj" options="-1.5"></compile>
- <run class="AdviceWithArgs"/>
- </ajc-test>
-
-
- <ajc-test dir="java5/reflection" pr="114322" title="reflection on abstract ITDs (Billing example)">
- <compile files="ReflectBilling.java,Billing.aj" options="-1.5"/>
- <run class="ReflectBilling">
- <stdout>
- <line text="public void Customer.addCharge(long)"/>
- <line text="public long Local.callRate()"/>
- <line text="public long LongDistance.callRate()"/>
- <line text="public abstract long Connection.callRate()"/>
- <line text="public Customer Connection.payer"/>
- <line text="public long Customer.totalCharge"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="103157" title="returning(Object) binding">
- <compile files="Pr103157.aj"/>
- <run class="Pr103157">
- <stdout>
- <line text="returning from staticinit"/>
- <line text="returning from preinit"/>
- <line text="returning from set"/>
- <line text="returning from cons exe"/>
- <line text="returning from init"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="declare soft and adviceexecution" pr="103051">
- <compile files="Pr103051.aj" options="-Xdev:Pinpoint"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="declare soft and exclusions" pr="103097">
- <compile files="Pr103097.aj" options="-Xlint:ignore"/>
- <run class="Pr103097"/>
- </ajc-test>
-
-
- <ajc-test dir="bugs150" title="Range problem">
- <compile files="pr109614.java"/>
- <run class="pr109614"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr114436" title="ClassFormatError binary weaving perthis">
- <compile files="SimpleTrace.aj,ConcreteSimpleTracing.aj" outjar="aspects.jar"/>
- <compile files="TestClass.java" aspectpath="aspects.jar"/>
- <run class="TestClass"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113066" title="possible static imports bug - 1">
- <compile files="Consts.java,TestNPE.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="parameterized type and around advice">
- <compile files="pr115250.aj" options="-1.5 -Xlint:ignore">
- <!-- this first error happens twice, once for each piece of around advice -->
- <message kind="error" line="10" text="incompatible return type applying to constructor-execution(void pr115250$C.<init>())"/>
- <message kind="error" line="17" text="incompatible return type applying to constructor-execution(void pr115250$C.<init>())"/>
- <message kind="error" line="27" text="incompatible return type applying to constructor-execution(void pr115250$C.<init>())"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="parameterized type and around advice - 2">
- <compile files="pr115250_2.aj" options="-1.5 -Xlint:ignore -showWeaveInfo">
- <message kind="weave" text="Join point 'method-execution(pr115250_2$C pr115250_2$C.foo())' in Type 'pr115250_2$C' (pr115250_2.aj:7) advised by around advice from 'pr115250_2$A' (pr115250_2.aj:22)"/>
- <message kind="weave" text="Join point 'method-execution(pr115250_2$C pr115250_2$C.foo())' in Type 'pr115250_2$C' (pr115250_2.aj:7) advised by around advice from 'pr115250_2$Normal' (pr115250_2.aj:12)"/>
- </compile>
- <run class="pr115250_2">
- <stderr>
- <line text="funky advice running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr115788" title="parser exception">
- <compile files="AAA.java">
- <message kind="warning" line="3" text="no match for this type name: Screen"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113066" title="possible static imports bug - 2">
- <compile files="Consts2.java,TestNPE2.java" options="-1.5">
- <message kind="error" line="2" text="The import a.Consts2.A_CONST cannot be resolved"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113066" title="possible static imports bug - 3">
- <compile files="Consts3.java,TestNPE3.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/staticImports" title="import static java.lang.System.out">
- <compile files="StaticImport.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="Problem with constructor ITDs">
- <compile files="pr112783.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="NPE in ensureScopeSetup">
- <compile files="pr115038.aj" options="-1.5">
- <message kind="error" line="2" text="Cannot make inter-type declarations on type variables"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="ITDC with no explicit cons call">
- <compile files="Pr62606.aj" options="-1.5">
- <message kind="warning" line="6" text="[Xlint:noExplicitConstructorCall]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/bugs" title="using same type variable in ITD">
- <compile files="SameTypeVariable.aj" options="-1.5">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="capturebinding wildcard problem">
- <compile files="pr114744.aj" options="-1.5">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="Anonymous types and nome matching">
- <compile files="Pr73050.aj" outjar="jar1.jar">
- <message kind="warning" line="16" text="anonymous types should be matched by a * wild card"/>
- </compile>
- <compile inpath="jar1.jar">
- <message kind="warning" line="0" text="anonymous types should be matched by a * wild card"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr86903" title="bcelrenderer bad">
- <compile files="GenericService.java,Service.java,Main.java,BadWormhole.java"/>
- <run class="Main"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr114343" title="field-get, generics and around advice">
- <compile files="Test.java,Test1.java,Test2.java,TestAspect.aj" options="-1.5">
- <message kind="warning" line="7" text="unchecked conversion when advice applied at shadow field-get(java.util.Set Test1.intsSet), expected java.util.Set<java.lang.Integer> but advice uses java.util.Set"/>
- <message kind="warning" line="8" text="unchecked conversion when advice applied at shadow field-get(java.util.Set Test2.doubSet), expected java.util.Set<java.lang.Double> but advice uses java.util.Set"/>
- </compile>
- <run class="TestAspect"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113947/case1" title="maws generic aspect - 1">
- <compile files="AbstractListSupport.java,AnotherItem.java,Item.java,LinkedList.java,LinkedListItem.java,ListItem.java,StringList.java" options="-1.5">
- <message kind="error" line="6" text="Cannot make inter-type declarations on type variables"/>
- <message kind="error" line="8" text="Cannot make inter-type declarations on type variables"/>
- <message kind="error" line="12" text="Cannot make inter-type declarations on type variables"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="aspectOf and generic aspects">
- <compile files="pr115237.aj" options="-1.5"/>
- <run class="pr115237"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr114343/case2" title="field-get, generics and around advice - 2">
- <compile files="Test.java,TTT.java,TestAspect.java" options="-1.5"/>
- <run class="TestAspect">
- <stderr>
- <line text="TestAspect.main: Calling foo"/>
- <line text="Creating Test<Integer> instance"/>
- <line text="Calling toArray"/>
- <line text="In around advice"/>
- <line text="In toArray()"/>
- <line text="done"/>
- <line text="TestAspect.main: done"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr114343/case3" title="field-get, generics and around advice - 3">
- <compile files="Test.java,TTT.java,TestAspect.java" options="-1.5"/>
- <run class="TestAspect">
- <stderr>
- <line text="TestAspect.main: Calling foo"/>
- <line text="Creating Test<Integer> instance"/>
- <line text="Calling toArray"/>
- <line text="In around advice"/>
- <line text="In toArray()"/>
- <line text="done"/>
- <line text="Creating Test<Integer> instance"/>
- <line text="Calling getFirst"/>
- <line text="around on getFirstExec(): running"/>
- <line text="done"/>
- <line text="TestAspect.main: done"/>
- </stderr>
- </run>
- </ajc-test>
-
-
- <ajc-test dir="bugs150/pr113947/case2" title="maws generic aspect - 2">
- <compile files="AbstractListSupport.java,AnotherItem.java,Item.java,LinkedList.java,LinkedListItem.java,ListItem.java,StringList.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113861" title="field-get problems with generic field">
- <compile files="Test.java,TestAspect.java" options="-1.5"/>
- <run class="com.Test"/>
- </ajc-test>
-
-
- <ajc-test dir="bugs150/pr99191" title="declare annotation on non existent type - 1">
- <compile files="pr99191_1.java" options="-1.5">
- <message kind="error" line="4" text="The field 'int C.noSuchField' does not exist"/>
- <message kind="error" line="5" text="The field 'int B.noSuchField' does not exist"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/bugs/lists/case1" title="generics and ITD overrides - 1">
- <compile files="Identifiable.java,Bean.java,LongIdentifiable.java,IdentifiableAspect.java" options="-1.5">
- </compile>
- <run class="IdentifiableAspect"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/bugs/lists/case2" title="generics and ITD overrides - 2">
- <compile files="Identifiable.java,Bean.java,LongIdentifiable.java,IdentifiableAspect.java" options="-1.5">
- </compile>
- <run class="IdentifiableAspect"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/bugs/lists/case3" title="generics and ITD overrides - 3">
- <compile files="Identifiable.java,Bean.java,LongIdentifiable.java,IdentifiableAspect.java" options="-1.5">
- </compile>
- <run class="IdentifiableAspect"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/bugs/lists/case4" title="generics and ITD overrides - 4">
- <compile files="Identifiable.java,Bean.java,LongIdentifiable.java,IdentifiableAspect.java" options="-1.5">
- </compile>
- <run class="IdentifiableAspect"/>
- </ajc-test>
-
- <!-- Currently a warning doesn't occur if the annotation is already on the field
- (see bug 113029). If this is fixed, need to add check for this warning to this
- test as in test "declare annotation on non existent type - 4" -->
- <ajc-test dir="bugs150/pr99191" title="declare annotation on non existent type - 2">
- <compile files="pr99191_2.java" options="-1.5">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr99191" title="declare annotation on non existent type - 3">
- <compile files="pr99191_3.java" options="-1.5">
- <message kind="error" line="4" text="The method 'public * C.noSuchMethod(..)' does not exist"/>
- <message kind="error" line="5" text="The method '* B.noSuchMethod(..)' does not exist"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr99191" title="declare annotation on non existent type - 4">
- <compile files="pr99191_4.java" options="-1.5">
- <message kind="warning" text="void C.amethod() - already has an annotation of type Annotation, cannot add a second instance [Xlint:elementAlreadyAnnotated]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr99191" title="declare annotation on non existent type - 5">
- <compile files="pr99191_5.java" options="-1.5">
- <message kind="error" line="4" text="The method 'C.new(java.lang.String)' does not exist"/>
- <message kind="error" line="5" text="The method 'B.new(int)' does not exist"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr99191" title="declare annotation on non existent type - 6">
- <compile files="pr99191_6.java" options="-1.5">
- <message kind="warning" text="void C.<init>(int) - already has an annotation of type Annotation, cannot add a second instance [Xlint:elementAlreadyAnnotated]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113630/case1" title="IncompatibleClassChangeError - errorscenario">
- <compile files="Bean.java,BeanTestCase.java,javaBean.java,propertyChanger.java,PropertySupportAspect5.aj" options="-1.5">
- <message kind="warning" line="9" text="Failing match because annotation 'javaBean' on type 'Bean' has SOURCE retention. Matching allowed when RetentionPolicy is CLASS or RUNTIME"/>
- <message kind="error" line="18" text="The method addPropertyChangeListener(String, BeanTestCase) is undefined for the type Bean"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113630/case2" title="IncompatibleClassChangeError - workingscenario">
- <compile files="Bean.java,BeanTestCase.java,javaBean.java,propertyChanger.java,PropertySupportAspect5.aj" options="-1.5"/>
- <run class="BeanTestCase"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="Generics ClassCastException">
- <compile files="pr113445.aj" options="-1.5,-emacssym"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="test illegal change to pointcut declaration">
- <compile files="pr111915.java" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Join point 'method-execution(void SomeClass.doSomething())' in Type 'SomeClass' (pr111915.java:4) advised by around advice from 'DoesntCompile' (pr111915.java:15)"/>
- <message kind="weave" text="Extending interface set for type 'SomeClass' (pr111915.java) to include 'java.io.Serializable' (pr111915.java)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/bridgeMethods" pr="72766" title="Ignore bridge methods">
- <compile files="AspectX.aj" inpath="testcode.jar" options="-showWeaveInfo">
- <!-- <message kind="warning" line="7" text="pointcut did not match on the method call to a bridge method."/>
- <message kind="warning" line="7" text="does not match because declaring type is Number"/>-->
- <message kind="weave" text="(AspectX.aj:18) advised by before advice from 'AspectX'"/>
- <message kind="weave" text="(AspectX.aj:19) advised by before advice from 'AspectX'"/>
- <message kind="weave" text="(Number.java:5) advised by before advice from 'AspectX'"/>
- </compile>
- </ajc-test>
-
- <ajc-test title="intermediate annotation matching" dir="bugs150">
- <compile files="AnnotationPlusPatternMatchingError.aj" options="-1.5">
- <message kind="warning" line="28" text="matched"/>
- </compile>
- <run class="AnnotationPlusPatternMatchingError">
- <stdout>
- <line text="In advice"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="migration" title="load aspectj 1.2.1 aspects in aspectj 5">
- <compile files="Program.java" aspectpath="aspects121.jar">
- </compile>
- <run class="Program"/>
- </ajc-test>
-
- <ajc-test dir="bugs/java5/arrayCloning" pr="72150" vm="1.5"
- title="AJC possible bug with static nested classes">
- <compile files="A.java,C.java" options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'C' (C.java:14) advised by around advice from 'A' (A.java:2)"/>
- </compile>
- <run class="C"/>
- </ajc-test>
-
- <ajc-test dir="java5/pseudoKeywords"
- title="method called around in class">
- <compile files="MethodCalledAround.java">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/pseudoKeywords"
- title="method called around in aspect">
- <compile files="MethodCalledAroundAspect.java">
- <message kind="error" line="2"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="64568" title="clear error message on itd with type pattern">
- <compile files="pr64568.aj">
- <message line="4" kind="error" text="Syntax error on token "*", delete this token"/>
- <message line="4" kind="error" text="foo cannot be resolved to a type"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="74562" title="before and after are valid identifiers in classes">
- <compile files="pr74562.aj">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="107486" title="anonymous inner classes">
- <compile files="pr107486.aj">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="102210" title="NullPointerException trying to compile">
- <compile files="PR102210.java"/>
- <run class="PR102210">
- <stderr>
- <line text="List size is 1"/>
- <line text="m1 running"/>
- <line text="List size is 2"/>
- <line text="m2 running"/>
- <line text="List size is 3"/>
- <line text="m3 running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="107486" title="multiple anonymous inner classes">
- <compile files="pr107486part2.aj">
- </compile>
- <run class="pr107486part2">
- <stdout>
- <line text="[advised] f"/>
- <line text="[advised] g"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/compliance" title="java 5 pointcuts and declares at pre-java 5 compliance levels">
- <compile files="AJ5FeaturesAtJ14.aj" options="-1.4">
- <message kind="error" line="3" text="the @annotation pointcut expression is only supported at Java 5 compliance level or above"/>
- <message kind="error" line="11" text="the @within pointcut expression is only supported at Java 5 compliance level or above"/>
- <message kind="error" line="13" text="the @withincode pointcut expression is only supported at Java 5 compliance level or above"/>
- <message kind="error" line="5" text="the @this pointcut expression is only supported at Java 5 compliance level or above"/>
- <message kind="error" line="7" text="the @target pointcut expression is only supported at Java 5 compliance level or above"/>
- <message kind="error" line="9" text="the @args pointcut expression is only supported at Java 5 compliance level or above"/>
- <message kind="error" line="15" text="declare @type is only supported at Java 5 compliance level or above"/>
- <message kind="error" line="15" text="annotations are only available if source level is 5.0"/>
- <message kind="error" line="15" text="cannot convert from Foo to Annotation"/>
- <message kind="error" line="17" text="declare @method is only supported at Java 5 compliance level or above"/>
- <message kind="error" line="17" text="annotations are only available if source level is 5.0"/>
- <message kind="error" line="17" text="cannot convert from Foo to Annotation"/>
- <message kind="error" line="19" text="declare @field is only supported at Java 5 compliance level or above"/>
- <message kind="error" line="19" text="annotations are only available if source level is 5.0"/>
- <message kind="error" line="19" text="cannot convert from Foo to Annotation"/>
- <message kind="error" line="21" text="declare @constructor is only supported at Java 5 compliance level or above"/>
- <message kind="error" line="21" text="annotations are only available if source level is 5.0"/>
- <message kind="error" line="21" text="cannot convert from Foo to Annotation"/>
- <message kind="error" line="25" text="annotation type patterns are only supported at Java 5 compliance level or above"/>
- <message kind="error" line="27" text="annotation type patterns are only supported at Java 5 compliance level or above"/>
- </compile>
- </ajc-test>
-
-
- <ajc-test dir="bugs150" pr="91114" title="before and after are valid identifiers in classes, part 2">
- <compile files="pr91114.aj">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="78621" title="void field type in pointcut expression">
- <compile files="pr78261.aj">
- <message line="3" kind="error" text="fields cannot have a void type"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="86057" title="overriding final pointcut from super-aspect">
- <compile files="pr86057.aj">
- <message line="9" kind="error" text="can't override final pointcut Base.foo()"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="78707" title="before returning advice not allowed!">
- <compile files="pr78707.aj">
- <message line="3" kind="error" text="Syntax error on token "returning", delete this token"/>
- <message line="3" kind="error" text="Syntax error on token "throwing", delete this token"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="104529" title="@SuppressWarnings should suppress">
- <compile files="pr104529.aj" options = "-1.5 -warn:+unchecked">
- <message line="11" kind="warning" text="needs unchecked conversion"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="79523" title="declare warning : foo(str) : ...;">
- <compile files="pr79523.aj">
- <message line="4" kind="warning" text="no match for this type name: str"/>
- <message line="4" kind="error" text="bad parameter"/>
- <message line="4" kind="error" text="args() pointcut designator cannot be used in declare statement"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="107059" title="parser crashes on call(void (@a *)(..)">
- <compile files="pr107059.aj">
- <message line="3" kind="error" text="Syntax error on token "(", "name pattern" expected"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="107059" title="target(@Foo *)">
- <compile files="pr107059_2.aj" options="-1.5">
- <message kind="error" line="4" text="wildcard type pattern not allowed"></message>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="varargs with type variable">
- <compile files="ParameterizedVarArgMatch.aj" options="-1.5">
- </compile>
- </ajc-test>
-
-
- <ajc-test dir="bugs150" pr="108104" title="multiple anonymous inner classes 2">
- <compile files="pr108104.aj" options="-1.5">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="108050" title="signature matching in override scenario">
- <compile files="pr108050.aj" options="-1.5">
- <message kind="warning" line = "2" text="servlet request"></message>
- <message kind="warning" line = "7" text="servlet request"></message>
- <message kind="warning" line = "21" text="servlet request"></message>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr108425" pr="108245" title="wildcard annotation matching - pr108245">
- <compile files="package1/Bean.java,package2/Bean.java,package2/propertyChanger.java,package3/pr108425.aj" options="-1.5 -Xlint:ignore">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/" pr="108104" title="inner types and type variables">
- <compile files="ShapeCommandMap.java" options="-1.5">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/" pr="107953" title="@AfterThrowing with no formal specified">
- <compile files="pr107953.java" options="-1.5">
- <message kind="error" line="8" text="throwing formal 'RuntimeException' must be declared as a parameter in the advice signature"></message>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr106130" pr="106130" title="test weaving with > 256 locals">
- <compile files="AroundLotsOfVars.java LotsOfVars.java" options="-preserveAllLocals"/>
- <run class="LotsOfVars">
- <stdout>
- <line text="hello"/>
- <line text="2"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr87376" title="structure model npe on type not found">
- <compile files="I.java,NPE.aj" options="-emacssym">
- <message kind="error" line="8" text="I cannot be resolved to a type"/>
- <message kind="error" line="10" text="I cannot be resolved to a type"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="83311" title="overriding/polymorphism error on interface method introduction">
- <compile files="pr83311.aj"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="103266" title="NPE on syntax error">
- <compile files="pr103266.aj">
- <message kind="error" line="41" text="ConnectionRequestContext cannot be resolved to a type"/>
- </compile>
- </ajc-test>
-
- <ajc-test title="itd override with no exception clause" dir="bugs150">
- <compile files="pr83377.aj"></compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr84260" vm="1.5" title="static import failures">
- <compile files="A.java,I1.java,I2.java" options="-1.5"/>
- <run class="I1">
- <stderr>
- <line text="static method running"/>
- </stderr>
- </run>
- <run class="I2">
- <stderr>
- <line text="static method running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test title="anonymous inner class with method returning type parameter" pr="107898" dir="bugs150">
- <compile files="pr107898.aj" options="-1.5"></compile>
- </ajc-test>
-
- <ajc-test title="matching against Object[]" pr="72668" dir="bugs150">
- <compile files="pr72668.aj" options="-1.5">
- <message kind="error" line="3" text="incompatible return type applying to method-execution(java.lang.Number[] pr72668.getThoseInts())"></message>
- <message kind="error" line="10" text="incompatible return type applying to method-execution(java.lang.Number[] pr72668.getThoseInts())"></message>
- </compile>
- </ajc-test>
-
- <ajc-test dir="decp" pr="80249" title="Order of types passed to compiler determines weaving behavior">
- <compile files="A.java,B.java,AspectX.java"/>
- <run class="B"/>
- <compile files="B.java,A.java,AspectX.java"/>
- <run class="B"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="99228" vm="1.5" title="ITD of a field into a generic class">
- <compile files="PR99228.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="98320" vm="1.5" title="intertype with nested generic type">
- <compile files="PR98320.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="decs" pr="42743" title="declare soft of runtime exception">
- <compile files="DeclareSoftRuntimeException.aj">
- <message kind="warning" line="3" text="MyRuntimeException will not be softened as it is already a RuntimeException"/>
- </compile>
- <run class="DeclareSoftRuntimeException">
- <stdout>
- <line text="MyRuntimeException"/>
- <line text="org.aspectj.lang.SoftException"/>
- <line text="MyRuntimeException"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="decs" pr="42743" title="declare soft w. catch block">
- <compile files="VerifyError.aj" options="-Xlint:ignore">
- </compile>
- <run class="VerifyError"/>
- </ajc-test>
-
- <ajc-test dir="bugs" pr="61568" title="Various kinds of ambiguous bindings">
- <compile files="AmbiguousBindings.aj">
- <message line="17" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
- <message line="19" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
- <message line="21" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
- <message line="23" text="ambiguous binding of parameter(s) x across '||' in pointcut"></message>
- <message line="25" text="ambiguous binding of parameter(s) foo across '||' in pointcut"></message>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs" pr="61658" title="ambiguous args">
- <compile files="PR61658.java">
- <message line="17" text="ambiguous binding of parameter(s) a, b across '||' in pointcut"></message>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="78021" title="Injecting exception into while loop with break statement causes catch block to be ignored">
- <compile files="PR78021.java"/>
- <run class="PR78021"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr99089" vm="1.5" pr="99089" title="ArrayIndexOutOfBoundsException - Generics in privileged aspects">
- <compile files="DataClass.java,TracingAspect.java" options="-1.5"/>
- <run class="DataClass">
- <stderr>
- <line text="before:Length of v=1"/>
- <line text="after:Length of v=2"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="79554" title="Return in try-block disables catch-block if final-block is present">
- <compile files="PR79554.java"/>
- <run class="PR79554"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="82570" title="Weaved code does not include debug lines">
- <compile files="PR82570_1.java"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="83303" title="compiler error when mixing inheritance, overriding and polymorphism">
- <compile files="PR83303.java"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="83563" title="pertypewithin() handing of inner classes (1)">
- <compile files="PR83563_1.java"/>
- <run class="PR83563_1"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="83563" title="pertypewithin() handing of inner classes (2)">
- <compile files="PR83563_2.java"/>
- <run class="PR83563_2"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="83645" title="pertypewithin({interface}) illegal field modifier">
- <compile files="PR83645.java" options="-Xlint:ignore"/>
- <run class="PR83645"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="bad asm for enums" vm="1.5">
- <compile files="Rainbow.java" options="-emacssym,-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="10461" title="missing name pattern">
- <compile files="PR106461.aj">
- <message kind="error" line="3" text="Syntax error on token "(", "name pattern" expected"/>
- <message kind="error" line="5" text="Syntax error on token ")", "name pattern" expected"/>
- <message kind="error" line="7" text="Syntax error on token ".", "name pattern" expected"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="106634" title="IllegalStateException unpacking signature of nested parameterized type">
- <compile files="pr106634.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="(@Foo *)+ type pattern parse error">
- <compile files="AnnotationPlusPatternParseError.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="80571" title="around advice on interface initializer">
- <compile files="pr80571.aj"/>
- <run class="pr80571">
- <stdout>
- <line text="before"/>
- <line text="after"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="78314" title="good error message for unmatched member syntax">
- <compile files="pr78314.aj" options="-1.5">
- <message kind="error" line="5" text="Syntax error, insert "body""/>
- <message kind="error" line="5" text="Syntax error on tokens, valid member declaration expected instead"/>
- </compile>
- <compile files="pr78314.aj">
- <message kind="error" line="5" text="Syntax error, insert "body""/>
- <message kind="error" line="5" text="Syntax error on tokens, valid member declaration expected instead"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="108377" title="itd field access inside itd method">
- <compile files="pr108377.aj"/>
- <run class="pr108377"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr108054" pr="108054" title="type variable with type variable bound">
- <compile files="pr108054.aj" options="-1.5"/>
- <compile files="ISequence.java,ICounter.java,ASequence.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr108370" pr="108370" title="switch on enum inside ITD method">
- <compile files="et/Q.java" options="-1.5"/>
- <compile files="EnumTest.aj" options="-1.5 -inpath et"/>
- <run class="EnumTest">
- <stdout>
- <line text="B!"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="95992" title="inner type of generic interface reference from parameterized type">
- <compile files="pr95992.aj" options="-1.5"/>
- </ajc-test>
-
-
- <ajc-test dir="bugs150" pr="104024" title="inner class passed as argument to varargs method">
- <compile files="pr104024.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="107858" title="inlined field access in proceed call">
- <compile files="pr107858.aj" options="-1.5">
- <message kind="error" line="9" text="too many arguments to proceed, expected 0"></message>
- <message kind="error" line="10" text="too many arguments to proceed, expected 0"></message>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr71159" pr="71159" title="visibility in signature matching with overrides - 1">
- <compile files="pr71159.aj">
- <message kind="warning" line="26" text="should match"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr71159" pr="71159" title="visibility in signature matching with overrides - 2">
- <compile files="PrivateITD.aj">
- <message kind="warning" line="28" text="should match"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr71159" pr="71159" title="visibility in signature matching with overrides - 3">
- <compile files="pkg1/A.java,pkg1/B.java,pkg1/C.java,pkg2/ITDInDiffPackage.aj">
- <message kind="warning" line="10" text="should match"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="59196" title="args generated correctly for advice execution join point">
- <compile files="pr59196.aj" options="-XnoInline -1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="74048" title="no unused warnings on aspect types">
- <compile files="pr74048.aj" options="-warn:unusedPrivate"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="59397" title="synthetic arguments on itd cons are not used in matching">
- <compile files="pr59397.aj">
- <message line="6" kind="warning" text="should match"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="108602" title="parse generic type signature with parameterized type in interface">
- <compile files="pr108602.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="105479" title="declare parents introducing override with covariance">
- <compile files="pr105479.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="105479" title="override and covariance with decp - runtime">
- <compile files="pr105479part2.aj" options="-1.5"/>
- <run class="pr105479part2">
- <stdout>
- <line text="in Test.hashCode()"/>
- <line text="in Test.hashCode()"/>
- <line text="id"/>
- <line text="in Test.hashCode()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr105479/case1" pr="105479" title="override and covariance with decp - runtime separate files">
- <compile files="ReturnTypeTest.aj,ReturnTypeTester.java,Driver.java" options="-1.5"/>
- <run class="Driver">
- <stdout>
- <line text="in Test.hashCode()"/>
- <line text="in Test.hashCode()"/>
- <line text="id"/>
- <line text="in Test.hashCode()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr105479/case2" pr="105479" title="override and covariance with decp - binary weaving">
- <compile files="ReturnTypeTest.java" outjar="jar1.jar" options="-1.5 -Xlint:ignore"/>
- <compile files="ReturnTypeTester.java" outjar="jar2.jar" options="-1.5"/>
- <compile inpath="jar1.jar;jar2.jar" options="-1.5"/>
- <run class="ReturnTypeTester"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="102212" title="abstract synchronized itdms not detected">
- <compile files="pr102212.aj">
- <message line="7" kind="error" text="The abstract method _abstract in type Parent can only set a visibility modifier, one of public or protected"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="102212" title="synchronized itd interface methods">
- <compile files="SynchronizedInterfaceMethods.aj" options="-1.5">
- </compile>
- <run class="SynchronizedInterfaceMethods"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="101606" title="unused private pointcuts">
- <compile files="pr101606.aj" options="-warn:unusedPrivate">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr99125" pr="99125" title="itd interface method already existing on interface">
- <compile files="p/pr99125.aj,p/I.java,p/J.java" options="-1.5">
- </compile>
- <compile files="Aspects.aj" options="-inpath p"/>
- <run class="p.pr99125"/>
- <compile files="p2/pr99125.aj,p/I.java,p/J.java"/> <!-- actually in package p, introduces incompatible change -->
- <compile files="Aspects.aj" options="-inpath p">
- <message kind="error" line="7" text="inter-type declaration from X conflicts with existing member"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr87530" pr="87530" title="final itd methods on interfaces">
- <compile files="FinalITDMOnInterface.aj">
- <message kind="error" line="12" text="Cannot override the final method from A.TestInterface"></message>
- </compile>
- <compile files="FinalITDMOnInterface2.aj">
- <message kind="error" line="8" text="Cannot override the final method from A.TestInterface"></message>
- <message kind="error" line="8" text="can't override final void A$TestInterface.m()"></message>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="108818" title="can't override private pointcut in abstract aspect">
- <compile files="PrivatePointcutOverriding.aj">
- <message kind="warning" line="19" text="matched join point from super advice"/>
- <message kind="warning" line="21" text="matched join point from sub advice"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="108816" title="advising cflow advice execution">
- <compile files="pr108816.aj" >
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr108902" pr="108902" title="no type mismatch on generic types in itds">
- <compile files="Subject.java,Observer.java,ObserverProtocol.aj" >
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="108903" title="super call in ITD">
- <compile files="pr108903.aj" >
- <message kind="error" line="14" text="The method print() is undefined for the type Object"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="109042" title="no unused parameter warnings for synthetic advice args">
- <compile files="pr109042.aj" options="-warn:+unusedArgument -warn:+unusedPrivate -warn:+unusedImport -1.5">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="109486" title="Internal compiler error (ClassParser.java:242)">
- <compile files="PR109486.java" >
- <message kind="error" line="1" text="The class PR109486 can be either abstract or final, not both"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="109124" title="no verify error with set on inner type">
- <compile files="VerifyErrorOnSet.aj" options="-1.5" >
- </compile>
- <run class="test.VerifyErrorOnSet"/>
- <compile files="pr106874.aj" options="-1.5" >
- </compile>
- <run class="pr106874"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="108826" title="cant find type error with generic return type or parameter">
- <compile files="pr108826.aj" options="-1.5 -emacssym" >
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="105181" title="no verify error on generic collection member access">
- <compile files="pr105181.aj" options="-1.5">
- </compile>
- <run class="pr105181"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr108903" pr="108903" title="super call in ITD - part 2">
- <compile files="com/designpattern/decorator/HeaderDecorator.aj,com/designpattern/decorator/Main.java,com/designpattern/decorator/Order.java,com/designpattern/decorator/OrderDecorator.aj,com/designpattern/decorator/SalesOrder.java" options="-1.5" >
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr103740" pr="103740" title="Compiler failure on at_annotation">
- <compile files="AroundAdvice.aj" options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Join point 'method-execution(void C.m1())' in Type 'C' (AroundAdvice.aj:12) advised by before advice from 'ErrorHandling' (AroundAdvice.aj:8)"/>
- <message kind="weave" text="Join point 'method-execution(void C.m3())' in Type 'C' (AroundAdvice.aj:14) advised by before advice from 'ErrorHandling' (AroundAdvice.aj:8)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr106554" pr="106554" title="Problem in staticinitialization with pertypewithin aspect">
- <compile files="A.aj" options="-showWeaveInfo">
- <message kind="weave" text="Join point 'staticinitialization(void A.<clinit>())' in Type 'A' (A.aj:1) advised by before advice from 'StopsInit' (A.aj:21)"/>
- </compile>
- <run class="A">
- <stdout>
- <line text="test = 1"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/SimpleInsuranceFailure" title="raw and generic type conversion with itd cons">
- <compile files="" options=" -emacssym, -sourceroots ." >
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="@annotation binding with around advice">
- <compile files="AnnotationBinding.aj" options="-1.5"/>
- <run class="AnnotationBinding"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="declare parents on a missing type">
- <compile files="Pr76374.aj" options="-1.5">
- <message kind="warning" line="3" text="no match for this type name"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="parameterized generic methods">
- <compile files="Pr109283.aj" options="-1.5 -warn:indirectStatic">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="call join points in anonymous inner classes">
- <compile files="pr104229.aj" options="-1.5">
- <message kind="warning" line="54" text="bingo"/>
- <message kind="warning" line="115" text="bingo"/>
- <message kind="warning" line="130" text="bingo"/>
- </compile>
- <run class="pr104229">
- <stdout>
- <line text="call match class pr104229"/>
- <line text="OK it worked!"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="default impl of Runnable">
- <compile files="pr88900.aj" options="-Xdev:Pinpoint">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="array clone call join points in 1.4 vs 1.3">
- <compile files="pr102933.aj" options="-1.3">
- <message kind="warning" line="7" text="a call within pr102933"/>
- </compile>
- <compile files="pr102933.aj" options="-1.4">
- <message kind="warning" line="7" text="a call within pr102933"/>
- </compile>
- <compile files="pr102933.aj" options="-1.5">
- <message kind="warning" line="7" text="a call within pr102933"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="100195" title="debug info in around advice inlining">
- <compile files="pr100195.aj">
- </compile>
- <run class="pr100195"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="weaveinfo message for declare at method on an ITDd method">
- <compile files="pr113073.java" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Type 'C' (pr113073.java) has intertyped method from 'D' (pr113073.java:'void C.anotherMethod()')"/>
- <message kind="weave" text="'public void C.anotherMethod()' (pr113073.java) is annotated with @Annotation method annotation from 'B' (pr113073.java:3)"/>
- <message kind="weave" text="Type 'C' (pr113073.java) has intertyped method from 'D' (pr113073.java:'void C.anotherMethod(java.lang.String)')"/>
- <message kind="weave" text="'public void C.anotherMethod(String)' (pr113073.java) is annotated with @Annotation method annotation from 'B' (pr113073.java:3)"/>
- <message kind="weave" text="Type 'C' (pr113073.java) has intertyped constructor from 'D' (pr113073.java:'void C."/>
- <message kind="weave" text="'public void C.new(String)' (pr113073.java) is annotated with @Annotation constructor annotation from 'B' (pr113073.java:4)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113447" title="no verify error with two this pcds">
- <compile files="PR113447.java">
- </compile>
- <run class="PR113447"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113447" title="no verify error with two at this pcds">
- <compile files="PR113447a.java" options="-1.5">
- </compile>
- <run class="PR113447a"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113447" title="no verify error with at within pcds">
- <compile files="PR113447b.java" options="-1.5">
- </compile>
- <run class="PR113447b"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113447" title="no verify error with at withincode pcds">
- <compile files="PR113447c.java" options="-1.5">
- </compile>
- <run class="PR113447c"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113447" title="no verify error with at annotation pcds">
- <compile files="PR113447d.java" options="-1.5">
- </compile>
- <run class="PR113447d"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr113447" title="no verify error with two args pcds">
- <compile files="PR113447e.java" options="-1.5">
- </compile>
- <run class="PR113447e"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="no StackOverflowError with circular pcd in generic aspect">
- <compile files="pr115235.aj" options="-1.5">
- <message kind="warning" line="3" text="advice defined in GenericAbstractAspect has not been applied [Xlint:adviceDidNotMatch]"/>
- <message kind="error" text="circular pointcut declaration involving: pc()"/>
- <message kind="error" line="20" text="circular pointcut declaration involving: pc2()"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="no StackOverflowError with circular pcd in generic aspect - 2">
- <compile files="pr115235b.aj" options="-1.5">
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr115252" title="xlint message for improper exact annotation type">
- <compile files="ExactAnnotationTypePattern.java" options="-1.5">
- <message kind="warning" line="20" text="field blah"/>
- <message kind="warning" line="28" text="does not match because annotation @TypeAnnotation has @Target{ElementType.TYPE} [Xlint:unmatchedTargetKind]"/>
- <message kind="warning" line="37" text="does not match because annotation @FieldAnnotation has @Target{ElementType.FIELD} [Xlint:unmatchedTargetKind]"/>
- <message kind="warning" line="46" text="does not match because annotation @MethodAnnotation has @Target{ElementType.METHOD} [Xlint:unmatchedTargetKind]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr115252" title="xlint message for improper annotation type inside OR">
- <compile files="OrTypePattern.java" options="-1.5">
- <message kind="warning" line="26" text="does not match because annotation @FieldAnnotation has @Target{ElementType.FIELD} [Xlint:unmatchedTargetKind]"/>
- <message kind="warning" line="31" text="does not match because annotation @TypeAnnotation has @Target{ElementType.TYPE} [Xlint:unmatchedTargetKind]"/>
- <message kind="warning" line="31" text="does not match because annotation @FieldAnnotation has @Target{ElementType.FIELD} [Xlint:unmatchedTargetKind]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr115252" title="xlint message for improper annotation type inside AND">
- <compile files="AndTypePattern.java" options="-1.5">
- <message kind="warning" line="23" text="does not match because annotation @FieldAnnotation has @Target{ElementType.FIELD} [Xlint:unmatchedTargetKind]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr115252" title="xlint message for improper annotated return type">
- <compile files="AnnotationReturnType.java" options="-1.5">
- <!-- warnings coming from matching pointcuts and corresponding declare warnings -->
- <message kind="warning" line="12" text="(@TypeAnnotation *) *(..)"/>
- <message kind="warning" line="12" text="(@(TypeAnnotation || MethodAnnotation) *) *(..)"/>
- <!-- xlint warnings that were put in as part of fix for pr115252 -->
- <message kind="warning" line="32" text="does not match because annotation @MethodAnnotation has @Target{ElementType.METHOD} [Xlint:unmatchedTargetKind]"/>
- <message kind="warning" line="37" text="does not match because annotation @MethodAnnotation has @Target{ElementType.METHOD} [Xlint:unmatchedTargetKind]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr115252" title="xlint message for improper annotated declaring type">
- <compile files="AnnotationDeclaringType.java" options="-1.5">
- <!-- warning coming from matching pointcuts and corresponding declare warnings -->
- <message kind="warning" line="13" text="* (@TypeAnnotation *).*(..)"/>
- <!-- xlint warning that was put in as part of fix for pr115252 -->
- <message kind="warning" line="27" text="does not match because annotation @MethodAnnotation has @Target{ElementType.METHOD} [Xlint:unmatchedTargetKind]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr115252" title="xlint message for improper annotated parameter type">
- <compile files="AnnotationParameterType.java" options="-1.5">
- <!-- warning coming from matching pointcuts and corresponding declare warnings -->
- <message kind="warning" line="12" text="* *(@TypeAnnotation *)"/>
- <!-- xlint warning that was put in as part of fix for pr115252 -->
- <message kind="warning" line="31" text="does not match because annotation @MethodAnnotation has @Target{ElementType.METHOD} [Xlint:unmatchedTargetKind]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr115252" title="xlint message for improper annotated throws pattern">
- <compile files="AnnotationThrowsPattern.java" options="-1.5">
- <!-- warnings coming from matching pointcuts and corresponding declare warnings -->
- <message kind="warning" line="12" text="(* *.*(..) throws (@TypeAnnotation *))"/>
- <message kind="warning" line="12" text="* *.*(..) throws !(@MethodAnnotation *)"/>
- <message kind="warning" line="14" text="(* *.*(..) throws !(@TypeAnnotation *))"/>
- <message kind="warning" line="14" text="* *.*(..) throws !(@MethodAnnotation *)"/>
- <!-- xlint warnings that were put in as part of fix for pr115252 -->
- <message kind="warning" line="40" text="does not match because annotation @MethodAnnotation has @Target{ElementType.METHOD} [Xlint:unmatchedTargetKind]"/>
- <message kind="warning" line="46" text="does not match because annotation @MethodAnnotation has @Target{ElementType.METHOD} [Xlint:unmatchedTargetKind]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr115252" title="xlint message for more than one improper annotated parameter type">
- <compile files="MoreThanOneTargetAnnotation.java" options="-1.5">
- <!-- xlint warning that was put in as part of fix for pr115252 -->
- <message kind="warning" line="28" text="does not match because annotation @MethodAndFieldAnnotation has @Target{ElementType.FIELD,ElementType.METHOD} [Xlint:unmatchedTargetKind]"/>
- <message kind="warning" line="38" text="does not match because annotation @TypeAndMethodAnnotation has @Target{ElementType.METHOD,ElementType.TYPE} [Xlint:unmatchedTargetKind]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119019" title="no NPE when inaccessible method is called within itd">
- <compile files="bar/TargetITDClass.java,foo/ITDWithACall.aj"/>
- <run class="foo.ITDWithACall"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="no NPE with or pointcut and more than one args">
- <compile files="PR118149.aj"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="no StringOutOfBoundsException with generic inner aspects">
- <compile files="PR119543.java" options="-1.5">
- <message kind="warning" line="8" text="advice defined in PR119543$A has not been applied [Xlint:adviceDidNotMatch]"/>
- </compile>
- </ajc-test>
-
- <!-- ============================================================================ -->
- <!-- ============================================================================ -->
-
- <!-- atOverride tests with ITDs -->
-
- <ajc-test dir="java5/generics/itds" pr="106630" title="atOverride used with ITDs">
- <compile files="AtOverride.aj" options="-1.5"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds" pr="106630" title="atOverride used with ITDs - 1">
- <compile files="AtOverride1.aj" options="-1.5">
- <message kind="error" line="9" text="The method method() of type Child must override a superclass method"/>
- </compile>
- </ajc-test>
- <ajc-test dir="java5/generics/itds" pr="106630" title="atOverride used with ITDs - 2">
- <compile files="AtOverride2.aj" options="-1.5"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds" pr="106630" title="atOverride used with ITDs - 3">
- <compile files="AtOverride3.aj" options="-1.5"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds" pr="106630" title="atOverride used with ITDs - 4">
- <compile files="AtOverride4.aj" options="-1.5"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds" pr="106630" title="atOverride used with ITDs - 5">
- <compile files="AtOverride5.aj" options="-1.5">
- <message kind="error" line="11" text="The method method() of type Child must override a superclass method"/>
- </compile>
- </ajc-test>
- <ajc-test dir="java5/generics/itds" pr="106630" title="atOverride used with ITDs - 6">
- <compile files="AtOverride6.aj" options="-1.5"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds" pr="106630" title="atOverride used with ITDs - 7">
- <compile files="AtOverride7.aj" options="-1.5"/>
- </ajc-test>
-
- <!-- end of atOverride tests with ITDs -->
-
- <ajc-test dir="../docs/dist/doc/examples/introduction" title="introduction sample" vm="1.5">
- <compile files="CloneablePoint.java,ComparablePoint.java,HashablePoint.java,Point.java" options="-1.5 -Xlint:ignore"/>
- </ajc-test>
-
- <ajc-test dir="java5/varargs" title="varargs in constructor sig" vm="1.5">
- <compile files="Pr88652.aj" options="-1.5">
- <message kind="warning" line="8" text="should match"/>
- <message kind="warning" line="9" text="should match"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/varargs" title="Varargs with .. in pointcut" vm="1.5">
- <compile files="pr93356.aj" options="-1.5">
- <message kind="warning" line="5" text="a"/>
- <message kind="warning" line="5" text="b"/>
- <message kind="warning" line="5" text="c"/>
- <message kind="warning" line="5" text="d"/>
- <message kind="warning" line="5" text="e"/>
- <message kind="warning" line="5" text="k"/>
- <message kind="warning" line="5" text="l"/>
-
- <message kind="warning" line="4" text="f"/>
- <message kind="warning" line="4" text="g"/>
- <message kind="warning" line="4" text="h"/>
- <message kind="warning" line="4" text="i"/>
- <message kind="warning" line="4" text="j"/>
-
- <message kind="warning" line="7" text="f"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/varargs" title="star varargs pattern" vm="1.5">
- <compile files="StarVarargsPattern.aj" options="-1.5">
- <message kind="warning" line="5" text="you used a varargs signature"/>
- <message kind="warning" line="7" text="you used a varargs signature"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations" title="invalid cons syntax" vm="1.5">
- <compile files="SyntaxError.aj" options="-1.5">
- <message kind="error" line="3" text="Syntax error on token "new", "method name (not constructor)" expected"/>
- </compile>
- </ajc-test>
-
- <!-- hasmethod / hasfield tests -->
-
- <ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember">
- <compile files="HasMethod.aj">
- <message kind="error" line="5" text="the type pattern hasmethod(* print(..)) can only be used when the -XhasMember option is set"/>
- </compile>
- </ajc-test>
-
- <ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember">
- <compile files="HasMethod.aj" options="-XhasMember">
- </compile>
- <run class="HasMethod"></run>
- </ajc-test>
-
- <ajc-test title="declare parents : hasmethod(..) - 2" dir="hasmember">
- <compile files="HasMethodInherited.aj" options="-XhasMember">
- </compile>
- <run class="HasMethodInherited"></run>
- </ajc-test>
-
- <ajc-test title="declare parents : hasmethod(..) - 3" dir="hasmember">
- <compile files="HasPrivateMethodInherited.aj" options="-XhasMember">
- </compile>
- <run class="HasPrivateMethodInherited"></run>
- </ajc-test>
-
- <ajc-test title="declare parents : hasmethod(..) - 4" dir="hasmember">
- <compile files="HasMethodViaITD.aj" options="-XhasMember">
- <message kind="warning" line="15" text="hasmethod matched on ITD ok"/>
- </compile>
- </ajc-test>
-
- <ajc-test title="declare parents : hasfield(..) - 1" dir="hasmember">
- <compile files="HasField.aj" options="-XhasMember">
- </compile>
- <run class="HasField"></run>
- </ajc-test>
-
- <ajc-test title="declare parents : hasfield(..) - 2" dir="hasmember">
- <compile files="HasFieldInherited.aj" options="-XhasMember">
- </compile>
- <run class="HasFieldInherited"></run>
- </ajc-test>
-
- <ajc-test title="declare parents : hasfield(..) - 3" dir="hasmember">
- <compile files="HasPrivateFieldInherited.aj" options="-XhasMember">
- </compile>
- <run class="HasPrivateFieldInherited"></run>
- </ajc-test>
-
- <!-- Annotation binding tests -->
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="call annotation binding 1">
- <compile files="CallAnnBinding.aj" options="-1.5"/>
- <run class="CallAnnBinding"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="call annotation binding 2">
- <compile files="CallAnnBinding2.aj" options="-1.5"/>
- <run class="CallAnnBinding2"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="call annotation binding 3">
- <compile files="CallAnnBinding3.aj" options="-1.5"/>
- <run class="CallAnnBinding3"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="call annotation binding 4">
- <compile files="CallAnnBinding4.aj" options="-1.5"/>
- <run class="CallAnnBinding4"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="call annotation binding 5">
- <compile files="CallAnnBinding5.aj" options="-1.5"/>
- <run class="CallAnnBinding5"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="call annotation binding 6">
- <compile files="CallAnnBinding6.aj" options="-1.5"/>
- <run class="CallAnnBinding6"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="call annotation binding 7">
- <compile files="CallAnnBinding7.aj" options="-1.5"/>
- <run class="CallAnnBinding7"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@target annotation binding 1">
- <compile files="AtTarget1.aj" options="-1.5"/>
- <run class="AtTarget1"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@target annotation binding 2">
- <compile files="AtTarget2.aj" options="-1.5"/>
- <run class="AtTarget2"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@target annotation binding 3">
- <compile files="AtTarget3.aj" options="-1.5"/>
- <run class="AtTarget3"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@target annotation binding 4">
- <compile files="AtTarget4.aj" options="-1.5"/>
- <run class="AtTarget4"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding/usingPackageNames" vm="1.5" title="@target annotation binding 5">
- <compile files="MyAspect.aj,MyAnnotation.java,MyClass.java" options="-1.5"/>
- <run class="test.MyClass"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@this annotation binding 1">
- <compile files="AtThis1.aj" options="-1.5"/>
- <run class="AtThis1"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@this annotation binding 2">
- <compile files="AtThis2.aj" options="-1.5"/>
- <run class="AtThis2"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@this annotation binding 3">
- <compile files="AtThis3.aj" options="-1.5"/>
- <run class="AtThis3"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@this annotation binding 4">
- <compile files="AtThis4.aj" options="-1.5"/>
- <run class="AtThis4"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@this annotation binding 5">
- <compile files="AtThis5.aj" options="-1.5"/>
- <run class="AtThis5"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@args annotation binding 1">
- <compile files="AtArgs1.aj" options="-1.5"/>
- <run class="AtArgs1"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@args annotation binding 2">
- <compile files="AtArgs2.aj" options="-1.5"/>
- <run class="AtArgs2"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@args annotation binding 3">
- <compile files="AtArgs3.aj" options="-1.5"/>
- <run class="AtArgs3"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@args annotation binding 4">
- <compile files="AtArgs4.aj" options="-1.5"/>
- <run class="AtArgs4"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@args annotation binding 5">
- <compile files="AtArgs5.aj" options="-1.5"/>
- <run class="AtArgs5"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="execution and @annotation">
- <compile files="ExecutionAnnBinding1.aj" options="-1.5"/>
- <run class="ExecutionAnnBinding1"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="set and @annotation">
- <compile files="FieldAnnBinding1.aj" options="-1.5"/>
- <run class="FieldAnnBinding1"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="get and @annotation">
- <compile files="FieldAnnBinding2.aj" options="-1.5"/>
- <run class="FieldAnnBinding2"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="get and @annotation with arrays">
- <compile files="FieldAnnBinding3.aj" options="-1.5"/>
- <run class="FieldAnnBinding3"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="cons call and @annotation">
- <compile files="CtorAnnBinding1.aj" options="-1.5"/>
- <run class="CtorAnnBinding1"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="cons exe and @annotation">
- <compile files="CtorAnnBinding2.aj" options="-1.5"/>
- <run class="CtorAnnBinding2"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="staticinit and @annotation">
- <compile files="StaticInitBinding.aj" options="-1.5"/>
- <run class="StaticInitBinding"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="preinit and @annotation">
- <compile files="PreInitBinding.aj" options="-1.5"/>
- <run class="PreInitBinding"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="init and @annotation">
- <compile files="InitBinding.aj" options="-1.5"/>
- <run class="InitBinding"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="adviceexecution and @annotation">
- <compile files="AdviceExecBinding.aj" options="-1.5"/>
- <run class="AdviceExecBinding"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="handler and @annotation">
- <compile files="HandlerBinding.aj" options="-1.5"/>
- <run class="HandlerBinding"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@withincode() and call(* println(..))">
- <compile files="WithinCodeBinding1.aj" options="-1.5"/>
- <run class="WithinCodeBinding1"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@within">
- <compile files="WithinBinding1.aj" options="-1.5"/>
- <run class="WithinBinding1"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="@within - multiple types">
- <compile files="WithinBinding2.aj" options="-1.5"/>
- <run class="WithinBinding2"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding/complexExample" vm="1.5" title="packages and no binding">
- <compile files="A.java,B.java,Color.java,X.java" options="-1.5"/>
- <run class="a.b.c.A"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding/complexExample" vm="1.5" title="packages and binding">
- <compile files="A.java,B.java,Color.java,X2.java" options="-1.5"/>
- <run class="a.b.c.A"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" vm="1.5" title="binding with static methods">
- <compile files="StaticMethods.java" options="-1.5"/>
- <run class="StaticMethods"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations" vm="1.5" title="annotation matching on call">
- <weave classesFiles="AnnotatedType.java,SimpleAnnotation.java,SimpleAnnotation2.java"
- aspectsFiles="AnnotationAspect02.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'AnnotatedType' (AnnotatedType.java:3) advised by before advice from 'AnnotationAspect02' (aspects.jar!AnnotationAspect02.class:4(from AnnotationAspect02.aj))"/>
- <message kind="weave" text="Type 'AnnotatedType' (AnnotatedType.java:3) advised by before advice from 'AnnotationAspect02' (aspects.jar!AnnotationAspect02.class:2(from AnnotationAspect02.aj))"/>
- <message kind="weave" text="Type 'AnnotatedType' (AnnotatedType.java:4) advised by before advice from 'AnnotationAspect02' (aspects.jar!AnnotationAspect02.class:4(from AnnotationAspect02.aj))"/>
- </weave>
- </ajc-test>
-
- <ajc-test dir="java5/annotations" vm="1.5" title="at annotation matching">
- <weave classesFiles="AnnotatedType.java,SimpleAnnotation.java,SimpleAnnotation2.java"
- aspectsFiles="AnnotationAspect03.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="warning" line="8" text="@annotation matched here"/>
- </weave>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/within_code" vm="1.5" title="annotations and within(code)">
- <weave classesFiles="TestingAnnotations.java"
- aspectsFiles="WithinAndWithinCodeTests.java"
- options="-1.5,-showWeaveInfo">
- <message kind="warning" line="31" text="@within match on non-inherited annotation"/>
- <message kind="warning" line="39" text="@within match on non-inherited annotation"/>
- <message kind="warning" line="39" text="@within match on inheritable annotation"/>
- <message kind="warning" line="43" text="@within match on inheritable annotation"/>
- <message kind="warning" line="32" text="@withincode match"/>
- </weave>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/within" vm="1.5" title="annotations and within">
- <weave classesFiles="PlainWithin.java"
- aspectsFiles="PlainWithinTests.java"
- options="-1.5,-showWeaveInfo">
- <message kind="warning" line="21" text="positive within match on annotation"/>
- <message kind="warning" line="25" text="negative within match on annotation"/>
- </weave>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/thisOrtarget" vm="1.5" title="must have runtime retention">
- <compile options="-1.5" files="NotRuntimeRetention.aj">
- <message kind="error" line="20" text="Annotation type MySourceAnnotation does not have runtime retention"/>
- <message kind="error" line="21" text="Annotation type MyClassAnnotation does not have runtime retention"/>
- <message kind="error" line="22" text="Annotation type MyAnnotation does not have runtime retention"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/thisOrtarget" vm="1.5" title="inheritable or not">
- <compile options="-1.5" files="TestingAnnotations.java,ThisOrTargetTests.aj">
- </compile>
- <run class="TestingAnnotations"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/thisOrtarget" vm="1.5" title="use of @this/target in deow">
- <compile options="-1.5" files="TestingAnnotations.java,DeclareEoW.java">
- <message kind="error" line="3" text="this() pointcut designator cannot be used in declare statement"/>
- <message kind="error" line="5" text="target() pointcut designator cannot be used in declare statement"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/args" vm="1.5" title="@args tests">
- <compile options="-1.5" files="TestingArgsAnnotations.java,AtArgsAspect.java">
- </compile>
- <run class="TestingArgsAnnotations"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/args" vm="1.5" title="use of @args in deow">
- <compile options="-1.5" files="TestingArgsAnnotations.java,DeclareEoW.java">
- <message kind="error" line="3" text="args() pointcut designator cannot be used in declare statement"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations" vm="1.5" title="compiling an annotation">
- <compile options="-1.5" files="SimpleAnnotation.java">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations" vm="1.5" title="compiling annotated file">
- <compile options="-1.5" files="SimpleAnnotation.java,AnnotatedType.java">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/within" vm="1.5" title="annotations and within (src)">
- <compile files="PlainWithin.java,PlainWithinTests.java"
- aspectsFiles="PlainWithinTests.java"
- options="-1.5">
- <message kind="warning" line="21" text="positive within match on annotation"/>
- <message kind="warning" line="25" text="negative within match on annotation"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/attarget" vm="1.5" title="losing annotations...">
- <compile options="-1.5" files="Program.java,AtTargetAspect.java">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations" vm="1.5" title="no itds on annotation types">
- <compile files="AnnotatedType.java,SimpleAnnotation.java,SimpleAnnotation2.java,AnnotationAspect01.aj"
- options="-1.5">
- <message kind="error" line="4" text="can't make inter-type constructor declarations"/>
- <message kind="error" line="8" text="can't make inter-type method declarations"/>
- <message kind="error" line="13" text="can't make inter-type field declarations"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations" vm="1.5" title="no declare parents on annotation types">
- <compile files="AnnotatedType.java,SimpleAnnotation.java,SimpleAnnotation2.java,AnnotationAspect04.aj"
- options="-1.5">
- <message kind="error" line="7" text="can't use declare parents to alter supertype of annotation type SimpleAnnotation"/>
- <message kind="error" line="10" text="can't use declare parents to make 'java.lang.annotation.Annotation' the parent of type"/>
- <message kind="error" line="4" text="can't use declare parents to make annotation type SimpleAnnotation implement an interface"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations" vm="1.5" title="declare parents wildcards matching annotation types">
- <compile files="AnnotatedType.java,SimpleAnnotation.java,SimpleAnnotation2.java,AnnotationAspect05.aj"
- options="-1.5">
- <message kind="warning" line="4" text="annotation type SimpleAnnotation2 matches a declare parents type pattern but is being ignored"/>
- <message kind="warning" line="4" text="annotation type SimpleAnnotation matches a declare parents type pattern but is being ignored"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding/complexExample" vm="1.5" title="annotated any pattern">
- <compile files="A.java,B.java,C.java,Color.java,X3.java"
- options="-1.5">
- </compile>
- <run class="g.h.i.C"/>
- <run class="a.b.c.A"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding/complexExample" vm="1.5" title="annotation not imported">
- <compile files="A.java,B.java,C.java,Color.java,X4.java"
- options="-1.5">
- <message kind="warning" line="6" text="no match for this type name: Color"/>
- </compile>
- <run class="a.b.c.A"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/itds" vm="1.5" title="annotated public itds">
- <compile files="AtItd2.aj" options="-1.5"/>
- <run class="AtItd2"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/itds" vm="1.5" title="annotated public itds - values">
- <compile files="AtItd3.aj" options="-1.5"/>
- <run class="AtItd3"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/itds" vm="1.5" title="annotated public itds - multiple complex annotations">
- <compile files="AtItd4.aj" options="-1.5"/>
- <run class="AtItd4"/>
- </ajc-test>
-
-
- <ajc-test dir="java5/annotations/itds" vm="1.5" title="nasty annotation and itds test">
- <compile files="AnnotationsAndITDs.aj" options="-1.5">
- <!-- first two are ITCs, second two are ITCs annotated via declare @ctor, third is default ctor -->
- <message kind="warning" line="17" text="execution(@SomeAnnotation ...new(..)"/>
- <message kind="warning" line="20" text="execution(@SomeAnnotation ...new(..)"/>
- <message kind="warning" line="45" text="execution(@SomeAnnotation ...new(..)"/>
- <message kind="warning" line="46" text="execution(@SomeAnnotation ...new(..)"/>
- <message kind="warning" line="180" text="execution(@SomeAnnotation ...new(..)"/>
-
- <!-- first four are fields annotated via declare, last two are directly annotated ITDs -->
- <message kind="warning" line="59" text="set(@SomeAnnotation...)"/>
- <message kind="warning" line="60" text="set(@SomeAnnotation...)"/>
- <message kind="warning" line="70" text="set(@SomeAnnotation...)"/>
- <message kind="warning" line="71" text="set(@SomeAnnotation...)"/>
- <message kind="warning" line="76" text="set(@SomeAnnotation...)"/>
- <message kind="warning" line="77" text="set(@SomeAnnotation...)"/>
-
- <!-- annotations added via declare -->
- <message kind="warning" line="175" text="si(@SomeAnnotation...)"/>
- <message kind="warning" line="180" text="si(@SomeAnnotation...)"/>
-
- <message kind="warning" line="25" text="execution(@SomeAnnotation ...)"/>
- <message kind="warning" line="28" text="execution(@SomeAnnotation ...)"/>
- <message kind="warning" line="52" text="execution(@SomeAnnotation ...)"/>
- <message kind="warning" line="53" text="execution(@SomeAnnotation ...)"/>
- <!--message kind="warning" line="70" text="set(@SomeAnnotation...)"/>
- <message kind="warning" line="71" text="set(@SomeAnnotation...)"/-->
- </compile>
- <run class="AnnotationsAndITDs">
- <stderr>
- <line text="@type java.lang.System (AnnotationsAndITDs.aj:0)"/>
- <line text="hello AnnotationsAndITDs (AnnotationsAndITDs.aj:17)"/>
- <line text="goodbye java.lang.String (AnnotationsAndITDs.aj:20)"/>
- <line text="goodbye java.lang.String (AnnotationsAndITDs.aj:20)"/>
- <line text="y java.lang.Integer (AnnotationsAndITDs.aj:28)"/>
- <line text="d java.lang.Double (AnnotationsAndITDs.aj:70)"/>
- <line text="f java.lang.Double (AnnotationsAndITDs.aj:71)"/>
- <line text="@type java.lang.System (AnnotationsAndITDs.aj:0)"/>
- <line text="@field ITDMe2 (AnnotationsAndITDs.aj:59)"/>
- <line text="@field ITDMe2 (AnnotationsAndITDs.aj:60)"/>
- <line text="@cons java.lang.String (AnnotationsAndITDs.aj:45)"/>
- <line text="@field ITDMe2 (AnnotationsAndITDs.aj:59)"/>
- <line text="@field ITDMe2 (AnnotationsAndITDs.aj:60)"/>
- <line text="@cons java.lang.String (AnnotationsAndITDs.aj:46)"/>
- <line text="@cons java.lang.String (AnnotationsAndITDs.aj:46)"/>
- <line text="@method ITDMe2 (AnnotationsAndITDs.aj:53)"/>
- <line text="@field ITDMe2 (AnnotationsAndITDs.aj:76)"/>
- <line text="@field ITDMe2 (AnnotationsAndITDs.aj:77)"/>
-
- <!--
- <line text="method bar has 1 params, first param annotation is @ParamAnnotation"/>
- -->
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" pr="91858" title="declare @Type (should be @type)">
- <compile files="DeathByPoorSpelling.aj" options="-1.5">
- <message kind="error" line="6" text="Syntax error on token ":", "one of type, method, field, constructor" expected"/>
- </compile>
- </ajc-test>
-
- <!-- ======================================================================================= -->
- <!-- Autoboxing tests -->
- <!-- ======================================================================================= -->
-
- <ajc-test dir="java5/autoboxing" vm="1.5" title="simple boxing test">
- <compile files="AutoboxingB.java,AutoboxingC.java,AutoboxingD.java,AutoboxingF.java,AutoboxingI.java,AutoboxingJ.java,AutoboxingS.java,AutoboxingZ.java,SimpleAutoboxing.java,SimpleAutoboxingAspect.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'SimpleAutoboxing' (SimpleAutoboxing.java:7) advised by before advice from 'SimpleAutoboxingAspect' (SimpleAutoboxingAspect.aj:8)"/>
- <message kind="weave" text="Type 'SimpleAutoboxing' (SimpleAutoboxing.java:7) advised by before advice from 'SimpleAutoboxingAspect' (SimpleAutoboxingAspect.aj:4)"/>
- </compile>
- <run class="SimpleAutoboxing">
- <stderr>
- <line text="Matching by Integer:20000"/>
- <line text="Matching by int:20000"/>
- <line text="method_takes_Integer=20000"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/autoboxing" vm="1.5" title="integer boxing">
- <compile files="AutoboxingB.java,AutoboxingC.java,AutoboxingD.java,AutoboxingF.java,AutoboxingI.java,AutoboxingJ.java,AutoboxingS.java,AutoboxingZ.java,SimpleAutoboxing.java,AspectInteger.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'AutoboxingI' (AutoboxingI.java:11) advised by before advice from 'AspectInteger' (AspectInteger.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingI' (AutoboxingI.java:11) advised by before advice from 'AspectInteger' (AspectInteger.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingI' (AutoboxingI.java:12) advised by before advice from 'AspectInteger' (AspectInteger.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingI' (AutoboxingI.java:12) advised by before advice from 'AspectInteger' (AspectInteger.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingI' (AutoboxingI.java:13) advised by before advice from 'AspectInteger' (AspectInteger.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingI' (AutoboxingI.java:13) advised by before advice from 'AspectInteger' (AspectInteger.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingI' (AutoboxingI.java:14) advised by before advice from 'AspectInteger' (AspectInteger.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingI' (AutoboxingI.java:14) advised by before advice from 'AspectInteger' (AspectInteger.aj:4)"/>
- </compile>
- <run class="AutoboxingI">
- <stderr>
- <line text="Matching by Integer:10000"/>
- <line text="Matching by int:10000"/>
- <line text="method_takes_Integer=10000"/>
- <line text="Matching by Integer:20000"/>
- <line text="Matching by int:20000"/>
- <line text="method_takes_Integer=20000"/>
- <line text="Matching by Integer:30000"/>
- <line text="Matching by int:30000"/>
- <line text="method_takes_int=30000"/>
- <line text="Matching by Integer:40000"/>
- <line text="Matching by int:40000"/>
- <line text="method_takes_int=40000"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/autoboxing" vm="1.5" title="char boxing">
- <compile files="AutoboxingB.java,AutoboxingC.java,AutoboxingD.java,AutoboxingF.java,AutoboxingI.java,AutoboxingJ.java,AutoboxingS.java,AutoboxingZ.java,SimpleAutoboxing.java,AspectChar.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'AutoboxingC' (AutoboxingC.java:11) advised by before advice from 'AspectChar' (AspectChar.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingC' (AutoboxingC.java:11) advised by before advice from 'AspectChar' (AspectChar.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingC' (AutoboxingC.java:12) advised by before advice from 'AspectChar' (AspectChar.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingC' (AutoboxingC.java:12) advised by before advice from 'AspectChar' (AspectChar.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingC' (AutoboxingC.java:13) advised by before advice from 'AspectChar' (AspectChar.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingC' (AutoboxingC.java:13) advised by before advice from 'AspectChar' (AspectChar.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingC' (AutoboxingC.java:14) advised by before advice from 'AspectChar' (AspectChar.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingC' (AutoboxingC.java:14) advised by before advice from 'AspectChar' (AspectChar.aj:4)"/>
- </compile>
- <run class="AutoboxingC">
- <stderr>
- <line text="Character:1"/>
- <line text="char:1"/>
- <line text="method_takes_Character=1"/>
- <line text="Character:2"/>
- <line text="char:2"/>
- <line text="method_takes_Character=2"/>
- <line text="Character:3"/>
- <line text="char:3"/>
- <line text="method_takes_char=3"/>
- <line text="Character:4"/>
- <line text="char:4"/>
- <line text="method_takes_char=4"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/autoboxing" vm="1.5" title="double boxing">
- <compile files="AutoboxingB.java,AutoboxingC.java,AutoboxingD.java,AutoboxingF.java,AutoboxingI.java,AutoboxingJ.java,AutoboxingS.java,AutoboxingZ.java,SimpleAutoboxing.java,AspectDouble.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'AutoboxingD' (AutoboxingD.java:11) advised by before advice from 'AspectDouble' (AspectDouble.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingD' (AutoboxingD.java:11) advised by before advice from 'AspectDouble' (AspectDouble.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingD' (AutoboxingD.java:12) advised by before advice from 'AspectDouble' (AspectDouble.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingD' (AutoboxingD.java:12) advised by before advice from 'AspectDouble' (AspectDouble.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingD' (AutoboxingD.java:13) advised by before advice from 'AspectDouble' (AspectDouble.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingD' (AutoboxingD.java:13) advised by before advice from 'AspectDouble' (AspectDouble.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingD' (AutoboxingD.java:14) advised by before advice from 'AspectDouble' (AspectDouble.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingD' (AutoboxingD.java:14) advised by before advice from 'AspectDouble' (AspectDouble.aj:4)"/>
- </compile>
- <run class="AutoboxingD">
- <stderr>
- <line text="Double:100.0"/>
- <line text="double:100.0"/>
- <line text="method_takes_Double=100.0"/>
- <line text="Double:200.0"/>
- <line text="double:200.0"/>
- <line text="method_takes_Double=200.0"/>
- <line text="Double:300.0"/>
- <line text="double:300.0"/>
- <line text="method_takes_double=300.0"/>
- <line text="Double:400.0"/>
- <line text="double:400.0"/>
- <line text="method_takes_double=400.0"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/autoboxing" vm="1.5" title="float boxing">
- <compile files="AutoboxingB.java,AutoboxingC.java,AutoboxingD.java,AutoboxingF.java,AutoboxingI.java,AutoboxingJ.java,AutoboxingS.java,AutoboxingZ.java,SimpleAutoboxing.java,AspectFloat.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'AutoboxingF' (AutoboxingF.java:11) advised by before advice from 'AspectFloat' (AspectFloat.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingF' (AutoboxingF.java:11) advised by before advice from 'AspectFloat' (AspectFloat.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingF' (AutoboxingF.java:12) advised by before advice from 'AspectFloat' (AspectFloat.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingF' (AutoboxingF.java:12) advised by before advice from 'AspectFloat' (AspectFloat.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingF' (AutoboxingF.java:13) advised by before advice from 'AspectFloat' (AspectFloat.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingF' (AutoboxingF.java:13) advised by before advice from 'AspectFloat' (AspectFloat.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingF' (AutoboxingF.java:14) advised by before advice from 'AspectFloat' (AspectFloat.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingF' (AutoboxingF.java:14) advised by before advice from 'AspectFloat' (AspectFloat.aj:4)"/>
- </compile>
- <run class="AutoboxingF">
- <stderr>
- <line text="Float:100.0"/>
- <line text="float:100.0"/>
- <line text="method_takes_Float=100.0"/>
- <line text="Float:200.0"/>
- <line text="float:200.0"/>
- <line text="method_takes_Float=200.0"/>
- <line text="Float:300.0"/>
- <line text="float:300.0"/>
- <line text="method_takes_float=300.0"/>
- <line text="Float:400.0"/>
- <line text="float:400.0"/>
- <line text="method_takes_float=400.0"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/autoboxing" vm="1.5" title="short boxing">
- <compile files="AutoboxingB.java,AutoboxingC.java,AutoboxingD.java,AutoboxingF.java,AutoboxingI.java,AutoboxingJ.java,AutoboxingS.java,AutoboxingZ.java,SimpleAutoboxing.java,AspectShort.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'AutoboxingS' (AutoboxingS.java:11) advised by before advice from 'AspectShort' (AspectShort.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingS' (AutoboxingS.java:11) advised by before advice from 'AspectShort' (AspectShort.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingS' (AutoboxingS.java:12) advised by before advice from 'AspectShort' (AspectShort.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingS' (AutoboxingS.java:12) advised by before advice from 'AspectShort' (AspectShort.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingS' (AutoboxingS.java:13) advised by before advice from 'AspectShort' (AspectShort.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingS' (AutoboxingS.java:13) advised by before advice from 'AspectShort' (AspectShort.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingS' (AutoboxingS.java:14) advised by before advice from 'AspectShort' (AspectShort.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingS' (AutoboxingS.java:14) advised by before advice from 'AspectShort' (AspectShort.aj:4)"/>
- </compile>
- <run class="AutoboxingS">
- <stderr>
- <line text="Short:100"/>
- <line text="short:100"/>
- <line text="method_takes_Short=100"/>
- <line text="Short:200"/>
- <line text="short:200"/>
- <line text="method_takes_Short=200"/>
- <line text="Short:300"/>
- <line text="short:300"/>
- <line text="method_takes_short=300"/>
- <line text="Short:400"/>
- <line text="short:400"/>
- <line text="method_takes_short=400"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/autoboxing" vm="1.5" title="long boxing">
- <compile files="AutoboxingB.java,AutoboxingC.java,AutoboxingD.java,AutoboxingF.java,AutoboxingI.java,AutoboxingJ.java,AutoboxingS.java,AutoboxingZ.java,SimpleAutoboxing.java,AspectLong.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'AutoboxingJ' (AutoboxingJ.java:11) advised by before advice from 'AspectLong' (AspectLong.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingJ' (AutoboxingJ.java:11) advised by before advice from 'AspectLong' (AspectLong.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingJ' (AutoboxingJ.java:12) advised by before advice from 'AspectLong' (AspectLong.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingJ' (AutoboxingJ.java:12) advised by before advice from 'AspectLong' (AspectLong.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingJ' (AutoboxingJ.java:13) advised by before advice from 'AspectLong' (AspectLong.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingJ' (AutoboxingJ.java:13) advised by before advice from 'AspectLong' (AspectLong.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingJ' (AutoboxingJ.java:14) advised by before advice from 'AspectLong' (AspectLong.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingJ' (AutoboxingJ.java:14) advised by before advice from 'AspectLong' (AspectLong.aj:4)"/>
- </compile>
- <run class="AutoboxingJ">
- <stderr>
- <line text="Long:1000000"/>
- <line text="long:1000000"/>
- <line text="method_takes_Long=1000000"/>
- <line text="Long:2000000"/>
- <line text="long:2000000"/>
- <line text="method_takes_Long=2000000"/>
- <line text="Long:3000000"/>
- <line text="long:3000000"/>
- <line text="method_takes_long=3000000"/>
- <line text="Long:4000000"/>
- <line text="long:4000000"/>
- <line text="method_takes_long=4000000"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/autoboxing" vm="1.5" title="boolean boxing">
- <compile files="AutoboxingB.java,AutoboxingC.java,AutoboxingD.java,AutoboxingF.java,AutoboxingI.java,AutoboxingJ.java,AutoboxingS.java,AutoboxingZ.java,SimpleAutoboxing.java,AspectBoolean.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'AutoboxingZ' (AutoboxingZ.java:9) advised by before advice from 'AspectBoolean' (AspectBoolean.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingZ' (AutoboxingZ.java:9) advised by before advice from 'AspectBoolean' (AspectBoolean.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingZ' (AutoboxingZ.java:10) advised by before advice from 'AspectBoolean' (AspectBoolean.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingZ' (AutoboxingZ.java:10) advised by before advice from 'AspectBoolean' (AspectBoolean.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingZ' (AutoboxingZ.java:11) advised by before advice from 'AspectBoolean' (AspectBoolean.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingZ' (AutoboxingZ.java:11) advised by before advice from 'AspectBoolean' (AspectBoolean.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingZ' (AutoboxingZ.java:12) advised by before advice from 'AspectBoolean' (AspectBoolean.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingZ' (AutoboxingZ.java:12) advised by before advice from 'AspectBoolean' (AspectBoolean.aj:4)"/>
- </compile>
- <run class="AutoboxingZ">
- <stderr>
- <line text="Boolean:false"/>
- <line text="boolean:false"/>
- <line text="method_takes_Boolean=false"/>
- <line text="Boolean:false"/>
- <line text="boolean:false"/>
- <line text="method_takes_Boolean=false"/>
- <line text="Boolean:false"/>
- <line text="boolean:false"/>
- <line text="method_takes_boolean=false"/>
- <line text="Boolean:false"/>
- <line text="boolean:false"/>
- <line text="method_takes_boolean=false"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/autoboxing" vm="1.5" title="byte boxing">
- <compile files="AutoboxingB.java,AutoboxingC.java,AutoboxingD.java,AutoboxingF.java,AutoboxingI.java,AutoboxingJ.java,AutoboxingS.java,AutoboxingZ.java,SimpleAutoboxing.java,AspectByte.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'AutoboxingB' (AutoboxingB.java:11) advised by before advice from 'AspectByte' (AspectByte.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingB' (AutoboxingB.java:11) advised by before advice from 'AspectByte' (AspectByte.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingB' (AutoboxingB.java:12) advised by before advice from 'AspectByte' (AspectByte.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingB' (AutoboxingB.java:12) advised by before advice from 'AspectByte' (AspectByte.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingB' (AutoboxingB.java:13) advised by before advice from 'AspectByte' (AspectByte.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingB' (AutoboxingB.java:13) advised by before advice from 'AspectByte' (AspectByte.aj:4)"/>
- <message kind="weave" text="Type 'AutoboxingB' (AutoboxingB.java:14) advised by before advice from 'AspectByte' (AspectByte.aj:8)"/>
- <message kind="weave" text="Type 'AutoboxingB' (AutoboxingB.java:14) advised by before advice from 'AspectByte' (AspectByte.aj:4)"/>
- </compile>
- <run class="AutoboxingB">
- <stderr>
- <line text="Byte:1"/>
- <line text="byte:1"/>
- <line text="method_takes_Byte=1"/>
- <line text="Byte:50"/>
- <line text="byte:50"/>
- <line text="method_takes_Byte=50"/>
- <line text="Byte:3"/>
- <line text="byte:3"/>
- <line text="method_takes_byte=3"/>
- <line text="Byte:52"/>
- <line text="byte:52"/>
- <line text="method_takes_byte=52"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/autoboxing" vm="1.5" title="boxing in after returning">
- <compile files="AutoboxingB.java,AutoboxingC.java,AutoboxingD.java,AutoboxingF.java,AutoboxingI.java,AutoboxingJ.java,AutoboxingS.java,AutoboxingZ.java,SimpleAutoboxing.java,AspectAfterReturning.aj"
- options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'AspectAfterReturning' (AspectAfterReturning.aj:18) advised by afterReturning advice from 'AspectAfterReturning' (AspectAfterReturning.aj:4)"/>
- <message kind="weave" text="Type 'AspectAfterReturning' (AspectAfterReturning.aj:18) advised by afterReturning advice from 'AspectAfterReturning' (AspectAfterReturning.aj:8)"/>
- <message kind="weave" text="Type 'AspectAfterReturning' (AspectAfterReturning.aj:18) advised by afterReturning advice from 'AspectAfterReturning' (AspectAfterReturning.aj:12)"/>
- <message kind="weave" text="Type 'AspectAfterReturning' (AspectAfterReturning.aj:19) advised by afterReturning advice from 'AspectAfterReturning' (AspectAfterReturning.aj:4)"/>
- <message kind="weave" text="Type 'AspectAfterReturning' (AspectAfterReturning.aj:19) advised by afterReturning advice from 'AspectAfterReturning' (AspectAfterReturning.aj:8)"/>
- <message kind="weave" text="Type 'AspectAfterReturning' (AspectAfterReturning.aj:19) advised by afterReturning advice from 'AspectAfterReturning' (AspectAfterReturning.aj:12)"/>
- </compile>
- <run class="AspectAfterReturning">
- <stderr>
- <line text="Returning I=5"/>
- <line text="Returning Integer=5"/>
- <line text="Returning Object=5"/>
- <line text="Returning I=10"/>
- <line text="Returning Integer=10"/>
- <line text="Returning Object=10"/>
- </stderr>
- </run>
- </ajc-test>
-
- <!-- ======================================================================================= -->
- <!-- Covariance tests -->
- <!-- ======================================================================================= -->
-
- <ajc-test dir="java5/covariance" vm="1.5" title="covariance 1">
- <compile options="-1.5,-showWeaveInfo" files="CovBaseProgram01.java,CovAspect01.aj">
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:26) advised by before advice from 'CovAspect01' (CovAspect01.aj:5)"/>
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:27) advised by before advice from 'CovAspect01' (CovAspect01.aj:5)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/covariance" vm="1.5" title="covariance 2">
- <compile options="-1.5,-showWeaveInfo" files="CovBaseProgram01.java,CovAspect02.aj">
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:26) advised by before advice from 'CovAspect02' (CovAspect02.aj:5)"/>
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:27) advised by before advice from 'CovAspect02' (CovAspect02.aj:5)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/covariance" vm="1.5" title="covariance 3">
- <compile options="-1.5,-showWeaveInfo" files="CovBaseProgram01.java,CovAspect03.aj">
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:26) advised by before advice from 'CovAspect03' (CovAspect03.aj:5)"/>
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:27) advised by before advice from 'CovAspect03' (CovAspect03.aj:5)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/covariance" vm="1.5" title="covariance 4">
- <compile options="-1.5,-showWeaveInfo" files="CovBaseProgram02.java,CovAspect04.aj">
- <message kind="weave" text="Type 'CovBaseProgram02' (CovBaseProgram02.java:30) advised by before advice from 'CovAspect04' (CovAspect04.aj:5)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/covariance" vm="1.5" title="covariance 5">
- <compile options="-1.5,-showWeaveInfo" files="CovBaseProgram01.java,CovAspect05.aj">
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:26) advised by before advice from 'CovAspect05' (CovAspect05.aj:5)"/>
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:27) advised by before advice from 'CovAspect05' (CovAspect05.aj:5)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/covariance" vm="1.5" title="covariance 6">
- <compile options="-1.5,-showWeaveInfo" files="CovBaseProgram01.java,CovAspect06.aj">
- <message kind="warning" line="3" text="does not match because declaring type is Super"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/covariance" vm="1.5" title="covariance 7">
- <compile options="-1.5,-showWeaveInfo" files="CovBaseProgram01.java,CovAspect07.aj">
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:27) advised by before advice from 'CovAspect07' (CovAspect07.aj:5)"/>
- <message kind="warning" line="3" text="does not match because declaring type is Super"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/covariance" vm="1.5" title="covariance 8">
- <compile options="-1.5,-showWeaveInfo" files="CovBaseProgram01.java,CovAspect08.aj">
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:27) advised by before advice from 'CovAspect08' (CovAspect08.aj:11)"/>
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:27) advised by before advice from 'CovAspect08' (CovAspect08.aj:5)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/covariance" vm="1.5" title="covariance 9">
- <compile options="-1.5,-showWeaveInfo" files="CovBaseProgram01.java,CovAspect09.aj">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/covariance" vm="1.5" title="covariance 10">
- <compile options="-1.5,-showWeaveInfo" files="CovBaseProgram01.java,CovAspect10.aj">
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:26) advised by before advice from 'CovAspect10' (CovAspect10.aj:5)"/>
- <message kind="weave" text="Type 'CovBaseProgram01' (CovBaseProgram01.java:27) advised by before advice from 'CovAspect10' (CovAspect10.aj:5)"/>
- </compile>
- </ajc-test>
-
- <!-- ======================================================================================= -->
- <!-- Enum tests -->
- <!-- ======================================================================================= -->
-
- <ajc-test dir="java5/enums" vm="1.5" title="cant itd constructor on enum">
- <compile files="SimpleEnum.java,SimpleEnum2.java,EnumAspect01.aj" options="-1.5">
- <message kind="error" line="2" text="can't make inter-type constructor declarations on enum types"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/enums" vm="1.5" title="cant itd field or method on enum">
- <compile files="SimpleEnum.java,SimpleEnum2.java,EnumAspect02.aj" options="-1.5">
- <message kind="error" line="2" text="can't make inter-type method declarations on enum types"/>
- <message kind="error" line="6" text="can't make inter-type field declarations on enum types"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/enums" vm="1.5" title="declare parents and enums">
- <compile files="SimpleEnum.java,SimpleEnum2.java,EnumAspect03.aj" options="-1.5">
- <message kind="error" line="5" text="can't use declare parents to make enum type SimpleEnum implement an interface"/>
- <message kind="error" line="8" text="can't use declare parents to alter supertype of enum type SimpleEnum"/>
- <message kind="error" line="11" text="can't use declare parents to make 'java.lang.Enum' the parent of type EnumAspect03$D"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/enums" vm="1.5" title="wildcard enum match in itd">
- <compile files="SimpleEnum.java,SimpleEnum2.java,EnumAspect04.aj" options="-1.5">
- <message kind="warning" line="5" text="enum type SimpleEnum2 matches a declare parents type pattern but is being ignored"/>
- <message kind="warning" line="5" text="enum type SimpleEnum matches a declare parents type pattern but is being ignored"/>
- </compile>
- </ajc-test>
-
- <!-- ======================================================================================= -->
- <!-- pertypewithin tests -->
- <!-- ======================================================================================= -->
-
- <ajc-test dir="java5/pertypewithin" title="basic ptw test">
- <compile files="A.java,B.java,C.java,D.java,Main.java,X.java" options="-Xlint:ignore"/>
- <run class="p.A">
- <stderr>
- <line text="hi from A"/>
- <line text="after() returning from a method call to sayhi()"/>
- <line text="hi from A"/>
- <line text="after() returning from a method call to sayhi()"/>
- <line text="Tests in A have passed"/>
- <line text="callcount = 2"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/pertypewithin" title="ptw hasAspect">
- <compile files="A.java,B.java,C.java,D.java,Main.java,X.java" options="-Xlint:ignore"/>
- <run class="p.B">
- <stderr>
- <line text="hi from B"/>
- <line text="after() returning from a method call to sayhi()"/>
- <line text="hi from B"/>
- <line text="after() returning from a method call to sayhi()"/>
- <line text="hi from B"/>
- <line text="after() returning from a method call to sayhi()"/>
- <line text="callcount = 3"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/pertypewithin" title="ptw aspectOf">
- <compile files="A.java,B.java,C.java,D.java,Main.java,X.java" options="-Xlint:ignore"/>
- <run class="p.C"/>
- </ajc-test>
-
- <ajc-test dir="java5/pertypewithin" title="ptw multi-aspects">
- <compile files="P.java,Q.java,R.java"/>
- <run class="P">
- <stderr>
- <line text="Q reporting 2"/>
- <line text="R reporting 3"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/pertypewithin" title="ptw binary">
- <weave classesFiles="G.java" aspectsFiles="H.java"/>
- <run class="G">
- <stderr>
- <line text="advice running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/pertypewithin" title="ptw binary aspect">
- <compile files="H.java" outjar="aspects.jar">
- <message kind="warning" line="1" text="no match for this type name: G"/>
- </compile>
- <compile files="G.java" aspectpath="aspects.jar"/>
- <run class="G">
- <stderr>
- <line text="advice running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <!-- ======================================================================================= -->
- <!-- varargs tests -->
- <!-- ======================================================================================= -->
-
- <ajc-test dir="java5/varargs" vm="1.5" title="varargs not matched by Object[] (call)">
- <compile files="SimpleVarargs.java,VarargsAspect01.aj" options="-1.5,-showWeaveInfo">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/varargs" vm="1.5" title="varargs not matched by Object[] (exe)">
- <compile files="SimpleVarargs.java,VarargsAspect02.aj" options="-1.5,-showWeaveInfo">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/varargs" vm="1.5" title="varargs not matched by Object[] (init)">
- <compile files="SimpleVarargs.java,VarargsAspect03.aj" options="-1.5,-showWeaveInfo">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/varargs" vm="1.5" title="varargs not matched by Object[] (withincode)">
- <compile files="SimpleVarargs.java,VarargsAspect04.aj" options="-1.5,-showWeaveInfo">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/varargs" vm="1.5" title="call with varargs signature">
- <compile files="SimpleVarargs.java,VarargsAspect05.aj" options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'SimpleVarargs' (SimpleVarargs.java:20) advised by before advice from 'VarargsAspect05' (VarargsAspect05.aj:3)"/>
- <message kind="weave" text="Type 'SimpleVarargs' (SimpleVarargs.java:21) advised by before advice from 'VarargsAspect05' (VarargsAspect05.aj:3)"/>
- <message kind="weave" text="Type 'SimpleVarargs' (SimpleVarargs.java:22) advised by before advice from 'VarargsAspect05' (VarargsAspect05.aj:3)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/varargs" vm="1.5" title="call with varargs multi-signature">
- <compile files="SimpleVarargs.java,VarargsAspect06.aj" options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'SimpleVarargs' (SimpleVarargs.java:25) advised by before advice from 'VarargsAspect06' (VarargsAspect06.aj:3)"/>
- <message kind="weave" text="Type 'SimpleVarargs' (SimpleVarargs.java:26) advised by before advice from 'VarargsAspect06' (VarargsAspect06.aj:3)"/>
- <message kind="weave" text="Type 'SimpleVarargs' (SimpleVarargs.java:27) advised by before advice from 'VarargsAspect06' (VarargsAspect06.aj:3)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/suppressedWarnings" vm="1.5" title="suppressing non-matching advice warnings">
- <compile files="Suppression1.aj" options="-1.5,-showWeaveInfo">
- <message kind="warning" line="13"/>
- <message kind="warning" line="21"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/suppressedWarnings" vm="1.5" title="suppressing non-matching advice warnings when multiple source files involved">
- <compile files="A.java,A1.aj,A2.aj,A3.aj" options="-1.5,-showWeaveInfo">
- <message kind="warning" line="4" file="A1.aj"/>
- <message kind="warning" line="4" file="A2.aj"/>
- <message kind="warning" line="11" file="A2.aj"/>
- <message kind="warning" line="4" file="A3.aj"/>
- <message kind="warning" line="11" file="A3.aj"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="XLint warning for advice not applied with cflow(execution)" pr="93345">
- <compile options="-Xlint,-1.5" files="PR93345.aj" >
- <message kind="warning" line="7" text="advice defined in AnAspect has not been applied [Xlint:adviceDidNotMatch]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="NPE in reflect implementation" pr="94167">
- <compile files="PR94167.java"/>
- <run class="reflect.PR94167"/>
- </ajc-test>
-
- <!-- ======================================================================================= -->
- <!-- annotated aspect members -->
- <!-- ======================================================================================= -->
-
- <ajc-test dir="java5/annotations/aspectMembers" title="annotated annotations (@Target)">
- <compile files="a/Annotations.java,a/Foo.java" options="-1.5">
- <message kind="error" line="16" text="The annotation @MethodAnnotation is disallowed for this location"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/aspectMembers" title="simple annotated aspect members">
- <compile files="a/Annotations.java,a/AnnotatedAspect.aj" options="-1.5">
- <message kind="warning" line="4" text="annotated type"/>
- <message kind="warning" line="6" text="annotated field"/>
- <message kind="warning" line="8" text="annotated method"/>
- <message kind="warning" line="11" text="annotated constructor"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/aspectMembers" title="simple annotated aspect members with bad target">
- <compile files="a/Annotations.java,a/AnnotatedAspect02.aj" options="-1.5">
- <message kind="error" line="3" text="The annotation @MethodAnnotation is disallowed for this location"/>
- <message kind="error" line="6" text="The annotation @TypeAnnotation is disallowed for this location"/>
- <message kind="error" line="8" text="The annotation @FieldAnnotation is disallowed for this location"/>
- <message kind="error" line="10" text="The annotation @AnnotationAnnotation is disallowed for this location"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/aspectMembers" title="annotated itds">
- <compile files="a/Annotations.java,a/AnnotatedAspect03.aj" options="-1.5">
- <message kind="warning" line="4" text="annotated type"/>
- <message kind="warning" line="6" text="annotated field"/>
- <message kind="warning" line="8" text="annotated field"/>
- <message kind="warning" line="10" text="annotated method"/>
- <message kind="warning" line="12" text="annotated constructor"/>
- <message kind="warning" line="12" text="annotated field"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/aspectMembers" title="annotated itds with bad target">
- <compile files="a/Annotations.java,a/AnnotatedAspect04.aj" options="-1.5">
- <message kind="error" line="6" text="The annotation @ConstructorAnnotation is disallowed for this location"/>
- <message kind="error" line="8" text="The annotation @FieldAnnotation is disallowed for this location"/>
- <message kind="error" line="10" text="The annotation @TypeAnnotation is disallowed for this location"/>
- <!-- known limitation...
- <message kind="error" line="12" text="The annotation @MethodAnnotation is disallowed for this location"/>
- -->
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/aspectMembers" title="annotated advice">
- <compile files="a/Annotations.java,a/AnnotatedAspect05.aj" options="-1.5">
- <message kind="warning" line="17"/>
- </compile>
- <run class="a.AnnotatedAspect05"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/aspectMembers" title="annotated advice with bad target">
- <compile files="a/Annotations.java,a/AnnotatedAspect06.aj" options="-1.5">
- <message kind="error" line="6" text="The annotation @ConstructorAnnotation is disallowed for this location"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/aspectMembers" title="annotated pointcut">
- <compile files="a/Annotations.java,a/AnnotatedAspect07.aj" options="-1.5">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/aspectMembers" title="annotated declare statements">
- <compile files="a/Annotations.java,a/AnnotatedAspect08.aj" options="-1.5">
- </compile>
- </ajc-test>
-
- <!-- ======================================================================================= -->
- <!-- ajdk examples -->
- <!-- ======================================================================================= -->
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: annotating aspects chapter">
- <compile files="AnnotatingAspects.aj" options="-1.5">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: annotating aspects chapter, ex 2">
- <compile files="SuppressAj.aj" options="-1.5">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: annotation pattern matching">
- <compile files="AnnotationPatternMatching.aj,org/xyz/OrgXYZAnnotation.java" options="-1.5">
- <message kind="warning" line="25" text="@Immutable"/>
- <message kind="warning" line="25" text="!@Persistent"/>
- <message kind="warning" line="29" text="!@Persistent"/>
- <message kind="warning" line="31" text="!@Persistent"/>
- <message kind="warning" line="33" text="!@Persistent"/>
- <message kind="warning" line="29" text="@Foo @Goo"/>
- <message kind="warning" line="29" text="@(Foo || Goo)"/>
- <message kind="warning" line="31" text="@(Foo || Goo)"/>
- <message kind="warning" line="33" text="@(org.xyz..*)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: annotation type pattern matching">
- <compile files="AnnotationsInTypePatterns.aj,org/xyz/OrgXYZAnnotation.java,org/xyz/Types.java,org/abc/Types.java,anns/Immutable.java,anns/NonPersistent.java" options="-1.5">
- <message kind="warning" line="23" text="(@Immutable *)"/>
- <message kind="warning" line="32" text="(@Immutable *)"/>
- <message kind="warning" line="3" text="(@Immutable *)"/>
- <message kind="warning" line="5" text="(@Immutable *)"/>
- <message kind="warning" line="8" text="(@Immutable *)"/>
- <message kind="warning" line="25" text="(!@Immutable *)"/>
- <message kind="warning" line="27" text="(!@Immutable *)"/>
- <message kind="warning" line="29" text="(!@Immutable *)"/>
- <message kind="warning" line="5" text="(!@Immutable *)"/>
- <message kind="warning" line="6" text="(!@Immutable *)"/>
- <message kind="warning" line="2" text="(!@Immutable *)"/>
- <message kind="warning" line="2" text="(!@Immutable *)"/>
- <message kind="warning" line="5" text="(!@Immutable *)"/>
- <message kind="warning" line="3" text="@Immutable (org.xyz.* || org.abc.*)"/>
- <message kind="warning" line="5" text="@Immutable (org.xyz.* || org.abc.*)"/>
- <message kind="warning" line="8" text="@Immutable (org.xyz.* || org.abc.*)"/>
- <message kind="warning" line="32" text="((@Immutable Foo+) || Goo)"/>
- <message kind="warning" line="27" text="((@Immutable Foo+) || Goo)"/>
- <message kind="warning" line="3" text="@(Immutable || NonPersistent) org.xyz..*"/>
- <message kind="warning" line="6" text="@(Immutable || NonPersistent) org.xyz..*"/>
- <message kind="warning" line="8" text="@(Immutable || NonPersistent) org.xyz..*"/>
- <message kind="warning" line="8" text="@Immutable @NonPersistent org.xyz..*"/>
- <message kind="warning" line="6" text="@(@Inherited *) org.xyz..*"/>
- <message kind="warning" line="8" text="@(@Inherited *) org.xyz..*"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: annotations in sig patterns">
- <compile files="AnnotationsInSignaturePatterns.aj,anns/Cachable.java,anns/SensitiveData.java,anns/Persisted.java,Classified.java,anns/Immutable.java,Secure.java,Catastrophic.java,Oneway.java,anns/Transaction.java,org/xyz/SignatureTypes.java" options="-1.5">
- <message kind="warning" line="32" text="@SensitiveData * *"/>
- <message kind="warning" line="7" text="@SensitiveData * *"/>
- <message kind="warning" line="13" text="@SensitiveData * *"/>
- <message kind="warning" line="7" text="@SensitiveData List org.xyz..*.*"/>
- <message kind="warning" line="11" text="(@SensitiveData *) org.xyz..*.*"/>
- <message kind="warning" line="13" text="(@SensitiveData *) org.xyz..*.*"/>
- <message kind="warning" line="50" text="@Foo (@Goo *) (@Hoo *).*"/>
- <message kind="warning" line="38" text="@Persisted @Classified * *"/>
-
- <message kind="warning" line="44" text="@Oneway * *(..)"/>
- <message kind="warning" line="18" text="@Transaction * (@Persisted org.xyz..*).*(..)"/>
- <message kind="warning" line="52" text="* *.*(@Immutable *,..)"/>
- <message kind="warning" line="53" text="* *.*(@Immutable *,..)"/>
- <message kind="warning" line="54" text="* *.*(@Immutable *,..)"/>
-
- <message kind="warning" line="62" text="within(@Secure *)"/>
- <message kind="warning" line="63" text="within(@Secure *)"/>
- <message kind="warning" line="66" text="staticinitialization(@Persisted *)"/>
- <message kind="warning" line="17" text="staticinitialization(@Persisted *)"/>
- <message kind="warning" line="56" text="call(@Oneway * *(..))"/>
- <message kind="warning" line="28" text="execution(public (@Immutable *) org.xyz..*.*(..))"/>
- <message kind="warning" line="26" text="set(@Cachable * *)"/>
- <message kind="warning" line="80" text="handler(!@Catastrophic *)"/>
-
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: runtime annotations">
- <compile files="RuntimeTypeMatching.aj" options="-1.5">
- <message kind="warning" line="121" text="@within(Foo)"/>
- <message kind="warning" line="122" text="@within(Foo)"/>
- </compile>
- <run class="RuntimeTypeMatching">
- <stdout>
- <line text="This information is TOP-SECRET"/>
- <line text="@target(Classified) at call(void A.a())"/>
- <line text="@this(Foo) at execution(void B.b())"/>
- <line text="Classified data being passed at call(void B.callA(A))"/>
- <line text="Classified data being passed at execution(void B.callA(A))"/>
- <line text="This information is TOP-SECRET"/>
- <line text="@target(Classified) at call(Class java.lang.Object.getClass())"/>
- <line text="1 @Foo()"/>
- <line text="1 @Foo()"/>
- <line text="1 @Classified(classification=TOP-SECRET)"/>
- <line text="This information is TOP-SECRET"/>
- <line text="Entering critical join point with priority 3"/>
- <line text="Entering critical join point with reflectively obtained priority 3"/>
- <line text="@target(Classified) at call(void A.a())"/>
- <line text="@this(Foo) at execution(void B.callA(A))"/>
- <line text="(Class) Transaction required at execution(void ByeByeEJB.method1())"/>
- <line text="(Method) Transaction required at execution(void ByeByeEJB.method1())"/>
- <line text="(Class) Transaction required at execution(void ByeByeEJB.method2())"/>
- <line text="(Method) Transaction required at execution(void ByeByeEJB.method2())"/>
- <line text="(Class) Transaction required at execution(void ByeByeEJB.method3())"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: @retention checking">
- <compile files="RetentionTime.aj" options="-1.5">
- <message kind="error" line="8" text="Annotation type Goo does not have runtime retention"/>
- <message kind="error" line="13" text="Annotation type Goo does not have runtime retention"/>
- <message kind="error" line="18" text="Annotation type Goo does not have runtime retention"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: @inherited">
- <compile files="AnnotationInheritance.aj" options="-1.5">
- <message kind="warning" line="16" text="annotatedMethodCall()"/>
- <!-- <message kind="warning" line="17" text="annotatedMethodCall()"/> -->
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: deow-ann">
- <compile files="DeclaresWithAnnotations.aj,org/xyz/model/Model.java" options="-1.5">
- <message kind="warning" line="27" text="Expensive operation called from within performance critical section"/>
- <message kind="error" line="26" text="Untrusted code should not call the model classes directly"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: decp-ann">
- <compile files="DecpAnnotations.aj" options="-1.5">
- </compile>
- <run class="DecpAnnotations">
- <stdout>
- <line text="Test Foo is not secured: PASS"/>
- <line text="Test Goo is secured: PASS"/>
- <line text="goo credentials: none"/>
- <line text="Test BankAccount is not secured: PASS"/>
- <line text="Test PrivateBankAccount is not secured: PASS"/>
- <line text="Test BusinessBankAccount is secured: PASS"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: dec precedence">
- <compile files="PrecedenceAnnotations.aj" options="-1.5">
- </compile>
- <run class="PrecedenceAnnotations">
- <stdout>
- <line text="@Security S2"/>
- <line text="S1"/>
- <line text="@Performance P2"/>
- <line text="P1"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/ajdkExamples" title="ajdk: dec annotation">
- <compile files="DeclareAnnotation.aj,org/xyz/model/Model.java" options="-1.5">
- <message kind="warning" line="3" text="@BusinessDomain"/>
- <message kind="warning" line="43" text="@Secured"/>
- <message kind="warning" line="44" text="@Secured"/>
- <message kind="warning" line="55" text="@Secured"/>
- <message kind="warning" line="62" text="@Persisted"/>
- <message kind="warning" line="68" text="@Persisted"/>
- <message kind="warning" line="41" text="@Secured"/>
- <message kind="warning" line="51" text="@Secured"/>
- </compile>
- <run class="DeclareAnnotation"/>
- </ajc-test>
-
- <ajc-test dir="java5/covariance/ajdk" title="ajdk: covariance">
- <compile files="AJDKExamples.aj" options="-1.5">
- <message kind="warning" line="43" text="call(* whoAreYou())"/>
- <message kind="warning" line="44" text="call(* whoAreYou())"/>
- <message kind="warning" line="43" text="call(* A.whoAreYou())"/>
- <message kind="warning" line="44" text="call(* A.whoAreYou())"/>
- <message kind="warning" line="43" text="call(A whoAreYou())"/>
- <message kind="warning" line="44" text="call(A whoAreYou())"/>
- <message kind="warning" line="44" text="call(A+ B.whoAreYou())"/>
- <message kind="warning" line="44" text="call(B whoAreYou())"/>
- <message kind="warning" line="44" text="call(B B.whoAreYou())"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/varargs/ajdk" title="ajdk: varargs">
- <compile files="AJDKExamples.aj,org/xyz/Foo.java,org/xyz/Goo.java,org/xyz/Hoo.java" options="-1.5">
- <message kind="warning" line="8" text="call vararg match"/>
- <message kind="warning" line="14" text="execution vararg match"/>
- <message kind="warning" line="5" text="init vararg match"/>
- <message kind="warning" line="6" text="init vararg match"/>
- <message kind="warning" line="27" text="single vararg"/>
- <message kind="warning" line="28" text="single String[]"/>
- <message kind="warning" line="18" text="single String[]"/>
- </compile>
- <run class="AJDKExamples">
- <stdout>
- <line text="Matched at call(void X.foo(int, String[]))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/pertypewithin/ajdk" title="ajdk: ptw">
- <compile files="AJDKExamples.aj" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Join point 'constructor-execution(void org.xyz.foo.B.<init>())' in Type 'org.xyz.foo.B' (AJDKExamples.aj:38) advised by afterReturning advice from 'org.xyz.foo.AJDKExamples' (AJDKExamples.aj:11)"/>
- <message kind="weave" text="Join point 'constructor-execution(void org.xyz.foo.A.<init>())' in Type 'org.xyz.foo.A' (AJDKExamples.aj:36) advised by afterReturning advice from 'org.xyz.foo.AJDKExamples' (AJDKExamples.aj:11)"/>
- </compile>
- <run class="org.xyz.foo.AJDKExamples">
- <stdout>
- <line text="Aspect instance constructed"/>
- <line text="Aspect instance constructed"/>
- <line text="true"/>
- <line text="true"/>
- <line text="There are 2 As"/>
- <line text="There are 3 Bs"/>
- </stdout>
- </run>
- </ajc-test>
-
- <!-- ======================================================================================= -->
- <!-- declare annotation -->
- <!-- ======================================================================================= -->
-
- <ajc-test dir="java5/annotations/declare" title="basic declare annotation parse test">
- <compile files="BasicParseTest.aj" options="-1.5">
- </compile>
- </ajc-test>
-
- <!-- ======================================================================================= -->
- <!-- declare annotation (@type) -->
- <!-- ======================================================================================= -->
-
- <ajc-test dir="java5/annotations/declare" title="declare @type 1">
- <compile files="DecaType1.java" options="-1.5"/>
- <run class="DecaType1">
- <stderr>
- <line text="annotation is @MyAnnotation()"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type 2">
- <compile files="DecaType2.java" options="-1.5,-Xlint:ignore" >
- </compile>
- <run class="DecaType2">
- <stderr>
- <line text="annotation on DecaType2 is @MyAnnotation()"/>
- <line text="annotation on X is @MyAnnotation()"/>
- <line text="annotation on MyAnnotation is @MyAnnotation()"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - with matching pointcut">
- <compile files="DecaType3.java" options="-1.5"/>
- <run class="DecaType3">
- <stderr>
- <line text="hello world"/>
- <line text="advice running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - binary weaving">
- <weave classesFiles="BaseTypes.java"
- aspectsFiles="DecaTypeBin1.aj,Colored.java"
- options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- </weave>
- <run class="BaseTypes">
- <stderr>
- <line text="Color identified on class X"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - complex annotation - binary weaving">
- <weave classesFiles="BaseTypes.java" aspectsFiles="DecaTypeBin2.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="BaseTypes">
- <stderr>
- <line text="ComplexAnnotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - complex annotation - source weaving">
- <compile files="BaseTypes.java,DecaTypeBin2.aj" options="-1.5"/>
- <run class="BaseTypes">
- <stderr>
- <line text="ComplexAnnotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - two annotations hit one type - source weaving">
- <compile files="BaseTypes.java,DecaTypeBin3.aj" options="-1.5"/>
- <run class="BaseTypes">
- <stderr>
- <line text="Color identified on execution(void A.m())"/>
- <line text="Fruit identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - two annotations hit one type - binary weaving">
- <weave classesFiles="BaseTypes.java" aspectsFiles="DecaTypeBin3.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="BaseTypes">
- <stderr>
- <line text="Color identified on execution(void A.m())"/>
- <line text="Fruit identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - declare parents interactions (order 1) - binary weaving">
- <weave classesFiles="BaseTypes.java" aspectsFiles="DecaDecpInteractions1.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="BaseTypes">
- <stderr>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
- <ajc-test dir="java5/annotations/declare" title="declare @type - declare parents interactions (order 1) - source weaving">
- <compile files="BaseTypes.java,DecaDecpInteractions1.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="BaseTypes">
- <stderr>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - declare parents interactions (order 2) - binary weaving">
- <weave classesFiles="BaseTypes.java" aspectsFiles="DecaDecpInteractions2.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="BaseTypes">
- <stderr>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
- <ajc-test dir="java5/annotations/declare" title="declare @type - declare parents interactions (order 2) - source weaving">
- <compile files="BaseTypes.java,DecaDecpInteractions2.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="BaseTypes">
- <stderr>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - declare parents interactions (order 3) - binary weaving">
- <weave classesFiles="BaseTypes.java" aspectsFiles="DecaDecpInteractions3.aj" options="-1.5,-Xlint:ignore"/>
- <run class="BaseTypes">
- <stderr>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
- <ajc-test dir="java5/annotations/declare" title="declare @type - declare parents interactions (order 3) - source weaving">
- <compile files="BaseTypes.java,DecaDecpInteractions3.aj" options="-1.5,-Xlint:ignore"/>
- <run class="BaseTypes">
- <stderr>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - declare parents interactions (order 4) - binary weaving">
- <weave classesFiles="BaseTypes.java" aspectsFiles="DecaDecpInteractions4.aj" options="-1.5,-Xlint:ignore"/>
- <run class="BaseTypes">
- <stderr>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
- <ajc-test dir="java5/annotations/declare" title="declare @type - declare parents interactions (order 4) - source weaving">
- <compile files="BaseTypes.java,DecaDecpInteractions4.aj" options="-1.5,-Xlint:ignore"/>
- <run class="BaseTypes">
- <stderr>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Marker interface identified on execution(void A.m())"/>
- <line text="Color annotation identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - annotating an already annotated type - binary weaving">
- <weave classesFiles="AnnotatedType.java" aspectsFiles="DecaTypeBin4.aj" options="-1.5,-Xlint:ignore"/>
- <run class="AnnotatedType">
- <stderr>
- <line text="Color identified on execution(void AnnotatedType.m())"/>
- <line text="Fruit identified on execution(void AnnotatedType.m())"/>
- <line text="m() running"/>
- </stderr>
- </run>
- </ajc-test>
- <ajc-test dir="java5/annotations/declare" title="declare @type - annotating an already annotated type - source weaving">
- <compile files="AnnotatedType.java,DecaTypeBin4.aj" options="-1.5,-Xlint:ignore"/>
- <run class="AnnotatedType">
- <stderr>
- <line text="Color identified on execution(void AnnotatedType.m())"/>
- <line text="Fruit identified on execution(void AnnotatedType.m())"/>
- <line text="m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
-
- <!--ajc-test dir="java5/annotations/declare" title="declare @type - annotations with different targets - binary weaving">
- <weave classesFiles="BaseTypes.java" aspectsFiles="DecaTypeBin5.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="error" line="15" text="The annotation @ColorM is disallowed for this location"/>
- <message kind="error" line="16" text="The annotation @ColorC is disallowed for this location"/>
- <message kind="error" line="18" text="The annotation @ColorF is disallowed for this location"/>
- <message kind="error" line="19" text="The annotation @ColorP is disallowed for this location"/>
- <message kind="error" line="20" text="The annotation @ColorL is disallowed for this location"/>
- <message kind="error" line="21" text="The annotation @ColorPkg is disallowed for this location"/>
- </weave>
- <run class="BaseTypes">
- <stderr>
- <line text="ColorT identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test-->
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - annotations with different targets - source weaving">
- <compile files="BaseTypes.java,DecaTypeBin5.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="error" line="15" text="The annotation @ColorM is disallowed for this location"/>
- <message kind="error" line="16" text="The annotation @ColorC is disallowed for this location"/>
- <message king="error" line="17" text="A is not a valid target for annotation ColorA"/>
- <message kind="error" line="18" text="The annotation @ColorF is disallowed for this location"/>
- <message kind="error" line="19" text="The annotation @ColorP is disallowed for this location"/>
- <message kind="error" line="20" text="The annotation @ColorL is disallowed for this location"/>
- <message kind="error" line="21" text="The annotation @ColorPkg is disallowed for this location"/>
- </compile>
- </ajc-test>
-
- <!--ajc-test dir="java5/annotations/declare" title="declare @type - annotations with different targets (using type patterns) - binary weaving">
- <weave classesFiles="BaseTypes.java" aspectsFiles="DecaTypeBin6.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="warning" line="15" text="A is not a valid target for annotation ColorM"/>
- <message kind="warning" line="16" text="A is not a valid target for annotation ColorC"/>
- <message kind="warning" line="17" text="A is not a valid target for annotation ColorL"/>
- <message kind="warning" line="17" text="B is not a valid target for annotation ColorL"/>
- <message kind="warning" line="17" text="C is not a valid target for annotation ColorL"/>
- </weave>
- <run class="BaseTypes">
- <stderr>
- <line text="ColorT identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="ColorT identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="ColorT identified on execution(void A.m())"/>
- <line text="A.m() running"/>
- </stderr>
- </run>
- </ajc-test-->
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - annotations with different targets (using type patterns) - source weaving">
- <compile files="BaseTypes.java,DecaTypeBin6.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="error" line="15" text="The annotation @ColorM is disallowed for this location"/>
- <message kind="error" line="16" text="The annotation @ColorC is disallowed for this location"/>
- <message kind="error" line="17" text="The annotation @ColorL is disallowed for this location"/>
- <message kind="error" line="18" text="The annotation @ColorF is disallowed for this location"/>
- </compile>
- </ajc-test>
-
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - complex decp decAtType interactions - binary weaving">
- <weave classesFiles="BaseTypes.java" aspectsFiles="DecaTypeBin7.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- </weave>
- <run class="BaseTypes">
- <stderr>
- <line text="Color identified on execution(void A.m())"/>
- <line text="Fruit identified on execution(void A.m())"/>
- <line text="Chocolate identified on execution(void A.m())"/>
- <line text="M1 at execution(void A.m())"/>
- <line text="M2 at execution(void A.m())"/>
- <line text="M3 at execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Fruit identified on execution(void B.m())"/>
- <line text="Chocolate identified on execution(void B.m())"/>
- <line text="M1 at execution(void B.m())"/>
- <line text="M2 at execution(void B.m())"/>
- <line text="M3 at execution(void B.m())"/>
- <line text="B.m() running"/>
- <line text="Fruit identified on execution(void C.m())"/>
- <line text="Chocolate identified on execution(void C.m())"/>
- <line text="M1 at execution(void C.m())"/>
- <line text="M2 at execution(void C.m())"/>
- <line text="M3 at execution(void C.m())"/>
- <line text="C.m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - complex decp decAtType interactions - source weaving">
- <compile files="BaseTypes.java,DecaTypeBin7.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="BaseTypes">
- <stderr>
- <line text="Color identified on execution(void A.m())"/>
- <line text="Fruit identified on execution(void A.m())"/>
- <line text="Chocolate identified on execution(void A.m())"/>
- <line text="M1 at execution(void A.m())"/>
- <line text="M2 at execution(void A.m())"/>
- <line text="M3 at execution(void A.m())"/>
- <line text="A.m() running"/>
- <line text="Fruit identified on execution(void B.m())"/>
- <line text="Chocolate identified on execution(void B.m())"/>
- <line text="M1 at execution(void B.m())"/>
- <line text="M2 at execution(void B.m())"/>
- <line text="M3 at execution(void B.m())"/>
- <line text="B.m() running"/>
- <line text="Fruit identified on execution(void C.m())"/>
- <line text="Chocolate identified on execution(void C.m())"/>
- <line text="M1 at execution(void C.m())"/>
- <line text="M2 at execution(void C.m())"/>
- <line text="M3 at execution(void C.m())"/>
- <line text="C.m() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - trying to put annotation targetting annos on normal types - source weaving">
- <compile files="BaseTypes.java,DecaTypeBin8.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="error" line="8" text="A is not a valid target for annotation ColorA"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - trying to put annotation targetting annos on normal types - binary weaving">
- <weave classesFiles="BaseTypes.java" aspectsFiles="DecaTypeBin8.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="error" line="8" text="A is not a valid target for annotation ColorA"/>
- </weave>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - trying to put annotation targetting annos on normal types (uses pattern) - source weaving">
- <compile files="BaseTypes.java,DecaTypeBin9.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="warning" line="8" text="A is not a valid target for annotation ColorA"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - trying to put annotation targetting annos on normal types (uses pattern) - binary weaving">
- <weave classesFiles="BaseTypes.java" aspectsFiles="DecaTypeBin9.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="warning" line="8" text="A is not a valid target for annotation ColorA"/>
- </weave>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - covering enum and class element values - source weaving">
- <compile files="EnumAndClassValues.aj,FunkyAnnotations.java" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="FunkyAnnotations">
- <stderr>
- <line text="hello world"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare @type - covering enum and class element values - binary weaving">
- <weave aspectsFiles="EnumAndClassValues.aj" classesFiles="FunkyAnnotations.java" options="-1.5 -Xdev:Pinpoint" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="FunkyAnnotations">
- <stderr>
- <line text="advice running: Red"/>
- <line text="advice running: class java.lang.Integer"/>
- <line text="method running"/>
- </stderr>
- </run>
- </ajc-test>
-
-
- <!-- ======================================================================================= -->
- <!-- declare annotation (@field) -->
- <!-- ======================================================================================= -->
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - simple source weaving">
- <compile files="Base.java,Colored.java,AtField1.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Colored field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - simple binary weaving">
- <weave classesFiles="Base.java,Colored.java" aspectsFiles="AtField1.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Colored field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - two the same on one - source weaving">
- <compile files="Base.java,Colored.java,TwoOnOneField.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="warning" text="int Base.publicIntField - already has an annotation of type Colored"/>
- </compile>
- <run class="Base">
- <stderr>
- <line text="Colored field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - two the same on one - binary weaving">
- <weave classesFiles="Base.java,Colored.java" aspectsFiles="TwoOnOneField.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="warning" text="int Base.publicIntField - already has an annotation of type Colored"/>
- </weave>
- <run class="Base">
- <stderr>
- <line text="Colored field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - two different on one - source weaving">
- <compile files="Base.java,Colored.java,Fruit.java,TwoOnOneField2.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- </compile>
- <run class="Base">
- <stderr>
- <line text="Colored field access at set(int Base.publicIntField)"/>
- <line text="Fruit field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - two different on one - binary weaving">
- <weave classesFiles="Base.java,Colored.java,Fruit.java" aspectsFiles="TwoOnOneField2.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- </weave>
- <run class="Base">
- <stderr>
- <line text="Colored field access at set(int Base.publicIntField)"/>
- <line text="Fruit field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - wrong target - source weaving">
- <compile files="Base.java,Colored.java,WrongTarget.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="error" line="8" text="The annotation @MethodColoring is disallowed for this location"/>
- <message kind="error" line="9" text="The annotation @TypeColoring is disallowed for this location"/>
- <!-- xlint warnings that were put in as part of fix for pr115252 -->
- <message kind="warning" line="13" text="does not match because annotation @MethodColoring has @Target{ElementType.METHOD} [Xlint:unmatchedTargetKind]"/>
- <message kind="warning" line="16" text="does not match because annotation @TypeColoring has @Target{ElementType.TYPE} [Xlint:unmatchedTargetKind]"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - right target - source weaving">
- <compile files="Base.java,Colored.java,RightTarget.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Colored field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - right target - binary weaving">
- <weave classesFiles="Base.java,Colored.java" aspectsFiles="RightTarget.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Colored field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - recursive application - source weaving">
- <compile files="Base.java,Colored.java,Fruit.java,RecursiveFields.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Fruit field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - recursive application - binary weaving">
- <weave classesFiles="Base.java,Colored.java,Fruit.java" aspectsFiles="RecursiveFields.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Fruit field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - recursive application (other order) - source weaving">
- <compile files="Base.java,Colored.java,Fruit.java,RecursiveFields2.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Fruit field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atfield" title="declare @field - recursive application (other order) - binary weaving">
- <weave classesFiles="Base.java,Colored.java,Fruit.java" aspectsFiles="RecursiveFields2.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Fruit field access at set(int Base.publicIntField)"/>
- </stderr>
- </run>
- </ajc-test>
- <!-- incorrect target type for annotation on field -->
-
- <!-- incorrect target type for annotation on method -->
- <!-- two annotations on one method -->
- <!-- two of the same annotation on one method - error -->
- <!-- two of the same on one using pattern spec - lint -->
-
- <!-- need some incorrect signatures in the declare @statements - e.g. declare @constructor: public Base(int): XXX; will blow things up as it uses Base rather than new -->
- <!-- incorrect target type for annotation on ctor -->
- <!-- two annotations on one ctor -->
- <!-- two of the same annotation on one ctor - error -->
- <!-- two of the same on one using pattern spec - lint -->
-
- <ajc-test dir="java5/annotations/declare/atmethodctor" title="declare @method - simple source weaving">
- <compile files="Base.java,Colored.java,AtMethod1.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Colored method invocation at call(void Base.m1())"/>
- <line text="m1() running"/>
- <line text="m2() running"/>
- <line text="m3() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atmethodctor" title="declare @method - simple binary weaving">
- <weave classesFiles="Base.java,Colored.java" aspectsFiles="AtMethod1.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Colored method invocation at call(void Base.m1())"/>
- <line text="m1() running"/>
- <line text="m2() running"/>
- <line text="m3() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atmethodctor" title="declare @constructor - simple source weaving">
- <compile files="Base.java,Colored.java,AtCtor1.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Colored constructor invocation at call(Base(int))"/>
- <line text="m1() running"/>
- <line text="m2() running"/>
- <line text="m3() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atmethodctor" title="declare @constructor - simple binary weaving">
- <weave classesFiles="Base.java,Colored.java" aspectsFiles="AtCtor1.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Colored constructor invocation at call(Base(int))"/>
- <line text="m1() running"/>
- <line text="m2() running"/>
- <line text="m3() running"/>
- </stderr>
- </run>
- </ajc-test>
-
-
- <!-- These tests verify both @method and @ctor behavior - they are so similar it is OK to have them together... -->
-
- <ajc-test dir="java5/annotations/declare/atmethodctor" title="declare @method @ctor - wrong target - source weaving">
- <compile files="Base.java,Colored.java,WrongTarget.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="error" line="8" text="The annotation @MethodColoring is disallowed for this location"/>
- <message kind="error" line="9" text="The annotation @TypeColoring is disallowed for this location"/>
- <message kind="error" line="10" text="The annotation @MethodColoring is disallowed for this location"/>
- <message kind="error" line="11" text="The annotation @TypeColoring is disallowed for this location"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atmethodctor" title="declare @method @ctor - right target - source weaving">
- <compile files="Base.java,Colored.java,RightTarget.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Colored ctor call at call(Base(int))"/>
- <line text="Colored method call at call(void Base.m1())"/>
- <line text="m1() running"/>
- <line text="m2() running"/>
- <line text="m3() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atmethodctor" title="declare @method @ctor - right target - binary weaving">
- <weave classesFiles="Base.java,Colored.java" aspectsFiles="RightTarget.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="Base">
- <stderr>
- <line text="Colored ctor call at call(Base(int))"/>
- <line text="Colored method call at call(void Base.m1())"/>
- <line text="m1() running"/>
- <line text="m2() running"/>
- <line text="m3() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <!-- check @method/@ctor/@field recursively applying, can only happen if a pattern for one of them includes an annotation -->
-
-
- <ajc-test dir="java5/annotations/declare/atmethodctor" title="declare @method @ctor - two the same on one - source weaving">
- <compile files="Base.java,Colored.java,TwoOnOneMember.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="warning" text="void Base.m1() - already has an annotation of type Colored"/>
- <message kind="warning" text="void Base.<init>(int) - already has an annotation of type Colored"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atmethodctor" title="declare @method @ctor - two the same on one - binary weaving">
- <weave classesFiles="Base.java,Colored.java" aspectsFiles="TwoOnOneMember.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- <message kind="warning" text="void Base.m1() - already has an annotation of type Colored"/>
- <message kind="warning" text="void Base.<init>(int) - already has an annotation of type Colored"/>
- </weave>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atmethodctor" title="declare @method @ctor - two different on one - source weaving">
- <compile files="Base.java,Colored.java,Fruit.java,TwoOnOneMember2.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- </compile>
- <run class="Base">
- <stderr>
- <line text="Colored ctor call at Base.java:11"/>
- <line text="Fruit ctor call at Base.java:11"/>
- <line text="Colored method call at Base.java:15"/>
- <line text="Fruit method call at Base.java:15"/>
- <line text="m1() running"/>
- <line text="m2() running"/>
- <line text="m3() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare/atmethodctor" title="declare @method @ctor - two different on one - binary weaving">
- <weave classesFiles="Base.java,Colored.java,Fruit.java" aspectsFiles="TwoOnOneMember2.aj" options="-1.5" xlintfile="ignoreTypeNotExposed.properties">
- </weave>
- <run class="Base">
- <stderr>
- <line text="Colored ctor call at Base.java:11"/>
- <line text="Fruit ctor call at Base.java:11"/>
- <line text="Colored method call at Base.java:15"/>
- <line text="Fruit method call at Base.java:15"/>
- <line text="m1() running"/>
- <line text="m2() running"/>
- <line text="m3() running"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/declare" title="declare all annotations on one class - source weaving">
- <compile files="DeathByAnnotations.aj" options="-1.5,-emacssym" xlintfile="ignoreTypeNotExposed.properties"/>
- <run class="p.q.DeathByAnnotations"/>
- </ajc-test>
-
- <!-- ======================================================================================= -->
- <!-- annotation binding with ITDs -->
- <!-- ======================================================================================= -->
-
- <ajc-test dir="java5/annotations/binding" title="simple binding annotation values where itd method is annotated">
- <compile files="BindingWithAnnotatedItds1.aj" options="-1.5"/>
- <run class="BindingWithAnnotatedItds1">
- <stderr>
- <line text="Found apple at jp execution(int A.m()) (BindingWithAnnotatedItds1.aj:8)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" title="simple binding annotation values where itd field is annotated">
- <compile files="BindingWithAnnotatedItds2.aj" options="-1.5"/>
- <run class="BindingWithAnnotatedItds2">
- <stderr>
- <line text="Found banana at jp set(int A.i) (BindingWithAnnotatedItds2.aj:16)"/>
- <line text="Found apple at jp set(String A.j) (BindingWithAnnotatedItds2.aj:17)"/>
- <line text="Found orange at jp set(int[] A.k) (BindingWithAnnotatedItds2.aj:18)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" title="simple binding annotation values where itd ctor is annotated">
- <compile files="BindingWithAnnotatedItds3.aj" options="-1.5"/>
- <run class="BindingWithAnnotatedItds3">
- <stderr>
- <line text="Found pear at jp execution(A(String)) (BindingWithAnnotatedItds3.aj:8)"/>
- <line text="Found orange at jp execution(A(int)) (BindingWithAnnotatedItds3.aj:10)"/>
- <line text="Found tomato at jp execution(A(boolean)) (BindingWithAnnotatedItds3.aj:12)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <!-- ======================================================================================= -->
- <!-- declare annotation targetting ITDs -->
- <!-- ======================================================================================= -->
-
-
- <ajc-test dir="java5/annotations/binding" title="simple binding annotation values where itd method is annotated via declare">
- <compile files="BindingWithDeclaredAnnotationItds1.aj" options="-1.5,-emacssym"/>
- <run class="BindingWithDeclaredAnnotationItds1">
- <stderr>
- <line text="Found orange at jp call(int A.m()) (BindingWithDeclaredAnnotationItds1.aj:16)"/>
- <line text="Found orange at jp execution(int A.m()) (BindingWithDeclaredAnnotationItds1.aj:8)"/>
- <line text="Found banana at jp call(int A.n()) (BindingWithDeclaredAnnotationItds1.aj:17)"/>
- <line text="Found banana at jp execution(int A.n()) (BindingWithDeclaredAnnotationItds1.aj:10)"/>
- <line text="Found tomato at jp call(int A.o()) (BindingWithDeclaredAnnotationItds1.aj:18)"/>
- <line text="Found tomato at jp execution(int A.o()) (BindingWithDeclaredAnnotationItds1.aj:12)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" title="simple binding annotation values where itd field is annotated via declare">
- <compile files="BindingWithDeclaredAnnotationItds2.aj" options="-1.5,-emacssym"/>
- <run class="BindingWithDeclaredAnnotationItds2">
- <stderr>
- <line text="Found orange at jp set(int A.i) (BindingWithDeclaredAnnotationItds2.aj:16)"/>
- <line text="Found banana at jp set(String A.j) (BindingWithDeclaredAnnotationItds2.aj:17)"/>
- <line text="Found apple at jp set(boolean[] A.k) (BindingWithDeclaredAnnotationItds2.aj:18)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" title="simple binding annotation values where itd field is annotated multiple times via declare">
- <compile files="BindingWithDeclaredAnnotationItds3.aj" options="-1.5,-emacssym"/>
- <run class="BindingWithDeclaredAnnotationItds3">
- <stderr>
- <line text="Found fruit orange at jp set(int A.i) (BindingWithDeclaredAnnotationItds3.aj:13)"/>
- <line text="Found drink margarita at jp set(int A.i) (BindingWithDeclaredAnnotationItds3.aj:13)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding" title="simple binding annotation values where itd ctor is annotated via declare">
- <compile files="BindingWithDeclaredAnnotationItds4.aj" options="-1.5,-emacssym"/>
- <run class="BindingWithDeclaredAnnotationItds4">
- <stderr>
- <line text="Found pear at jp execution(A(String)) (BindingWithDeclaredAnnotationItds4.aj:8)"/>
- <line text="Found orange at jp execution(A(int)) (BindingWithDeclaredAnnotationItds4.aj:10)"/>
- <line text="Found tomato at jp execution(A(boolean)) (BindingWithDeclaredAnnotationItds4.aj:12)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/suppressedWarnings" title="SuppressAjWarnings raised during matching">
- <compile files="SuppressionDuringMatching.aj" options="-1.5">
- </compile>
- </ajc-test>
-
- <!-- ============================================================== -->
-
- <ajc-test dir="options/aspectpath" title="dirs on aspectpath">
- <compile files="MyAspect.aj" options="-d out"/>
- <compile files="MyClass.java" options="-aspectpath out">
- <message kind="warning" line="3" text="a method"/>
- </compile>
- </ajc-test>
-
- <!-- ============================================================== -->
- <!-- Start of generics tests -->
- <!-- ============================================================== -->
-
- <ajc-test dir="java5/generics" title="ITD with parameterized type" vm="1.5">
- <compile files="ITDReturningParameterizedType.aj" options="-1.5"/>
- <run class="ITDReturningParameterizedType"/>
- </ajc-test>
-
- <ajc-test dir="java5/annotations/binding/bugs" title="AtArgs causes a VerifyError: Unable to pop operand off an empty stack" vm="1.5">
- <compile files="Test3.java" options="-1.5"/>
- <run class="Test3"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/bugs/pr91267" title="NPE using generic methods in aspects 1" vm="1.5">
- <compile files="TestBug1.aj" options="-1.5"/>
- <run class="TestBug1"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/bugs/pr91267" title="NPE using generic methods in aspects 2" vm="1.5">
- <compile files="TestBug2.aj" options="-1.5"/>
- <run class="TestBug2"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/bugs" title="Generics problem with Set" vm="1.5">
- <compile files="PR91053.aj" options="-1.5"/>
- <run class="PR91053"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/bugs" title="Compilation error on generic member introduction" vm="1.5">
- <compile files="PR87282.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/bugs" title="Parameterized types on introduced fields not correctly recognized" vm="1.5">
- <compile files="PR88606.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="enum called Enum, annotation called Annotation, etc">
- <compile files="PR90827.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="Internal compiler error">
- <compile files="PR86832.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="Exploding compile time with if() statements in pointcut">
- <compile files="PR94086.aj" options="-1.5"/>
- </ajc-test>
-
- <!-- generic abstract aspects... -->
-
- <ajc-test dir="java5/generics/genericaspects" title="static pointcut parameterization suite">
- <compile files="GenericAspectPointcuts.aj" options="-1.5">
- <message kind="warning" line="62" text="kinded-returning-ok"/>
- <message kind="warning" line="52" text="kinded-declaring-ok"/>
- <message kind="warning" line="67" text="kinded-declaring-ok"/>
- <message kind="warning" line="50" text="kinded-params-ok"/>
- <message kind="warning" line="56" text="kinded-throws-ok"/>
- <message kind="warning" line="64" text="and-ok"/>
- <message kind="warning" line="60" text="or-ok"/>
- <message kind="warning" line="64" text="or-ok"/>
- <message kind="warning" line="67" text="or-ok"/>
- <message kind="warning" line="1" text="not-ok"/>
- <message kind="warning" line="42" text="not-ok"/>
- <message kind="warning" line="72" text="not-ok"/>
- <message kind="warning" line="59" text="within-ok"/>
- <message kind="warning" line="64" text="withincode-ok"/>
- <message kind="warning" line="53" text="handler-ok"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="dynamic pointcut parameterization suite">
- <compile files="GenericAspectRuntimePointcuts.aj" options="-1.5">
- </compile>
- <run class="GenericAspectRuntimePointcuts">
- <stdout>
- <line text="target-ok an X execution(void X.foo())"/>
- <line text="@this-ok @MyAnnotation(value=my-value) execution(void X.foo())"/>
- <line text="@target-ok @MyAnnotation(value=my-value) execution(void X.foo())"/>
- <line text="@within-ok @MyAnnotation(value=my-value) execution(void X.foo())"/>
- <line text="cflow-ok an X a Y set(Y X.y)"/>
- <line text="@annotation-ok-sub @MyAnnotation(value=bar) execution(void X.bar())"/>
- <line text="@annotation-ok @MyAnnotation(value=bar) execution(void X.bar())"/>
- <line text="target-ok an X execution(void X.bar())"/>
- <line text="@this-ok @MyAnnotation(value=my-value) execution(void X.bar())"/>
- <line text="@target-ok @MyAnnotation(value=my-value) execution(void X.bar())"/>
- <line text="@within-ok @MyAnnotation(value=my-value) execution(void X.bar())"/>
- <line text="@args-ok @MyAnnotation(value=my-value) execution(void Y.foo(X))"/>
- <line text="args-ok an X execution(void Y.foo(X))"/>
- <line text="this-ok a Y execution(void Y.foo(X))"/>
- <line text="@this-ok @MyAnnotation(value=on Y) execution(void Y.foo(X))"/>
- <line text="@target-ok @MyAnnotation(value=on Y) execution(void Y.foo(X))"/>
- <line text="@within-ok @MyAnnotation(value=on Y) execution(void Y.foo(X))"/>
- <line text="@annotation-ok-sub @MyAnnotation(value=my-value) execution(X Y.bar())"/>
- <line text="@annotation-ok @MyAnnotation(value=my-value) execution(X Y.bar())"/>
- <line text="this-ok a Y execution(X Y.bar())"/>
- <line text="@this-ok @MyAnnotation(value=on Y) execution(X Y.bar())"/>
- <line text="@target-ok @MyAnnotation(value=on Y) execution(X Y.bar())"/>
- <line text="@within-ok @MyAnnotation(value=on Y) execution(X Y.bar())"/>
- <line text="@withincode-ok @MyAnnotation(value=my-value) get(X Y.x)"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="reference to pointcut in generic class">
- <compile files="PointcutsInGenericClasses.aj" options="-1.5">
- <message kind="warning" line="16" text="a match"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="reference to non-parameterized pointcut in generic class">
- <compile files="PointcutsInGenericClasses2.aj" options="-1.5">
- <message kind="error" line="10" text="cannot use a raw type reference to refer to a pointcut in a generic type (use a parameterized reference instead)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="declare parents parameterized">
- <compile files="DecPGenericTest.aj" options="-1.5">
- <message kind="warning" line="16" text="success"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="declare precedence parameterized">
- <compile files="DecPrecedenceGenericTest.aj" options="-1.5 -Xdev:Pinpoint">
- </compile>
- <run class="DecPrecedenceGenericTest">
- <stdout>
- <line text="A1"/>
- <line text="A2"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="declare annotation parameterized">
- <compile files="DecAnnGenericTest.aj" options="-1.5">
- <message kind="warning" line="18" text="@type ok"/>
- <message kind="warning" line="20" text="@field ok"/>
- <message kind="warning" line="22" text="@constructor ok"/>
- <message kind="warning" line="24" text="@method ok"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="multi-level generic abstract aspects">
- <compile files="MultiLevelGenericTest.aj" options="-1.5">
- <message kind="warning" line="23" text="base match"/>
- <message kind="warning" line="23" text="middle match"/>
- <message kind="warning" line="23" text="top match"/>
- </compile>
- </ajc-test>
- <!-- generic bugs -->
-
- <ajc-test dir="java5/generics/bugs" title="ITD method with generic arg">
- <compile files="PR97763.aj" options="-1.5"/>
- <run class="PR97763">
- <stderr>
- <line text="Number of entries=2"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="NPE at ClassScope.java:660 when compiling generic class">
- <compile files="PR95993.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/bugs" title="Problems resolving type name inside generic class">
- <compile files="PR95992.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="100227" title="inner class with generic enclosing class">
- <compile files="pr100227.aj" options="-1.5"/>
- <run class="pr100227">
- <stderr>
- <line text="Outer.Inner.inner=2"/>
- <line text="Outer.Inner.p() executing"/>
- <line text="Generic_Outer.Inner.inner=4"/>
- <line text="Generic_Outer.Inner.p() executing"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" pr="100260" title="methods inherited from a generic parent">
- <compile files="pr100260.aj" options="-1.5"/>
- <run class="pr100260"/>
- </ajc-test>
-
- <!-- end of generic bugs -->
-
- <!-- generic aspects -->
-
- <ajc-test dir="java5/generics/genericaspects" title="generic aspects - 1">
- <compile files="GenericAspect1.aj" options="-1.5">
- <message kind="error" line="2" text="only abstract aspects can have type parameters"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="generic aspects - 2">
- <compile files="GenericAspect2.aj" options="-1.5">
- <message kind="error" line="9" text="a generic super-aspect must be fully parameterized in an extends clause"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="generic aspects - 3">
- <compile files="GenericAspect3.aj" options="-1.5"/>
- <run class="GenericAspect3">
- <stderr>
- <line text="A"/>
- <line text="B"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="generic aspects - 4">
- <compile files="ParentChildRelationship.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="generic aspect with declare warning using type vars">
- <compile files="DeclareWarningInGenericAspect.aj" options="-1.5">
- <message kind="warning" line="16" text="this method takes a T!"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="generic aspect with execution advice using type vars">
- <compile files="ExecutionAdviceInGenericAspect.aj" options="-1.5">
- </compile>
- <run class="ExecutionAdviceInGenericAspect">
- <stdout>
- <line text="I matched at execution(void C.foo(String))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="generic aspect with anonymous pointcut">
- <compile files="AnonymousPointcutInGenericAspect.aj" options="-1.5">
- </compile>
- <run class="AnonymousPointcutInGenericAspect">
- <stdout>
- <line text="I matched at execution(void C.foo(String))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="generic aspect declare parents">
- <compile files="DeclareParentsWithTypeVars.aj" options="-1.5">
- </compile>
- <run class="DeclareParentsWithTypeVars">
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/genericaspects" title="generic aspect declare soft">
- <compile files="DeclareSoftWithTypeVars.aj" options="-1.5">
- </compile>
- <run class="DeclareSoftWithTypeVars">
- <stderr>
- <line text="handled exception: io, io, it's off to work we go..."/>
- <line text="Successfully converted to domain exception"/>
- </stderr>
- </run>
- </ajc-test>
-
- <!-- ajdk example -->
- <ajc-test dir="java5/generics/genericaspects" title="generic aspects - 5 (ajdk)">
- <compile files="Blob.java,BlobContainment.aj,ParentChildRelationship.aj" options="-1.5"/>
- <run class="BlobContainment"/>
- </ajc-test>
-
- <!-- same as above but all types in one file -->
- <ajc-test dir="java5/generics/genericaspects" title="generic aspects - 6 (ajdk)">
- <compile files="TheBigOne.java" options="-1.5"/>
- <run class="TheBigOne"/>
- </ajc-test>
-
- <!-- end of generic aspects -->
-
- <!-- generic ITDs -->
-
- <ajc-test dir="java5/generics/itds" title="ITDs on generic type">
- <compile files="Parse5.java" options="-1.5">
- <message kind="error" line="9"/>
- <message kind="error" line="11"/>
- <message kind="error" line="13"/>
- <message kind="error" line="15"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="itd of non static member">
- <compile files="A.java" options="-1.5"/>
- <run class="A">
- <stderr>
- <line text="min(2,4)=>2"/>
- <line text="max(2,4)=>4"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="itd of static member">
- <compile files="B.java" options="-1.5"/>
- <run class="B">
- <stderr>
- <line text="min(2,4)=>2"/>
- <line text="max(2,4)=>4"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="itd using type parameter">
- <compile files="C.java" options="-1.5"/>
- <run class="C">
- <stderr>
- <line text="fillthisin..."/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="itd incorrectly using type parameter">
- <compile files="D.java" options="-1.5"/>
- <run class="D">
- <stderr>
- <line text="fillthisin..."/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="static generic method itd">
- <compile files="StaticGenericMethodITD.aj" options="-1.5"/>
- <run class="StaticGenericMethodITD">
- <stderr>
- <line text="First=10"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic ctor itd - 1">
- <compile files="GenericCtorITD1.aj" options="-1.5"/>
- <run class="GenericCtorITD1"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic ctor itd - 2">
- <compile files="GenericCtorITD2.aj" options="-1.5"/>
- <run class="GenericCtorITD2"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic ctor itd - 3">
- <compile files="GenericCtorITD3.aj" options="-1.5"/>
- <run class="GenericCtorITD3"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="parameterized method itd - 1">
- <compile files="ParameterizedMethodITD1.aj" options="-1.5"/>
- <run class="ParameterizedMethodITD1"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="parameterized method itd - 2">
- <compile files="ParameterizedMethodITD2.aj" options="-1.5">
- <message kind="error" line="9" text="The method simple(List<? extends Number>) in the type Base is not applicable for the arguments (List<A>)"/>
- </compile>
- </ajc-test>
-
-
- <ajc-test dir="java5/generics/itds" title="parameterized method itd - 3">
- <compile files="ParameterizedMethodITD3.aj" options="-1.5">
- <message kind="error" line="9" text="The method simple(List<? super A>) in the type Base is not applicable for the arguments (List<B>)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="parameterized method itd - 4">
- <compile files="ParameterizedMethodITD4.aj" options="-1.5"/>
- <run class="ParameterizedMethodITD4"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 1">
- <compile files="GenericMethodITD1.aj" options="-1.5"/>
- <run class="GenericMethodITD1"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 2">
- <compile files="GenericMethodITD2.aj" options="-1.5">
- <message kind="error" line="9" text="Bound mismatch: The generic method simple(List<? extends E>) of type Base is not applicable for the arguments (List<A>). The inferred type A is not a valid substitute for the bounded parameter <E extends Number>"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 3">
- <compile files="GenericMethodITD3.aj" options="-1.5"/>
- <run class="GenericMethodITD3"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 4">
- <compile files="GenericMethodITD4.aj" options="-1.5"/>
- <run class="GenericMethodITD4"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 5">
- <compile files="GenericMethodITD5.aj" options="-1.5">
- <message kind="error" line="10" text="The method simple(List<E>, List<E>) in the type Base is not applicable for the arguments (List<A>, List<B>)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 6">
- <compile files="GenericMethodITD6.aj" options="-1.5"/>
- <run class="GenericMethodITD6"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 7">
- <compile files="GenericMethodITD7.aj" options="-1.5"/>
- <run class="GenericMethodITD7"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 8">
- <compile files="GenericMethodITD8.aj" options="-1.5">
- <message kind="error" line="10" text="The method simple(List<E>, List<? extends E>) in the type Base is not applicable for the arguments (List<Number>, List<String>)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 9">
- <compile files="GenericMethodITD9.aj" options="-1.5"/>
- <run class="GenericMethodITD9"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 10">
- <compile files="GenericMethodITD10.aj" options="-1.5">
- <message kind="error" line="10" text="Bound mismatch: The generic method crazy(List<R>) of type Base is not applicable for the arguments (List<A>). The inferred type A is not a valid substitute for the bounded parameter <R extends Comparable<? super R>>"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 11">
- <compile files="GenericMethodITD11.aj" options="-1.5"/>
- <run class="GenericMethodITD11"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 12">
- <compile files="GenericMethodITD12.aj" options="-1.5">
- <message kind="error" line="10" text="Bound mismatch: The generic method crazy(List<R>) of type Base is not applicable for the arguments (List<A>). The inferred type A is not a valid substitute for the bounded parameter <R extends Foo<? extends R>>"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 13">
- <compile files="GenericMethodITD13.aj" options="-1.5"/>
- <run class="GenericMethodITD13"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 14">
- <compile files="GenericMethodITD14.aj" options="-1.5">
- <message kind="error" line="10" text="Bound mismatch: The generic method crazy(List<R>) of type Base is not applicable for the arguments (List<A>). The inferred type A is not a valid substitute for the bounded parameter <R extends Foo<? super R>>"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic method itd - 15">
- <compile files="GenericMethodITD15.aj" options="-1.5"/>
- <run class="GenericMethodITD15"/>
- </ajc-test>
-
- <!-- visibility -->
-
- <ajc-test dir="java5/generics/itds/visibility" title="public itds">
- <compile files="PublicITDs.aj" options="-1.5"/>
- <run class="PublicITDs"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/visibility" title="private itds">
- <compile files="PrivateITDs.aj" options="-1.5"/>
- <run class="PrivateITDs"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/visibility" title="package itds">
- <compile files="PackageITDs.aj" options="-1.5"/>
- <run class="PackageITDs"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/visibility" title="public itds with errors">
- <compile files="PublicITDsErrors.aj" options="-1.5">
- <message kind="error" line="13" text="The method publicMethod2(List<R>, List<R>) in the type Base is not applicable for the arguments (List<Double>, List<Float>)"/>
- <message kind="error" line="15" text="The constructor Base(List<Double>, Map<Integer,String>) is undefined"/>
- </compile>
- </ajc-test>
-
- <!-- targetting different types -->
-
- <ajc-test dir="java5/generics/itds/differingTargets" title="targetting interface">
- <compile files="TargettingInterface.aj" options="-1.5"/>
- <run class="TargettingInterface"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/differingTargets" title="targetting aspect">
- <compile files="TargettingAspect.aj" options="-1.5"/>
- <run class="TargettingAspect"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/differingTargets" title="targetting class">
- <compile files="TargettingClass.aj" options="-1.5"/>
- <run class="TargettingClass"/>
- </ajc-test>
-
- <!-- sharing type variables between the ITD and the generic type -->
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type - 1">
- <compile files="FieldA.aj" options="-1.5"/>
- <run class="FieldA"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type - 2">
- <compile files="FieldB.aj" options="-1.5">
- <message kind="error" line="16" text="Incorrect number of type parameters supplied. The generic type Base<N,M> has 2 type parameters, not 1."/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type - 3">
- <compile files="FieldC.aj" options="-1.5"/>
- <run class="FieldC"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type - 4">
- <compile files="FieldD.aj" options="-1.5"/>
- <run class="FieldD"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type - 5">
- <compile files="FieldE.aj" options="-1.5"/>
- <run class="FieldE"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type - 6">
- <compile files="FieldF.aj" options="-1.5"/>
- <run class="FieldF"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type - 7">
- <compile files="FieldG.aj" options="-1.5"/>
- <run class="FieldG"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type - 8">
- <compile files="FieldH.aj" options="-1.5"/>
- <run class="FieldH"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type - 9">
- <compile files="FieldI.aj" options="-1.5">
- <message kind="error" line="7" text="Type mismatch: cannot convert from List<String> to List<Integer>"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type -10">
- <compile files="FieldJ.aj" options="-1.5"/>
- <run class="FieldJ"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type -11">
- <compile files="FieldK.aj" options="-1.5"/>
- <run class="FieldK"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type -12">
- <compile files="FieldL.aj" options="-1.5"/>
- <run class="FieldL"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type -13">
- <compile files="FieldM.aj" options="-1.5"/>
- <run class="FieldM"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type -14">
- <compile files="FieldN.aj" options="-1.5">
- <message kind="error" line="11" text="Type parameters can not be specified in the ITD target type - the target type I is not generic."/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type -15">
- <compile files="FieldO.aj" options="-1.5">
- <message kind="error" line="11" text="Intertype declarations can only be made on the generic type, not on a parameterized type. The name 'String' cannot be used as a type parameter, since it refers to a real type."/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type -16">
- <compile files="FieldP.aj" options="-1.5">
- <message kind="error" line="10" text="static intertype field declarations cannot refer to type variables from the target generic type"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd using type variable from target type -17">
- <compile files="FieldQ.aj" options="-1.5"/>
- <run class="FieldQ"/>
- </ajc-test>
-
- <!-- Now intertype declared methods on generic types that use the target types type vars -->
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - A1">
- <compile files="MethodA.aj" options="-1.5"/>
- <run class="MethodA"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - A2">
- <compile files="MethodA2.aj" options="-1.5"/>
- <run class="MethodA2"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - A3">
- <compile files="MethodA3.aj" options="-1.5"/>
- <run class="MethodA3"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - A4">
- <compile files="MethodA4.aj" options="-1.5"/>
- <run class="MethodA4"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - B1">
- <compile files="MethodB.aj" options="-1.5">
- <message kind="error" line="16" text="Incorrect number of type parameters supplied. The generic type Base<N,M> has 2 type parameters, not 1."/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - C1">
- <compile files="MethodC.aj" options="-1.5"/>
- <run class="MethodC"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - D1">
- <compile files="MethodD.aj" options="-1.5"/>
- <run class="MethodD"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - E1">
- <compile files="MethodE.aj" options="-1.5"/>
- <run class="MethodE"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - F1">
- <compile files="MethodF.aj" options="-1.5"/>
- <run class="MethodF"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - G1">
- <compile files="MethodG.aj" options="-1.5"/>
- <run class="MethodG"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - H1">
- <compile files="MethodH.aj" options="-1.5"/>
- <run class="MethodH"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - I1">
- <compile files="MethodI.aj" options="-1.5">
- <message kind="error" line="6" text="Type mismatch: cannot convert from List<Integer> to List<String>"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - I2">
- <compile files="MethodI2.aj" options="-1.5">
- <message kind="error" line="7" text="The method m(List<Integer>) in the type Base<Integer> is not applicable for the arguments (List<String>)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - J1">
- <compile files="MethodJ.aj" options="-1.5"/>
- <run class="MethodJ"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - K1">
- <compile files="MethodK.aj" options="-1.5"/>
- <run class="MethodK"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - L1">
- <compile files="MethodL.aj" options="-1.5"/>
- <run class="MethodL"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - M1">
- <compile files="MethodM.aj" options="-1.5"/>
- <run class="MethodM"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - M2">
- <compile files="MethodM2.aj" options="-1.5"/>
- <run class="MethodM2"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - N1">
- <compile files="MethodN.aj" options="-1.5">
- <message kind="error" line="11" text="Type parameters can not be specified in the ITD target type - the target type I is not generic."/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - O1">
- <compile files="MethodO.aj" options="-1.5">
- <message kind="error" line="11" text="Intertype declarations can only be made on the generic type, not on a parameterized type. The name 'String' cannot be used as a type parameter, since it refers to a real type."/>
- </compile>
- </ajc-test>
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - O2">
- <compile files="MethodO2.aj" options="-1.5">
- <message kind="error" line="11" text="Intertype declarations can only be made on the generic type, not on a parameterized type. The name 'String' cannot be used as a type parameter, since it refers to a real type."/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - P1">
- <compile files="MethodP.aj" options="-1.5"/>
- <run class="MethodP"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd using type variable from target type - Q1">
- <compile files="MethodQ.aj" options="-1.5"/>
- <run class="MethodQ"/>
- </ajc-test>
-
- <!-- Now intertype declared constructors on generic types that use the target types type vars -->
-
- <ajc-test dir="java5/generics/itds/sharing" title="ctor itd using type variable from target type - A1">
- <compile files="CtorA.aj" options="-1.5"/>
- <run class="CtorA"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="ctor itd using type variable from target type - B1">
- <compile files="CtorB.aj" options="-1.5">
- <message kind="error" line="15" text="Incorrect number of type parameters supplied. The generic type Base<N,M> has 2 type parameters, not 1."/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="ctor itd using type variable from target type - C1">
- <compile files="CtorC.aj" options="-1.5"/>
- <run class="CtorC"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="ctor itd using type variable from target type - D1">
- <compile files="CtorD.aj" options="-1.5"/>
- <run class="CtorD"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="ctor itd using type variable from target type - E1">
- <compile files="CtorE.aj" options="-1.5"/>
- <run class="CtorE"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="ctor itd using type variable from target type - F1">
- <compile files="CtorF.aj" options="-1.5"/>
- <run class="CtorF"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="ctor itd using type variable from target type - G1">
- <compile files="CtorG.aj" options="-1.5"/>
- <run class="CtorG"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="ctor itd using type variable from target type - H1">
- <compile files="CtorH.aj" options="-1.5"/>
- <run class="CtorH"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="ctor itd using type variable from target type - I1">
- <compile files="CtorI.aj" options="-1.5"/>
- <run class="CtorI"/>
- </ajc-test>
-
- <!-- putting it all together, fields/methods/ctors and decps -->
-
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - A">
- <compile files="GenericAspectA.aj" options="-1.5"/>
- <run class="GenericAspectA"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - B">
- <compile files="GenericAspectB.aj" options="-1.5"/>
- <run class="GenericAspectB"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - C">
- <compile files="GenericAspectC.aj" options="-1.5"/>
- <run class="GenericAspectC"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - D">
- <compile files="GenericAspectD.aj" options="-1.5"/>
- <run class="GenericAspectD"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - E">
- <compile files="GenericAspectE.aj" options="-1.5"/>
- <run class="GenericAspectE"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - F">
- <compile files="GenericAspectF.aj" options="-1.5"/>
- <run class="GenericAspectF"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - G">
- <compile files="GenericAspectG.aj" options="-1.5"/>
- <run class="GenericAspectG"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - H">
- <compile files="GenericAspectH.aj" options="-1.5">
- <message kind="error" line="7" text="Type java.lang.String does not meet the specification for type parameter 1 (N extends java.lang.Number) in generic type GenericAspect$SimpleI"/>
- <!-- see pr133307, shame about this -->
- <!--message kind="error" line="16" text="The method m4(String) is undefined for the type Base"/-->
- </compile>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - I">
- <compile files="GenericAspectI.aj" options="-1.5"/>
- <run class="GenericAspectI"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - J">
- <compile files="GenericAspectJ.aj" options="-1.5"/>
- <run class="GenericAspectJ"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - K">
- <compile files="GenericAspectK.aj" options="-1.5">
- <message kind="error" line="7" text="B does not meet the specification for type parameter 1 (L extends java.lang.Number) in generic type GenericAspect$SimpleI"/>
- <message kind="error" line="16" text="The method m4(String) is undefined for the type Base"/>
- </compile>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - K2">
- <compile files="GenericAspectK2.aj" options="-1.5">
- <message kind="error" line="13" text="Type java.lang.String does not meet the specification for type parameter 2 (B extends java.lang.Number) in generic type GenericAspect"/>
- </compile>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - L">
- <compile files="GenericAspectL.aj" options="-1.5"/>
- <run class="GenericAspectL"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - M">
- <compile files="GenericAspectM.aj" options="-1.5">
- <message kind="error" line="23" text="The method m0(Integer) in the type GenericAspect<A,B>.SimpleI<Integer> is not applicable for the arguments (String)"/>
- <message kind="error" line="24" text="The method m1(List<Integer>) in the type GenericAspect<A,B>.SimpleI<Integer> is not applicable for the arguments (List<String>)"/>
- <message kind="error" line="25" text="Type mismatch: cannot convert from String to Integer"/>
- <message kind="error" line="26" text="Type mismatch: cannot convert from List<String> to List<Integer>"/>
- </compile>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - N">
- <compile files="GenericAspectN.aj" options="-1.5"/>
- <run class="GenericAspectN"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - O">
- <compile files="GenericAspectO.aj" options="-1.5">
- <message kind="error" line="24" text="Cannot make a static reference to the non-static field Bottom.parent"/>
- <message kind="error" line="26" text="The method add(Bottom) in the type List<Bottom> is not applicable for the arguments (Top)"/>
- <message kind="error" line="27" text="Cannot make a static reference to the non-static field Top.children"/>
- </compile>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - P">
- <compile files="GenericAspectP.aj" options="-1.5"/>
- <run class="GenericAspectP"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - Q">
- <compile files="GenericAspectQ.aj" options="-1.5"/>
- <run class="GenericAspectQ"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - R">
- <compile files="GenericAspectR.aj" options="-1.5"/>
- <run class="GenericAspectR"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - S">
- <compile files="GenericAspectS.aj" options="-1.5"/>
- <run class="GenericAspectS"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - T">
- <compile files="GenericAspectT.aj" options="-1.5"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - U">
- <compile files="GenericAspectU.aj" options="-1.5"/>
- <run class="GenericAspectU"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - V">
- <compile files="GenericAspectV.aj" options="-1.5"/>
- <run class="GenericAspectV"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - W">
- <compile files="GenericAspectW.aj" options="-1.5"/>
- <run class="GenericAspectW"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - X">
- <compile files="GenericAspectX.aj" options="-1.5"/>
- <run class="GenericAspectX"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - Y">
- <compile files="GenericAspectY.aj" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Join point 'method-execution(void ParentChildRelationship$ParentHasChildren.addChild(C))' in Type 'ParentChildRelationship' (GenericAspectY.aj:53) advised by before advice from 'GenericAspectY' (GenericAspectY.aj:101) [with runtime test]"/>
- <message kind="weave" text="Extending interface set for type 'Top' (GenericAspectY.aj) to include 'ParentChildRelationship$ParentHasChildren<Bottom>' (GenericAspectY.aj)"/>
- <message kind="weave" text="Type 'Top' (GenericAspectY.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectY.aj:'java.util.List<Bottom> ParentChildRelationship$ParentHasChildren.children')"/>
- <message kind="weave" text="Type 'Top' (GenericAspectY.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectY.aj:'java.util.List<Bottom> ParentChildRelationship$ParentHasChildren.getChildren()')"/>
- <message kind="weave" text="Type 'Top' (GenericAspectY.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectY.aj:'void ParentChildRelationship$ParentHasChildren.addChild(Bottom)')"/>
- <message kind="weave" text="Type 'Top' (GenericAspectY.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectY.aj:'void ParentChildRelationship$ParentHasChildren.removeChild(Bottom)')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectY.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectY.aj:'java.util.List<C> ParentChildRelationship$ParentHasChildren.children')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectY.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectY.aj:'java.util.List<C> ParentChildRelationship$ParentHasChildren.getChildren()')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectY.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectY.aj:'void ParentChildRelationship$ParentHasChildren.addChild(C)')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectY.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectY.aj:'void ParentChildRelationship$ParentHasChildren.removeChild(C)')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ChildHasParent' (GenericAspectY.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectY.aj:'ParentChildRelationship$ParentHasChildren ParentChildRelationship$ChildHasParent.parent')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ChildHasParent' (GenericAspectY.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectY.aj:'P ParentChildRelationship$ChildHasParent.getParent()')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ChildHasParent' (GenericAspectY.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectY.aj:'void ParentChildRelationship$ChildHasParent.setParent(P)')"/>
- <message kind="weave" text="Extending interface set for type 'Bottom' (GenericAspectY.aj) to include 'ParentChildRelationship$ChildHasParent<Top>' (GenericAspectY.aj)"/>
- <message kind="weave" text="Type 'Bottom' (GenericAspectY.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectY.aj:'Top ParentChildRelationship$ChildHasParent.parent')"/>
- <message kind="weave" text="Type 'Bottom' (GenericAspectY.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectY.aj:'Top ParentChildRelationship$ChildHasParent.getParent()')"/>
- <message kind="weave" text="Type 'Bottom' (GenericAspectY.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectY.aj:'void ParentChildRelationship$ChildHasParent.setParent(Top)')"/>
- </compile>
- <run class="GenericAspectY"/>
- </ajc-test>
- <ajc-test dir="java5/generics/genericaspects/" title="uberaspects - Z">
- <compile files="GenericAspectZ.aj" options="-1.5 -showWeaveInfo">
- <message kind="weave" text="Join point 'method-execution(void ParentChildRelationship$ParentHasChildren.addChild(C))' in Type 'ParentChildRelationship' (GenericAspectZ.aj:53) advised by before advice from 'GenericAspectZ' (GenericAspectZ.aj:95) [with runtime test]"/>
- <message kind="weave" text="Join point 'method-execution(void ParentChildRelationship$ParentHasChildren.removeChild(C))' in Type 'ParentChildRelationship' (GenericAspectZ.aj:65) advised by before advice from 'GenericAspectZ' (GenericAspectZ.aj:96) [with runtime test]"/>
-
- <message kind="weave" text="Extending interface set for type 'Top' (GenericAspectZ.aj) to include 'ParentChildRelationship$ParentHasChildren<Bottom>' (GenericAspectZ.aj)"/>
- <message kind="weave" text="Type 'Top' (GenericAspectZ.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectZ.aj:'java.util.List<Bottom> ParentChildRelationship$ParentHasChildren.children')"/>
- <message kind="weave" text="Type 'Top' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'java.util.List<Bottom> ParentChildRelationship$ParentHasChildren.getChildren()')"/>
- <message kind="weave" text="Type 'Top' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ParentHasChildren.addChild(Bottom)')"/>
- <message kind="weave" text="Type 'Top' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ParentHasChildren.removeChild(Bottom)')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectZ.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectZ.aj:'java.util.List<C> ParentChildRelationship$ParentHasChildren.children')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'java.util.List<C> ParentChildRelationship$ParentHasChildren.getChildren()')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ParentHasChildren.addChild(C)')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ParentHasChildren.removeChild(C)')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ChildHasParent' (GenericAspectZ.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectZ.aj:'ParentChildRelationship$ParentHasChildren ParentChildRelationship$ChildHasParent.parent')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ChildHasParent' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'P ParentChildRelationship$ChildHasParent.getParent()')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ChildHasParent' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ChildHasParent.setParent(P)')"/>
- <message kind="weave" text="Extending interface set for type 'Bottom' (GenericAspectZ.aj) to include 'ParentChildRelationship$ChildHasParent<Top>' (GenericAspectZ.aj)"/>
- <message kind="weave" text="Type 'Bottom' (GenericAspectZ.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectZ.aj:'Top ParentChildRelationship$ChildHasParent.parent')"/>
- <message kind="weave" text="Type 'Bottom' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'Top ParentChildRelationship$ChildHasParent.getParent()')"/>
- <message kind="weave" text="Type 'Bottom' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ChildHasParent.setParent(Top)')"/>
-
- <!--message kind="weave" text="Extending interface set for type 'Top' (GenericAspectZ.aj) to include 'ParentChildRelationship$ParentHasChildren<Bottom>' (GenericAspectZ.aj)"/>
- <message kind="weave" text="Type 'Top' (GenericAspectZ.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectZ.aj:'java.util.List<C> ParentChildRelationship$ParentHasChildren.children')"/>
- <message kind="weave" text="Type 'Top' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'java.util.List<C> ParentChildRelationship$ParentHasChildren.getChildren()')"/>
- <message kind="weave" text="Type 'Top' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ParentHasChildren.addChild(C)')"/>
- <message kind="weave" text="Type 'Top' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ParentHasChildren.removeChild(C)')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectZ.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectZ.aj:'java.util.List<C> ParentChildRelationship$ParentHasChildren.children')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'java.util.List<C> ParentChildRelationship$ParentHasChildren.getChildren()')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ParentHasChildren.addChild(C)')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ParentHasChildren' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ParentHasChildren.removeChild(C)')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ChildHasParent' (GenericAspectZ.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectZ.aj:'ParentChildRelationship$ParentHasChildren ParentChildRelationship$ChildHasParent.parent')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ChildHasParent' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'ParentChildRelationship$ParentHasChildren ParentChildRelationship$ChildHasParent.getParent()')"/>
- <message kind="weave" text="Type 'ParentChildRelationship$ChildHasParent' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ChildHasParent.setParent(P)')"/>
- <message kind="weave" text="Extending interface set for type 'Bottom' (GenericAspectZ.aj) to include 'ParentChildRelationship$ChildHasParent<Top>' (GenericAspectZ.aj)"/>
- <message kind="weave" text="Type 'Bottom' (GenericAspectZ.aj) has intertyped field from 'ParentChildRelationship' (GenericAspectZ.aj:'ParentChildRelationship$ParentHasChildren ParentChildRelationship$ChildHasParent.parent')"/>
- <message kind="weave" text="Type 'Bottom' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'ParentChildRelationship$ParentHasChildren ParentChildRelationship$ChildHasParent.getParent()')"/>
- <message kind="weave" text="Type 'Bottom' (GenericAspectZ.aj) has intertyped method from 'ParentChildRelationship' (GenericAspectZ.aj:'void ParentChildRelationship$ChildHasParent.setParent(P)')"/-->
- </compile>
- <run class="GenericAspectZ"/>
- </ajc-test>
-
-
-
- <ajc-test dir="java5/generics/itds/sharing" title="method itd sharing type variable with generic type">
- <compile files="Simple.aj" options="-1.5"/>
- <run class="Simple"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/sharing" title="field itd sharing type variable with generic type">
- <compile files="Simple2.aj" options="-1.5"/>
- <run class="Simple2"/>
- </ajc-test>
-
-
- <ajc-test dir="java5/generics/itds" title="non static generic method itd - 2">
- <compile files="NonstaticGenericCtorITD2.aj" options="-1.5"/>
- <run class="NonstaticGenericCtorITD2"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="reusing type variable letters">
- <compile files="ReusingLetters.aj" options="-1.5"/>
- <run class="ReusingLetters"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="multiple generic itds in one file">
- <compile files="BizarroSignatures.aj" options="-1.5"/>
- <run class="BizarroSignatures"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="generic intertype field declaration, sharing type variable">
- <compile files="FieldITDOnGenericType.aj" options="-1.5"/>
- <run class="FieldITDOnGenericType">
- <stderr>
- <line text=">42"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="Parsing generic ITDs - 1">
- <compile files="Parse1.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="Parsing generic ITDs - 2">
- <compile files="Parse2.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="Parsing generic ITDs - 3">
- <compile files="Parse3.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="Parsing generic ITDs - 4">
- <compile files="Parse4.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="Parsing generic ITDs - 5">
- <compile files="Parse5.java" options="-1.5">
- <message kind="error" line="11" text="Incorrect number of type parameters supplied. The generic type Parse5<T,S> has 2 type parameters, not 3."/>
- <message kind="error" line="13" text="Incorrect number of type parameters supplied. The generic type Parse5<T,S> has 2 type parameters, not 1."/>
- <message kind="error" line="15" text="Intertype declarations can only be made on the generic type, not on a parameterized type. The name 'String' cannot be used as a type parameter, since it refers to a real type."/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds" title="Parsing generic ITDs - 6">
- <compile files="Parse6.java" options="-1.5"/>
- </ajc-test>
-
- <!-- end of generic ITDs -->
-
- <!-- generic decps -->
-
- <ajc-test dir="java5/generics/decp" title="generic decp - simple">
- <compile files="Basic.aj" options="-1.5"/>
- <run class="Basic"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp" title="generic decp - implementing two variants #1">
- <compile files="Basic2.aj" options="-1.5">
- <message kind="error" line="11" text="Cannot declare parent I<java.lang.Integer> onto type Basic2 since it already has I<java.lang.String> in its hierarchy"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp" title="generic decp - implementing two variants #2">
- <compile files="Basic2b.aj" options="-1.5">
- <message kind="error" line="10" text="Cannot declare parent I<java.lang.Integer> onto type Basic2b since it already has I in its hierarchy"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp" title="generic decp - implementing two variants #3">
- <compile files="Basic2c.aj" options="-1.5">
- <message kind="error" line="10" text="Cannot declare parent I onto type Basic2c since it already has I<java.lang.Double> in its hierarchy"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp" title="generic decp - implementing two variants #4">
- <compile files="Basic2d.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp/binary" title="generic decp binary - implementing two variants #1">
- <weave classesFiles="Base1.java" aspectsFiles="Asp1.aj" options="-1.5,-showWeaveInfo">
- <message kind="error" line="2" text="Cannot declare parent I<java.lang.Integer> onto type Base1 since it already has I<java.lang.String> in its hierarchy"/>
- </weave>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp/binary" title="generic decp binary - implementing two variants #2">
- <weave classesFiles="Base2.java" aspectsFiles="Asp2.aj" options="-1.5,-showWeaveInfo">
- <message kind="error" line="2" text="Cannot declare parent I<java.lang.Integer> onto type Base2 since it already has I in its hierarchy"/>
- </weave>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp/binary" title="generic decp binary - implementing two variants #3">
- <weave classesFiles="Base3.java" aspectsFiles="Asp3.aj" options="-1.5,-showWeaveInfo">
- <message kind="error" line="2" text="Cannot declare parent I onto type Base3 since it already has I<java.lang.Double> in its hierarchy"/>
- </weave>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp/binary" title="generic decp binary - implementing two variants #4">
- <weave classesFiles="Base4.java" aspectsFiles="Asp4.aj" options="-1.5,-showWeaveInfo"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp" title="generic decp - incorrect number of type parameters">
- <compile files="Basic3.aj" options="-1.5">
- <message kind="error" line="10" text="Type pattern does not match because the wrong number of type parameters are specified: Type I requires 1 parameter(s)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp" title="generic decp - specifying bounds">
- <compile files="Basic4.aj" options="-1.5"/>
- <run class="Basic4"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp" title="generic decp - specifying bounds but breaking them">
- <compile files="Basic5.aj" options="-1.5">
- <message kind="error" line="7" text="Type java.lang.String does not meet the specification for type parameter 1 (T extends java.lang.Number) in generic type I"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/decp" title="generic decp - with parameterized on the target">
- <compile files="Basic6.aj" options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Extending interface set for type 'Basic6' (Basic6.aj) to include 'K<java.lang.Integer>' (Basic6.aj)"/>
- </compile>
- <run class="Basic6"/>
- </ajc-test>
-
- <!-- end of generic decps -->
-
- <!-- generics/itds and binary weaving -->
-
- <ajc-test dir="java5/generics/itds/binaryweaving" vm="1.5" title="binary weaving ITDs - A">
- <compile files="TestA_generictype.java" outjar="code.jar" options="-1.5"/>
- <compile files="TestA_aspect.aj,TestA_class.java" inpath="code.jar" options="-1.5"/>
- <run class="TestA_class"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/binaryweaving" vm="1.5" title="binary weaving ITDs - B">
- <compile files="TestB_generictype.java" outjar="code.jar" options="-1.5"/>
- <compile files="TestB_aspect1.aj,TestB_aspect2.aj,TestB_class.java" inpath="code.jar" options="-1.5"/>
- <run class="TestB_class"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/binaryweaving" vm="1.5" title="binary weaving ITDs - 1">
- <compile files="BaseClass.java" outjar="code.jar" options="-1.5"/>
- <compile files="A1.aj" inpath="code.jar" options="-1.5"/>
- <run class="BaseClass">
- <stderr>
- <line text="Advice count=1"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/binaryweaving" vm="1.5" title="binary weaving ITDs - 2">
- <compile files="BaseClass.java,A1.aj" outjar="code.jar" options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'BaseClass' (BaseClass.java) has intertyped field from 'A1' (A1.aj:'java.util.List<java.lang.String> BaseClass.list1')"/>
- <message kind="weave" text="Type 'BaseClass' (BaseClass.java:12) advised by after advice from 'A1' (A1.aj:7)"/>
- </compile>
- <compile files="A2.aj" inpath="code.jar" options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'BaseClass' (BaseClass.java) has intertyped field from 'A1' (A1.aj:'java.util.List<java.lang.String> BaseClass.list1')"/>
- <message kind="weave" text="Type 'BaseClass' (BaseClass.java:12) advised by after advice from 'A1' (A1.aj:7)"/>
- <message kind="weave" text="Type 'BaseClass' (BaseClass.java) has intertyped field from 'A2' (A2.aj:'java.util.List<N> BaseClass.list2')"/>
- <message kind="weave" text="Type 'BaseClass' (BaseClass.java:13) advised by after advice from 'A2' (A2.aj:8)"/>
- </compile>
- <run class="BaseClass">
- <stderr>
- <line text="Advice count=2"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/binaryweaving" vm="1.5" title="binary weaving ITDs - 3">
- <compile files="BaseClass.java,A1.aj,A2.aj" outjar="code.jar" options="-1.5"/>
- <compile files="A3.aj" inpath="code.jar" options="-1.5"/>
- <run class="BaseClass">
- <stderr>
- <line text="Advice count=3"/>
- </stderr>
- </run>
- </ajc-test>
-
- <!-- end of generics/itds and binary weaving -->
-
- <!-- generics/itds and bridge methods -->
-
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="bridge methods - 1">
- <compile files="Sub1.java,Super1.java,X1.aj" options="-1.5"/>
- <run class="X1"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="bridge methods - 1 - binary">
- <compile files="Sub1.java,Super1.java" outjar="code.jar" options="-1.5"/>
- <compile files="X1.aj" inpath="code.jar" options ="-1.5"/>
- <run class="X1"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="bridge methods - 2">
- <compile files="Sub2.java,Super2.java,X2.aj" options="-1.5"/>
- <run class="X2"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="bridge methods - 2 - binary">
- <compile files="Sub2.java,Super2.java" outjar="code.jar" options="-1.5"/>
- <compile files="X2.aj,Util.java" inpath="code.jar" options ="-1.5"/>
- <run class="X2"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="bridge methods - 3">
- <compile files="Sub3.java,Super3.java,X3.aj" options="-1.5"/>
- <run class="X3"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="bridge methods - 3 - binary">
- <compile files="Sub3.java,Super3.java" outjar="code.jar" options="-1.5"/>
- <compile files="X3.aj" inpath="code.jar" options ="-1.5"/>
- <run class="X3"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="bridge methods - 4">
- <compile files="Sub4.java,Super4.java,X4.aj" options="-1.5"/>
- <run class="X4"/>
- </ajc-test>
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="bridge methods - 4 - binary">
- <compile files="Sub4.java,Super4.java" outjar="code.jar" options="-1.5"/>
- <compile files="X4.aj" inpath="code.jar" options ="-1.5"/>
- <run class="X4"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/binaryBridging" title="binary bridge methods - one">
- <compile files="OneA.java" outjar="onea.jar" options="-1.5"/>
- <compile files="OneB.java" outjar="oneb.jar" options="-1.5"/>
- <compile files="OneX.java" inpath="onea.jar;oneb.jar" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/binaryBridging" title="binary bridge methods - two">
- <compile files="TwoA.java" outjar="twoa.jar" options="-1.5"/>
- <compile files="TwoB.java" outjar="twob.jar" options="-1.5"/>
- <compile files="TwoX.java" inpath="twoa.jar;twob.jar" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/binaryBridging" title="binary bridge methods - three">
- <compile files="ThreeA.java" outjar="threea.jar" options="-1.5"/>
- <compile files="ThreeB.java" outjar="threeb.jar" options="-1.5"/>
- <compile files="ThreeX.java" inpath="threea.jar;threeb.jar" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="abstract intertype methods and covariant returns">
- <compile files="pr91381.aj" options="-1.5"/>
- <run class="pr91381"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/bridgeMethods" title="abstract intertype methods and covariant returns - error">
- <compile files="pr91381_2.aj">
- <message kind="error" line="15" text="The return type is incompatible with A.foo()"/>
- </compile>
- </ajc-test>
-
-
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="bridging with covariance 1 - normal">
- <compile files="Bridging1.aj,Util.java" options="-1.5"/>
- <run class="Bridging1">
- <stderr>
- <line text="Number of methods defined for D is 2"/>
- <line text="C D.method1() [BridgeMethod]"/>
- <line text="D D.method1()"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="bridging with covariance 1 - itd">
- <compile files="BridgingITD1.aj,Util.java" options="-1.5"/>
- <run class="BridgingITD1">
- <stderr>
- <line text="Number of methods defined for D is 2"/>
- <line text="C D.method1() [BridgeMethod]"/>
- <line text="D D.method1()"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="basic bridging with type vars - 1 - normal">
- <compile files="Bridging2.aj,Util.java" options="-1.5"/>
- <run class="Bridging2">
- <stderr>
- <line text="Number of methods defined for D is 2"/>
- <line text="java.lang.Object D.next() [BridgeMethod]"/>
- <line text="java.lang.String D.next()"/>
- </stderr>
- </run>
- </ajc-test>
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="basic bridging with type vars - 1 - itd">
- <compile files="BridgingITD2.aj,Util.java" options="-1.5"/>
- <run class="BridgingITD2">
- <stderr>
- <line text="Number of methods defined for D is 2"/>
- <line text="java.lang.Object D.next() [BridgeMethod]"/>
- <line text="java.lang.String D.next()"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="basic bridging with type vars - 2 - normal">
- <compile files="Bridging3.aj,Util.java" options="-1.5"/>
- <run class="Bridging3">
- <stderr>
- <line text="Number of methods defined for D is 2"/>
- <line text="java.lang.Object D.id(java.lang.Object) [BridgeMethod]"/>
- <line text="java.lang.String D.id(java.lang.String)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="basic bridging with type vars - 2 - itd">
- <compile files="BridgingITD3.aj,Util.java" options="-1.5"/>
- <run class="BridgingITD3">
- <stderr>
- <line text="Number of methods defined for D is 2"/>
- <line text="java.lang.Object D.id(java.lang.Object) [BridgeMethod]"/>
- <line text="java.lang.String D.id(java.lang.String)"/>
- </stderr>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/bridgeMethods" vm="1.5" title="Abstract intertype method and covariant returns" pr="91381">
- <compile files="pr91381.aj" options="-1.5,-showWeaveInfo">
- <message kind="weave" text="Type 'A' (pr91381.aj) has intertyped method from 'pr91381' (pr91381.aj:'java.lang.Object A.foo()')"/>
- </compile>
- <run class="pr91381"/>
- </ajc-test>
- <!-- end of generics/itds and bridge methods -->
-
-
- <!-- generics and pointcuts -->
-
- <ajc-test dir="java5/generics/pointcuts" title="handler pcd and generics / type vars">
- <compile files="GenericInterface.java,HandlerPointcutTests.aj" options="-1.5">
- <message kind="error" line="4" text="Syntax error on token"/>
- <message kind="error" line="8" text="a parameterized type pattern may not be used in a handler pointcut expression"/>
- <message kind="warning" line="8" text="no match for this type name: T"/>
- <message kind="error" line="11" text="a parameterized type pattern may not be used in a handler pointcut expression"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="pointcuts that dont allow type vars">
- <compile files="PointcutsThatDontAllowTypeVars.aj" options="-1.5">
- <message kind="error" line="3" text="Syntax error on token"/>
- <message kind="error" line="5" text="Syntax error on token"/>
- <message kind="error" line="7" text="Syntax error on token"/>
- <message kind="error" line="9" text="Syntax error on token"/>
- <message kind="error" line="11" text="Syntax error on token"/>
- <message kind="error" line="13" text="Syntax error on token"/>
- <message kind="error" line="15" text="Syntax error on token"/>
- <message kind="error" line="17" text="Syntax error on token"/>
- <message kind="error" line="19" text="Syntax error on token"/>
- <message kind="error" line="21" text="Syntax error on token"/>
- <message kind="error" line="23" text="Syntax error on token"/>
- <message kind="error" line="25" text="Syntax error on token"/>
- <message kind="error" line="27" text="Syntax error on token"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="annotation pcds with parameterized types">
- <compile files="ParameterizedTypesInAtPCDs.aj" options="-1.5">
- <message kind="error" line="3" text="Syntax error on token"/>
- <message kind="error" line="5" text="Syntax error on token"/>
- <message kind="error" line="7" text="Syntax error on token"/>
- <message kind="error" line="9" text="Syntax error on token"/>
- <message kind="error" line="11" text="Syntax error on token"/>
- <message kind="error" line="13" text="Syntax error on token"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="annotation patterns with parameterized types">
- <compile files="ParameterizedTypesInAnnotationPatterns.aj" options="-1.5">
- <message kind="error" line="5" text="is not an annotation type"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="staticinitialization and parameterized types">
- <compile files="GenericInterface.java,GenericImplementingClass.java,StaticInitializationWithParameterizedTypes.aj" options="-1.5">
- <message kind="error" line="4" text="no static initialization join points for parameterized types, use raw type instead"/>
- <message kind="error" line="6" text="no static initialization join points for parameterized types, use raw type instead"/>
- <message kind="error" line="9" text="no static initialization join points for parameterized types, use raw type instead"/>
- <message kind="error" line="11" text="no static initialization join points for parameterized types, use raw type instead"/>
- <message kind="error" line="14" text="no static initialization join points for parameterized types, use raw type instead"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="staticinitialization and parameterized type matching">
- <compile files="GenericInterface.java,GenericImplementingClass.java,ConcreteImplementingClass.java,ConcreteExtendingClass.java,StaticInitializationWithParameterizedTypesMatching.aj" options="-1.5">
- <message kind="warning" line="1" text="clinit(GenericInterface<Double>+)"/>
- <message kind="warning" line="3" text="clinit(GenericInterface<Double>+)"/>
- <message kind="warning" line="3" text="clinit(GenericImplementingClass<Double>+)"/>
- <message kind="warning" line="15" text="Type java.lang.String does not meet the specification for type parameter 1 (N extends java.lang.Number) in generic type GenericInterface"/>
- <message kind="warning" line="19" text="Type pattern does not match because the wrong number of type parameters are specified: Type GenericInterface requires 1 parameter(s)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="staticinitialization with generic types">
- <compile files="GenericInterface.java,GenericImplementingClass.java,StaticInitializationWithGenericTypes.aj" options="-1.5">
- <message kind="warning" line="1" text="one generic param, correct bounds"/>
- <message kind="warning" line="1" text="doesn't matter what type variable name you use"/>
- <message kind="warning" line="1" text="works with classes too"/>
- <message kind="warning" line="4" text="Type T does not meet the specification for type parameter 1 (N extends java.lang.Number) in generic type GenericInterface"/>
- <message kind="warning" line="20" text="Type pattern does not match because the wrong number of type parameters are specified: Type GenericImplementingClass requires 1 parameter(s)"/>
- <message kind="warning" line="24" text="Type N extends java.lang.Number & java.lang.Comparable does not meet the specification for type parameter 1 (N extends java.lang.Number) in generic type GenericImplementingClass"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="staticinitialization with generic types - advanced">
- <compile files="StaticInitializationWithGenericTypesAdvanced.aj" options="-1.5">
- <message kind="warning" line="76" text="simple match"/>
- <message kind="warning" line="76" text="matches since R and R extends Object are equivalent"/>
- <message kind="warning" line="63" text="raw type should match"/>
- <message kind="warning" line="63" text="matches all bounds"/>
- <message kind="warning" line="63" text="still matches with interfaces specified in a different order"/>
- <message kind="warning" line="69" text="matches with type variable inter-dependencies"/>
- <message kind="warning" line="76" text="matches any generic type with one unbound type var"/>
- <message kind="warning" line="82" text="any generic type with one type var bound to Number or subtype"/>
- <message kind="warning" line="63" text="matches a generic type with any upper bound and i/f bounds"/>
- <message kind="warning" line="76" text="matches a generic type with any upper bound and i/f bounds"/>
- <message kind="warning" line="82" text="matches a generic type with any upper bound and i/f bounds"/>
- <message kind="warning" line="19" text="Type X does not meet the specification for type parameter 1 (T extends java.lang.Number & java.lang.Comparable & java.io.Serializable) in generic type ClassWithInterfaceBounds"/>
- <message kind="warning" line="23" text="Type Y extends java.lang.Number does not meet the specification for type parameter 1 (T extends java.lang.Number & java.lang.Comparable & java.io.Serializable) in generic type ClassWithInterfaceBounds"/>
- <message kind="warning" line="27" text="Type Z extends java.lang.Number & java.lang.Comparable does not meet the specification for type parameter 1 (T extends java.lang.Number & java.lang.Comparable & java.io.Serializable) in generic type ClassWithInterfaceBounds"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="within pcd with various parameterizations and generic types - errors">
- <compile files="WithinPointcutMatching.aj" options="-1.5">
- <message kind="warning" line="4" text="no match for this type name: T"/>
- <message kind="error" line="4" text="parameterized type pattern not supported by 'within', use a raw type pattern instead"/>
- <message kind="error" line="5" text="parameterized type pattern not supported by 'within', use a raw type pattern instead"/>
- <message kind="error" line="6" text="parameterized type pattern not supported by 'within', use a raw type pattern instead"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="within pcd with various parameterizations and generic types - warnings">
- <compile files="WithinPointcutMatchingWarnings.aj" options="-1.5">
- <message kind="warning" line="16" text="matched set correctly"/>
- <message kind="warning" line="18" text="matched execution correctly"/>
- <message kind="warning" line="24" text="init matched correctly"/>
- <message kind="warning" line="32" text="matched parameterization ok"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="this and target with various parameterizations and generic types - errors">
- <compile files="ThisAndTargetPointcutMatching.aj" options="-1.5">
- <message kind="warning" line="4" text="no match for this type name: T"/>
- <message kind="warning" line="5" text="no match for this type name: T"/>
- <message kind="error" line="4" text="parameterized types not supported for this and target pointcuts (erasure limitation)"/>
- <message kind="error" line="5" text="parameterized types not supported for this and target pointcuts (erasure limitation)"/>
- <message kind="error" line="6" text="parameterized types not supported for this and target pointcuts (erasure limitation)"/>
- <message kind="error" line="7" text="parameterized types not supported for this and target pointcuts (erasure limitation)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="this and target with various parameterizations and generic types - runtime">
- <compile files="ThisAndTargetPointcutMatchingRuntime.aj" options="-1.5">
- </compile>
- <run class="ThisAndTargetPointcutMatchingRuntime">
- <stdout>
- <line text="set and this matched ok"/>
- <line text="set and target matched ok"/>
- <line text="call and target matched ok"/>
- <line text="execution and this matched ok"/>
- <line text="execution and target matched ok"/>
- <line text="parameterized call and target matched ok"/>
- <line text="parameterized call and this matched ok"/>
- <line text="parameterized call and target matched ok"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="get and set with various parameterizations and generic types - errors">
- <compile files="GetAndSetPointcutMatching.aj" options="-1.5">
- <message kind="warning" line="4" text="no match for this type name: T"/>
- <message kind="warning" line="5" text="no match for this type name: T"/>
- <message kind="error" line="4" text="can't use parameterized type patterns for the declaring type of a get or set pointcut expression (use the raw type instead)"/>
- <message kind="error" line="5" text="can't use parameterized type patterns for the declaring type of a get or set pointcut expression (use the raw type instead)"/>
- <message kind="error" line="6" text="can't use parameterized type patterns for the declaring type of a get or set pointcut expression (use the raw type instead)"/>
- <message kind="error" line="7" text="can't use parameterized type patterns for the declaring type of a get or set pointcut expression (use the raw type instead)"/>
- <message kind="error" line="8" text="can't use parameterized type patterns for the declaring type of a get or set pointcut expression (use the raw type instead)"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="get and set with various parameterizations and generic declaring types">
- <compile files="GetAndSetPointcutMatchingDeclaringType.aj" options="-1.5">
- <message kind="warning" line="15" text="generic/param get matching ok"/>
- <message kind="warning" line="33" text="generic/param get matching ok"/>
- <message kind="warning" line="12" text="generic/param set matching ok"/>
- <message kind="warning" line="32" text="generic/param set matching ok"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="get and set with various parameterizations and generic field types">
- <compile files="GetAndSetPointcutMatchingFieldType.aj" options="-1.5">
- <message kind="warning" line="13" text="raw field type matching in get ok"/>
- <message kind="warning" line="14" text="raw field type matching in set ok"/>
- <message kind="warning" line="49" text="erasure matching in get ok"/>
- <message kind="warning" line="45" text="erasure matching in set ok"/>
- <message kind="warning" line="53" text="erasure matching in get with params ok"/>
- <message kind="warning" line="46" text="erasure matching in set with params ok"/>
- <message kind="warning" line="72" text="parameterized type matching in set ok"/>
- <message kind="warning" line="73" text="parameterized type matching in get ok"/>
- <message kind="warning" line="74" text="parameterized type matching in set ok x2"/>
- <message kind="warning" line="75" text="parameterized type matching in get ok x2"/>
- <message kind="warning" line="83" text="wildcard set matching ok"/>
- <message kind="warning" line="84" text="wildcard get matching ok"/>
- <message kind="warning" line="85" text="wildcard extends set matching ok"/>
- <message kind="warning" line="86" text="wildcard extends get matching ok"/>
- <message kind="warning" line="87" text="wildcard super set matching ok"/>
- <message kind="warning" line="88" text="wildcard super get matching ok"/>
- <message kind="warning" line="73" text="the really wild show"/>
- <message kind="warning" line="84" text="the really wild show"/>
- <message kind="warning" line="86" text="the really wild show"/>
- <message kind="warning" line="88" text="the really wild show"/>
- <message kind="warning" line="53" text="the really wild show"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="init and preinit with parameterized declaring types">
- <compile files="InitializationPointcutMatching.aj" options="-1.5">
- <message kind="warning" line="4" text="no match for this type name: T"/>
- <message kind="warning" line="5" text="no match for this type name: T"/>
- <message kind="error" line="4" text="no [pre]initialization join points for parameterized types, use raw type instead"/>
- <message kind="error" line="5" text="no [pre]initialization join points for parameterized types, use raw type instead"/>
- <message kind="error" line="6" text="no [pre]initialization join points for parameterized types, use raw type instead"/>
- <message kind="error" line="7" text="no [pre]initialization join points for parameterized types, use raw type instead"/>
- <message kind="error" line="8" text="no [pre]initialization join points for parameterized types, use raw type instead"/>
- <message kind="error" line="9" text="invalid throws pattern: a generic class may not be a direct or indirect subclass of Throwable"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="init and preinit with raw declaring type pattern">
- <compile files="InitializationPointcutMatchingDeclaringType.aj" options="-1.5">
- <message kind="warning" line="10" text="generic/param init matching ok"/>
- <message kind="warning" line="10" text="generic/param preinit matching ok"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="init and preinit with parameterized parameter types">
- <compile files="InitializationPointcutMatchingParamTypes.aj" options="-1.5">
- <message kind="warning" line="36" text="raw param type matching in init ok"/>
- <message kind="warning" line="36" text="raw param type matching in preinit ok"/>
- <message kind="warning" line="37" text="erasure matching in init ok"/>
- <message kind="warning" line="37" text="erasure matching in preinit ok"/>
- <message kind="warning" line="38" text="erasure matching in init with params ok"/>
- <message kind="warning" line="38" text="erasure matching in preinit with params ok"/>
- <message kind="warning" line="48" text="parameterized type matching in init ok"/>
- <message kind="warning" line="48" text="parameterized type matching in preinit ok"/>
- <message kind="warning" line="49" text="parameterized type matching in init ok x2"/>
- <message kind="warning" line="49" text="parameterized type matching in preinit ok x2"/>
- <message kind="warning" line="50" text="wildcard init matching ok"/>
- <message kind="warning" line="50" text="wildcard preinit matching ok"/>
- <message kind="warning" line="51" text="wildcard extends init matching ok"/>
- <message kind="warning" line="51" text="wildcard extends preinit matching ok"/>
- <message kind="warning" line="52" text="wildcard super init matching ok"/>
- <message kind="warning" line="52" text="wildcard super preinit matching ok"/>
- <message kind="warning" line="48" text="the really wild show"/>
- <message kind="warning" line="50" text="the really wild show"/>
- <message kind="warning" line="51" text="the really wild show"/>
- <message kind="warning" line="52" text="the really wild show"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="withincode with various parameterizations and generic types - errors">
- <compile files="WithincodePointcutMatching.aj" options="-1.5">
- <message kind="warning" line="4" text="no match for this type name: T"/>
- <message kind="error" line="4" text="can't use parameterized type patterns for the declaring type of a withincode pointcut expression (use the raw type instead)"/>
- <message kind="error" line="5" text="can't use parameterized type patterns for the declaring type of a withincode pointcut expression (use the raw type instead)"/>
- <message kind="error" line="6" text="invalid throws pattern: a generic class may not be a direct or indirect subclass of Throwable"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="withincode with various parameterizations and generic types - matching">
- <compile files="WithinCodePointcutMatchingParamAndReturnTypes.aj" options="-1.5">
- <message kind="warning" line="35" text="raw param type matching in withincode ok"/>
- <message kind="warning" line="36" text="raw param type matching in withincode ok"/>
- <message kind="warning" line="67" text="raw return type matching in withincode ok"/>
- <message kind="warning" line="38" text="erasure type matching in withincode ok"/>
- <message kind="warning" line="39" text="erasure type matching in withincode ok"/>
- <message kind="warning" line="42" text="erasure type matching in withincode ok"/>
- <message kind="warning" line="62" text="withincode and parameterized method ok"/>
- <message kind="warning" line="62" text="withincode and generic interface ok"/>
- <message kind="warning" line="65" text="withincode and interface control test"/>
- <message kind="warning" line="35" text="match on parameterized args"/>
- <message kind="warning" line="36" text="match on parameterized args"/>
- <message kind="warning" line="67" text="match on parameterized return type"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="withincode with overriding of inherited generic members">
- <compile files="WithinCodeOverriding.aj" options="-1.5">
- <message kind="warning" line="37" text="wildcard declaring type match on erasure"/>
- <message kind="warning" line="50" text="wildcard declaring type match on erasure"/>
- <message kind="warning" line="63" text="wildcard declaring type match on erasure"/>
- <message kind="warning" line="37" text="base declaring type match on erasure"/>
- <message kind="warning" line="50" text="base declaring type match on erasure"/>
- <message kind="warning" line="63" text="base declaring type match on erasure"/>
- <message kind="warning" line="50" text="sub type match on erasure"/>
- <message kind="warning" line="63" text="parameterized match on erasure"/>
- <message kind="warning" line="80" text="erasure match on base interface"/>
- <message kind="warning" line="80" text="wildcard match on erasure"/>
- <message kind="warning" line="80" text="parameterized match"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="execution pcd with raw type matching">
- <compile files="GenericInterface.java,ConcreteImplementingClass.java,GenericImplementingClass.java,RawTypeMatching.aj" options="-1.5">
- <message kind="warning" line="4" text="execution(* GenericInterface.*(..))"/>
- <message kind="warning" line="5" text="execution(* GenericInterface.*(..))"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="execution pcd with raw signature matching">
- <compile files="GenericInterface.java,ConcreteImplementingClass.java,GenericImplementingClass.java,RawSignatureMatching.aj" options="-1.5">
- <message kind="warning" line="4" text="execution(* GenericInterface.asInt(Number))"/>
- <message kind="warning" line="5" text="execution(* GenericInterface.asInt(Number))"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="execution with various parameterizations and generic types - errors">
- <compile files="ExecutionPointcutMatchingErrorCases.aj" options="-1.5">
- <message kind="warning" line="4" text="no match for this type name: T"/>
- <message kind="error" line="4" text="can't use parameterized type patterns for the declaring type of an execution pointcut expression (use the raw type instead)"/>
- <message kind="error" line="5" text="can't use parameterized type patterns for the declaring type of an execution pointcut expression (use the raw type instead)"/>
- <message kind="error" line="6" text="invalid throws pattern: a generic class may not be a direct or indirect subclass of Throwable"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="execution with various parameterizations and generic types - matching">
- <compile files="ExecutionPointcutMatchingParamAndReturnTypes.aj" options="-1.5">
- <message kind="warning" line="35" text="raw param type matching in execution ok"/>
- <message kind="warning" line="67" text="raw return type matching in execution ok"/>
- <message kind="warning" line="38" text="erasure type matching in execution ok"/>
- <message kind="warning" line="42" text="erasure type matching in execution ok"/>
- <message kind="warning" line="61" text="execution and parameterized method ok"/>
- <message kind="warning" line="61" text="execution and generic interface ok"/>
- <message kind="warning" line="65" text="execution and interface control test"/>
- <message kind="warning" line="35" text="match on parameterized args"/>
- <message kind="warning" line="67" text="match on parameterized return type"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="execution with overriding of inherited generic members">
- <compile files="ExecutionOverriding.aj" options="-1.5">
- <message kind="warning" line="36" text="wildcard declaring type match on erasure"/>
- <message kind="warning" line="49" text="wildcard declaring type match on erasure"/>
- <message kind="warning" line="62" text="wildcard declaring type match on erasure"/>
- <message kind="warning" line="36" text="base declaring type match on erasure"/>
- <message kind="warning" line="49" text="base declaring type match on erasure"/>
- <message kind="warning" line="62" text="base declaring type match on erasure"/>
- <message kind="warning" line="49" text="sub type match on erasure"/>
- <message kind="warning" line="62" text="parameterized match on erasure"/>
- <message kind="warning" line="79" text="erasure match on base interface"/>
- <message kind="warning" line="79" text="wildcard match on erasure"/>
- <message kind="warning" line="79" text="parameterized match"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="execution pcd with generic declaring type and erased parameter types">
- <compile files="GenericInterface.java,ConcreteImplementingClass.java,GenericImplementingClass.java,GenericDeclaringTypeWithParameterErasure.aj" options="-1.5">
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="execution pcd with generic signature matching">
- <compile files="GenericInterface.java,ConcreteImplementingClass.java,GenericImplementingClass.java,GenericSignatureMatching.aj" options="-1.5">
- <message kind="warning" line="4" text="execution<T>(* GenericInterface<T extends Number>.asInt(T))"/>
- <message kind="warning" line="5" text="execution<T>(* GenericInterface<T extends Number>.asInt(T))"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="call with various parameterizations and generic types - errors">
- <compile files="CallPointcutMatchingErrorCases.aj" options="-1.5">
- <message kind="warning" line="4" text="no match for this type name: T"/>
- <message kind="error" line="4" text="can't use parameterized type patterns for the declaring type of a call pointcut expression (use the raw type instead)"/>
- <message kind="error" line="5" text="can't use parameterized type patterns for the declaring type of a call pointcut expression (use the raw type instead)"/>
- <message kind="error" line="6" text="invalid throws pattern: a generic class may not be a direct or indirect subclass of Throwable"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="call with various parameterizations and generic types - matching">
- <compile files="CallPointcutMatchingParamAndReturnTypes.aj" options="-1.5">
- <message kind="warning" line="7" text="raw param type matching in call ok"/>
- <message kind="warning" line="8" text="raw return type matching in call ok"/>
- <message kind="warning" line="9" text="erasure type matching in call ok"/>
- <message kind="warning" line="10" text="erasure type matching in call ok"/>
- <message kind="warning" line="11" text="call and parameterized method ok"/>
- <message kind="warning" line="11" text="call and generic interface ok"/>
- <message kind="warning" line="12" text="call and interface control test"/>
- <message kind="warning" line="7" text="match on parameterized args"/>
- <message kind="warning" line="8" text="match on parameterized return type"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="call with overriding of inherited generic members">
- <compile files="CallOverriding.aj" options="-1.5">
- <message kind="warning" line="8" text="wildcard declaring type match on erasure"/>
- <message kind="warning" line="9" text="wildcard declaring type match on erasure"/>
- <message kind="warning" line="10" text="wildcard declaring type match on erasure"/>
- <message kind="warning" line="8" text="base declaring type match on erasure"/>
- <message kind="warning" line="9" text="base declaring type match on erasure"/>
- <message kind="warning" line="10" text="base declaring type match on erasure"/>
- <message kind="warning" line="9" text="sub type match on erasure"/>
- <message kind="warning" line="10" text="parameterized match on erasure"/>
- <message kind="warning" line="87" text="erasure match on base interface"/>
- <message kind="warning" line="87" text="wildcard match on erasure"/>
- <message kind="warning" line="87" text="parameterized match"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="call with bridge methods">
- <compile files="CallWithBridgeMethods.aj" options="-1.5">
- <message kind="warning" line="23" text="should match call to bridge method on L23, this is a real call!"/>
- </compile>
- </ajc-test>
-
-
- <ajc-test dir="java5/generics/pointcuts" title="args with raw type and generic / parameterized sigs">
- <compile files="RawArgs.aj" options="-1.5">
- </compile>
- <run class="RawArgs">
- <stdout>
- <line text="args(List) match at call(void Generic.foo(List))"/>
- <line text="args(List) match at call(void Generic.bar(List))"/>
- <line text="args(List) match at call(void Generic.tada(List))"/>
- <line text="args(List) match at call(void Generic.tada(List))"/>
- <line text="args(List) match at call(void Generic.tada(List))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="args with parameterized type and generic / parameterized sigs">
- <compile files="ArgsParameterized.aj" options="-1.5">
- <message kind="warning" line="28" text="unchecked match of List<String> with List"/>
- </compile>
- <run class="ArgsParameterized">
- <stdout>
- <line text="args(List<String> matched at call(void Generic.foo(List))"/>
- <line text="args(List<String> matched at call(void Generic.bar(List))"/>
- <line text="args(List<String> matched at call(void Generic.tada(List))"/>
- <line text="args(List<String> matched at call(void Generic.something(List))"/>
- <line text="args(List<String> matched at call(void MustBeString.listit(List))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="args with parameterized type and wildcards">
- <compile files="ArgsParameterizedWithWildcards.aj" options="-1.5">
- <message kind="warning" line="10" text="unchecked match of List<Double> with List when argument is an instance of List"/>
- <message kind="warning" line="10" text="unchecked match of List<Double> with List<? extends Double> when argument is an instance of List"/>
- <message kind="warning" line="10" text="unchecked match of List<Double> with List<? extends Number> when argument is an instance of List"/>
- <message kind="warning" line="10" text="unchecked match of List<Double> with List<?> when argument is an instance of List"/>
- </compile>
- <run class="ArgsParameterizedWithWildcards">
- <stdout>
- <line text="List<Double> matched at execution(void C.rawList(List))"/>
- <line text="List<Double> matched at execution(void C.listOfSomething(List))"/>
- <line text="List<Double> matched at execution(void C.listOfSomeNumber(List))"/>
- <line text="List<Double> matched at execution(void C.listOfDouble(List))"/>
- <line text="List<Double> matched at execution(void C.listOfSomeDouble(List))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="args with generic wildcard">
- <compile files="ArgsListOfSomething.aj" options="-1.5">
- </compile>
- <run class="ArgsListOfSomething">
- <stdout>
- <line text="List<?> matches execution(void ArgsListOfSomething.rawList(List))"/>
- <line text="List<?> matches execution(void ArgsListOfSomething.listOfString(List))"/>
- <line text="List<?> matches execution(void ArgsListOfSomething.listOfSomething(List))"/>
- <line text="List<?> matches execution(void ArgsListOfSomething.listOfSomethingExtends(List))"/>
- <line text="List<?> matches execution(void ArgsListOfSomething.listOfSomethingSuper(List))"/>
- <line text="wild map matches execution(void ArgsListOfSomething.mapit(Map))"/>
- <line text="exact wild map matches execution(void ArgsListOfSomething.mapit(Map))"/>
- <line text="super type exact matches execution(void ArgsListOfSomething.setOf(HashSet))"/>
- <line text="super wild type matches execution(void ArgsListOfSomething.setOf(HashSet))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="args with generic wildcard extends">
- <compile files="ArgsListOfSomethingExtends.aj" options="-1.5">
- <message kind="warning" line="27" text="unchecked match of List<? extends Number> with List"/>
- <message kind="warning" line="27" text="unchecked match of List<? extends Number> with List<?>"/>
- </compile>
- <run class="ArgsListOfSomethingExtends">
- <stdout>
- <line text="List<? extends Number> matches execution(void ArgsListOfSomethingExtends.rawList(List))"/>
- <line text="List<? extends Number> matches execution(void ArgsListOfSomethingExtends.listOfNumber(List))"/>
- <line text="List<? extends Number> matches execution(void ArgsListOfSomethingExtends.listOfDouble(List))"/>
- <line text="List<? extends Number> matches execution(void ArgsListOfSomethingExtends.listOfSomething(List))"/>
- <line text="List<? extends Number> matches execution(void ArgsListOfSomethingExtends.listOfSomethingExtends(List))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="args with generic wildcard super">
- <compile files="ArgsListOfSomethingSuper.aj" options="-1.5">
- <message kind="warning" line="32" text="unchecked match of List<? super Number> with List"/>
- <message kind="warning" line="32" text="unchecked match of List<? super Number> with List<?>"/>
- <message kind="warning" line="32" text="unchecked match of List<? super Number> with List<? extends Number>"/>
- </compile>
- <run class="ArgsListOfSomethingSuper">
- <stdout>
- <line text="List<? super Number> matches execution(void ArgsListOfSomethingSuper.rawList(List))"/>
- <line text="List<? super Number> matches execution(void ArgsListOfSomethingSuper.listOfObject(List))"/>
- <line text="List<? super Number> matches execution(void ArgsListOfSomethingSuper.listOfNumber(List))"/>
- <line text="List<? super Number> matches execution(void ArgsListOfSomethingSuper.listOfSomething(List))"/>
- <line text="List<? super Number> matches execution(void ArgsListOfSomethingSuper.listOfSomethingSuper(List))"/>
- <line text="List<? super Number> matches execution(void ArgsListOfSomethingSuper.listOfSomethingExtendsNumber(List))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="generic method matching">
- <compile files="GenericMethods.aj" options="-1.5">
- <message kind="warning" line="19" text="static generic method match"/>
- <message kind="warning" line="34" text="static generic method match"/>
- <message kind="warning" line="24" text="instance generic method match"/>
- <message kind="warning" line="39" text="instance generic method match"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="java5/generics/pointcuts" title="generic wildcards in signature matching">
- <compile files="GenericWildcardsInSignatureMatching.aj" options="-1.5">
- <message kind="warning" line="5" text="set of a list"/>
- <message kind="warning" line="7" text="exact nested wildcard match"/>
- <message kind="warning" line="7" text="wildcard nested wildcard match"/>
- <message kind="warning" line="11" text="super"/>
- <message kind="warning" line="15" text="super wild match"/>
- </compile>
- </ajc-test>
-
- <!-- end of generics and pointcuts tests -->
-
- <ajc-test dir="java5/generics/afterAdvice" title="after throwing with parameterized throw type">
- <compile files="AfterThrowing.aj" options="-1.5">
- <message kind="error" line="6" text="cannot convert from List<String> to Throwable"/>
- </compile>
- </ajc-test>
-
-
- <ajc-test dir="java5/generics/afterAdvice" title="after returning with raw type and generic / parameterized sigs">
- <compile files="AfterReturningRawType.aj" options="-1.5">
- </compile>
- <run class="AfterReturningRawType">
- <stdout>
- <line text="returning(List) match at call(List Generic.foo(List))"/>
- <line text="returning(List) match at call(List Generic.bar(List))"/>
- <line text="returning(List) match at call(List Generic.tada(List))"/>
- <line text="returning(List) match at call(List Generic.tada(List))"/>
- <line text="returning(List) match at call(List Generic.tada(List))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/afterAdvice" title="after returning with parameterized type and generic / parameterized sigs">
- <compile files="AfterReturningParameterized.aj" options="-1.5">
- <message kind="warning" line="28" text="unchecked match of List<String> with List"/>
- </compile>
- <run class="AfterReturningParameterized">
- <stdout>
- <line text="returning(List<String> matched at call(List Generic.foo(List))"/>
- <line text="returning(List<String> matched at call(List Generic.bar(List))"/>
- <line text="returning(List<String> matched at call(List Generic.tada(List))"/>
- <line text="returning(List<String> matched at call(List Generic.something(List))"/>
- <line text="returning(List<String> matched at call(List MustBeString.listit(List))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/afterAdvice" title="after returning with parameterized type and wildcards">
- <compile files="AfterReturningParameterizedWithWildcards.aj" options="-1.5">
- <message kind="warning" line="10" text="unchecked match of List<Double> with List when argument is an instance of List"/>
- <message kind="warning" line="10" text="unchecked match of List<Double> with List<? extends Double> when argument is an instance of List"/>
- <message kind="warning" line="10" text="unchecked match of List<Double> with List<? extends Number> when argument is an instance of List"/>
- <message kind="warning" line="10" text="unchecked match of List<Double> with List<?> when argument is an instance of List"/>
- </compile>
- <run class="AfterReturningParameterizedWithWildcards">
- <stdout>
- <line text="List<Double> matched at call(List C.rawList(List))"/>
- <line text="List<Double> matched at call(List C.listOfSomething(List))"/>
- <line text="List<Double> matched at call(List C.listOfSomeNumber(List))"/>
- <line text="List<Double> matched at call(List C.listOfDouble(List))"/>
- <line text="List<Double> matched at call(List C.listOfSomeDouble(List))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/afterAdvice" title="after returning with generic wildcard">
- <compile files="AfterReturningListOfSomething.aj" options="-1.5">
- </compile>
- <run class="AfterReturningListOfSomething">
- <stdout>
- <line text="List<?> matches execution(List AfterReturningListOfSomething.rawList(List))"/>
- <line text="List<?> matches execution(List AfterReturningListOfSomething.listOfString(List))"/>
- <line text="List<?> matches execution(List AfterReturningListOfSomething.listOfSomething(List))"/>
- <line text="List<?> matches execution(List AfterReturningListOfSomething.listOfSomethingExtends(List))"/>
- <line text="List<?> matches execution(List AfterReturningListOfSomething.listOfSomethingSuper(List))"/>
- <line text="wild map matches execution(Map AfterReturningListOfSomething.mapit(Map))"/>
- <line text="exact wild map matches execution(Map AfterReturningListOfSomething.mapit(Map))"/>
- <line text="super type exact matches execution(HashSet AfterReturningListOfSomething.setOf(HashSet))"/>
- <line text="super wild type matches execution(HashSet AfterReturningListOfSomething.setOf(HashSet))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/afterAdvice" title="after returning with generic wildcard extends">
- <compile files="AfterReturningListOfSomethingExtends.aj" options="-1.5">
- <message kind="warning" line="27" text="unchecked match of List<? extends Number> with List"/>
- <message kind="warning" line="27" text="unchecked match of List<? extends Number> with List<?>"/>
- </compile>
- <run class="AfterReturningListOfSomethingExtends">
- <stdout>
- <line text="List<? extends Number> matches execution(List AfterReturningListOfSomethingExtends.rawList(List))"/>
- <line text="List<? extends Number> matches execution(List AfterReturningListOfSomethingExtends.listOfNumber(List))"/>
- <line text="List<? extends Number> matches execution(List AfterReturningListOfSomethingExtends.listOfDouble(List))"/>
- <line text="List<? extends Number> matches execution(List AfterReturningListOfSomethingExtends.listOfSomething(List))"/>
- <line text="List<? extends Number> matches execution(List AfterReturningListOfSomethingExtends.listOfSomethingExtends(List))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="java5/generics/afterAdvice" title="after returning with generic wildcard super">
- <compile files="AfterReturningListOfSomethingSuper.aj" options="-1.5">
- <message kind="warning" line="32" text="unchecked match of List<? super Number> with List"/>
- <message kind="warning" line="32" text="unchecked match of List<? super Number> with List<?>"/>
- <message kind="warning" line="32" text="unchecked match of List<? super Number> with List<? extends Number>"/>
- </compile>
- <run class="AfterReturningListOfSomethingSuper">
- <stdout>
- <line text="List<? super Number> matches execution(List AfterReturningListOfSomethingSuper.rawList(List))"/>
- <line text="List<? super Number> matches execution(List AfterReturningListOfSomethingSuper.listOfObject(List))"/>
- <line text="List<? super Number> matches execution(List AfterReturningListOfSomethingSuper.listOfNumber(List))"/>
- <line text="List<? super Number> matches execution(List AfterReturningListOfSomethingSuper.listOfSomething(List))"/>
- <line text="List<? super Number> matches execution(List AfterReturningListOfSomethingSuper.listOfSomethingSuper(List))"/>
- <line text="List<? super Number> matches execution(List AfterReturningListOfSomethingSuper.listOfSomethingExtendsNumber(List))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test title="ajdk notebook: erasure matching examples" dir="java5/generics/ajdk">
- <compile files="ErasureMatching.aj" options="-1.5">
- <message kind="warning" line="18" text="static generic method match"/>
- <message kind="warning" line="21" text="instance generic method match"/>
- <message kind="warning" line="31" text="method in generic type match"/>
- <message kind="warning" line="28" text="field in generic type match"/>
- </compile>
- </ajc-test>
-
- <ajc-test title="ajdk notebook: simple parameterized type matching examples" dir="java5/generics/ajdk">
- <compile files="SimpleParameterizedTypeExamples.aj" options="-1.5">
- <message kind="warning" line="34" text="get myStrings 1"/>
- <message kind="warning" line="34" text="get myStrings 2"/>
- <message kind="warning" line="38" text="get myStrings 1"/>
- <message kind="warning" line="38" text="get myStrings 2"/>
- <message kind="warning" line="35" text="get myFloats 1"/>
- <message kind="warning" line="35" text="get myFloats 2"/>
- <message kind="warning" line="35" text="get myFloats 3"/>
- <message kind="warning" line="34" text="getter 1"/>
- <message kind="warning" line="35" text="getter 1"/>
- <message kind="warning" line="34" text="getter 2"/>
- <message kind="warning" line="35" text="getter 2"/>
- <message kind="warning" line="34" text="getter 3"/>
- <message kind="warning" line="35" text="getter 4"/>
- <message kind="warning" line="25" text="call 1"/>
- <message kind="warning" line="25" text="call 2"/>
- </compile>
- </ajc-test>
-
- <ajc-test title="ajdk notebook: mixed parameterized types and generic methods" dir="java5/generics/ajdk">
- <compile files="MixedParameterizedAndTypeVariables.aj" options="-1.5">
- <message kind="warning" line="13" text="erasure match"/>
- <message kind="warning" line="13" text="mixed match"/>
- <message kind="warning" line="13" text="params only match"/>
- </compile>
- </ajc-test>
-
- <ajc-test title="ajdk notebook: signature matching with generic wildcards" dir="java5/generics/ajdk">
- <compile files="SignatureWildcards.aj" options="-1.5">
- <message kind="warning" line="13" text="any list"/>
- <message kind="warning" line="15" text="any list"/>
- <message kind="warning" line="17" text="any list"/>
- <message kind="warning" line="13" text="only foo"/>
- <message kind="warning" line="15" text="some list"/>
- <message kind="warning" line="13" text="any list with upper bound"/>
- <message kind="warning" line="15" text="any list with upper bound"/>
- </compile>
- </ajc-test>
-
- <ajc-test title="ajdk notebook: bridge method examples" dir="java5/generics/ajdk">
- <compile files="BridgeMethodExamples.aj" options="-1.5">
- <message kind="warning" line="17" text="double match"/>
- <message kind="warning" line="25" text="double match"/>
- <message kind="warning" line="9" text="match"/>
- <message kind="warning" line="11" text="match"/>
- </compile>
- </ajc-test>
-
- <ajc-test title="ajdk notebook: args examples" dir="java5/generics/ajdk">
- <compile files="ArgsExamples.aj" options="-1.5">
- <message kind="warning" line="15" text="unchecked match of List<Double> with List<? extends Number> when argument is an instance of List at join point method-execution(void C.goo(List<? extends Number>)) [Xlint:uncheckedArgument]"/>
- <message kind="warning" line="53" text="unchecked match"/>
- </compile>
- <run class="ArgsExamples">
- <stdout>
- <line text="args(List)"/>
- <line text="args List of String"/>
- <line text="args(List)"/>
- <line text="args List of Double"/>
- <line text="args(List)"/>
- <line text="args List of Double"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test title="ajdk notebook: after returning examples" dir="java5/generics/ajdk">
- <compile files="AfterReturningExamples.aj" options="-1.5">
- <message kind="warning" line="20" text="unchecked match of List<Double> with List<? extends Number>"/>
- </compile>
- <run class="AfterReturningExamples">
- <stdout>
- <line text="execution(List C.foo(List))"/>
- <line text="raw s1"/>
- <line text="raw s2"/>
- <line text="execution(List C.bar(List))"/>
- <line text="raw 5.0"/>
- <line text="raw 10.0"/>
- <line text="a1 5.0"/>
- <line text="a1 10.0"/>
- <line text="a2 5.0"/>
- <line text="a2 10.0"/>
- <line text="a3 5.0"/>
- <line text="a3 10.0"/>
- <line text="execution(List C.goo(List))"/>
- <line text="raw 5.0"/>
- <line text="raw 10.0"/>
- <line text="a1 5.0"/>
- <line text="a1 10.0"/>
- <line text="a3 5.0"/>
- <line text="a3 10.0"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test title="ajdk notebook: args and wildcards examples" dir="java5/generics/ajdk">
- <compile files="WildcardArgsExamples.aj" options="-1.5">
- <message kind="warning" line="6" text="unchecked match of List<? extends Number> with List"/>
- </compile>
- <run class="WildcardArgsExamples">
- <stdout>
- <line text="advice match at call(void C.foo(Object))"/>
- <line text="advice match at call(void C.foo(Object))"/>
- <line text="advice match 2 at call(void C.goo1(List))"/>
- <line text="advice match 2 at call(void C.goo2(List))"/>
- <line text="advice match 2 at call(void C.goo4(List))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test title="ajdk notebook: pointcut in generic class example" dir="java5/generics/ajdk">
- <compile files="PointcutInGenericClassExample.aj" options="-1.5">
- <message kind="warning" line="23" text="parameterized with C"/>
- <message kind="warning" line="29" text="parameterized with D"/>
- </compile>
- </ajc-test>
-
- <!-- ============================================================== -->
- <!-- End of generics tests -->
- <!-- ============================================================== -->
-
- <ajc-test dir="bugs150/pr98901" title="public method with declare @method">
- <compile files="Case01.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B01">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="Compiler error due to a wrong exception check in try blocks">
- <compile files="pr82989.aj" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public method on the aspect that declares @method on it">
- <compile files="Case02.aj" options="-1.5 -Xlint:error"/>
- <run class="B02">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public annotated method">
- <compile files="Case03.aj" options="-1.5 -Xlint:error"/>
- <run class="B03">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public ITD method with declare @method">
- <compile files="Case04.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B04">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public annotated ITD method">
- <compile files="Case05.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B05">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public ITD-on-itself method with declare @method">
- <compile files="Case06.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B06">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public annotated ITD-on-itself method">
- <compile files="Case07.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B07">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public method on an Interface with declare @method">
- <compile files="Case08.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B08">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public annotated method on an Interface">
- <compile files="Case09.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B09">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public ITD method onto an Interface with declare @method">
- <compile files="Case10.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B10">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public annotated ITD method onto an Interface">
- <compile files="Case11.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B11">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public abstract method with declare @method">
- <compile files="Case12.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B12">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public abstract method on the aspect that declares @method on it">
- <compile files="Case13.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B13">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public abstract annotated method">
- <compile files="Case14.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B14">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public abstract ITD method with declare @method">
- <compile files="Case15.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B15">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public abstract annotated ITD method">
- <compile files="Case16.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B16">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public abstract ITD-on-itself method with declare @method">
- <compile files="Case17.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B17">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public abstract annotated ITD-on-itself method">
- <compile files="Case18.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B18">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public abstract method on an Interface with declare @method">
- <compile files="Case19.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B19">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public abstract annotated method on an Interface">
- <compile files="Case20.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B20">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public abstract ITD method onto an Interface with declare @method">
- <compile files="Case21.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B21">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public abstract annotated ITD method onto an Interface">
- <compile files="Case22.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B22">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public field with declare @field">
- <compile files="Case23.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B23">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
-
- <ajc-test dir="bugs150/pr98901" title="public field on the aspect that declares @field on it">
- <compile files="Case24.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B24">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public annotated field">
- <compile files="Case25.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B25">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public ITD field with declare @field">
- <compile files="Case26.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B26">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public annotated ITD field">
- <compile files="Case27.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B27">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public ITD-on-itself field with declare @field">
- <compile files="Case28.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B28">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr98901" title="public annotated ITD-on-itself field">
- <compile files="Case29.aj" options="-1.5 -Xlint:error -Xdev:NoAtAspectJProcessing"/>
- <run class="B29">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="Unable to build shadows">
- <compile files="pr109728.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110788" title="bad generic decp - 1">
- <compile files="Case1.java" options="-1.5">
- <message kind="error" line="10" text="Cannot declare parent B<java.lang.Number> onto type C since it already has A<java.lang.String> in its hierarchy"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110788" title="bad generic decp - 2">
- <compile files="Case2.java" options="-1.5">
- <message kind="error" line="8" text="Cannot declare parent A<java.lang.Number> onto type C since it already has A<java.lang.String> in its hierarchy"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110788" title="bad generic decp - 3">
- <compile files="Case3.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110788" title="bad generic decp - 4">
- <compile files="Case4.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110927" title="cant create signature attribute">
- <compile files="Case1.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr72834" title="broken dispatch">
- <compile files="Trouble.java">
- <message kind="error" line="7" text="package visible abstract inter-type declarations are not allowed"/>
- <message kind="error" line="9" text="The method getName() is undefined for the type A"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr73856" title="missing accessor">
- <compile files="MissingAccessor.java"/>
- <run class="MissingAccessor"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr90143" title="cant call super methods">
- <compile files="A.aj"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="cunning declare parents">
- <compile files="pr92311.aj"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="ITD varargs problem">
- <compile files="pr110906.aj" options="-1.5"/>
- <run class="pr110906">
- <stdout>
- <line text="a"/>
- <line text="a"/>
- <line text="a"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="generic itds and abstract method error">
- <compile files="pr102357.aj"/>
- <run class="pr102357"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="unexpected error unboundFormalInPC">
- <compile files="pr112027.aj"/>
- </ajc-test>
-
- <ajc-test dir="bugs150" title="ITD varargs in constructor">
- <compile files="pr111481.aj" options="-1.5"/>
- <run class="pr111481">
- <stdout>
- <line text="a"/>
- <line text="a"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr112602" title="ClassCastException with generic wildcard">
- <compile files="GenericInterface.java,Implementation.java" options="-1.5,-emacssym"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110307" title="Cant provide default implementation via ITD - 1">
- <compile files="Case1.java" options="-1.5">
- <message kind="warning" line="27" text="no match for this type name: Branch [Xlint:invalidAbsoluteTypeName]"/>
- <message kind="error" line="26" text="can't bind type name 'Branch'"/>
- <message kind="error" line="27" text="can't bind type name 'Revision'"/>
- <message kind="error" line="33" text="List cannot be resolved to a type"/>
- <message kind="error" line="38" text="List cannot be resolved to a type"/>
- <message kind="error" line="39" text="List cannot be resolved to a type"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110307" title="Cant provide default implementation via ITD - 2">
- <compile files="Case2.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110307" title="Cant provide default implementation via ITD - 3">
- <compile files="Case3.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110307" title="Cant provide default implementation via ITD - 4">
- <compile files="Case4.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110307" title="Cant provide default implementation via ITD - 5">
- <compile files="Case5.java" options="-1.5">
- <!-- might possibly need more diagnostics in this case to explain what has happened -->
- <message kind="error" line="10" text="can't override java.util.List<java.lang.String> I.foo() with java.util.List<java.lang.Integer> A.foo() return types don't match"/>
- <message kind="error" line="15" text="can't override java.util.List<java.lang.String> I.foo() with java.util.List<java.lang.Integer> A.foo() return types don't match"/>
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110307" title="Cant provide default implementation via ITD - 6">
- <compile files="Case6.java" options="-1.5">
- <message kind="error" line="8" text="N cannot be resolved to a type"/>
- <!--message kind="error" line="7" text="T cannot be resolved to a type"/-->
- </compile>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr110307" title="Cant provide default implementation via ITD - 7">
- <compile files="Case7.java" options="-1.5"/>
- <run class="Case7">
- <stderr>
- <line text="in=hello out=hello"/>
- <line text="in=35 out=35"/>
- <line text="in=[] out=[]"/>
- </stderr>
- </run>
- </ajc-test>
-
- <!-- generic ITDs -->
-
- <ajc-test dir="java5/generics/itds/design" title="generic itds - design A">
- <compile files="DesignA.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/design" title="generic itds - design B">
- <compile files="DesignB.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/design" title="generic itds - design C">
- <compile files="DesignC.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/design" title="generic itds - design D">
- <compile files="DesignD.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/design" title="generic itds - design E">
- <compile files="DesignE.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/design" title="generic itds - design F">
- <compile files="DesignF.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="java5/generics/itds/design" title="generic itds - design G">
- <compile files="DesignG.java" options="-1.5"/>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr116626" title="NPE in WeavingAdaptor">
- <compile files="com/foo/bar/Test.java, TestAspect.aj" options="-1.5"/>
- <run class="com.foo.bar.Test" ltw="aop.xml"
- >
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119657" title="IllegalAccessError with around advice on interface method call">
- <compile files="services/account/StockQuoteServiceTest.java, services/accountdata/StockAccount.java, services/stockquote/StockQuoteService.java, services/stockquote/StockQuoteServiceImpl.java, services/account/AccountReport.java, accounts/recovery/Recovery.aj"/>
- <run class="services.account.StockQuoteServiceTest">
- <stdout>
- <line text="Recovery.around() call(float services.stockquote.StockQuoteService.getQuote(String))"/>
- </stdout>
- </run>
- <run class="services.account.StockQuoteServiceTest" ltw="aop.xml">
- <stdout>
- <line text="Recovery.around() call(float services.stockquote.StockQuoteService.getQuote(String))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119657" title="IllegalAccessError with around advice on interface method call not self">
- <compile files="services/account/StockQuoteServiceTest.java, services/accountdata/StockAccount.java, services/stockquote/StockQuoteService.java, services/stockquote/StockQuoteServiceImpl.java, services/account/AccountReport.java, accounts/recovery/RecoveryNotSelf.aj"/>
- <run class="services.account.StockQuoteServiceTest">
- <stdout>
- <line text="RecoveryNotSelf.around() call(float services.stockquote.StockQuoteService.getQuote(String))"/>
- </stdout>
- </run>
- <run class="services.account.StockQuoteServiceTest" ltw="aop-notself.xml">
- <stdout>
- <line text="RecoveryNotSelf.around() call(float services.stockquote.StockQuoteService.getQuote(String))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119657" title="IllegalAccessError with around advice on interface method call using -XterminateAfterCompilation and LTW">
- <compile files="services/account/StockQuoteServiceTest.java, services/accountdata/StockAccount.java, services/stockquote/StockQuoteService.java, services/stockquote/StockQuoteServiceImpl.java, services/account/AccountReport.java"/>
- <compile files="accounts/recovery/Recovery.aj" options="-XterminateAfterCompilation"/>
- <run class="services.account.StockQuoteServiceTest" ltw="aop.xml">
- <stdout>
- <line text="Recovery.around() call(float services.stockquote.StockQuoteService.getQuote(String))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119657" title="IllegalAccessError with around advice on interface method call using LTW">
- <compile files="services/account/StockQuoteServiceTest.java, services/accountdata/StockAccount.java, services/stockquote/StockQuoteService.java, services/stockquote/StockQuoteServiceImpl.java, services/account/AccountReport.java"/>
- <compile files="accounts/recovery/Recovery.aj"/>
- <run class="services.account.StockQuoteServiceTest" ltw="aop.xml">
- <stdout>
- <line text="Recovery.around() call(float services.stockquote.StockQuoteService.getQuote(String))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119657" title="IllegalAccessError with around advice on interface method call not self using LTW">
- <compile files="services/account/StockQuoteServiceTest.java, services/accountdata/StockAccount.java, services/stockquote/StockQuoteService.java, services/stockquote/StockQuoteServiceImpl.java, services/account/AccountReport.java"/>
- <compile files="accounts/recovery/RecoveryNotSelf.aj"/>
- <run class="services.account.StockQuoteServiceTest" ltw="aop-notself.xml">
- <stdout>
- <line text="RecoveryNotSelf.around() call(float services.stockquote.StockQuoteService.getQuote(String))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119657" title="IllegalAccessError with around advice on interface method call self and not self using LTW">
- <compile files="services/account/StockQuoteServiceTest.java, services/accountdata/StockAccount.java, services/stockquote/StockQuoteService.java, services/stockquote/StockQuoteServiceImpl.java, services/account/AccountReport.java"/>
- <compile files="accounts/recovery/Recovery.aj, accounts/recovery/RecoveryNotSelf.aj"/>
- <run class="services.account.StockQuoteServiceTest" ltw="aop-selfandnotself.xml">
- <stdout>
- <line text="Recovery.around() call(float services.stockquote.StockQuoteService.getQuote(String))"/>
- <line text="RecoveryNotSelf.around() call(float services.stockquote.StockQuoteService.getQuote(String))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr119657" title="IllegalAccessError with around advice on interface method call using LTW and -XnoInline">
- <compile files="services/account/StockQuoteServiceTest.java, services/accountdata/StockAccount.java, services/stockquote/StockQuoteService.java, services/stockquote/StockQuoteServiceImpl.java, services/account/AccountReport.java"/>
- <compile files="accounts/recovery/Recovery.aj"/>
- <run class="services.account.StockQuoteServiceTest" ltw="aop-noinline.xml">
- <stdout>
- <line text="Recovery.around() call(float services.stockquote.StockQuoteService.getQuote(String))"/>
- </stdout>
- </run>
- </ajc-test>
-
- <ajc-test dir="bugs150/pr121385" title="override protected pointcut in aop.xml concrete aspect">
- <compile files="Hello.java"/>
- <compile files="World.aj, ConcreteWorld.aj"/>
- <run class="Hello" ltw="aop.xml">
- <stdout>
- <line text="around start!"/>
- <line text="Hello"/>
- <line text="around start!"/>
- <line text="World"/>
- <line text="around end!"/>
- <line text="around end!"/>
- </stdout>
- </run>
- </ajc-test>
-
- </suite>
|