Package org.aspectj.weaver

Examples of org.aspectj.weaver.CrosscuttingMembers


    Member cflowStackField = new ResolvedMemberImpl(Member.FIELD, inAspect, Modifier.STATIC | Modifier.PUBLIC | Modifier.FINAL,
        UnresolvedType.forName(NameMangler.CFLOW_STACK_TYPE), NameMangler.PERCFLOW_FIELD_NAME, UnresolvedType.NONE);

    World world = inAspect.getWorld();

    CrosscuttingMembers xcut = inAspect.crosscuttingMembers;

    Collection<ShadowMunger> previousCflowEntries = xcut.getCflowEntries();
    Pointcut concreteEntry = entry.concretize(inAspect, inAspect, 0, null); // IntMap
    // .
    // EMPTY
    // )
    // ;
    List<ShadowMunger> innerCflowEntries = new ArrayList<ShadowMunger>(xcut.getCflowEntries());
    innerCflowEntries.removeAll(previousCflowEntries);

    xcut.addConcreteShadowMunger(Advice.makePerCflowEntry(world, concreteEntry, isBelow, cflowStackField, inAspect,
        innerCflowEntries));

    // ATAJ: add a munger to add the aspectOf(..) to the @AJ aspects
    if (inAspect.isAnnotationStyleAspect() && !inAspect.isAbstract()) {
      inAspect.crosscuttingMembers.addLateTypeMunger(inAspect.getWorld().getWeavingSupport()
View Full Code Here


    Pointcut concreteEntry;

    ResolvedType concreteAspect = bindings.getConcreteAspect();

    CrosscuttingMembers xcut = concreteAspect.crosscuttingMembers;
    Collection<ShadowMunger> previousCflowEntries = xcut.getCflowEntries();

    entryBindings.pushEnclosingDefinition(CFLOW_MARKER);
    // This block concretizes the pointcut within the cflow pointcut
    try {
      concreteEntry = entry.concretize(inAspect, declaringType, entryBindings);
    } finally {
      entryBindings.popEnclosingDefinitition();
    }

    List<ShadowMunger> innerCflowEntries = new ArrayList<ShadowMunger>(xcut.getCflowEntries());
    innerCflowEntries.removeAll(previousCflowEntries);

    // Four routes of interest through this code (did I hear someone say
    // refactor??)
    // 1) no state in the cflow - we can use a counter *and* we have seen
View Full Code Here

    Member cflowStackField = new ResolvedMemberImpl(Member.FIELD, inAspect, Modifier.STATIC | Modifier.PUBLIC | Modifier.FINAL,
        UnresolvedType.forName(NameMangler.CFLOW_STACK_TYPE), NameMangler.PERCFLOW_FIELD_NAME, UnresolvedType.NONE);

    World world = inAspect.getWorld();

    CrosscuttingMembers xcut = inAspect.crosscuttingMembers;

    Collection previousCflowEntries = xcut.getCflowEntries();
    Pointcut concreteEntry = entry.concretize(inAspect, inAspect, 0, null); // IntMap
    // .
    // EMPTY
    // )
    // ;
    List innerCflowEntries = new ArrayList(xcut.getCflowEntries());
    innerCflowEntries.removeAll(previousCflowEntries);

    xcut.addConcreteShadowMunger(Advice.makePerCflowEntry(world, concreteEntry, isBelow, cflowStackField, inAspect,
        innerCflowEntries));

    // ATAJ: add a munger to add the aspectOf(..) to the @AJ aspects
    if (inAspect.isAnnotationStyleAspect() && !inAspect.isAbstract()) {
      inAspect.crosscuttingMembers.addLateTypeMunger(inAspect.getWorld().getWeavingSupport().makePerClauseAspect(inAspect,
View Full Code Here

    Pointcut concreteEntry;

    ResolvedType concreteAspect = bindings.getConcreteAspect();

    CrosscuttingMembers xcut = concreteAspect.crosscuttingMembers;
    Collection previousCflowEntries = xcut.getCflowEntries();

    entryBindings.pushEnclosingDefinition(CFLOW_MARKER);
    // This block concretizes the pointcut within the cflow pointcut
    try {
      concreteEntry = entry.concretize(inAspect, declaringType, entryBindings);
    } finally {
      entryBindings.popEnclosingDefinitition();
    }

    List innerCflowEntries = new ArrayList(xcut.getCflowEntries());
    innerCflowEntries.removeAll(previousCflowEntries);

    // Four routes of interest through this code (did I hear someone say
    // refactor??)
    // 1) no state in the cflow - we can use a counter *and* we have seen
View Full Code Here

   
    Pointcut concreteEntry;
   
    ResolvedType concreteAspect = bindings.getConcreteAspect();
   
    CrosscuttingMembers xcut = concreteAspect.crosscuttingMembers;   
    Collection previousCflowEntries = xcut.getCflowEntries();
   
   
    entryBindings.pushEnclosingDefinition(CFLOW_MARKER);
    // This block concretizes the pointcut within the cflow pointcut
    try {
      concreteEntry = entry.concretize(inAspect, declaringType, entryBindings);
    } finally {
      entryBindings.popEnclosingDefinitition();
    }

    List innerCflowEntries = new ArrayList(xcut.getCflowEntries());
    innerCflowEntries.removeAll(previousCflowEntries);

    Object field = getCflowfield(concreteEntry,concreteAspect);
   
    // Four routes of interest through this code (did I hear someone say refactor??)
View Full Code Here

      Member.FIELD, inAspect, Modifier.STATIC|Modifier.PUBLIC|Modifier.FINAL,
            UnresolvedType.forName(NameMangler.CFLOW_STACK_TYPE), NameMangler.PERCFLOW_FIELD_NAME, UnresolvedType.NONE);
           
    World world = inAspect.getWorld();
   
    CrosscuttingMembers xcut = inAspect.crosscuttingMembers;
   
    Collection previousCflowEntries = xcut.getCflowEntries();
    Pointcut concreteEntry = entry.concretize(inAspect, inAspect, 0, null); //IntMap.EMPTY);
    List innerCflowEntries = new ArrayList(xcut.getCflowEntries());
    innerCflowEntries.removeAll(previousCflowEntries);
         
    xcut.addConcreteShadowMunger(
        Advice.makePerCflowEntry(world, concreteEntry, isBelow, cflowStackField,
                  inAspect, innerCflowEntries));

        //ATAJ: add a munger to add the aspectOf(..) to the @AJ aspects
        if (inAspect.isAnnotationStyleAspect() && !inAspect.isAbstract()) {
View Full Code Here

TOP

Related Classes of org.aspectj.weaver.CrosscuttingMembers

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.