Package org.aspectj.bridge

Examples of org.aspectj.bridge.IMessage$Kind


  private void dumpCompilerMessages(IMessageHolder messageHolder) {
    println("---- Compiler Messages ---");
    if (messageHolder != null) {
      for (Iterator<IMessage> i = messageHolder.getUnmodifiableListView().iterator(); i.hasNext();) {
        IMessage message = i.next();
        println(message.toString());
      }
    } else {
      println(NULL_OR_EMPTY);
    }
  }
View Full Code Here


          ResolvedType t = resolvedMember.getReturnType().resolve(scope.getWorld());
          if (t.isEnum()) {
            // value must be an enum reference X.Y
            int pos = v.lastIndexOf(".");
            if (pos == -1) {
              IMessage m = MessageUtil.error(WeaverMessages
                  .format(WeaverMessages.INVALID_ANNOTATION_VALUE, v, "enum"), getSourceLocation());
              scope.getWorld().getMessageHandler().handleMessage(m);
            } else {
              String typename = v.substring(0, pos);
              ResolvedType rt = scope.lookupType(typename, this).resolve(scope.getWorld());
              v = rt.getSignature() + v.substring(pos + 1); // from 'Color.RED' to 'Lp/Color;RED'
              annotationValues.put(k, v);
            }
          } else if (t.isPrimitiveType()) {
            if (t.getSignature() == "I") {
              try {
                int value = Integer.parseInt(v);
                annotationValues.put(k, Integer.toString(value));
              } catch (NumberFormatException nfe) {
                IMessage m = MessageUtil.error(WeaverMessages.format(WeaverMessages.INVALID_ANNOTATION_VALUE, v,
                    "int"), getSourceLocation());
                scope.getWorld().getMessageHandler().handleMessage(m);
              }
            } else if (t.getSignature() == "F") {
              try {
                float value = Float.parseFloat(v);
                annotationValues.put(k, Float.toString(value));
              } catch (NumberFormatException nfe) {
                IMessage m = MessageUtil.error(WeaverMessages.format(WeaverMessages.INVALID_ANNOTATION_VALUE, v,
                    "float"), getSourceLocation());
                scope.getWorld().getMessageHandler().handleMessage(m);
              }

            } else if (t.getSignature() == "Z") {
              if (v.equalsIgnoreCase("true") || v.equalsIgnoreCase("false")) {
                // is it ok !
              } else {
                IMessage m = MessageUtil.error(WeaverMessages.format(WeaverMessages.INVALID_ANNOTATION_VALUE, v,
                    "boolean"), getSourceLocation());
                scope.getWorld().getMessageHandler().handleMessage(m);
              }
            } else if (t.getSignature() == "S") {
              try {
                short value = Short.parseShort(v);
                annotationValues.put(k, Short.toString(value));
              } catch (NumberFormatException nfe) {
                IMessage m = MessageUtil.error(WeaverMessages.format(WeaverMessages.INVALID_ANNOTATION_VALUE, v,
                    "short"), getSourceLocation());
                scope.getWorld().getMessageHandler().handleMessage(m);
              }
            } else if (t.getSignature() == "J") {
              try {
                long value = Long.parseLong(v);
                annotationValues.put(k, Long.toString(value));
              } catch (NumberFormatException nfe) {
                IMessage m = MessageUtil.error(WeaverMessages.format(WeaverMessages.INVALID_ANNOTATION_VALUE, v,
                    "long"), getSourceLocation());
                scope.getWorld().getMessageHandler().handleMessage(m);
              }
            } else if (t.getSignature() == "D") {
              try {
                double value = Double.parseDouble(v);
                annotationValues.put(k, Double.toString(value));
              } catch (NumberFormatException nfe) {
                IMessage m = MessageUtil.error(WeaverMessages.format(WeaverMessages.INVALID_ANNOTATION_VALUE, v,
                    "double"), getSourceLocation());
                scope.getWorld().getMessageHandler().handleMessage(m);
              }
            } else if (t.getSignature() == "B") {
              try {
                byte value = Byte.parseByte(v);
                annotationValues.put(k, Byte.toString(value));
              } catch (NumberFormatException nfe) {
                IMessage m = MessageUtil.error(WeaverMessages.format(WeaverMessages.INVALID_ANNOTATION_VALUE, v,
                    "byte"), getSourceLocation());
                scope.getWorld().getMessageHandler().handleMessage(m);
              }
            } else if (t.getSignature() == "C") {
              if (v.length() != 3) { // '?'
                IMessage m = MessageUtil.error(WeaverMessages.format(WeaverMessages.INVALID_ANNOTATION_VALUE, v,
                    "char"), getSourceLocation());
                scope.getWorld().getMessageHandler().handleMessage(m);
              } else {
                annotationValues.put(k, v.substring(1, 2));
              }
            } else {
              throw new RuntimeException("Not implemented for " + t);
            }
          } else if (t.equals(ResolvedType.JAVA_LANG_STRING)) {
            // nothing to do, it will be OK
          } else {
            throw new RuntimeException("Compiler limitation: annotation value support not implemented for type " + t);
          }
        }
      }
      if (!validKey) {
        IMessage m = MessageUtil.error(WeaverMessages.format(WeaverMessages.UNKNOWN_ANNOTATION_VALUE, annotationType, k),
            getSourceLocation());
        scope.getWorld().getMessageHandler().handleMessage(m);
      }
    }
  }
View Full Code Here

    this.typePattern = typePattern.resolveBindings(scope, bindings, false, false);
    resolved = true;
    if (typePattern instanceof ExactTypePattern) {
      ExactTypePattern et = (ExactTypePattern) typePattern;
      if (!et.getExactType().resolve(scope.getWorld()).isAnnotation()) {
        IMessage m = MessageUtil.error(WeaverMessages.format(WeaverMessages.REFERENCE_TO_NON_ANNOTATION_TYPE, et
            .getExactType().getName()), getSourceLocation());
        scope.getWorld().getMessageHandler().handleMessage(m);
        resolved = false;
      }
      ResolvedType annotationType = et.getExactType().resolve(scope.getWorld());
View Full Code Here

          inJar.close();
        }
        inJar.close();
      }
    } catch (FileNotFoundException ex) {
      IMessage message = new Message("Could not find input jar file " + inFile.getPath() + ", ignoring", new SourceLocation(
          inFile, 0), false);
      world.getMessageHandler().handleMessage(message);
    } catch (IOException ex) {
      IMessage message = new Message("Could not read input jar file " + inFile.getPath() + "(" + ex.getMessage() + ")",
          new SourceLocation(inFile, 0), true);
      world.getMessageHandler().handleMessage(message);
    } finally {
      if (inJar != null) {
        try {
          inJar.close();
        } catch (IOException ex) {
          IMessage message = new Message("Could not close input jar file " + inFile.getPath() + "(" + ex.getMessage()
              + ")", new SourceLocation(inFile, 0), true);
          world.getMessageHandler().handleMessage(message);
        }
      }
    }
View Full Code Here

      if (savedMessages == null) {
        savedMessages = new ArrayList();
        savedMessages.addAll(super.getUnmodifiableListView());
        clearMessages();
        for (Iterator iter = savedMessages.iterator(); iter.hasNext();) {
          IMessage message = (IMessage) iter.next();
          delegate.handleMessage(message);
        }
      }
      // accumulating = false;
      // messages.clear();
View Full Code Here

                // at compile time, otherwise we cannot overwrite it
                if (!(typeTransformerSignature.getName().equals("<init>") && existingMember.isDefaultConstructor())) {
                  String aspectName = typeTransformer.getAspectType().getName();
                  ISourceLocation typeTransformerLocation = typeTransformer.getSourceLocation();
                  ISourceLocation existingMemberLocation = existingMember.getSourceLocation();
                  IMessage errorMessage = null;
                  String msg = WeaverMessages.format(WeaverMessages.ITD_MEMBER_CONFLICT, aspectName,
                      existingMember);

                  // this isn't quite right really... as I think the errors should only be recorded against
                  // what is currently being processed or they may get lost or reported twice
View Full Code Here

    return bcelWeavingSupport;
  }

  @Override
  public void reportCheckerMatch(Checker checker, Shadow shadow) {
    IMessage iMessage = new Message(checker.getMessage(shadow), shadow.toString(), checker.isError() ? IMessage.ERROR
        : IMessage.WARNING, shadow.getSourceLocation(), null, new ISourceLocation[] { checker.getSourceLocation() }, true,
        0, -1, -1);

    getMessageHandler().handleMessage(iMessage);
View Full Code Here

    }
    return true;
  }

  public void error(BcelClassWeaver weaver, String text, ISourceLocation primaryLoc, ISourceLocation[] extraLocs) {
    IMessage msg = new Message(text, primaryLoc, true, extraLocs);
    weaver.getWorld().getMessageHandler().handleMessage(msg);
  }
View Full Code Here

          }
        }
        if (!isOK) {
          // the class does not implement this method, they needed to
          // supply a default impl class
          IMessage msg = new Message("@DeclareParents: No defaultImpl was specified but the type '" + gen.getName()
              + "' does not implement the method '" + stringifyMember(introduced) + "' defined on the interface '"
              + introduced.getDeclaringType() + "'", weaver.getLazyClassGen().getType().getSourceLocation(), true,
              new ISourceLocation[] { munger.getSourceLocation() });
          weaver.getWorld().getMessageHandler().handleMessage(msg);
          return false;
View Full Code Here

      }
    }
  }

  private void signalError(String msgid, BcelClassWeaver weaver, UnresolvedType onType) {
    IMessage msg = MessageUtil.error(WeaverMessages.format(msgid, onType.getName()), getSourceLocation());
    weaver.getWorld().getMessageHandler().handleMessage(msg);
  }
View Full Code Here

TOP

Related Classes of org.aspectj.bridge.IMessage$Kind

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.