static Node parseNode()

in smithy-model/src/main/java/software/amazon/smithy/model/loader/IdlNodeParser.java [39:71]


    static Node parseNode(IdlModelParser parser) {
        char c = parser.peek();
        switch (c) {
            case '{':
                return parseObjectNode(parser, "object node");
            case '[':
                return parseArrayNode(parser);
            case '"': {
                if (peekTextBlock(parser)) {
                    return parseTextBlock(parser);
                } else {
                    SourceLocation location = parser.currentLocation();
                    return new StringNode(IdlTextParser.parseQuotedString(parser), location);
                }
            }
            case '0':
            case '1':
            case '2':
            case '3':
            case '4':
            case '5':
            case '6':
            case '7':
            case '8':
            case '9':
            case '-':
                return parser.parseNumberNode();
            default: {
                SourceLocation location = parser.currentLocation();
                return parseNodeTextWithKeywords(parser, location, ParserUtils.parseShapeId(parser));
            }
        }
    }