Repository: TypeScript
Issue: Code invalid when [jsx=react-jsx] and [module=system]
Labels: Needs Investigation,Fix Available,Rescheduled

<!-- 🚨 STOP 🚨 STOP 🚨 STOP 🚨

Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker. Even if you think you've found a *bug*, please read the FAQ first, especially the Common "Bugs" That Aren't Bugs section!

Please help us by doing the following steps before logging an issue:
  * Search: https://github.com/Microsoft/TypeScript/search?type=Issues
  * Read the FAQ: https://github.com/Microsoft/TypeScript/wiki/FAQ

Please fill in the *entire* template below.
-->

<!--
Please try to reproduce the issue with the latest published version. It may have already been fixed.
For npm: `typescript@next`
This is also the 'Nightly' version in the playground: http://www.typescriptlang.org/play/?ts=Nightly
-->
**TypeScript Version:**  4.2.0-dev.20201210

<!-- Search terms you tried before logging this (so others can find this issue more easily) -->
**Search Terms:** `react-jsx` `react-jsxdev` `systemjs` `code generataion` `emit`

**Code**

```ts
/** x.tsx
 * compile with:
 *   tsc --moduleResolution node --lib esnext --jsx react-jsx --module system x.tsx
 */
import { PureComponent } from 'react';

export class ApplicationRoot extends PureComponent {
	render() {
		return <h1>Hello, React</h1>;
	}
}
```

**Actual behavior:** 
*see "//// <<-- this is wrong" at the end*
```js
System.register(["react/jsx-runtime", "react"], function (exports_1, context_1) {
    "use strict";
    var __extends = (this && this.__extends) || (function () {
        var extendStatics = function (d, b) {
            extendStatics = Object.setPrototypeOf ||
                ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
                function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
            return extendStatics(d, b);
        };
        return function (d, b) {
            if (typeof b !== "function" && b !== null)
                throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
            extendStatics(d, b);
            function __() { this.constructor = d; }
            d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
        };
    })();
    var jsx_runtime_1, react_1, ApplicationRoot;
    var __moduleName = context_1 && context_1.id;
    return {
        setters: [
            function (jsx_runtime_1_1) {
                jsx_runtime_1 = jsx_runtime_1_1;
            },
            function (react_1_1) {
                react_1 = react_1_1;
            }
        ],
        execute: function () {
            ApplicationRoot = /** @class */ (function (_super) {
                __extends(ApplicationRoot, _super);
                function ApplicationRoot() {
                    return _super !== null && _super.apply(this, arguments) || this;
                }
                ApplicationRoot.prototype.render = function () {
                    return _jsx("h1", { children: "Hello, React" }, void 0); //// <<-- this is wrong
                };
                return ApplicationRoot;
            }(react_1.PureComponent));
            exports_1("ApplicationRoot", ApplicationRoot);
        }
    };
});
```

**Expected behavior:** I should be:
```js
return jsx_runtime_1._jsx("h1", { children: "Hello, React" }, void 0);
```


**Playground Link:** *playground seems down when I report this issue*

**Related Issues:** None