Package org.aspectj.weaver

Examples of org.aspectj.weaver.IWeaveRequestor


      public Iterator<UnwovenClassFile> getClassFileIterator() {
        return addedClasses.iterator();
      }

      public IWeaveRequestor getRequestor() {
        return new IWeaveRequestor() {
          public void acceptResult(IUnwovenClassFile result) {
            try {
              writeZipEntry(result.getFilename(), result.getBytes());
            } catch (IOException ex) {
            }
View Full Code Here


    if (trace.isTraceEnabled()) {
      trace.enter("weave", this, input);
    }
    ContextToken weaveToken = CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING, "");
    Collection<String> wovenClassNames = new ArrayList<String>();
    IWeaveRequestor requestor = input.getRequestor();

    if (world.getModel() != null && world.isMinimalModel()) {
      candidatesForRemoval = new HashSet<IProgramElement>();
    }
    if (world.getModel() != null && !isBatchWeave) {
      AsmManager manager = world.getModelAsAsmManager();
      for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
        UnwovenClassFile classFile = i.next();
        // remove all relationships where this file being woven is
        // the target of the relationship
        manager.removeRelationshipsTargettingThisType(classFile.getClassName());
      }
    }

    // Go through the types and ensure any 'damaged' during compile time are
    // repaired prior to weaving
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      ResolvedType theType = world.resolve(className);
      if (theType != null) {
        theType.ensureConsistent();
      }
    }

    // special case for AtAspectJMungerOnly - see #113587
    if (input.isApplyAtAspectJMungersOnly()) {
      ContextToken atAspectJMungersOnly = CompilationAndWeavingContext.enteringPhase(
          CompilationAndWeavingContext.PROCESSING_ATASPECTJTYPE_MUNGERS_ONLY, "");
      requestor.weavingAspects();
      // ContextToken aspectToken =
      CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING_ASPECTS, "");
      for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
        UnwovenClassFile classFile = i.next();
        String className = classFile.getClassName();
        ResolvedType theType = world.resolve(className);
        if (theType.isAnnotationStyleAspect()) {
          BcelObjectType classType = BcelWorld.getBcelObjectType(theType);
          if (classType == null) {
            throw new BCException("Can't find bcel delegate for " + className + " type=" + theType.getClass());
          }
          LazyClassGen clazz = classType.getLazyClassGen();
          BcelPerClauseAspectAdder selfMunger = new BcelPerClauseAspectAdder(theType, theType.getPerClause().getKind());
          selfMunger.forceMunge(clazz, true);
          classType.finishedWith();
          UnwovenClassFile[] newClasses = getClassFilesFor(clazz);
          for (int news = 0; news < newClasses.length; news++) {
            requestor.acceptResult(newClasses[news]);
          }
          wovenClassNames.add(classFile.getClassName());
        }
      }
      requestor.weaveCompleted();
      CompilationAndWeavingContext.leavingPhase(atAspectJMungersOnly);
      return wovenClassNames;
    }

    requestor.processingReweavableState();
    ContextToken reweaveToken = CompilationAndWeavingContext.enteringPhase(
        CompilationAndWeavingContext.PROCESSING_REWEAVABLE_STATE, "");
    prepareToProcessReweavableState();
    // clear all state from files we'll be reweaving
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      BcelObjectType classType = getClassType(className);

      // null return from getClassType() means the delegate is an eclipse
      // source type - so
      // there *cant* be any reweavable state... (he bravely claimed...)
      if (classType != null) {
        ContextToken tok = CompilationAndWeavingContext.enteringPhase(
            CompilationAndWeavingContext.PROCESSING_REWEAVABLE_STATE, className);
        processReweavableStateIfPresent(className, classType);
        CompilationAndWeavingContext.leavingPhase(tok);
      }
    }

    CompilationAndWeavingContext.leavingPhase(reweaveToken);

    ContextToken typeMungingToken = CompilationAndWeavingContext.enteringPhase(
        CompilationAndWeavingContext.PROCESSING_TYPE_MUNGERS, "");
    requestor.addingTypeMungers();

    // We process type mungers in two groups, first mungers that change the
    // type
    // hierarchy, then 'normal' ITD type mungers.

    // Process the types in a predictable order (rather than the order
    // encountered).
    // For class A, the order is superclasses of A then superinterfaces of A
    // (and this mechanism is applied recursively)
    List<String> typesToProcess = new ArrayList<String>();
    for (Iterator<UnwovenClassFile> iter = input.getClassFileIterator(); iter.hasNext();) {
      UnwovenClassFile clf = iter.next();
      typesToProcess.add(clf.getClassName());
    }
    while (typesToProcess.size() > 0) {
      weaveParentsFor(typesToProcess, typesToProcess.get(0), null);
    }

    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      addNormalTypeMungers(className);
    }

    CompilationAndWeavingContext.leavingPhase(typeMungingToken);

    requestor.weavingAspects();
    ContextToken aspectToken = CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING_ASPECTS, "");
    // first weave into aspects
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      ResolvedType theType = world.resolve(className);
      if (theType.isAspect()) {
        BcelObjectType classType = BcelWorld.getBcelObjectType(theType);
        if (classType == null) {

          // Sometimes.. if the Bcel Delegate couldn't be found then a
          // problem occurred at compile time - on
          // a previous compiler run. In this case I assert the
          // delegate will still be an EclipseSourceType
          // and we can ignore the problem here (the original compile
          // error will be reported again from
          // the eclipse source type) - pr113531
          ReferenceTypeDelegate theDelegate = ((ReferenceType) theType).getDelegate();
          if (theDelegate.getClass().getName().endsWith("EclipseSourceType")) {
            continue;
          }

          throw new BCException("Can't find bcel delegate for " + className + " type=" + theType.getClass());
        }
        weaveAndNotify(classFile, classType, requestor);
        wovenClassNames.add(className);
      }
    }

    CompilationAndWeavingContext.leavingPhase(aspectToken);

    requestor.weavingClasses();
    ContextToken classToken = CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING_CLASSES, "");
    // then weave into non-aspects
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      ResolvedType theType = world.resolve(className);
      if (!theType.isAspect()) {
        BcelObjectType classType = BcelWorld.getBcelObjectType(theType);
        if (classType == null) {

          // bug 119882 - see above comment for bug 113531
          ReferenceTypeDelegate theDelegate = ((ReferenceType) theType).getDelegate();

          // TODO urgh - put a method on the interface to check this,
          // string compare is hideous
          if (theDelegate.getClass().getName().endsWith("EclipseSourceType")) {
            continue;
          }

          throw new BCException("Can't find bcel delegate for " + className + " type=" + theType.getClass());
        }
        weaveAndNotify(classFile, classType, requestor);
        wovenClassNames.add(className);
      }
    }
    CompilationAndWeavingContext.leavingPhase(classToken);

    addedClasses.clear();
    deletedTypenames.clear();

    requestor.weaveCompleted();
    CompilationAndWeavingContext.leavingPhase(weaveToken);
    if (trace.isTraceEnabled()) {
      trace.exit("weave", wovenClassNames);
    }
    if (world.getModel() != null && world.isMinimalModel()) {
View Full Code Here

    public Iterator<UnwovenClassFile> getClassFileIterator() {
      return unwovenClasses.iterator();
    }

    public IWeaveRequestor getRequestor() {
      return new IWeaveRequestor() {

        public void acceptResult(IUnwovenClassFile result) {
          if (wovenClass == null) {
            wovenClass = result;
View Full Code Here

      public Iterator<UnwovenClassFile> getClassFileIterator() {
        return addedClasses.iterator();
      }

      public IWeaveRequestor getRequestor() {
        return new IWeaveRequestor() {
          public void acceptResult(IUnwovenClassFile result) {
            try {
              writeZipEntry(result.getFilename(), result.getBytes());
            } catch (IOException ex) {
            }
View Full Code Here

    if (trace.isTraceEnabled()) {
      trace.enter("weave", this, input);
    }
    ContextToken weaveToken = CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING, "");
    Collection<String> wovenClassNames = new ArrayList<String>();
    IWeaveRequestor requestor = input.getRequestor();

    if (world.getModel() != null && world.isMinimalModel()) {
      candidatesForRemoval = new HashSet<IProgramElement>();
    }
    if (world.getModel() != null && !isBatchWeave) {
      AsmManager manager = world.getModelAsAsmManager();
      for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
        UnwovenClassFile classFile = i.next();
        // remove all relationships where this file being woven is
        // the target of the relationship
        manager.removeRelationshipsTargettingThisType(classFile.getClassName());
      }
    }

    // Go through the types and ensure any 'damaged' during compile time are
    // repaired prior to weaving
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      ResolvedType theType = world.resolve(className);
      if (theType != null) {
        theType.ensureConsistent();
      }
    }

    // special case for AtAspectJMungerOnly - see #113587
    if (input.isApplyAtAspectJMungersOnly()) {
      ContextToken atAspectJMungersOnly = CompilationAndWeavingContext.enteringPhase(
          CompilationAndWeavingContext.PROCESSING_ATASPECTJTYPE_MUNGERS_ONLY, "");
      requestor.weavingAspects();
      // ContextToken aspectToken =
      CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING_ASPECTS, "");
      for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
        UnwovenClassFile classFile = i.next();
        String className = classFile.getClassName();
        ResolvedType theType = world.resolve(className);
        if (theType.isAnnotationStyleAspect()) {
          BcelObjectType classType = BcelWorld.getBcelObjectType(theType);
          if (classType == null) {
            throw new BCException("Can't find bcel delegate for " + className + " type=" + theType.getClass());
          }
          LazyClassGen clazz = classType.getLazyClassGen();
          BcelPerClauseAspectAdder selfMunger = new BcelPerClauseAspectAdder(theType, theType.getPerClause().getKind());
          selfMunger.forceMunge(clazz, true);
          classType.finishedWith();
          UnwovenClassFile[] newClasses = getClassFilesFor(clazz);
          for (int news = 0; news < newClasses.length; news++) {
            requestor.acceptResult(newClasses[news]);
          }
          wovenClassNames.add(classFile.getClassName());
        }
      }
      requestor.weaveCompleted();
      CompilationAndWeavingContext.leavingPhase(atAspectJMungersOnly);
      return wovenClassNames;
    }

    requestor.processingReweavableState();
    ContextToken reweaveToken = CompilationAndWeavingContext.enteringPhase(
        CompilationAndWeavingContext.PROCESSING_REWEAVABLE_STATE, "");
    prepareToProcessReweavableState();
    // clear all state from files we'll be reweaving
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      BcelObjectType classType = getClassType(className);

      // null return from getClassType() means the delegate is an eclipse
      // source type - so
      // there *cant* be any reweavable state... (he bravely claimed...)
      if (classType != null) {
        ContextToken tok = CompilationAndWeavingContext.enteringPhase(
            CompilationAndWeavingContext.PROCESSING_REWEAVABLE_STATE, className);
        processReweavableStateIfPresent(className, classType);
        CompilationAndWeavingContext.leavingPhase(tok);
      }
    }

    CompilationAndWeavingContext.leavingPhase(reweaveToken);

    ContextToken typeMungingToken = CompilationAndWeavingContext.enteringPhase(
        CompilationAndWeavingContext.PROCESSING_TYPE_MUNGERS, "");
    requestor.addingTypeMungers();

    // We process type mungers in two groups, first mungers that change the
    // type
    // hierarchy, then 'normal' ITD type mungers.

    // Process the types in a predictable order (rather than the order
    // encountered).
    // For class A, the order is superclasses of A then superinterfaces of A
    // (and this mechanism is applied recursively)
    List<String> typesToProcess = new ArrayList<String>();
    for (Iterator<UnwovenClassFile> iter = input.getClassFileIterator(); iter.hasNext();) {
      UnwovenClassFile clf = iter.next();
      typesToProcess.add(clf.getClassName());
    }
    while (typesToProcess.size() > 0) {
      weaveParentsFor(typesToProcess, typesToProcess.get(0), null);
    }

    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      addNormalTypeMungers(className);
    }

    CompilationAndWeavingContext.leavingPhase(typeMungingToken);

    requestor.weavingAspects();
    ContextToken aspectToken = CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING_ASPECTS, "");
    // first weave into aspects
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      ResolvedType theType = world.resolve(className);
      if (theType.isAspect()) {
        BcelObjectType classType = BcelWorld.getBcelObjectType(theType);
        if (classType == null) {

          // Sometimes.. if the Bcel Delegate couldn't be found then a
          // problem occurred at compile time - on
          // a previous compiler run. In this case I assert the
          // delegate will still be an EclipseSourceType
          // and we can ignore the problem here (the original compile
          // error will be reported again from
          // the eclipse source type) - pr113531
          ReferenceTypeDelegate theDelegate = ((ReferenceType) theType).getDelegate();
          if (theDelegate.getClass().getName().endsWith("EclipseSourceType")) {
            continue;
          }

          throw new BCException("Can't find bcel delegate for " + className + " type=" + theType.getClass());
        }
        weaveAndNotify(classFile, classType, requestor);
        wovenClassNames.add(className);
      }
    }

    CompilationAndWeavingContext.leavingPhase(aspectToken);

    requestor.weavingClasses();
    ContextToken classToken = CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING_CLASSES, "");
    // then weave into non-aspects
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      ResolvedType theType = world.resolve(className);
      if (!theType.isAspect()) {
        BcelObjectType classType = BcelWorld.getBcelObjectType(theType);
        if (classType == null) {

          // bug 119882 - see above comment for bug 113531
          ReferenceTypeDelegate theDelegate = ((ReferenceType) theType).getDelegate();

          // TODO urgh - put a method on the interface to check this,
          // string compare is hideous
          if (theDelegate.getClass().getName().endsWith("EclipseSourceType")) {
            continue;
          }

          throw new BCException("Can't find bcel delegate for " + className + " type=" + theType.getClass());
        }
        weaveAndNotify(classFile, classType, requestor);
        wovenClassNames.add(className);
      }
    }
    CompilationAndWeavingContext.leavingPhase(classToken);

    addedClasses.clear();
    deletedTypenames.clear();

    requestor.weaveCompleted();
    CompilationAndWeavingContext.leavingPhase(weaveToken);
    if (trace.isTraceEnabled()) {
      trace.exit("weave", wovenClassNames);
    }
    if (world.getModel() != null && world.isMinimalModel()) {
View Full Code Here

    public Iterator<UnwovenClassFile> getClassFileIterator() {
      return unwovenClasses.iterator();
    }

    public IWeaveRequestor getRequestor() {
      return new IWeaveRequestor() {

        public void acceptResult(IUnwovenClassFile result) {
          if (wovenClass == null) {
            wovenClass = result;
            String name = result.getClassName();
View Full Code Here

      public Iterator<UnwovenClassFile> getClassFileIterator() {
        return addedClasses.iterator();
      }

      public IWeaveRequestor getRequestor() {
        return new IWeaveRequestor() {
          public void acceptResult(IUnwovenClassFile result) {
            try {
              writeZipEntry(result.getFilename(), result.getBytes());
            } catch (IOException ex) {
            }
View Full Code Here

    if (trace.isTraceEnabled()) {
      trace.enter("weave", this, input);
    }
    ContextToken weaveToken = CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING, "");
    Collection<String> wovenClassNames = new ArrayList<String>();
    IWeaveRequestor requestor = input.getRequestor();

    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      if (world.getModel() != null /* AsmManager.isCreatingModel() */&& !isBatchWeave) {
        // remove all relationships where this file being woven is the target of the relationship
        world.getModelAsAsmManager().removeRelationshipsTargettingThisType(classFile.getClassName());
      }
    }

    // Go through the types and ensure any 'damaged' during compile time are
    // repaired prior to weaving
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      ResolvedType theType = world.resolve(className);
      if (theType != null) {
        theType.ensureConsistent();
      }
    }

    // special case for AtAspectJMungerOnly - see #113587
    if (input.isApplyAtAspectJMungersOnly()) {
      ContextToken atAspectJMungersOnly = CompilationAndWeavingContext.enteringPhase(
          CompilationAndWeavingContext.PROCESSING_ATASPECTJTYPE_MUNGERS_ONLY, "");
      requestor.weavingAspects();
      // ContextToken aspectToken =
      CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING_ASPECTS, "");
      for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
        UnwovenClassFile classFile = i.next();
        String className = classFile.getClassName();
        ResolvedType theType = world.resolve(className);
        if (theType.isAnnotationStyleAspect()) {
          BcelObjectType classType = BcelWorld.getBcelObjectType(theType);
          if (classType == null) {
            throw new BCException("Can't find bcel delegate for " + className + " type=" + theType.getClass());
          }
          LazyClassGen clazz = classType.getLazyClassGen();
          BcelPerClauseAspectAdder selfMunger = new BcelPerClauseAspectAdder(theType, theType.getPerClause().getKind());
          selfMunger.forceMunge(clazz, true);
          classType.finishedWith();
          UnwovenClassFile[] newClasses = getClassFilesFor(clazz);
          for (int news = 0; news < newClasses.length; news++) {
            requestor.acceptResult(newClasses[news]);
          }
          wovenClassNames.add(classFile.getClassName());
        }
      }
      requestor.weaveCompleted();
      CompilationAndWeavingContext.leavingPhase(atAspectJMungersOnly);
      return wovenClassNames;
    }

    requestor.processingReweavableState();
    ContextToken reweaveToken = CompilationAndWeavingContext.enteringPhase(
        CompilationAndWeavingContext.PROCESSING_REWEAVABLE_STATE, "");
    prepareToProcessReweavableState();
    // clear all state from files we'll be reweaving
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      BcelObjectType classType = getClassType(className);

      // null return from getClassType() means the delegate is an eclipse
      // source type - so
      // there *cant* be any reweavable state... (he bravely claimed...)
      if (classType != null) {
        ContextToken tok = CompilationAndWeavingContext.enteringPhase(
            CompilationAndWeavingContext.PROCESSING_REWEAVABLE_STATE, className);
        processReweavableStateIfPresent(className, classType);
        CompilationAndWeavingContext.leavingPhase(tok);
      }
    }

    CompilationAndWeavingContext.leavingPhase(reweaveToken);

    ContextToken typeMungingToken = CompilationAndWeavingContext.enteringPhase(
        CompilationAndWeavingContext.PROCESSING_TYPE_MUNGERS, "");
    requestor.addingTypeMungers();

    // We process type mungers in two groups, first mungers that change the
    // type
    // hierarchy, then 'normal' ITD type mungers.

    // Process the types in a predictable order (rather than the order
    // encountered).
    // For class A, the order is superclasses of A then superinterfaces of A
    // (and this mechanism is applied recursively)
    List<String> typesToProcess = new ArrayList<String>();
    for (Iterator<UnwovenClassFile> iter = input.getClassFileIterator(); iter.hasNext();) {
      UnwovenClassFile clf = iter.next();
      typesToProcess.add(clf.getClassName());
    }
    while (typesToProcess.size() > 0) {
      weaveParentsFor(typesToProcess, typesToProcess.get(0), null);
    }

    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      addNormalTypeMungers(className);
    }

    CompilationAndWeavingContext.leavingPhase(typeMungingToken);

    requestor.weavingAspects();
    ContextToken aspectToken = CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING_ASPECTS, "");
    // first weave into aspects
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      ResolvedType theType = world.resolve(className);
      if (theType.isAspect()) {
        BcelObjectType classType = BcelWorld.getBcelObjectType(theType);
        if (classType == null) {

          // Sometimes.. if the Bcel Delegate couldn't be found then a
          // problem occurred at compile time - on
          // a previous compiler run. In this case I assert the
          // delegate will still be an EclipseSourceType
          // and we can ignore the problem here (the original compile
          // error will be reported again from
          // the eclipse source type) - pr113531
          ReferenceTypeDelegate theDelegate = ((ReferenceType) theType).getDelegate();
          if (theDelegate.getClass().getName().endsWith("EclipseSourceType")) {
            continue;
          }

          throw new BCException("Can't find bcel delegate for " + className + " type=" + theType.getClass());
        }
        weaveAndNotify(classFile, classType, requestor);
        wovenClassNames.add(className);
      }
    }

    CompilationAndWeavingContext.leavingPhase(aspectToken);

    requestor.weavingClasses();
    ContextToken classToken = CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING_CLASSES, "");
    // then weave into non-aspects
    for (Iterator<UnwovenClassFile> i = input.getClassFileIterator(); i.hasNext();) {
      UnwovenClassFile classFile = i.next();
      String className = classFile.getClassName();
      ResolvedType theType = world.resolve(className);
      if (!theType.isAspect()) {
        BcelObjectType classType = BcelWorld.getBcelObjectType(theType);
        if (classType == null) {

          // bug 119882 - see above comment for bug 113531
          ReferenceTypeDelegate theDelegate = ((ReferenceType) theType).getDelegate();

          // TODO urgh - put a method on the interface to check this,
          // string compare is hideous
          if (theDelegate.getClass().getName().endsWith("EclipseSourceType")) {
            continue;
          }

          throw new BCException("Can't find bcel delegate for " + className + " type=" + theType.getClass());
        }
        weaveAndNotify(classFile, classType, requestor);
        wovenClassNames.add(className);
      }
    }
    CompilationAndWeavingContext.leavingPhase(classToken);

    addedClasses.clear();
    deletedTypenames.clear();

    requestor.weaveCompleted();
    CompilationAndWeavingContext.leavingPhase(weaveToken);
    if (trace.isTraceEnabled()) {
      trace.exit("weave", wovenClassNames);
    }
    return wovenClassNames;
View Full Code Here

    public Iterator getClassFileIterator() {
      return unwovenClasses.iterator();
    }

    public IWeaveRequestor getRequestor() {
      return new IWeaveRequestor() {

        public void acceptResult(IUnwovenClassFile result) {
          if (wovenClass == null) {
            wovenClass = result;
View Full Code Here

    public Iterator getClassFileIterator() {
      return unwovenClasses.iterator();
    }

    public IWeaveRequestor getRequestor() {
      return new IWeaveRequestor() {

        public void acceptResult(UnwovenClassFile result) {
          if (wovenClass == null) {
            wovenClass = result;
           
View Full Code Here

TOP

Related Classes of org.aspectj.weaver.IWeaveRequestor

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.