예제 #1
0
/* Production 28 chapter 3.4, corba 2.3.1 */
  public void const_type() {
 /*@bgen(jjtree) const_type */
  ASTconst_type jjtn000 = new ASTconst_type(this, IDLParserTreeConstants.JJTCONST_TYPE);
  bool jjtc000 = true;
  jjtree.openNodeScope(jjtn000);
    try {
      if (jj_2_11(2)) {
        integer_type();
      } else {
        switch ((jj_ntk==-1)?jj_ntk_calc():jj_ntk) {
        case 55:
          char_type();
          break;
        case 56:
          wide_char_type();
          break;
        case 57:
          boolean_type();
          break;
        case 50:
        case 51:
        case 52:
          floating_pt_type();
          break;
        case 70:
          string_type();
          break;
        case 71:
          wide_string_type();
          break;
        case 83:
          fixed_pt_const_type();
          break;
        case 21:
        case IDLParserConstants.ID:
          scoped_name();
          break;
        case 58:
          octet_type();
          break;
        default:
          jj_la1[33] = jj_gen;
          jj_consume_token(-1);
          throw new ParseException();
          break;
        }
      }
    } catch (Exception jjte000) {
    if (jjtc000) {
      jjtree.clearNodeScope(jjtn000);
      jjtc000 = false;
    } else {
      jjtree.popNode();
    }
  {if (true) throw ;}
    } finally {
    if (jjtc000) {
      jjtree.closeNodeScope(jjtn000, true);
    }
    }
  }
 /**
  * @see parser.IDLParserVisitor#visit(ASTconst_type, Object)
  */
 public Object visit(ASTconst_type node, Object data) {
     CheckParameterForBuildInfo(data, node);
     BuildInfo buildInfo = (BuildInfo)data;
     SimpleNode child = (SimpleNode)node.jjtGetChild(0);
     return ResovleTypeSpec(child, buildInfo);
 }