From b0971412a2823efef93629d5c83d601b2701e067 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Mon, 8 Jun 2015 14:52:35 +0100 Subject: [PATCH] add inference for null, remove any type parameter from inferred arrays, add todo comment --- src/babel/traversal/path/resolution.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/babel/traversal/path/resolution.js b/src/babel/traversal/path/resolution.js index 5b3c974495..6b25bad024 100644 --- a/src/babel/traversal/path/resolution.js +++ b/src/babel/traversal/path/resolution.js @@ -101,6 +101,10 @@ export function _getTypeAnnotationBindingConstantViolations(name, types = []) { } } +/** + * todo: split up this method + */ + export function _getTypeAnnotation(force?: boolean): ?Object { var node = this.node; @@ -160,7 +164,7 @@ export function _getTypeAnnotation(force?: boolean): ?Object { // if (this.isRestElement() || this.parentPath.isRestElement() || this.isArrayExpression()) { - return t.genericTypeAnnotation(t.identifier("Array"), t.typeParameterInstantiation([t.anyTypeAnnotation()])); + return t.genericTypeAnnotation(t.identifier("Array")); } // @@ -309,6 +313,7 @@ export function _getTypeAnnotation(force?: boolean): ?Object { if (typeof value === "string") return t.stringTypeAnnotation(); if (typeof value === "number") return t.numberTypeAnnotation(); if (typeof value === "boolean") return t.booleanTypeAnnotation(); + if (value === null) return t.voidTypeAnnotation(); if (node.regex) return t.genericTypeAnnotation(t.identifier("RegExp")); }