/** * Splits a '.' separated qualified name into a tree of type segments. * * @param typeName a qualified name such as "goog.ui.Window" * @return a new node representing the type * @see #namedType(Iterable) */ public static TypeDeclarationNode namedType(String typeName) { return namedType(Splitter.on('.').split(typeName)); }
/** * Splits a '.' separated qualified name into a tree of type segments. * * @param typeName a qualified name such as "goog.ui.Window" * @return a new node representing the type * @see #namedType(Iterable) */ public static TypeDeclarationNode namedType(String typeName) { return namedType(Splitter.on('.').split(typeName)); }
Node processTypeName(TypeNameTree tree) { Node typeNode; if (tree.segments.size() == 1) { String typeName = tree.segments.get(0); if (typeName.equals("any")) typeNode = cloneProps(anyType()); else if (typeName.equals("number")) typeNode = cloneProps(numberType()); else if (typeName.equals("boolean")) typeNode = cloneProps(booleanType()); else if (typeName.equals("string")) typeNode = cloneProps(stringType()); else if (typeName.equals("void")) typeNode = cloneProps(voidType()); else if (typeName.equals("undefined")) typeNode = cloneProps(undefinedType()); else typeNode = cloneProps(namedType(tree.segments)); } else { typeNode = cloneProps(namedType(tree.segments)); } setSourceInfo(typeNode, tree); return typeNode; }
JSDocInfoBuilder builder = new JSDocInfoBuilder(false); builder.recordType(new JSTypeExpression( convertWithLocation(TypeDeclarationsIR.namedType("Function")), n.getSourceFileName())); originalJsDocNode.setJSDocInfo(builder.build());
return null; else { TypeDeclarationNode root = namedType(typeName); if (n.getChildCount() > 0 && n.getFirstChild().isBlock()) { Node block = n.getFirstChild();
memberVariable.setDeclaredTypeExpression(type); } else { memberVariable.setDeclaredTypeExpression(TypeDeclarationsIR.namedType("Function"));
memberVariable.setDeclaredTypeExpression(type); } else { memberVariable.setDeclaredTypeExpression(TypeDeclarationsIR.namedType("Function"));
String newTypeName = convertTypeName(n.getSourceFileName(), typeName); newTypeName = convertExternNameToTypingName(newTypeName); TypeDeclarationNode root = namedType(newTypeName); if (n.getChildCount() > 0 && n.getFirstChild().isNormalBlock()) { Node block = n.getFirstChild(); return convertTypeNodeAST(n.getFirstChild()); case NAME: return namedType(n.getString()); default: throw new IllegalArgumentException("Unsupported node type:\n" + n.toStringTree());
JSDocInfoBuilder builder = new JSDocInfoBuilder(false); builder.recordType(new JSTypeExpression( convertWithLocation(TypeDeclarationsIR.namedType("Function")), n.getSourceFileName())); originalJsDocNode.setJSDocInfo(builder.build()); return;