Package org.aspectj.org.eclipse.jdt.internal.compiler.lookup

Examples of org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding


  public BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType, PackageBinding packageBinding,
      boolean needFieldsAndMethods, AccessRestriction accessRestriction) {

    if (inBinaryTypeCreationAndWeaving) {
      BinaryTypeBinding ret = super.createBinaryTypeFrom(binaryType, packageBinding, needFieldsAndMethods, accessRestriction);
      pendingTypesToFinish.add(ret);
      return ret;
    }

    inBinaryTypeCreationAndWeaving = true;
    try {
      BinaryTypeBinding ret = super.createBinaryTypeFrom(binaryType, packageBinding, needFieldsAndMethods, accessRestriction);
      factory.getWorld().validateType(factory.fromBinding(ret));
      // if you need the bytes to pass to validate, here they
      // are:((ClassFileReader)binaryType).getReferenceBytes()
      weaveInterTypeDeclarations(ret);
      return ret;
    } finally {
      inBinaryTypeCreationAndWeaving = false;

      // Start processing the list...
      if (pendingTypesToFinish.size() > 0) {
        processingTheQueue = true;
        while (!pendingTypesToFinish.isEmpty()) {
          BinaryTypeBinding nextVictim = (BinaryTypeBinding) pendingTypesToFinish.remove(0);
          // During this call we may recurse into this method and add
          // more entries to the pendingTypesToFinish list.
          weaveInterTypeDeclarations(nextVictim);
        }
        processingTheQueue = false;
View Full Code Here


    boolean needFieldsAndMethods,
    AccessRestriction accessRestriction)
  {

    if (inBinaryTypeCreationAndWeaving) {
      BinaryTypeBinding ret = super.createBinaryTypeFrom(
        binaryType,
        packageBinding,
        needFieldsAndMethods,
        accessRestriction);
      pendingTypesToFinish.add(ret);
      return ret;
    }
   
    inBinaryTypeCreationAndWeaving = true;
    try {
      BinaryTypeBinding ret = super.createBinaryTypeFrom(
        binaryType,
        packageBinding,
        needFieldsAndMethods,
        accessRestriction);
      factory.getWorld().validateType(factory.fromBinding(ret));
      // if you need the bytes to pass to validate, here they are:((ClassFileReader)binaryType).getReferenceBytes()
      weaveInterTypeDeclarations(ret);     
      return ret;
    } finally {
      inBinaryTypeCreationAndWeaving = false;
     
      // Start processing the list...
      if (pendingTypesToFinish.size()>0) {
        processingTheQueue = true;
        while (!pendingTypesToFinish.isEmpty()) {
          BinaryTypeBinding nextVictim = (BinaryTypeBinding)pendingTypesToFinish.remove(0);
          // During this call we may recurse into this method and add
          // more entries to the pendingTypesToFinish list.
          weaveInterTypeDeclarations(nextVictim);
        }
        processingTheQueue = false;
View Full Code Here

TOP

Related Classes of org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding

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.