1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360 |
- <!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[]>
-
- <!-- AspectJ v1.5.0 Tests -->
- <suite>
-
- <ajc-test dir="java5/staticImports" title="import static java.lang.System.out">
- <compile files="StaticImport.aj" options="-1.5"/>
- </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="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="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/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 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">
- </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"/>
- <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="../docs/dist/doc/examples/introduction" title="introduction sample" vm="1.5">
- <compile files="CloneablePoint.java,ComparablePoint.java,HashablePoint.java,Point.java" options="-1.5"/>
- </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' (AnnotationAspect02.aj:4)"/>
- <message kind="weave" text="Type 'AnnotatedType' (AnnotatedType.java:3) advised by before advice from 'AnnotationAspect02' (AnnotationAspect02.aj:2)"/>
- <message kind="weave" text="Type 'AnnotatedType' (AnnotatedType.java:4) advised by before advice from 'AnnotationAspect02' (AnnotationAspect02.aj:4)"/>
- </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"/>
- <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"/>
- <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"/>
- <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"/>
- <run class="org.xyz.foo.AJDKExamples">
- <stdout>
- <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" 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"/>
- </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="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 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>
-
- <!-- 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 Object & 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 Object & 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 Object & 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>
-
- <!-- 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<N> 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"/>
- <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="16" text="The method m4(String) is undefined for the type Base"/>
- </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<L> 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<L> 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<E> 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/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="FieldITDOnGeneric.aj" options="-1.5"/>
- <run class="FieldITDOnGeneric">
- <stderr>
- <line text="foo"/>
- </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,-Xreweavable"/>
- <compile files="TestA_aspect.aj,TestA_class.java" inpath="code.jar" options="-1.5,-Xreweavable"/>
- <run class="TestA_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,-Xreweavable"/>
- <compile files="A1.aj" inpath="code.jar" options="-1.5,-Xreweavable"/>
- <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,-Xreweavable,-showWeaveInfo">
- <message kind="weave" text="Type 'BaseClass' (BaseClass.java) has intertyped field from 'A1' (A1.aj:'java.util.List 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,-Xreweavable,-showWeaveInfo">
- <message kind="weave" text="Type 'BaseClass' (BaseClass.java) has intertyped field from 'A1' (A1.aj:'java.util.List 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 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,-Xreweavable"/>
- <compile files="A3.aj" inpath="code.jar" options="-1.5,-Xreweavable"/>
- <run class="BaseClass">
- <stderr>
- <line text="Advice count=3"/>
- </stderr>
- </run>
- </ajc-test>
-
- <!-- end of generics/itds and binary weaving -->
-
- <!-- 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"/>
- <run class="B01">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <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"/>
- <run class="B29">
- <stdout>
- <line text="@anInterface()"/>
- </stdout>
- </run>
- </ajc-test>
-
- </suite>
|