* Add support for Optional Chaining * Add grammar error for invalid tagged template, more tests * Prototype * PR feedback * Add errors for invalid assignments and a trailing '?.' * Add additional signature help test, fix lint warnings * Fix to insert text for completions * Add initial control-flow analysis for optional chains * PR Feedback and more tests * Update to control flow * Remove mangled smart quotes in comments * Fix lint, PR feedback * Updates to control flow * Switch to FlowCondition for CFA of optional chains * Fix ?. insertion for completions on type variables * Accept API baseline change * Clean up types * improve control-flow debug output * Revert Debug.formatControlFlowGraph helper
31 lines
717 B
Text
31 lines
717 B
Text
=== tests/cases/conformance/expressions/optionalChaining/callChain/callChain.2.ts ===
|
|
declare const o1: undefined | (() => number);
|
|
>o1 : () => number
|
|
|
|
o1?.();
|
|
>o1?.() : number
|
|
>o1 : () => number
|
|
|
|
declare const o2: undefined | { b: () => number };
|
|
>o2 : { b: () => number; }
|
|
>b : () => number
|
|
|
|
o2?.b();
|
|
>o2?.b() : number
|
|
>o2?.b : () => number
|
|
>o2 : { b: () => number; }
|
|
>b : () => number
|
|
|
|
declare const o3: { b: (() => { c: string }) | undefined };
|
|
>o3 : { b: () => { c: string; }; }
|
|
>b : () => { c: string; }
|
|
>c : string
|
|
|
|
o3.b?.().c;
|
|
>o3.b?.().c : string
|
|
>o3.b?.() : { c: string; }
|
|
>o3.b : () => { c: string; }
|
|
>o3 : { b: () => { c: string; }; }
|
|
>b : () => { c: string; }
|
|
>c : string
|
|
|