From fa670ac71e7c85e022b4d75ddd3eb52bdb5d6508 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Tue, 9 Jun 2015 22:52:21 +0100 Subject: [PATCH] visually split up inference inferer methods --- .../traversal/path/inference/inferers.js | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/src/babel/traversal/path/inference/inferers.js b/src/babel/traversal/path/inference/inferers.js index 2e6747f086..8d95e68019 100644 --- a/src/babel/traversal/path/inference/inferers.js +++ b/src/babel/traversal/path/inference/inferers.js @@ -2,6 +2,8 @@ import * as t from "../../../types"; export { default as Identifier } from "./inferer-reference"; +// + export function VariableDeclarator() { var id = this.get("id"); @@ -12,12 +14,16 @@ export function VariableDeclarator() { } } +// + export function TypeCastExpression(node) { return node.typeAnnotation; } TypeCastExpression.validParent = true; +// + export function NewExpression(node) { if (this.get("callee").isIdentifier()) { // only resolve identifier callee @@ -25,10 +31,14 @@ export function NewExpression(node) { } } +// + export function TemplateLiteral() { return t.stringTypeAnnotation(); } +// + export function UnaryExpression(node) { let operator = node.operator; @@ -43,6 +53,8 @@ export function UnaryExpression(node) { } } +// + export function BinaryExpression(node) { let operator = node.operator; @@ -70,6 +82,8 @@ export function BinaryExpression(node) { } } +// + export function LogicalExpression() { return t.createUnionTypeAnnotation([ this.get("left").getTypeAnnotation(), @@ -77,6 +91,8 @@ export function LogicalExpression() { ]); } +// + export function ConditionalExpression() { return t.createUnionTypeAnnotation([ this.get("consequent").getTypeAnnotation(), @@ -84,14 +100,20 @@ export function ConditionalExpression() { ]); } +// + export function SequenceExpression(node) { return this.get("expressions").pop().getTypeAnnotation(); } +// + export function AssignmentExpression(node) { return this.get("right").getTypeAnnotation(); } +// + export function UpdateExpression(node) { let operator = node.operator; if (operator === "++" || operator === "--") { @@ -99,6 +121,8 @@ export function UpdateExpression(node) { } } +// + export function Literal(node) { var value = node.value; if (typeof value === "string") return t.stringTypeAnnotation(); @@ -108,26 +132,36 @@ export function Literal(node) { if (node.regex) return t.genericTypeAnnotation(t.identifier("RegExp")); } +// + export function ObjectExpression() { return t.genericTypeAnnotation(t.identifier("Object")); } +// + export function ArrayExpression () { return t.genericTypeAnnotation(t.identifier("Array")); } +// + export function RestElement() { return ArrayExpression(); } RestElement.validParent = true; -export function Func() { +// + +function Func() { return t.genericTypeAnnotation(t.identifier("Function")); } export { Func as Function, Func as Class }; +// + export function CallExpression() { return resolveCall(this.get("callee")); }