Exemplo n.º 1
0
  @DSGenerator(
      tool_name = "Doppelganger",
      tool_version = "2.0",
      generated_on = "2013-12-30 12:55:51.655 -0500",
      hash_original_method = "2B8F776DAFC357EFC899FF251A427EF6",
      hash_generated_method = "FED05485A0974D95153CC926E74EE894")
  protected NameValue nameValue(char separator) throws ParseException {
    if (debug) dbg_enter("nameValue");
    try {

      lexer.match(LexerCore.ID);
      Token name = lexer.getNextToken();
      // eat white space.
      lexer.SPorHT();
      try {

        boolean quoted = false;

        char la = lexer.lookAhead(0);

        if (la == separator) {
          lexer.consume(1);
          lexer.SPorHT();
          String str = null;
          boolean isFlag = false;
          if (lexer.lookAhead(0) == '\"') {
            str = lexer.quotedString();
            quoted = true;
          } else {
            lexer.match(LexerCore.ID);
            Token value = lexer.getNextToken();
            str = value.tokenValue;

            // JvB: flag parameters must be empty string!
            if (str == null) {
              str = "";
              isFlag = true;
            }
          }
          NameValue nv = new NameValue(name.tokenValue, str, isFlag);
          if (quoted) nv.setQuotedValue();
          return nv;
        } else {
          // JvB: flag parameters must be empty string!
          return new NameValue(name.tokenValue, "", true);
        }
      } catch (ParseException ex) {
        return new NameValue(name.tokenValue, null, false);
      }

    } finally {
      if (debug) dbg_leave("nameValue");
    }
  }