<?xml version="1.0" encoding="UTF-8"?>
<aop>
   <prepare expr="all(org.jboss.test.aop.regression.jbaop206inheritadvised.Base)"/>
   <bind pointcut="call(org.jboss.test.aop.regression.jbaop206inheritadvised.Sub->new())">
      <interceptor class="org.jboss.test.aop.regression.jbaop206inheritadvised.TestInterceptor"/>
   </bind>

	<bind pointcut="execution(* org.jboss.test.aop.regression.jbaop194_undeploy.POJO->method())">
	   <interceptor class="org.jboss.test.aop.regression.jbaop194_undeploy.TestInterceptor"/>
	</bind>

	<bind pointcut="execution(org.jboss.test.aop.regression.jbaop197.Singleton->new())">
		<interceptor class="org.jboss.test.aop.regression.jbaop197.TestInterceptor"/>
	</bind>

   <introduction class="@hello">
      <mixin>
         <interfaces>org.jboss.test.aop.regression.annotatedIntroduction.Introduction</interfaces>
         <class>org.jboss.test.aop.regression.annotatedIntroduction.Mixin</class>
         <construction>new org.jboss.test.aop.regression.annotatedIntroduction.Mixin()</construction>
      </mixin>
   </introduction>

   <metadata tag="hello" class="org.jboss.test.aop.regression.annotatedIntroduction.POJO">
      <class/>
   </metadata>

   <bind pointcut="execution(!static * org.jboss.test.aop.regression.statictest.MemberOnly->*(..))">
      <interceptor class="org.jboss.test.aop.regression.statictest.SimpleInterceptor"/>
   </bind>

   <bind pointcut="execution(static * org.jboss.test.aop.regression.statictest.StaticOnly->*(..))">
      <interceptor class="org.jboss.test.aop.regression.statictest.SimpleInterceptor"/>
   </bind>

   <aspect class="org.jboss.test.aop.regression.inheritedmcall.SimpleAspect"/>
   <bind pointcut="call(void $instanceof{org.jboss.test.aop.regression.inheritedmcall.Base}->method1())">
      <advice name="advice" aspect="org.jboss.test.aop.regression.inheritedmcall.SimpleAspect"/>
   </bind>

   <bind pointcut="execution(* org.jboss.test.aop.regression.arraymethodparam.POJO->someMethod(..))">
      <interceptor class="org.jboss.test.aop.regression.arraymethodparam.MyInterceptor"/>
   </bind>
   <metadata tag="TEST" class="org.jboss.test.aop.regression.arraymethodparam.POJO">
      <method expr="java.lang.String[] someMethod(java.lang.String[])">
         <test>Hello</test>
      </method>
   </metadata>

   <bind pointcut="field(* org.jboss.test.aop.regression.inheritedfield.SubPOJO->x)">
      <interceptor class="org.jboss.test.aop.regression.inheritedfield.TestInterceptor"/>
   </bind>

   <bind pointcut="all(org.jboss.test.aop.regression.ejbthree315.POJO)">
      <interceptor class="org.jboss.test.aop.regression.ejbthree315.MyInterceptor"/>
   </bind>

   <prepare expr="field(* $instanceof{org.jboss.test.aop.regression.jbaop137.Base}->*)"/>
   <prepare expr="execution(* $instanceof{org.jboss.test.aop.regression.jbaop137.Base}->*et*(..))"/>

   <aspect class="org.jboss.test.aop.regression.jbaop110.TestAspect"/>
   <bind pointcut="execution(org.jboss.test.aop.regression.jbaop110.POJO->new(org.jboss.test.aop.regression.jbaop110.Type$NormalType, org.jboss.test.aop.regression.jbaop110.Type$StaticType))">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="execution(org.jboss.test.aop.regression.jbaop110.Type$NormalType org.jboss.test.aop.regression.jbaop110.POJO->method(org.jboss.test.aop.regression.jbaop110.Type$StaticType, org.jboss.test.aop.regression.jbaop110.Type$NormalType))">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="field(org.jboss.test.aop.regression.jbaop110.Type$NormalType org.jboss.test.aop.regression.jbaop110.POJO->*)">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="set(org.jboss.test.aop.regression.jbaop110.Type$StaticType org.jboss.test.aop.regression.jbaop110.POJO->*)">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="get(org.jboss.test.aop.regression.jbaop110.Type$StaticType org.jboss.test.aop.regression.jbaop110.POJO->*)">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>

   <bind pointcut="execution(org.jboss.test.aop.regression.jbaop110.POJO$StaticClass->new(org.jboss.test.aop.regression.jbaop110.Type$NormalType, org.jboss.test.aop.regression.jbaop110.Type$StaticType))">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="execution(org.jboss.test.aop.regression.jbaop110.Type$NormalType org.jboss.test.aop.regression.jbaop110.POJO$StaticClass->method(org.jboss.test.aop.regression.jbaop110.Type$StaticType, org.jboss.test.aop.regression.jbaop110.Type$NormalType))">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="field(org.jboss.test.aop.regression.jbaop110.Type$NormalType org.jboss.test.aop.regression.jbaop110.POJO$StaticClass->*)">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="set(org.jboss.test.aop.regression.jbaop110.Type$StaticType org.jboss.test.aop.regression.jbaop110.POJO$StaticClass->*)">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="get(org.jboss.test.aop.regression.jbaop110.Type$StaticType org.jboss.test.aop.regression.jbaop110.POJO$StaticClass->*)">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>

   <bind pointcut="execution(org.jboss.test.aop.regression.jbaop110.POJO$NormalClass->new(org.jboss.test.aop.regression.jbaop110.Type$NormalType, org.jboss.test.aop.regression.jbaop110.Type$StaticType))">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="execution(org.jboss.test.aop.regression.jbaop110.Type$NormalType org.jboss.test.aop.regression.jbaop110.POJO$NormalClass->method(org.jboss.test.aop.regression.jbaop110.Type$StaticType, org.jboss.test.aop.regression.jbaop110.Type$NormalType))">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="field(org.jboss.test.aop.regression.jbaop110.Type$NormalType org.jboss.test.aop.regression.jbaop110.POJO$NormalClass->*)">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="set(org.jboss.test.aop.regression.jbaop110.Type$StaticType org.jboss.test.aop.regression.jbaop110.POJO$NormalClass->*)">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>
   <bind pointcut="get(org.jboss.test.aop.regression.jbaop110.Type$StaticType org.jboss.test.aop.regression.jbaop110.POJO$NormalClass->*)">
   	<advice aspect="org.jboss.test.aop.regression.jbaop110.TestAspect" name="invoke"/>
   </bind>

   <typedef name="POJO" expr="class(org.jboss.test.aop.regression.jbaop217typedefredeploy.POJO)"/>
   <bind pointcut="execution(* $typedef{POJO}->method())">
       <interceptor class="org.jboss.test.aop.regression.jbaop217typedefredeploy.TestInterceptor"/>
   </bind>

   <annotation expr="class(org.jboss.test.aop.regression.jbaop248annotationoverride.POJO)">
      @org.jboss.test.aop.regression.jbaop248annotationoverride.Override(value=1)
   </annotation>
   <annotation expr="constructor(org.jboss.test.aop.regression.jbaop248annotationoverride.POJO->new())">
      @org.jboss.test.aop.regression.jbaop248annotationoverride.Override(value=10)
   </annotation>
   <annotation expr="field(int org.jboss.test.aop.regression.jbaop248annotationoverride.POJO->field)">
      @org.jboss.test.aop.regression.jbaop248annotationoverride.Override(value=20)
   </annotation>
   <annotation expr="method(*  org.jboss.test.aop.regression.jbaop248annotationoverride.POJO->method())">
      @org.jboss.test.aop.regression.jbaop248annotationoverride.Override(value=30)
   </annotation>
   <annotation-introduction expr="class(org.jboss.test.aop.regression.jbaop248annotationoverride.POJO)">
      @org.jboss.test.aop.regression.jbaop248annotationoverride.Introduced(value=1)
   </annotation-introduction>
   <annotation-introduction expr="constructor(org.jboss.test.aop.regression.jbaop248annotationoverride.POJO->new())">
      @org.jboss.test.aop.regression.jbaop248annotationoverride.Introduced(value=10)
   </annotation-introduction>
   <annotation-introduction expr="field(int org.jboss.test.aop.regression.jbaop248annotationoverride.POJO->field)">
      @org.jboss.test.aop.regression.jbaop248annotationoverride.Introduced(value=20)
   </annotation-introduction>
   <annotation-introduction expr="method(*  org.jboss.test.aop.regression.jbaop248annotationoverride.POJO->method())">
      @org.jboss.test.aop.regression.jbaop248annotationoverride.Introduced(value=30)
   </annotation-introduction>
   <bind pointcut="all(org.jboss.test.aop.regression.jbaop248annotationoverride.POJO)">
      <interceptor class="org.jboss.test.aop.regression.jbaop248annotationoverride.TestInterceptor"/>
   </bind>

   <aspect class="org.jboss.test.aop.regression.jbaop264underscorefieldname.TestAspect"/>
   <bind pointcut="field(long org.jboss.test.aop.regression.jbaop264underscorefieldname.POJO->*)">
      <advice aspect="org.jboss.test.aop.regression.jbaop264underscorefieldname.TestAspect" name="intercept"/>
   </bind>

   <bind pointcut="execution(* org.jboss.test.aop.regression.jbaop279native.POJO->nativeMethod())">
      <interceptor class="org.jboss.test.aop.regression.jbaop279native.ReturningInterceptor"/>
   </bind>

   <prepare expr="all(org.jboss.test.aop.regression.jbaop316annotationsinwrapperonly.POJO)"/>

   <interceptor class="org.jboss.test.aop.regression.jbaop336callnpe.LogInterceptor" scope="PER_INSTANCE"/>

   <bind pointcut="call(org.jboss.test.aop.regression.jbaop336callnpe.Log->new(java.lang.String))">
      <interceptor-ref name="org.jboss.test.aop.regression.jbaop336callnpe.LogInterceptor"/>
   </bind>

   <bind pointcut="call(void org.jboss.test.aop.regression.jbaop336callnpe.Log->overwriteFile(java.lang.String))">
      <interceptor-ref name="org.jboss.test.aop.regression.jbaop336callnpe.LogInterceptor"/>
   </bind>

   <bind pointcut="all(org.jboss.test.aop.regression.jbaop398nosuchfield.POJO)">
     <interceptor class="org.jboss.test.aop.regression.jbaop398nosuchfield.SimpleInterceptor" scope="PER_VM" />
   </bind>

   <prepare expr="all(org.jboss.test.aop.regression.jbaop442instancedomain.POJO)"/>

 	<bind pointcut="execution(* org.jboss.test.aop.regression.jbaop484superproxyadvised.Child->*(..))">
	   <interceptor class="org.jboss.test.aop.regression.jbaop484superproxyadvised.TestInterceptor"/>
	</bind>
	<bind pointcut="execution(* $instanceof{org.jboss.test.aop.regression.jbaop484superproxyadvised.ChildInterface}->$implements{org.jboss.test.aop.regression.jbaop484superproxyadvised.ChildInterface}(..))">
	   <interceptor class="org.jboss.test.aop.regression.jbaop484superproxyadvised.TestInterceptor"/>
	</bind>

</aop>