code: private Node parseAndRecordTypeNode(
        JsDocToken token,
        int lineno,
        int startCharno,
        boolean matchingLC,
        boolean onlyParseSimpleNames) {
      Node typeNode;
  
      if (onlyParseSimpleNames) {
        typeNode = parseTypeNameAnnotation(token);
      } else {
        typeNode = parseTypeExpressionAnnotation(token);
      }
  
      recordTypeNode(lineno, startCharno, typeNode, matchingLC);
      return typeNode;
    }
docs: Looks for a parameter type expression at the current token and if found, returns it. Note that
  this method consumes input.
  
  @param token The current token.
  @param lineno The line of the type expression.
  @param startCharno The starting character position of the type expression.
  @param matchingLC Whether the type expression starts with a "{".
  @param onlyParseSimpleNames If true, only simple type names are parsed (via a call to
  parseTypeNameAnnotation instead of parseTypeExpressionAnnotation).
  @return The type expression found or null if none.