code: private Node parseTypeExpressionAnnotation(JsDocToken token) {
      if (token == JsDocToken.LEFT_CURLY) {
        skipEOLs();
        Node typeNode = parseTopLevelTypeExpression(next());
        if (typeNode != null) {
          skipEOLs();
          if (!match(JsDocToken.RIGHT_CURLY)) {
            if (typeNode.isString() && "import".equals(typeNode.getString())) {
              reportTypeSyntaxWarning("msg.jsdoc.import");
            } else {
              reportTypeSyntaxWarning("msg.jsdoc.missing.rc");
            }
          } else {
            next();
          }
        }
  
        return typeNode;
      } else {
        // TODO(tbreisacher): Add a SuggestedFix for this warning.
        reportTypeSyntaxWarning("msg.jsdoc.missing.braces");
        return parseTypeExpression(token);
      }
    }
docs: TypeExpressionAnnotation := TypeExpression |
  '{' TopLevelTypeExpression '}'