Package org.aspectj.weaver

Examples of org.aspectj.weaver.UnresolvedType.resolve()


      ResolvedMember foundMember = findMethod2(relevantType.getDeclaredMethods(), getSignature());
      annotations = getAnnotations(foundMember, shadowSignature, relevantType);
      annotationHolder = getRelevantMember(foundMember, annotationHolder, relevantType);
      UnresolvedType ut = annotationHolder.getDeclaringType();
      relevantType = ut.resolve(world);

    } else if (getKind() == Shadow.ExceptionHandler) {
      relevantType = getSignature().getParameterTypes()[0].resolve(world);
      annotations = relevantType.getAnnotationTypes();
View Full Code Here


        if (!hasThis()) { // pr197719 - static accessor has been created to handle the call
          if (Modifier.isStatic(enclosingMethod.getAccessFlags()) && enclosingMethod.getName().startsWith("access$")) {
            targetType = BcelWorld.fromBcel(enclosingMethod.getArgumentTypes()[0]);
          }
        } else {
          if (!targetType.resolve(world).isAssignableFrom(getThisType().resolve(world))) {
            throw new BCException("bad bytecode");
          }
          targetType = getThisType();
        }
      }
View Full Code Here

      kind = Constants.INVOKEVIRTUAL;
    }

    UnresolvedType targetType = signature.getDeclaringType();
    if (targetType.isParameterizedType()) {
      targetType = targetType.resolve(world).getGenericType();
    }
    return fact.createInvoke(targetType.getName(), signature.getName(), BcelWorld.makeBcelType(signature.getReturnType()),
        BcelWorld.makeBcelTypes(signature.getParameterTypes()), kind);
  }
View Full Code Here

          TypePattern tp = newParents[i];
          UnresolvedType tx = tp.getExactType();
          if (kindOfDP == null) {
            kindOfDP = "implements ";
            try {
              ResolvedType rtx = tx.resolve(((AjLookupEnvironment) declare.scope.environment()).factory.getWorld());
              if (!rtx.isInterface()) {
                kindOfDP = "extends ";
              }
            } catch (Throwable t) {
              // What can go wrong???? who knows!
View Full Code Here

      UnresolvedType mtmbgoParameter = methodThatMightBeGettingOverridden.getParameterTypes()[p];
      UnresolvedType ptype = methodParamsArray[p];

      if (mtmbgoParameter.isTypeVariableReference()) {
        if (!mtmbgoParameter.resolve(w).isAssignableFrom(ptype.resolve(w))) {
          sameParams = false;
        }
      } else {
        // old condition:
        boolean b = !methodThatMightBeGettingOverridden.getParameterTypes()[p].getErasureSignature().equals(
View Full Code Here

      if (methodName.startsWith("ajc$inlineAccessMethod") || methodName.startsWith("ajc$superDispatch")) {
        ResolvedMember resolvedDooberry = world.resolve(declaredSig);
        pnames = resolvedDooberry.getParameterNames();
      } else {
        ResolvedMember realthing = AjcMemberMaker.interMethodDispatcher(rm.resolve(world), memberHostType).resolve(world);
        ResolvedMember theRealMember = findResolvedMemberNamed(memberHostType.resolve(world), realthing.getName());
        if (theRealMember != null) {
          pnames = theRealMember.getParameterNames();
          // static ITDs don't need any parameter shifting
          if (pnames.length > 0 && pnames[0].equals("ajc$this_")) {
            String[] pnames2 = new String[pnames.length - 1];
View Full Code Here

          } else {
            ResolvedMember realthing = AjcMemberMaker.interMethodDispatcher(rm.resolve(world), memberHostType).resolve(
                world);
            // ResolvedMember resolvedDooberry =
            // world.resolve(realthing);
            ResolvedMember theRealMember = findResolvedMemberNamed(memberHostType.resolve(world), realthing.getName());
            // AMC temp guard for M4
            if (theRealMember == null) {
              throw new UnsupportedOperationException(
                  "Known limitation in M4 - can't find ITD members when type variable is used as an argument and has upper bound specified");
            }
View Full Code Here

                  "Known limitation in M4 - can't find ITD members when type variable is used as an argument and has upper bound specified");
            }
            annotations = theRealMember.getAnnotationTypes();
          }
        } else if (rm.getKind() == Member.CONSTRUCTOR) {
          ResolvedMember realThing = AjcMemberMaker.postIntroducedConstructor(memberHostType.resolve(world),
              rm.getDeclaringType(), rm.getParameterTypes());
          ResolvedMember resolvedDooberry = world.resolve(realThing);
          // AMC temp guard for M4
          if (resolvedDooberry == null) {
            throw new UnsupportedOperationException(
View Full Code Here

            il.append(InstructionConstants.ACONST_NULL);
          }
        }
      } else {
        UnresolvedType desiredTy = getBindingParameterTypes()[i];
        v.appendLoadAndConvert(il, fact, desiredTy.resolve(world));
      }
    }

    // ATAJ: for code style aspect, handles the extraFlag as usual ie not
    // in the middle of the formal bindings but at the end, in a rock solid ordering
View Full Code Here

    UnresolvedType exactDeclaringType = signature.getDeclaringType().getExactType();

    ResolvedType shadowDeclaringType = shadow.getSignature().getDeclaringType().resolve(world);

    if (signature.getDeclaringType().isStar() || ResolvedType.isMissing(exactDeclaringType)
        || exactDeclaringType.resolve(world).isMissing()) {
      return;
    }

    // warning not needed if match type couldn't ever be the declaring type
    if (!shadowDeclaringType.isAssignableFrom(exactDeclaringType.resolve(world))) {
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. 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.