From 79bf477b675ebf6afb7c68f3784a7e8a294403f8 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Wed, 23 Nov 2016 12:24:44 -0800 Subject: [PATCH] Revert "Instead of creating clone of the jsxFactory's leaf node, create synthesized node" This reverts commit 4e7313b4f69682df92c48feac6aa50910a592d04. --- src/compiler/factory.ts | 14 +++++++--- .../jsxFactoryQualifiedNameWithEs5.js | 27 ------------------- .../jsxFactoryQualifiedNameWithEs5.symbols | 23 ---------------- .../jsxFactoryQualifiedNameWithEs5.types | 27 ------------------- .../jsxFactoryQualifiedNameWithEs5.ts | 17 ------------ 5 files changed, 10 insertions(+), 98 deletions(-) delete mode 100644 tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.js delete mode 100644 tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.symbols delete mode 100644 tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.types delete mode 100644 tests/cases/compiler/jsxFactoryQualifiedNameWithEs5.ts diff --git a/src/compiler/factory.ts b/src/compiler/factory.ts index ebcea221f9e..63333dbe0b2 100644 --- a/src/compiler/factory.ts +++ b/src/compiler/factory.ts @@ -1677,10 +1677,16 @@ namespace ts { function createJsxFactoryExpressionFromEntityName(jsxFactory: EntityName, parent: JsxOpeningLikeElement): Expression { if (isQualifiedName(jsxFactory)) { - const left = createJsxFactoryExpressionFromEntityName(jsxFactory.left, parent); - const right = createSynthesizedNode(SyntaxKind.Identifier); - right.text = jsxFactory.right.text; - return createPropertyAccess(left, right); + return createPropertyAccess( + createJsxFactoryExpressionFromEntityName( + jsxFactory.left, + parent + ), + setEmitFlags( + getMutableClone(jsxFactory.right), + EmitFlags.NoSourceMap + ) + ); } else { return createReactNamespace(jsxFactory.text, parent); diff --git a/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.js b/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.js deleted file mode 100644 index ecf7d13d89d..00000000000 --- a/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.js +++ /dev/null @@ -1,27 +0,0 @@ -//// [index.tsx] - -import "./jsx"; - -var skate: any; -const React = { createElement: skate.h }; - -class Component { - renderCallback() { - return
test
; - } -}; - -//// [index.js] -"use strict"; -require("./jsx"); -var skate; -var React = { createElement: skate.h }; -var Component = (function () { - function Component() { - } - Component.prototype.renderCallback = function () { - return skate.h("div", null, "test"); - }; - return Component; -}()); -; diff --git a/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.symbols b/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.symbols deleted file mode 100644 index 35879c81ca6..00000000000 --- a/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.symbols +++ /dev/null @@ -1,23 +0,0 @@ -=== tests/cases/compiler/index.tsx === - -import "./jsx"; - -var skate: any; ->skate : Symbol(skate, Decl(index.tsx, 3, 3)) - -const React = { createElement: skate.h }; ->React : Symbol(React, Decl(index.tsx, 4, 5)) ->createElement : Symbol(createElement, Decl(index.tsx, 4, 15)) ->skate : Symbol(skate, Decl(index.tsx, 3, 3)) - -class Component { ->Component : Symbol(Component, Decl(index.tsx, 4, 41)) - - renderCallback() { ->renderCallback : Symbol(Component.renderCallback, Decl(index.tsx, 6, 17)) - - return
test
; ->div : Symbol(unknown) ->div : Symbol(unknown) - } -}; diff --git a/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.types b/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.types deleted file mode 100644 index 21fd4bae84b..00000000000 --- a/tests/baselines/reference/jsxFactoryQualifiedNameWithEs5.types +++ /dev/null @@ -1,27 +0,0 @@ -=== tests/cases/compiler/index.tsx === - -import "./jsx"; - -var skate: any; ->skate : any - -const React = { createElement: skate.h }; ->React : { createElement: any; } ->{ createElement: skate.h } : { createElement: any; } ->createElement : any ->skate.h : any ->skate : any ->h : any - -class Component { ->Component : Component - - renderCallback() { ->renderCallback : () => any - - return
test
; ->
test
: any ->div : any ->div : any - } -}; diff --git a/tests/cases/compiler/jsxFactoryQualifiedNameWithEs5.ts b/tests/cases/compiler/jsxFactoryQualifiedNameWithEs5.ts deleted file mode 100644 index 86fd9935a1f..00000000000 --- a/tests/cases/compiler/jsxFactoryQualifiedNameWithEs5.ts +++ /dev/null @@ -1,17 +0,0 @@ -//@module: commonjs -//@target: es5 -//@jsx: react -//@jsxFactory: skate.h -//@noEmit: false - -// @filename: index.tsx -import "./jsx"; - -var skate: any; -const React = { createElement: skate.h }; - -class Component { - renderCallback() { - return
test
; - } -}; \ No newline at end of file