/** * Parse a description as a {@code @type}. */ public JSDocInfo parseInlineTypeDoc() { skipEOLs(); JsDocToken token = next(); int lineno = stream.getLineno(); int startCharno = stream.getCharno(); Node typeAst = parseParamTypeExpression(token); recordTypeNode(lineno, startCharno, typeAst, token == JsDocToken.LEFT_CURLY); JSTypeExpression expr = createJSTypeExpression(typeAst); if (expr != null) { jsdocBuilder.recordType(expr); jsdocBuilder.recordInlineType(); return retrieveAndResetParsedJSDocInfo(); } return null; }
/** * Parse a description as a {@code @type}. */ public JSDocInfo parseInlineTypeDoc() { skipEOLs(); JsDocToken token = next(); int lineno = stream.getLineno(); int startCharno = stream.getCharno(); Node typeAst = parseParamTypeExpression(token); recordTypeNode(lineno, startCharno, typeAst, token == JsDocToken.LEFT_CURLY); JSTypeExpression expr = createJSTypeExpression(typeAst); if (expr != null) { jsdocBuilder.recordType(expr); jsdocBuilder.recordInlineType(); return retrieveAndResetParsedJSDocInfo(); } return null; }
type = createJSTypeExpression(typeNode); } else { restoreLookAhead(token); type = createJSTypeExpression(newStringNode("number")); type = createJSTypeExpression(typeNode); if (!jsdocBuilder.recordLends(createJSTypeExpression(IR.string(stream.getString())))) { addTypeWarning("msg.jsdoc.lends.incompatible"); type = createJSTypeExpression( parseAndRecordTypeNode(token)); type = createJSTypeExpression( parseAndRecordParamTypeNode(token)); typeNode = wrapNode(Token.BANG, typeNode); type = createJSTypeExpression(typeNode); type = createJSTypeExpression(newNode(Token.QMARK));
type = createJSTypeExpression(typeNode); } else { restoreLookAhead(token); type = createJSTypeExpression(newStringNode("number")); type = createJSTypeExpression(typeNode); type = createJSTypeExpression( parseAndRecordTypeNode(token)); type = createJSTypeExpression( parseAndRecordParamTypeNode(token)); typeNode = wrapNode(Token.BANG, typeNode); type = createJSTypeExpression(typeNode); type = createJSTypeExpression(newNode(Token.QMARK));