Package com.google.java.contract.core.util.JavaTokenizer

Examples of com.google.java.contract.core.util.JavaTokenizer.Token


      StringBuilder oldBuffer = null;
      String oldName = null;
      int oldContext = -1;

      while (tokenizer.hasNext()) {
        Token token = tokenizer.next();
        newLevel = tokenizer.getCurrentLevel();

        StringBuilder currentBuffer = oldBuffer != null ? oldBuffer : buffer;

        /* Unexpected ';' error. */
        if (newLevel == 0 && token.text.equals(";")) {
          diagnosticManager.error("'\"' expected",
              expr, token.offset, token.offset, token.offset,
              sourceInfo);
          parsed = false;
          continue code;
        }

        /* old expressions. */
        if (oldBuffer != null) {
          if (newLevel == oldContext) {
            /* End of old expression. */
            String oldExpr = oldBuffer.toString();
            oldParameters.add(
                new VariableModel(ElementKind.PARAMETER, oldName,
                                  new ClassName("java/lang/Object")));
            oldParametersCode.add(oldExpr);
            oldParametersLineNumbers.add(lineNumber);

            /* Pad buffer (for error reporting purposes). */
            buffer.append("(   ");

            /* Replace old expression in original expression. */
            buffer.append(JavaUtils.BEGIN_GENERATED_CODE);
            buffer.append(MAGIC_CAST_METHOD);
            buffer.append("(");
            buffer.append(oldName);
            buffer.append(", ");
            buffer.append("true ? null : ");
            buffer.append(JavaUtils.END_GENERATED_CODE);
            buffer.append(oldExpr);
            buffer.append(JavaUtils.BEGIN_GENERATED_CODE);
            buffer.append(")");
            buffer.append(JavaUtils.END_GENERATED_CODE);

            /* Pad buffer (for error reporting purposes). */
            buffer.append(")");

            /* Exit old context. */
            oldBuffer = null;
            oldContext = -1;
          } else {
            switch (token.kind) {
              case WORD:
                if (token.text.equals("old")) {
                  diagnosticManager.error("nested old expression",
                      expr, token.offset, token.offset, token.offset,
                      sourceInfo);
                  parsed = false;
                  continue code;
                }
                oldBuffer.append(token.text);
                break;
              default:
                transformCommon(oldBuffer, tokenizer, token);
            }
          }
        } else {
          switch (token.kind) {
            case WORD:
              if (acceptOld && token.text.equals("old")) {
                /* Start of old expression. */
                Token afterOld = null;
                if (!tokenizer.hasNext()
                    || !((afterOld = tokenizer.next()).text.equals("(")
                         || (afterOld.kind == TokenKind.SPACE
                             && tokenizer.hasNext()
                             && tokenizer.next().text.equals("(")))) {
View Full Code Here


                                 Set<String> whitelist) {
    StringBuilder buffer = new StringBuilder();
    PushbackTokenizer tokenizer = new PushbackTokenizer(new StringReader(code));
    boolean qualified = false;
    while (tokenizer.hasNext()) {
      Token token = tokenizer.next();
      if (!qualified && token.kind == TokenKind.WORD
          && (whitelist == null || !whitelist.contains(token.text))) {
        if (token.text.equals("this")) {
          buffer.append("( ");
          buffer.append(JavaUtils.BEGIN_GENERATED_CODE);
View Full Code Here

TOP

Related Classes of com.google.java.contract.core.util.JavaTokenizer.Token

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.