From 0bda862ccaddf6b5780db3cfa163f320c530d3b7 Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Mon, 14 May 2018 22:49:50 -0700 Subject: [PATCH] Remove assert --- src/compiler/checker.ts | 2 +- .../codeFixInferFromUsageJSXElement.ts | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/codeFixInferFromUsageJSXElement.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b85acc03d46..f308348fb46 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -3604,7 +3604,7 @@ namespace ts { function symbolToParameterDeclaration(parameterSymbol: Symbol, context: NodeBuilderContext, preserveModifierFlags?: boolean): ParameterDeclaration { const parameterDeclaration = getDeclarationOfKind(parameterSymbol, SyntaxKind.Parameter); - Debug.assert(!!parameterDeclaration || isTransientSymbol(parameterSymbol) && !!parameterSymbol.isRestParameter); + Debug.assert(!!parameterDeclaration || isTransientSymbol(parameterSymbol)); let parameterType = getTypeOfSymbol(parameterSymbol); if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { diff --git a/tests/cases/fourslash/codeFixInferFromUsageJSXElement.ts b/tests/cases/fourslash/codeFixInferFromUsageJSXElement.ts new file mode 100644 index 00000000000..c7ce7cc6bdd --- /dev/null +++ b/tests/cases/fourslash/codeFixInferFromUsageJSXElement.ts @@ -0,0 +1,40 @@ +/// + +// @noImplicitAny: true +// @jsx: react +// @module: es2015 +// @moduleResolution: node + +// @Filename: /node_modules/@types/react/index.d.ts +////export = React; +////export as namespace React; +////declare namespace React { +//// export class Component { render(): JSX.Element | null; } +////} +////declare global { +//// namespace JSX { +//// interface Element {} +//// } +////} + + +// @filename: a.tsx +//// import React from 'react'; +//// +//// export default function Component([|props |]) { +//// if (props.isLoading) { +//// return
...Loading < /div>; +//// } +//// else { +//// return { +//// return props.update(rec); +//// } +//// } +//// />; +//// } +//// } + + +verify.rangeAfterCodeFix("props: { isLoading: any; update: (...arg0: any) => void; }",/*includeWhiteSpace*/ undefined, /*errorCode*/ undefined, 0); \ No newline at end of file