Error message improvement for unexpected tokens in the following situations: * A word was parsed that seems to have a low edit distance from a known common keyword * A word was parsed that seems to be a known common keyword and a name _without_ a space in-between * Parsing in a particular type of node (mostly a class property declaration) got a different word or token than expected ___ * Specific diagnostic suggestions for unexpected keywords or identifier * Don't reach into there, that's not allowed * Improved error when there is already an initializer * Specific module error message for invalid template literal strings * Skip 'unexpected keyword or identifier' diagnostics for declare nodes * Improve error for function calls in type positions * Switch class properties to old diagnostic * Corrected errors in class members and reused existing textToKeywordObj map * Corrected more baselines from the merge * Update src/compiler/parser.ts Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com> * Mostly addressed feedback * Clarified function call type message * Split up and clarified parsing vs error functions * Swap interface name complaints back, and skip new errors on unknown (invalid) tokens * Used tokenToString, not a raw semicolon * Inline getExpressionText helper * Remove remarks in src/compiler/parser.ts Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
38 lines
1.8 KiB
Plaintext
38 lines
1.8 KiB
Plaintext
tests/cases/compiler/innerModExport2.ts(5,5): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`.
|
|
tests/cases/compiler/innerModExport2.ts(5,12): error TS1437: Namespace must be given a name.
|
|
tests/cases/compiler/innerModExport2.ts(7,20): error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local.
|
|
tests/cases/compiler/innerModExport2.ts(13,9): error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local.
|
|
tests/cases/compiler/innerModExport2.ts(20,7): error TS2339: Property 'NonExportFunc' does not exist on type 'typeof Outer'.
|
|
|
|
|
|
==== tests/cases/compiler/innerModExport2.ts (5 errors) ====
|
|
module Outer {
|
|
|
|
// inner mod 1
|
|
var non_export_var: number;
|
|
module {
|
|
~~~~~~
|
|
!!! error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`.
|
|
~
|
|
!!! error TS1437: Namespace must be given a name.
|
|
var non_export_var = 0;
|
|
export var export_var = 1;
|
|
~~~~~~~~~~
|
|
!!! error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local.
|
|
|
|
function NonExportFunc() { return 0; }
|
|
|
|
export function ExportFunc() { return 0; }
|
|
}
|
|
var export_var: number;
|
|
~~~~~~~~~~
|
|
!!! error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local.
|
|
|
|
export var outer_var_export = 0;
|
|
export function outerFuncExport() { return 0; }
|
|
|
|
}
|
|
|
|
Outer.NonExportFunc();
|
|
~~~~~~~~~~~~~
|
|
!!! error TS2339: Property 'NonExportFunc' does not exist on type 'typeof Outer'. |