diff --git a/.gitignore b/.gitignore index ef631d99d78..af48864ed87 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ tests/*.d.ts *.config scripts/debug.bat scripts/run.bat +coverage/ \ No newline at end of file diff --git a/bin/lib.core.d.ts b/bin/lib.core.d.ts index 3decae55c8c..b3bd2ae8e55 100644 --- a/bin/lib.core.d.ts +++ b/bin/lib.core.d.ts @@ -317,13 +317,13 @@ interface String { * Matches a string with a regular expression, and returns an array containing the results of that search. * @param regexp A variable name or string literal containing the regular expression pattern and flags. */ - match(regexp: string): string[]; + match(regexp: string): RegExpMatchArray; /** * Matches a string with a regular expression, and returns an array containing the results of that search. * @param regexp A regular expression object that contains the regular expression pattern and applicable flags. */ - match(regexp: RegExp): string[]; + match(regexp: RegExp): RegExpMatchArray; /** * Replaces text in a string, using a regular expression or search string. @@ -790,38 +790,15 @@ declare var Date: { now(): number; } -interface RegExpExecArray { - [index: number]: string; - length: number; - - index: number; - input: string; - - toString(): string; - toLocaleString(): string; - concat(...items: string[][]): string[]; - join(separator?: string): string; - pop(): string; - push(...items: string[]): number; - reverse(): string[]; - shift(): string; - slice(start?: number, end?: number): string[]; - sort(compareFn?: (a: string, b: string) => number): string[]; - splice(start: number): string[]; - splice(start: number, deleteCount: number, ...items: string[]): string[]; - unshift(...items: string[]): number; - - indexOf(searchElement: string, fromIndex?: number): number; - lastIndexOf(searchElement: string, fromIndex?: number): number; - every(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; - some(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; - forEach(callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any): void; - map(callbackfn: (value: string, index: number, array: string[]) => any, thisArg?: any): any[]; - filter(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): string[]; - reduce(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; - reduceRight(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; +interface RegExpMatchArray extends Array { + index?: number; + input?: string; } +interface RegExpExecArray extends Array { + index: number; + input: string; +} interface RegExp { /** diff --git a/bin/lib.d.ts b/bin/lib.d.ts index 6a97175c5e8..6aea1ab65f6 100644 --- a/bin/lib.d.ts +++ b/bin/lib.d.ts @@ -317,13 +317,13 @@ interface String { * Matches a string with a regular expression, and returns an array containing the results of that search. * @param regexp A variable name or string literal containing the regular expression pattern and flags. */ - match(regexp: string): string[]; + match(regexp: string): RegExpMatchArray; /** * Matches a string with a regular expression, and returns an array containing the results of that search. * @param regexp A regular expression object that contains the regular expression pattern and applicable flags. */ - match(regexp: RegExp): string[]; + match(regexp: RegExp): RegExpMatchArray; /** * Replaces text in a string, using a regular expression or search string. @@ -790,38 +790,15 @@ declare var Date: { now(): number; } -interface RegExpExecArray { - [index: number]: string; - length: number; - - index: number; - input: string; - - toString(): string; - toLocaleString(): string; - concat(...items: string[][]): string[]; - join(separator?: string): string; - pop(): string; - push(...items: string[]): number; - reverse(): string[]; - shift(): string; - slice(start?: number, end?: number): string[]; - sort(compareFn?: (a: string, b: string) => number): string[]; - splice(start: number): string[]; - splice(start: number, deleteCount: number, ...items: string[]): string[]; - unshift(...items: string[]): number; - - indexOf(searchElement: string, fromIndex?: number): number; - lastIndexOf(searchElement: string, fromIndex?: number): number; - every(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; - some(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; - forEach(callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any): void; - map(callbackfn: (value: string, index: number, array: string[]) => any, thisArg?: any): any[]; - filter(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): string[]; - reduce(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; - reduceRight(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; +interface RegExpMatchArray extends Array { + index?: number; + input?: string; } +interface RegExpExecArray extends Array { + index: number; + input: string; +} interface RegExp { /** diff --git a/bin/tsc.js b/bin/tsc.js index fb6fd8be0b7..36d85d40758 100644 --- a/bin/tsc.js +++ b/bin/tsc.js @@ -119,7 +119,30 @@ var ts; An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name: { code: 1118, category: 1 /* Error */, key: "An object literal cannot have multiple get/set accessors with the same name." }, An_object_literal_cannot_have_property_and_accessor_with_the_same_name: { code: 1119, category: 1 /* Error */, key: "An object literal cannot have property and accessor with the same name." }, An_export_assignment_cannot_have_modifiers: { code: 1120, category: 1 /* Error */, key: "An export assignment cannot have modifiers." }, + Octal_literals_are_not_allowed_in_strict_mode: { code: 1121, category: 1 /* Error */, key: "Octal literals are not allowed in strict mode." }, Duplicate_identifier_0: { code: 2000, category: 1 /* Error */, key: "Duplicate identifier '{0}'." }, + Extends_clause_of_exported_class_0_has_or_is_using_private_name_1: { code: 2018, category: 1 /* Error */, key: "Extends clause of exported class '{0}' has or is using private name '{1}'." }, + Implements_clause_of_exported_class_0_has_or_is_using_private_name_1: { code: 2019, category: 1 /* Error */, key: "Implements clause of exported class '{0}' has or is using private name '{1}'." }, + Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1: { code: 2020, category: 1 /* Error */, key: "Extends clause of exported interface '{0}' has or is using private name '{1}'." }, + Extends_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2: { code: 2021, category: 1 /* Error */, key: "Extends clause of exported class '{0}' has or is using name '{1}' from private module '{2}'." }, + Implements_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2: { code: 2022, category: 1 /* Error */, key: "Implements clause of exported class '{0}' has or is using name '{1}' from private module '{2}'." }, + Extends_clause_of_exported_interface_0_has_or_is_using_name_1_from_private_module_2: { code: 2023, category: 1 /* Error */, key: "Extends clause of exported interface '{0}' has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 2208, category: 1 /* Error */, key: "Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 2209, category: 1 /* Error */, key: "Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: { code: 2210, category: 1 /* Error */, key: "Type parameter '{0}' of public static method from exported class has or is using private name '{1}'." }, + Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1: { code: 2211, category: 1 /* Error */, key: "Type parameter '{0}' of public method from exported class has or is using private name '{1}'." }, + Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1: { code: 2212, category: 1 /* Error */, key: "Type parameter '{0}' of method from exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_exported_function_has_or_is_using_private_name_1: { code: 2213, category: 1 /* Error */, key: "Type parameter '{0}' of exported function has or is using private name '{1}'." }, + Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2214, category: 1 /* Error */, key: "Type parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2215, category: 1 /* Error */, key: "Type parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2216, category: 1 /* Error */, key: "Type parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2217, category: 1 /* Error */, key: "Type parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2218, category: 1 /* Error */, key: "Type parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2: { code: 2219, category: 1 /* Error */, key: "Type parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 2220, category: 1 /* Error */, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." }, + Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: { code: 2221, category: 1 /* Error */, key: "Type parameter '{0}' of exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2222, category: 1 /* Error */, key: "Type parameter '{0}' of exported class has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2223, category: 1 /* Error */, key: "Type parameter '{0}' of exported interface has or is using name '{1}' from private module '{2}'." }, new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: { code: 2068, category: 1 /* Error */, key: "'new T[]' cannot be used to create an array. Use 'new Array()' instead." }, Multiple_constructor_implementations_are_not_allowed: { code: 2070, category: 1 /* Error */, key: "Multiple constructor implementations are not allowed." }, A_class_may_only_implement_another_class_or_interface: { code: 2074, category: 1 /* Error */, key: "A class may only implement another class or interface." }, @@ -223,13 +246,57 @@ var ts; Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property: { code: 4019, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property." }, In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element: { code: 4024, category: 1 /* Error */, key: "In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element." }, Named_properties_0_of_types_1_and_2_are_not_identical: { code: 4032, category: 3 /* NoPrefix */, key: "Named properties '{0}' of types '{1}' and '{2}' are not identical." }, + The_current_host_does_not_support_the_0_option: { code: 5001, category: 1 /* Error */, key: "The current host does not support the '{0}' option." }, Cannot_find_the_common_subdirectory_path_for_the_input_files: { code: 5009, category: 1 /* Error */, key: "Cannot find the common subdirectory path for the input files." }, Cannot_read_file_0_Colon_1: { code: 5012, category: 1 /* Error */, key: "Cannot read file '{0}': {1}" }, Unsupported_file_encoding: { code: 5013, category: 3 /* NoPrefix */, key: "Unsupported file encoding." }, Could_not_write_file_0_Colon_1: { code: 5033, category: 1 /* Error */, key: "Could not write file '{0}': {1}" }, Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5038, category: 1 /* Error */, key: "Option mapRoot cannot be specified without specifying sourcemap option." }, Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5039, category: 1 /* Error */, key: "Option sourceRoot cannot be specified without specifying sourcemap option." }, + Concatenate_and_emit_output_to_single_file: { code: 6001, category: 2 /* Message */, key: "Concatenate and emit output to single file." }, + Generates_corresponding_d_ts_file: { code: 6002, category: 2 /* Message */, key: "Generates corresponding '.d.ts' file." }, + Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: { code: 6003, category: 2 /* Message */, key: "Specifies the location where debugger should locate map files instead of generated locations." }, + Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations: { code: 6004, category: 2 /* Message */, key: "Specifies the location where debugger should locate TypeScript files instead of source locations." }, + Watch_input_files: { code: 6005, category: 2 /* Message */, key: "Watch input files." }, + Redirect_output_structure_to_the_directory: { code: 6006, category: 2 /* Message */, key: "Redirect output structure to the directory." }, + Do_not_emit_comments_to_output: { code: 6009, category: 2 /* Message */, key: "Do not emit comments to output." }, + Skip_resolution_and_preprocessing: { code: 6010, category: 2 /* Message */, key: "Skip resolution and preprocessing." }, + Specify_ECMAScript_target_version_Colon_ES3_default_or_ES5: { code: 6015, category: 2 /* Message */, key: "Specify ECMAScript target version: 'ES3' (default), or 'ES5'" }, + Specify_module_code_generation_Colon_commonjs_or_amd: { code: 6016, category: 2 /* Message */, key: "Specify module code generation: 'commonjs' or 'amd'" }, + Print_this_message: { code: 6017, category: 2 /* Message */, key: "Print this message." }, + Print_the_compiler_s_version: { code: 6019, category: 2 /* Message */, key: "Print the compiler's version." }, + Allow_use_of_deprecated_0_keyword_when_referencing_an_external_module: { code: 6021, category: 2 /* Message */, key: "Allow use of deprecated '{0}' keyword when referencing an external module." }, + Specify_locale_for_errors_and_messages_For_example_0_or_1: { code: 6022, category: 2 /* Message */, key: "Specify locale for errors and messages. For example '{0}' or '{1}'" }, + Syntax_Colon_0: { code: 6023, category: 2 /* Message */, key: "Syntax: {0}" }, + options: { code: 6024, category: 2 /* Message */, key: "options" }, + file: { code: 6025, category: 2 /* Message */, key: "file" }, + Examples_Colon_0: { code: 6026, category: 2 /* Message */, key: "Examples: {0}" }, + Options_Colon: { code: 6027, category: 2 /* Message */, key: "Options:" }, Version_0: { code: 6029, category: 2 /* Message */, key: "Version {0}" }, + Insert_command_line_options_and_files_from_a_file: { code: 6030, category: 2 /* Message */, key: "Insert command line options and files from a file." }, + Use_the_0_flag_to_see_options: { code: 6031, category: 2 /* Message */, key: "Use the '{0}' flag to see options." }, + File_change_detected_Compiling: { code: 6032, category: 2 /* Message */, key: "File change detected. Compiling..." }, + STRING: { code: 6033, category: 2 /* Message */, key: "STRING" }, + KIND: { code: 6034, category: 2 /* Message */, key: "KIND" }, + FILE: { code: 6035, category: 2 /* Message */, key: "FILE" }, + VERSION: { code: 6036, category: 2 /* Message */, key: "VERSION" }, + LOCATION: { code: 6037, category: 2 /* Message */, key: "LOCATION" }, + DIRECTORY: { code: 6038, category: 2 /* Message */, key: "DIRECTORY" }, + NUMBER: { code: 6039, category: 2 /* Message */, key: "NUMBER" }, + Specify_the_codepage_to_use_when_opening_source_files: { code: 6040, category: 2 /* Message */, key: "Specify the codepage to use when opening source files." }, + Additional_locations_Colon: { code: 6041, category: 2 /* Message */, key: "Additional locations:" }, + Compilation_complete_Watching_for_file_changes: { code: 6042, category: 2 /* Message */, key: "Compilation complete. Watching for file changes." }, + Generates_corresponding_map_file: { code: 6043, category: 2 /* Message */, key: "Generates corresponding '.map' file." }, + Compiler_option_0_expects_an_argument: { code: 6044, category: 1 /* Error */, key: "Compiler option '{0}' expects an argument." }, + Unterminated_quoted_string_in_response_file_0: { code: 6045, category: 1 /* Error */, key: "Unterminated quoted string in response file '{0}'." }, + Argument_for_module_option_must_be_commonjs_or_amd: { code: 6045, category: 1 /* Error */, key: "Argument for '--module' option must be 'commonjs' or 'amd'." }, + Argument_for_target_option_must_be_es3_or_es5: { code: 6046, category: 1 /* Error */, key: "Argument for '--target' option must be 'es3' or 'es5'." }, + Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: { code: 6047, category: 1 /* Error */, key: "Locale must be of the form or -. For example '{0}' or '{1}'." }, + Unsupported_locale_0: { code: 6048, category: 1 /* Error */, key: "Unsupported locale '{0}'." }, + Unable_to_open_file_0: { code: 6049, category: 1 /* Error */, key: "Unable to open file '{0}'." }, + Corrupted_locale_file_0: { code: 6050, category: 1 /* Error */, key: "Corrupted locale file {0}." }, + No_input_files_specified: { code: 6051, category: 1 /* Error */, key: "No input files specified." }, + Warn_on_expressions_and_declarations_with_an_implied_any_type: { code: 7004, category: 2 /* Message */, key: "Warn on expressions and declarations with an implied 'any' type." }, Variable_0_implicitly_has_an_1_type: { code: 7005, category: 1 /* Error */, key: "Variable '{0}' implicitly has an '{1}' type." }, Parameter_0_implicitly_has_an_1_type: { code: 7006, category: 1 /* Error */, key: "Parameter '{0}' implicitly has an '{1}' type." }, Member_0_implicitly_has_an_1_type: { code: 7008, category: 1 /* Error */, key: "Member '{0}' implicitly has an '{1}' type." }, @@ -314,16 +381,7 @@ var ts; Cannot_compile_external_modules_unless_the_module_flag_is_provided: { code: -9999999, category: 1 /* Error */, key: "Cannot compile external modules unless the '--module' flag is provided." }, Import_declaration_conflicts_with_local_declaration_of_0: { code: -9999999, category: 1 /* Error */, key: "Import declaration conflicts with local declaration of '{0}'" }, Module_0_is_hidden_by_a_local_declaration_with_the_same_name: { code: -9999999, category: 1 /* Error */, key: "Module '{0}' is hidden by a local declaration with the same name" }, - Filename_0_differs_from_already_included_filename_1_only_in_casing: { code: -9999999, category: 1 /* Error */, key: "Filename '{0}' differs from already included filename '{1}' only in casing" }, - Argument_for_module_option_must_be_commonjs_or_amd: { code: -9999999, category: 1 /* Error */, key: "Argument for '--module' option must be 'commonjs' or 'amd'." }, - Argument_for_target_option_must_be_es3_or_es5: { code: -9999999, category: 1 /* Error */, key: "Argument for '--target' option must be 'es3' or 'es5'." }, - Compiler_option_0_expects_an_argument: { code: -9999999, category: 1 /* Error */, key: "Compiler option '{0}' expects an argument." }, - Unterminated_quoted_string_in_response_file_0: { code: -9999999, category: 1 /* Error */, key: "Unterminated quoted string in response file '{0}'." }, - Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: { code: -9999999, category: 1 /* Error */, key: "Locale must be of the form or -. For example '{0}' or '{1}'." }, - Unsupported_locale_0: { code: -9999999, category: 1 /* Error */, key: "Unsupported locale {0}." }, - Unable_to_open_file_0: { code: -9999999, category: 1 /* Error */, key: "Unable to open file {0}." }, - Corrupted_locale_file_0: { code: -9999999, category: 1 /* Error */, key: "Corrupted locale file {0}." }, - No_input_files_specified: { code: -9999999, category: 1 /* Error */, key: "No input files specified." } + Filename_0_differs_from_already_included_filename_1_only_in_casing: { code: -9999999, category: 1 /* Error */, key: "Filename '{0}' differs from already included filename '{1}' only in casing" } }; })(ts || (ts = {})); var ts; @@ -527,6 +585,10 @@ var ts; function isDigit(ch) { return ch >= 48 /* _0 */ && ch <= 57 /* _9 */; } + function isOctalDigit(ch) { + return ch >= 48 /* _0 */ && ch <= 55 /* _7 */; + } + ts.isOctalDigit = isOctalDigit; function skipTrivia(text, pos, stopAfterLineBreak) { while (true) { var ch = text.charCodeAt(pos); @@ -579,6 +641,76 @@ var ts; } } ts.skipTrivia = skipTrivia; + function getCommentRanges(text, pos, trailing) { + var result; + var collecting = trailing; + while (true) { + var ch = text.charCodeAt(pos); + switch (ch) { + case 13 /* carriageReturn */: + if (text.charCodeAt(pos + 1) === 10 /* lineFeed */) + pos++; + case 10 /* lineFeed */: + pos++; + if (trailing) { + return result; + } + collecting = true; + continue; + case 9 /* tab */: + case 11 /* verticalTab */: + case 12 /* formFeed */: + case 32 /* space */: + pos++; + continue; + case 47 /* slash */: + var nextChar = text.charCodeAt(pos + 1); + if (nextChar === 47 /* slash */ || nextChar === 42 /* asterisk */) { + var startPos = pos; + pos += 2; + if (nextChar === 47 /* slash */) { + while (pos < text.length) { + if (isLineBreak(text.charCodeAt(pos))) { + break; + } + pos++; + } + } + else { + while (pos < text.length) { + if (text.charCodeAt(pos) === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + pos += 2; + break; + } + pos++; + } + } + if (collecting) { + if (!result) + result = []; + result.push({ pos: startPos, end: pos }); + } + continue; + } + break; + default: + if (ch > 127 /* maxAsciiCharacter */ && (isWhiteSpace(ch) || isLineBreak(ch))) { + pos++; + continue; + } + break; + } + return result; + } + } + function getLeadingComments(text, pos) { + return getCommentRanges(text, pos, false); + } + ts.getLeadingComments = getLeadingComments; + function getTrailingComments(text, pos) { + return getCommentRanges(text, pos, true); + } + ts.getTrailingComments = getTrailingComments; function createScanner(languageVersion, text, onError, onComment) { var pos; var len; @@ -588,8 +720,9 @@ var ts; var tokenValue; var precedingLineBreak; function error(message) { - if (onError) + if (onError) { onError(message); + } } function isIdentifierStart(ch) { return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion); @@ -623,6 +756,13 @@ var ts; } return +(text.substring(start, end)); } + function scanOctalDigits() { + var start = pos; + while (isOctalDigit(text.charCodeAt(pos))) { + pos++; + } + return +(text.substring(start, pos)); + } function scanHexDigits(count, exact) { var digits = 0; var value = 0; @@ -890,7 +1030,7 @@ var ts; } if (!commentClosed) { pos++; - onError(ts.Diagnostics.Asterisk_Slash_expected); + error(ts.Diagnostics.Asterisk_Slash_expected); } if (onComment) { onComment(tokenPos, pos); @@ -912,6 +1052,10 @@ var ts; tokenValue = "" + value; return 2 /* NumericLiteral */; } + if (pos + 1 < len && isOctalDigit(text.charCodeAt(pos + 1))) { + tokenValue = "" + scanOctalDigits(); + return 2 /* NumericLiteral */; + } case 49 /* _1 */: case 50 /* _2 */: case 51 /* _3 */: @@ -1334,6 +1478,12 @@ var ts; TypeFormatFlags[TypeFormatFlags["WriteArrayAsGenericType"] = 0x00000001] = "WriteArrayAsGenericType"; })(ts.TypeFormatFlags || (ts.TypeFormatFlags = {})); var TypeFormatFlags = ts.TypeFormatFlags; + (function (SymbolAccessibility) { + SymbolAccessibility[SymbolAccessibility["Accessible"] = 0] = "Accessible"; + SymbolAccessibility[SymbolAccessibility["NotAccessible"] = 1] = "NotAccessible"; + SymbolAccessibility[SymbolAccessibility["CannotBeNamed"] = 2] = "CannotBeNamed"; + })(ts.SymbolAccessibility || (ts.SymbolAccessibility = {})); + var SymbolAccessibility = ts.SymbolAccessibility; (function (SymbolFlags) { SymbolFlags[SymbolFlags["Variable"] = 0x00000001] = "Variable"; SymbolFlags[SymbolFlags["Property"] = 0x00000002] = "Property"; @@ -1400,6 +1550,7 @@ var ts; NodeCheckFlags[NodeCheckFlags["EmitExtends"] = 0x00000008] = "EmitExtends"; NodeCheckFlags[NodeCheckFlags["SuperInstance"] = 0x00000010] = "SuperInstance"; NodeCheckFlags[NodeCheckFlags["SuperStatic"] = 0x00000020] = "SuperStatic"; + NodeCheckFlags[NodeCheckFlags["ContextChecked"] = 0x00000040] = "ContextChecked"; })(ts.NodeCheckFlags || (ts.NodeCheckFlags = {})); var NodeCheckFlags = ts.NodeCheckFlags; (function (TypeFlags) { @@ -1577,13 +1728,6 @@ var ts; CharacterCodes[CharacterCodes["verticalTab"] = 0x0B] = "verticalTab"; })(ts.CharacterCodes || (ts.CharacterCodes = {})); var CharacterCodes = ts.CharacterCodes; - (function (ByteOrderMark) { - ByteOrderMark[ByteOrderMark["None"] = 0] = "None"; - ByteOrderMark[ByteOrderMark["Utf8"] = 1] = "Utf8"; - ByteOrderMark[ByteOrderMark["Utf16BigEndian"] = 2] = "Utf16BigEndian"; - ByteOrderMark[ByteOrderMark["Utf16LittleEndian"] = 3] = "Utf16LittleEndian"; - })(ts.ByteOrderMark || (ts.ByteOrderMark = {})); - var ByteOrderMark = ts.ByteOrderMark; })(ts || (ts = {})); var ts; (function (ts) { @@ -1693,8 +1837,11 @@ var ts; } ts.getProperty = getProperty; function isEmpty(map) { - for (var id in map) - return false; + for (var id in map) { + if (hasProperty(map, id)) { + return false; + } + } return true; } ts.isEmpty = isEmpty; @@ -1730,11 +1877,20 @@ var ts; ts.lookUp = lookUp; function mapToArray(map) { var result = []; - for (var id in map) + for (var id in map) { result.push(map[id]); + } return result; } ts.mapToArray = mapToArray; + function arrayToMap(array, makeKey) { + var result = {}; + forEach(array, function (value) { + result[makeKey(value)] = value; + }); + return result; + } + ts.arrayToMap = arrayToMap; function formatStringFromArgs(text, args, baseIndex) { baseIndex = baseIndex || 0; return text.replace(/{(\d+)}/g, function (match, index) { return args[+index + baseIndex]; }); @@ -1825,6 +1981,7 @@ var ts; return 1; return a < b ? -1 : 1; } + ts.compareValues = compareValues; function getDiagnosticFilename(diagnostic) { return diagnostic.file ? diagnostic.file.filename : undefined; } @@ -2109,13 +2266,18 @@ var sys = (function () { fileStream.Close(); } } - function writeFile(fileName, data) { + function writeFile(fileName, data, writeByteOrderMark) { fileStream.Open(); binaryStream.Open(); try { fileStream.Charset = "utf-8"; fileStream.WriteText(data); - fileStream.Position = 3; + if (writeByteOrderMark) { + fileStream.Position = 0; + } + else { + fileStream.Position = 3; + } fileStream.CopyTo(binaryStream); binaryStream.SaveToFile(fileName, 2); } @@ -2197,7 +2359,10 @@ var sys = (function () { } return buffer.toString("utf8"); } - function writeFile(fileName, data) { + function writeFile(fileName, data, writeByteOrderMark) { + if (writeByteOrderMark) { + data = '\uFEFF' + data; + } _fs.writeFileSync(fileName, data, "utf8"); } return { @@ -2212,6 +2377,21 @@ var sys = (function () { }, readFile: readFile, writeFile: writeFile, + watchFile: function (fileName, callback) { + _fs.watchFile(fileName, { persistent: true, interval: 250 }, fileChanged); + return { + close: function () { + _fs.unwatchFile(fileName, fileChanged); + } + }; + function fileChanged(curr, prev) { + if (+curr.mtime <= +prev.mtime) { + return; + } + callback(fileName); + } + ; + }, resolvePath: function (path) { return _path.resolve(path); }, @@ -2595,7 +2775,9 @@ var ts; ControlBlockContext[ControlBlockContext["Nested"] = 1] = "Nested"; ControlBlockContext[ControlBlockContext["CrossingFunctionBoundary"] = 2] = "CrossingFunctionBoundary"; })(ControlBlockContext || (ControlBlockContext = {})); - function createSourceFile(filename, sourceText, languageVersion) { + function createSourceFile(filename, sourceText, languageVersion, version, isOpen) { + if (version === void 0) { version = 0; } + if (isOpen === void 0) { isOpen = false; } var file; var scanner; var token; @@ -3080,8 +3262,18 @@ var ts; function parseLiteralNode() { var node = createNode(token); node.text = scanner.getTokenValue(); + var tokenPos = scanner.getTokenPos(); nextToken(); - return finishNode(node); + finishNode(node); + if (node.kind === 2 /* NumericLiteral */ && sourceText.charCodeAt(tokenPos) === 48 /* _0 */ && ts.isOctalDigit(sourceText.charCodeAt(tokenPos + 1))) { + if (isInStrictMode) { + grammarErrorOnNode(node, ts.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode); + } + else if (languageVersion >= 1 /* ES5 */) { + grammarErrorOnNode(node, ts.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher); + } + } + return node; } function parseStringLiteral() { if (token === 3 /* StringLiteral */) @@ -4332,18 +4524,22 @@ var ts; case 84 /* ThrowKeyword */: case 86 /* TryKeyword */: case 62 /* DebuggerKeyword */: + case 58 /* CatchKeyword */: + case 71 /* FinallyKeyword */: return true; case 93 /* InterfaceKeyword */: case 59 /* ClassKeyword */: case 106 /* ModuleKeyword */: case 67 /* EnumKeyword */: - if (isDeclaration()) + if (isDeclaration()) { return false; + } case 98 /* PublicKeyword */: case 96 /* PrivateKeyword */: case 99 /* StaticKeyword */: - if (lookAhead(function () { return nextToken() >= 55 /* Identifier */; })) + if (lookAhead(function () { return nextToken() >= 55 /* Identifier */; })) { return false; + } default: return isExpression(); } @@ -4379,6 +4575,8 @@ var ts; case 84 /* ThrowKeyword */: return parseThrowStatement(); case 86 /* TryKeyword */: + case 58 /* CatchKeyword */: + case 71 /* FinallyKeyword */: return parseTryStatement(); case 62 /* DebuggerKeyword */: return parseDebuggerStatement(); @@ -5065,6 +5263,9 @@ var ts; file.externalModuleIndicator = getExternalModuleIndicator(); file.nodeCount = nodeCount; file.identifierCount = identifierCount; + file.version = version; + file.isOpen = isOpen; + file.languageVersion = languageVersion; return file; } ts.createSourceFile = createSourceFile; @@ -5076,8 +5277,9 @@ var ts; var seenNoDefaultLib = options.noLib; var commonSourceDirectory; ts.forEach(rootNames, function (name) { return processRootFile(name, false); }); - if (!seenNoDefaultLib) + if (!seenNoDefaultLib) { processRootFile(host.getDefaultLibFilename(), true); + } verifyCompilerOptions(); errors.sort(ts.compareDiagnostics); program = { @@ -5101,22 +5303,29 @@ var ts; function getGlobalDiagnostics() { return ts.filter(errors, function (e) { return !e.file; }); } - function addExtension(filename, extension) { - return ts.getBaseFilename(filename).indexOf(".") >= 0 ? filename : filename + extension; + function hasExtension(filename) { + return ts.getBaseFilename(filename).indexOf(".") >= 0; } function processRootFile(filename, isDefaultLib) { - processSourceFile(ts.normalizePath(addExtension(filename, ".ts")), isDefaultLib); + processSourceFile(ts.normalizePath(filename), isDefaultLib); } function processSourceFile(filename, isDefaultLib, refFile, refPos, refEnd) { if (refEnd !== undefined && refPos !== undefined) { var start = refPos; var length = refEnd - refPos; } - if (!ts.fileExtensionIs(filename, ".ts")) { - errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_must_have_extension_ts_or_d_ts, filename)); + if (hasExtension(filename)) { + if (!ts.fileExtensionIs(filename, ".ts")) { + errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_must_have_extension_ts_or_d_ts, filename)); + } + else if (!findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) { + errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_not_found, filename)); + } } - else if (!findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) { - errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_not_found, filename)); + else { + if (!(findSourceFile(filename + ".ts", isDefaultLib, refFile, refPos, refEnd) || findSourceFile(filename + ".d.ts", isDefaultLib, refFile, refPos, refEnd))) { + errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_not_found, filename + ".ts")); + } } } function findSourceFile(filename, isDefaultLib, refFile, refStart, refLength) { @@ -5166,11 +5375,13 @@ var ts; var searchPath = basePath; while (true) { var searchName = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); - if (findModuleSourceFile(searchName + ".ts", nameLiteral) || findModuleSourceFile(searchName + ".d.ts", nameLiteral)) + if (findModuleSourceFile(searchName + ".ts", nameLiteral) || findModuleSourceFile(searchName + ".d.ts", nameLiteral)) { break; + } var parentPath = ts.getDirectoryPath(searchPath); - if (parentPath === searchPath) + if (parentPath === searchPath) { break; + } searchPath = parentPath; } } @@ -5389,9 +5600,12 @@ var ts; parent = node; if (symbolKind & ts.SymbolFlags.IsContainer) { container = node; - if (lastContainer) - lastContainer.nextContainer = container; - lastContainer = container; + if (lastContainer !== container && !container.nextContainer) { + if (lastContainer) { + lastContainer.nextContainer = container; + } + lastContainer = container; + } } ts.forEachChild(node, bind); container = saveContainer; @@ -5461,7 +5675,7 @@ var ts; } function bindCatchVariableDeclaration(node) { var symbol = createSymbol(1 /* Variable */, node.variable.text || "__missing"); - addDeclarationToSymbol(symbol, node.variable, 1 /* Variable */); + addDeclarationToSymbol(symbol, node, 1 /* Variable */); var saveParent = parent; parent = node; ts.forEachChild(node, bind); @@ -5620,7 +5834,7 @@ var ts; setAccessor: setAccessor }; } - function createTextWriter() { + function createTextWriter(writeSymbol) { var output = ""; var indent = 0; var lineStart = true; @@ -5663,6 +5877,7 @@ var ts; } return { write: write, + writeSymbol: writeSymbol, writeLiteral: writeLiteral, writeLine: writeLine, increaseIndent: function () { return indent++; }, @@ -5678,13 +5893,13 @@ var ts; var text = currentSourceFile.text; return text.substring(ts.skipTrivia(text, node.pos), node.end); } - function writeFile(filename, data) { - compilerHost.writeFile(filename, data, function (hostErrorMessage) { + function writeFile(filename, data, writeByteOrderMark) { + compilerHost.writeFile(filename, data, writeByteOrderMark, function (hostErrorMessage) { diagnostics.push(ts.createCompilerDiagnostic(ts.Diagnostics.Could_not_write_file_0_Colon_1, filename, hostErrorMessage)); }); } function emitJavaScript(jsFilePath, root) { - var writer = createTextWriter(); + var writer = createTextWriter(writeSymbol); var write = writer.write; var writeLine = writer.writeLine; var increaseIndent = writer.increaseIndent; @@ -5704,6 +5919,8 @@ var ts; var scopeEmitEnd = function () { }; var sourceMapData; + function writeSymbol(symbol, enclosingDeclaration, meaning) { + } function initializeEmitterWithSourceMaps() { var sourceMapDir; var sourceMapSourceIndex = -1; @@ -5848,7 +6065,7 @@ var ts; sourceMapNameIndices.pop(); } ; - function writeJavaScriptAndSourceMapFile(emitOutput) { + function writeJavaScriptAndSourceMapFile(emitOutput, writeByteOrderMark) { encodeLastRecordedSourceMapSpan(); writeFile(sourceMapData.sourceMapFilePath, JSON.stringify({ version: 3, @@ -5857,9 +6074,9 @@ var ts; sources: sourceMapData.sourceMapSources, names: sourceMapData.sourceMapNames, mappings: sourceMapData.sourceMapMappings - })); + }), false); sourceMapDataList.push(sourceMapData); - writeJavaScriptFile(emitOutput + "//# sourceMappingURL=" + sourceMapData.jsSourceMappingURL); + writeJavaScriptFile(emitOutput + "//# sourceMappingURL=" + sourceMapData.jsSourceMappingURL, writeByteOrderMark); } var sourceMapJsFile = ts.getBaseFilename(ts.normalizeSlashes(jsFilePath)); sourceMapData = { @@ -5915,8 +6132,8 @@ var ts; scopeEmitStart = recordScopeNameOfNode; scopeEmitEnd = recordScopeNameEnd; } - function writeJavaScriptFile(emitOutput) { - writeFile(jsFilePath, emitOutput); + function writeJavaScriptFile(emitOutput, writeByteOrderMark) { + writeFile(jsFilePath, emitOutput, writeByteOrderMark); } function emitTokenText(tokenKind, startPos, emitFn) { var tokenString = ts.tokenToString(tokenKind); @@ -7159,15 +7376,28 @@ var ts; }); } writeLine(); - writeEmittedFiles(writer.getText()); + writeEmittedFiles(writer.getText(), compilerOptions.emitBOM); } function emitDeclarations(jsFilePath, root) { - var writer = createTextWriter(); + var writer = createTextWriter(writeSymbol); var write = writer.write; var writeLine = writer.writeLine; var increaseIndent = writer.increaseIndent; var decreaseIndent = writer.decreaseIndent; var enclosingDeclaration; + var reportedDeclarationError = false; + var getSymbolVisibilityDiagnosticMessage; + function writeSymbol(symbol, enclosingDeclaration, meaning) { + var symbolAccesibilityResult = resolver.isSymbolAccessible(symbol, enclosingDeclaration, meaning); + if (!getSymbolVisibilityDiagnosticMessage || symbolAccesibilityResult.accessibility === 0 /* Accessible */) { + resolver.writeSymbol(symbol, enclosingDeclaration, meaning, writer); + } + else { + reportedDeclarationError = true; + var errorInfo = getSymbolVisibilityDiagnosticMessage(symbolAccesibilityResult); + diagnostics.push(ts.createDiagnosticForNode(errorInfo.errorNode, errorInfo.diagnosticMessage, getSourceTextOfLocalNode(errorInfo.typeName), symbolAccesibilityResult.errorSymbolName, symbolAccesibilityResult.errorModuleName)); + } + } function emitLines(nodes) { for (var i = 0, n = nodes.length; i < n; i++) { emitNode(nodes[i]); @@ -7286,10 +7516,50 @@ var ts; } function emitTypeParameters(typeParameters) { function emitTypeParameter(node) { + function getTypeParameterConstraintVisibilityError(symbolAccesibilityResult) { + var diagnosticMessage; + switch (node.parent.kind) { + case 169 /* ClassDeclaration */: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; + break; + case 170 /* InterfaceDeclaration */: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; + break; + case 121 /* ConstructSignature */: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; + break; + case 120 /* CallSignature */: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; + break; + case 116 /* Method */: + if (node.parent.flags & 64 /* Static */) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; + } + else if (node.parent.parent.kind === 169 /* ClassDeclaration */) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; + } + else { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; + } + break; + case 167 /* FunctionDeclaration */: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; + break; + default: + ts.Debug.fail("This is unknown parent for type parameter: " + ts.SyntaxKind[node.parent.kind]); + } + return { + diagnosticMessage: diagnosticMessage, + errorNode: node, + typeName: node.name + }; + } emitSourceTextOfNode(node.name); - if (node.constraint) { + if (node.constraint && (node.parent.kind !== 116 /* Method */ || !(node.parent.flags & 32 /* Private */))) { write(" extends "); + getSymbolVisibilityDiagnosticMessage = getTypeParameterConstraintVisibilityError; resolver.writeTypeAtLocation(node.constraint, enclosingDeclaration, 0 /* None */, writer); + getSymbolVisibilityDiagnosticMessage = undefined; } } if (typeParameters) { @@ -7299,13 +7569,47 @@ var ts; } } function emitHeritageClause(typeReferences, isImplementsList) { - function emitTypeOfTypeReference(node) { - resolver.writeTypeAtLocation(node, enclosingDeclaration, 1 /* WriteArrayAsGenericType */, writer); - } if (typeReferences) { write(isImplementsList ? " implements " : " extends "); emitCommaList(typeReferences, emitTypeOfTypeReference); } + function emitTypeOfTypeReference(node) { + getSymbolVisibilityDiagnosticMessage = getHeritageClauseVisibilityError; + resolver.writeTypeAtLocation(node, enclosingDeclaration, 1 /* WriteArrayAsGenericType */, writer); + getSymbolVisibilityDiagnosticMessage = undefined; + function getHeritageClauseVisibilityError(symbolAccesibilityResult) { + var diagnosticMessage; + if (node.parent.kind === 169 /* ClassDeclaration */) { + if (symbolAccesibilityResult.accessibility == 1 /* NotAccessible */) { + if (symbolAccesibilityResult.errorModuleName) { + diagnosticMessage = isImplementsList ? ts.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2; + } + else { + diagnosticMessage = isImplementsList ? ts.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : ts.Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_private_name_1; + } + } + else { + } + } + else { + if (symbolAccesibilityResult.accessibility == 1 /* NotAccessible */) { + if (symbolAccesibilityResult.errorModuleName) { + diagnosticMessage = ts.Diagnostics.Extends_clause_of_exported_interface_0_has_or_is_using_name_1_from_private_module_2; + } + else { + diagnosticMessage = ts.Diagnostics.Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1; + } + } + else { + } + } + return { + diagnosticMessage: diagnosticMessage, + errorNode: node, + typeName: node.parent.name + }; + } + } } function emitClassDeclaration(node) { function emitParameterProperties(constructorDeclaration) { @@ -7531,7 +7835,9 @@ var ts; } }); } - writeFile(ts.getModuleNameFromFilename(jsFilePath) + ".d.ts", referencePathsOutput + writer.getText()); + if (!reportedDeclarationError) { + writeFile(ts.getModuleNameFromFilename(jsFilePath) + ".d.ts", referencePathsOutput + writer.getText(), compilerOptions.emitBOM); + } } var shouldEmitDeclarations = resolver.shouldEmitDeclarations(); function emitFile(jsFilePath, sourceFile) { @@ -7584,7 +7890,10 @@ var ts; var emptyObjectType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); var anyFunctionType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); var noConstraintType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); + var anySignature = createSignature(undefined, undefined, emptyArray, anyType, 0, false, false); + var unknownSignature = createSignature(undefined, undefined, emptyArray, unknownType, 0, false, false); var globals = {}; + var globalArraySymbol; var globalObjectType; var globalFunctionType; var globalArrayType; @@ -7593,6 +7902,7 @@ var ts; var globalBooleanType; var globalRegExpType; var stringLiteralTypes = {}; + var fullTypeCheck = false; var emitExtends = false; var mergedSymbols = []; var symbolLinks = []; @@ -7615,12 +7925,13 @@ var ts; getTypeOfSymbol: getTypeOfSymbol, getDeclaredTypeOfSymbol: getDeclaredTypeOfSymbol, getPropertiesOfType: getPropertiesOfType, + getPropertyOfType: getPropertyOfType, getSignaturesOfType: getSignaturesOfType, getIndexTypeOfType: getIndexTypeOfType, getReturnTypeOfSignature: getReturnTypeOfSignature, resolveEntityName: resolveEntityName, getSymbolsInScope: getSymbolsInScope, - getSymbolOfIdentifier: getSymbolOfIdentifier, + getSymbolInfo: getSymbolInfo, getTypeOfExpression: getTypeOfExpression, typeToString: typeToString, symbolToString: symbolToString, @@ -7849,7 +8160,7 @@ var ts; case 163 /* CatchBlock */: var id = location.variable; if (name === id.text) { - return returnResolvedSymbol(location.variable.symbol); + return returnResolvedSymbol(location.symbol); } break; } @@ -7954,10 +8265,12 @@ var ts; } function getExportAssignmentSymbol(symbol) { checkTypeOfExportAssignmentSymbol(symbol); - return symbol.exportAssignSymbol === unknownSymbol ? undefined : symbol.exportAssignSymbol; + var symbolLinks = getSymbolLinks(symbol); + return symbolLinks.exportAssignSymbol === unknownSymbol ? undefined : symbolLinks.exportAssignSymbol; } function checkTypeOfExportAssignmentSymbol(containerSymbol) { - if (!containerSymbol.exportAssignSymbol) { + var symbolLinks = getSymbolLinks(containerSymbol); + if (!symbolLinks.exportAssignSymbol) { var exportInformation = collectExportInformationForSourceFileOrModule(containerSymbol); if (exportInformation.exportAssignments.length) { if (exportInformation.exportAssignments.length > 1) { @@ -7972,7 +8285,7 @@ var ts; var exportSymbol = resolveName(node, node.exportName.text, meaning, ts.Diagnostics.Cannot_find_name_0, ts.identifierToString(node.exportName)); } } - containerSymbol.exportAssignSymbol = exportSymbol || unknownSymbol; + symbolLinks.exportAssignSymbol = exportSymbol || unknownSymbol; } } function collectExportInformationForSourceFileOrModule(symbol) { @@ -8131,7 +8444,7 @@ var ts; return !!accessibleParent; } } - if (isAccessible(symbols[symbol.name])) { + if (isAccessible(ts.lookUp(symbols, symbol.name))) { return symbol; } return ts.forEachValue(symbols, function (symbolFromSymbolTable) { @@ -8149,7 +8462,7 @@ var ts; function needsQualification(symbol, enclosingDeclaration, meaning) { var qualify = false; forEachSymbolTableInScope(enclosingDeclaration, function (symbolTable) { - if (!symbolTable[symbol.name]) { + if (!ts.hasProperty(symbolTable, symbol.name)) { return false; } var symbolFromSymbolTable = symbolTable[symbol.name]; @@ -8165,6 +8478,32 @@ var ts; }); return qualify; } + function isSymbolAccessible(symbol, enclosingDeclaration, meaning) { + if (symbol && enclosingDeclaration && !(symbol.flags & 262144 /* TypeParameter */)) { + var initialSymbol = symbol; + var meaningToLook = meaning; + while (symbol) { + var accessibleSymbol = getAccessibleSymbol(symbol, enclosingDeclaration, meaningToLook); + if (accessibleSymbol) { + if (ts.forEach(accessibleSymbol.declarations, function (declaration) { return !isDeclarationVisible(declaration); })) { + return { + accessibility: 1 /* NotAccessible */, + errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning), + errorModuleName: symbol !== initialSymbol ? symbolToString(symbol, enclosingDeclaration, ts.SymbolFlags.Namespace) : undefined + }; + } + return { accessibility: 0 /* Accessible */ }; + } + meaningToLook = ts.SymbolFlags.Namespace; + symbol = symbol.parent; + } + return { + accessibility: 2 /* CannotBeNamed */, + errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning) + }; + } + return { accessibility: 0 /* Accessible */ }; + } function symbolToString(symbol, enclosingDeclaration, meaning) { function getSymbolName(symbol) { if (symbol.declarations && symbol.declarations.length > 0) { @@ -8191,12 +8530,18 @@ var ts; } return getSymbolName(symbol); } + function writeSymbolToTextWriter(symbol, enclosingDeclaration, meaning, writer) { + writer.write(symbolToString(symbol, enclosingDeclaration, meaning)); + } function createSingleLineTextWriter() { var result = ""; return { write: function (s) { result += s; }, + writeSymbol: function (symbol, enclosingDeclaration, meaning) { + writeSymbolToTextWriter(symbol, enclosingDeclaration, meaning, this); + }, writeLine: function () { result += " "; }, @@ -8225,7 +8570,7 @@ var ts; writeTypeReference(type); } else if (type.flags & (1024 /* Class */ | 2048 /* Interface */ | 128 /* Enum */ | 512 /* TypeParameter */)) { - writer.write(symbolToString(type.symbol, enclosingDeclaration, ts.SymbolFlags.Type)); + writer.writeSymbol(type.symbol, enclosingDeclaration, ts.SymbolFlags.Type); } else if (type.flags & 8192 /* Anonymous */) { writeAnonymousType(type, allowFunctionOrConstructorTypeLiteral); @@ -8243,7 +8588,7 @@ var ts; writer.write("[]"); } else { - writer.write(symbolToString(type.target.symbol, enclosingDeclaration, ts.SymbolFlags.Type)); + writer.writeSymbol(type.target.symbol, enclosingDeclaration, ts.SymbolFlags.Type); writer.write("<"); for (var i = 0; i < type.typeArguments.length; i++) { if (i > 0) { @@ -8272,7 +8617,7 @@ var ts; } function writeTypeofSymbol(type) { writer.write("typeof "); - writer.write(symbolToString(type.symbol, enclosingDeclaration, ts.SymbolFlags.Value)); + writer.writeSymbol(type.symbol, enclosingDeclaration, ts.SymbolFlags.Value); } function writeLiteralType(type, allowFunctionOrConstructorTypeLiteral) { var resolved = resolveObjectTypeMembers(type); @@ -8325,7 +8670,7 @@ var ts; if (p.flags & (8 /* Function */ | 2048 /* Method */) && !getPropertiesOfType(t).length) { var signatures = getSignaturesOfType(t, 0 /* Call */); for (var j = 0; j < signatures.length; j++) { - writer.write(symbolToString(p)); + writer.writeSymbol(p); if (isOptionalProperty(p)) { writer.write("?"); } @@ -8335,7 +8680,7 @@ var ts; } } else { - writer.write(symbolToString(p)); + writer.writeSymbol(p); if (isOptionalProperty(p)) { writer.write("?"); } @@ -8356,7 +8701,7 @@ var ts; writer.write(", "); } var tp = signature.typeParameters[i]; - writer.write(symbolToString(tp.symbol)); + writer.writeSymbol(tp.symbol); var constraint = getConstraintOfTypeParameter(tp); if (constraint) { writer.write(" extends "); @@ -8374,7 +8719,7 @@ var ts; if (getDeclarationFlagsFromSymbol(p) & 8 /* Rest */) { writer.write("..."); } - writer.write(symbolToString(p)); + writer.writeSymbol(p); if (p.valueDeclaration.flags & 4 /* QuestionMark */ || p.valueDeclaration.initializer) { writer.write("?"); } @@ -8491,86 +8836,73 @@ var ts; return classType.typeParameters ? createTypeReference(classType, ts.map(classType.typeParameters, function (_) { return anyType; })) : classType; } function getTypeOfVariableDeclaration(declaration) { - var type; - if (declaration.parent.kind === 163 /* CatchBlock */ || declaration.parent.kind === 151 /* ForInStatement */) { - type = anyType; + if (declaration.parent.kind === 151 /* ForInStatement */) { + return anyType; } - else if (declaration.type) { - type = getTypeFromTypeNode(declaration.type); + if (declaration.type) { + return getTypeFromTypeNode(declaration.type); } - else { - if (declaration.kind === 114 /* Parameter */ && declaration.parent.kind === 119 /* SetAccessor */) { + if (declaration.kind === 114 /* Parameter */) { + var func = declaration.parent; + if (func.kind === 119 /* SetAccessor */) { var getter = getDeclarationOfKind(declaration.parent.symbol, 118 /* GetAccessor */); if (getter) { - type = getReturnTypeOfSignature(getSignatureFromDeclaration(getter)); + return getReturnTypeOfSignature(getSignatureFromDeclaration(getter)); } } - var unwidenedType; - if (!type) { - if (declaration.initializer) { - unwidenedType = checkAndMarkExpression(declaration.initializer); - type = getWidenedType(unwidenedType); - } - else if (declaration.flags & 8 /* Rest */) { - type = createArrayType(anyType); - } - else { - type = anyType; - } - } - if (program.getCompilerOptions().noImplicitAny && shouldReportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type, unwidenedType)) { - reportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type); + var type = getContextuallyTypedParameterType(declaration); + if (type) { + return type; } } + if (declaration.initializer) { + var unwidenedType = checkAndMarkExpression(declaration.initializer); + var type = getWidenedType(unwidenedType); + if (type !== unwidenedType) { + checkImplicitAny(type); + } + return type; + } + var type = declaration.flags & 8 /* Rest */ ? createArrayType(anyType) : anyType; + checkImplicitAny(type); return type; - function shouldReportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type, unwidenedType) { - if (type === unwidenedType) { - return false; + function checkImplicitAny(type) { + if (!program.getCompilerOptions().noImplicitAny) { + return; } if (getInnermostTypeOfNestedArrayTypes(type) !== anyType) { - return false; + return; } if (isPrivateWithinAmbient(declaration) || (declaration.kind === 114 /* Parameter */ && isPrivateWithinAmbient(declaration.parent))) { - return false; + return; } - return true; - } - function reportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type) { - var varName = ts.identifierToString(declaration.name); - var typeName = typeToString(type); switch (declaration.kind) { - case 166 /* VariableDeclaration */: - error(declaration, ts.Diagnostics.Variable_0_implicitly_has_an_1_type, varName, typeName); - break; case 115 /* Property */: - error(declaration, ts.Diagnostics.Member_0_implicitly_has_an_1_type, varName, typeName); + var diagnostic = ts.Diagnostics.Member_0_implicitly_has_an_1_type; break; case 114 /* Parameter */: - var funcDeclaration = declaration.parent; - if (declaration.flags & 8 /* Rest */) { - error(declaration, ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type, varName); - } - else { - error(declaration, ts.Diagnostics.Parameter_0_implicitly_has_an_1_type, varName, typeName); - } + var diagnostic = declaration.flags & 8 /* Rest */ ? ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : ts.Diagnostics.Parameter_0_implicitly_has_an_1_type; break; default: - ts.Debug.fail("Received a '" + ts.SyntaxKind[declaration.kind] + "', but expected '" + ts.SyntaxKind[166 /* VariableDeclaration */] + "', '" + ts.SyntaxKind[115 /* Property */] + "', or '" + ts.SyntaxKind[114 /* Parameter */] + "'.\r\n"); + var diagnostic = ts.Diagnostics.Variable_0_implicitly_has_an_1_type; } + error(declaration, diagnostic, ts.identifierToString(declaration.name), typeToString(type)); } } function getTypeOfVariableOrParameterOrProperty(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { if (symbol.flags & 67108864 /* Prototype */) { - links.type = getTypeOfPrototypeProperty(symbol); + return links.type = getTypeOfPrototypeProperty(symbol); } - else { - links.type = resolvingType; - var type = getTypeOfVariableDeclaration(symbol.valueDeclaration); - if (links.type === resolvingType) { - links.type = type; - } + var declaration = symbol.valueDeclaration; + if (declaration.kind === 163 /* CatchBlock */) { + return links.type = anyType; + } + links.type = resolvingType; + var type = getTypeOfVariableDeclaration(declaration); + if (links.type === resolvingType) { + links.type = type; } } else if (links.type === resolvingType) { @@ -9292,8 +9624,7 @@ var ts; } return links.resolvedType; } - function getGlobalType(name, arity) { - if (arity === void 0) { arity = 0; } + function getTypeOfGlobalSymbol(symbol, arity) { function getTypeDeclaration(symbol) { var declarations = symbol.declarations; for (var i = 0; i < declarations.length; i++) { @@ -9302,13 +9633,10 @@ var ts; case 169 /* ClassDeclaration */: case 170 /* InterfaceDeclaration */: case 171 /* EnumDeclaration */: - case 125 /* TypeLiteral */: - case 167 /* FunctionDeclaration */: return declaration; } } } - var symbol = resolveName(undefined, name, ts.SymbolFlags.Type, ts.Diagnostics.Cannot_find_global_type_0, name); if (!symbol) { return emptyObjectType; } @@ -9323,21 +9651,20 @@ var ts; } return type; } - function createArrayType(elementType, arrayType) { - var rootType = globalArrayType || arrayType; - return rootType !== emptyObjectType ? createTypeReference(rootType, [elementType]) : emptyObjectType; + function getGlobalSymbol(name) { + return resolveName(undefined, name, ts.SymbolFlags.Type, ts.Diagnostics.Cannot_find_global_type_0, name); + } + function getGlobalType(name) { + return getTypeOfGlobalSymbol(getGlobalSymbol(name), 0); + } + function createArrayType(elementType) { + var arrayType = globalArrayType || getDeclaredTypeOfSymbol(globalArraySymbol); + return arrayType !== emptyObjectType ? createTypeReference(arrayType, [elementType]) : emptyObjectType; } function getTypeFromArrayTypeNode(node) { var links = getNodeLinks(node); if (!links.resolvedType) { - var arrayType = globalArrayType; - if (!arrayType) { - var arrayTypeSymbol = resolveName(node, "Array", ts.SymbolFlags.Type, undefined, undefined); - ts.Debug.assert(arrayTypeSymbol); - arrayType = getDeclaredTypeOfSymbol(arrayTypeSymbol); - ts.Debug.assert(arrayType); - } - links.resolvedType = createArrayType(getTypeFromTypeNode(node.elementType), arrayType); + links.resolvedType = createArrayType(getTypeFromTypeNode(node.elementType)); } return links.resolvedType; } @@ -9515,14 +9842,16 @@ var ts; return result; } function instantiateType(type, mapper) { - if (type.flags & 512 /* TypeParameter */) { - return mapper(type); - } - if (type.flags & 8192 /* Anonymous */) { - return type.symbol && type.symbol.flags & (8 /* Function */ | 2048 /* Method */ | 512 /* TypeLiteral */ | 1024 /* ObjectLiteral */) ? instantiateAnonymousType(type, mapper) : type; - } - if (type.flags & 4096 /* Reference */) { - return createTypeReference(type.target, instantiateList(type.typeArguments, mapper, instantiateType)); + if (mapper !== identityMapper) { + if (type.flags & 512 /* TypeParameter */) { + return mapper(type); + } + if (type.flags & 8192 /* Anonymous */) { + return type.symbol && type.symbol.flags & (8 /* Function */ | 2048 /* Method */ | 512 /* TypeLiteral */ | 1024 /* ObjectLiteral */) ? instantiateAnonymousType(type, mapper) : type; + } + if (type.flags & 4096 /* Reference */) { + return createTypeReference(type.target, instantiateList(type.typeArguments, mapper, instantiateType)); + } } return type; } @@ -10505,20 +10834,149 @@ var ts; } return unknownType; } + function getContextuallyTypedParameterType(parameter) { + var func = parameter.parent; + if (func.kind === 136 /* FunctionExpression */ || func.kind === 137 /* ArrowFunction */) { + if (isContextSensitiveExpression(func)) { + var signature = getContextualSignature(func); + if (signature) { + return getTypeAtPosition(signature, ts.indexOf(func.parameters, parameter)); + } + } + } + return undefined; + } + function getContextualTypeForInitializerExpression(node) { + var declaration = node.parent; + if (node === declaration.initializer) { + if (declaration.type) { + return getTypeFromTypeNode(declaration.type); + } + if (declaration.kind === 114 /* Parameter */) { + return getContextuallyTypedParameterType(declaration); + } + } + return undefined; + } + function getContextualTypeForReturnExpression(node) { + var func = getContainingFunction(node); + if (func) { + if (func.type || func.kind === 117 /* Constructor */ || func.kind === 118 /* GetAccessor */ && getSetAccessorTypeAnnotationNode(getDeclarationOfKind(func.symbol, 119 /* SetAccessor */))) { + return getReturnTypeOfSignature(getSignatureFromDeclaration(func)); + } + var signature = getContextualSignature(func); + if (signature) { + return getReturnTypeOfSignature(signature); + } + } + return undefined; + } + function getContextualTypeForArgument(node) { + var callExpression = node.parent; + var argIndex = ts.indexOf(callExpression.arguments, node); + if (argIndex >= 0) { + var signature = getResolvedSignature(callExpression); + return getTypeAtPosition(signature, argIndex); + } + return undefined; + } + function getContextualTypeForBinaryOperand(node) { + var binaryExpression = node.parent; + var operator = binaryExpression.operator; + if (operator >= ts.SyntaxKind.FirstAssignment && operator <= ts.SyntaxKind.LastAssignment) { + if (node === binaryExpression.right) { + return checkExpression(binaryExpression.left); + } + } + else if (operator === 40 /* BarBarToken */) { + var type = getContextualType(binaryExpression); + if (!type && node === binaryExpression.right) { + type = checkExpression(binaryExpression.left); + } + return type; + } + return undefined; + } + function getContextualTypeForPropertyExpression(node) { + var declaration = node.parent; + var objectLiteral = declaration.parent; + var type = getContextualType(objectLiteral); + var name = declaration.name.text; + if (type && name) { + var prop = getPropertyOfType(type, name); + if (prop) { + return getTypeOfSymbol(prop); + } + return isNumericName(name) && getIndexTypeOfType(type, 1 /* Number */) || getIndexTypeOfType(type, 0 /* String */); + } + return undefined; + } + function getContextualTypeForElementExpression(node) { + var arrayLiteral = node.parent; + var type = getContextualType(arrayLiteral); + return type ? getIndexTypeOfType(type, 1 /* Number */) : undefined; + } + function getContextualTypeForConditionalOperand(node) { + var conditional = node.parent; + return node === conditional.whenTrue || node === conditional.whenFalse ? getContextualType(conditional) : undefined; + } + function getContextualType(node) { + if (node.contextualType) { + return node.contextualType; + } + var parent = node.parent; + switch (parent.kind) { + case 166 /* VariableDeclaration */: + case 114 /* Parameter */: + case 115 /* Property */: + return getContextualTypeForInitializerExpression(node); + case 137 /* ArrowFunction */: + case 154 /* ReturnStatement */: + return getContextualTypeForReturnExpression(node); + case 132 /* CallExpression */: + case 133 /* NewExpression */: + return getContextualTypeForArgument(node); + case 134 /* TypeAssertion */: + return getTypeFromTypeNode(parent.type); + case 140 /* BinaryExpression */: + return getContextualTypeForBinaryOperand(node); + case 129 /* PropertyAssignment */: + return getContextualTypeForPropertyExpression(node); + case 127 /* ArrayLiteral */: + return getContextualTypeForElementExpression(node); + case 141 /* ConditionalExpression */: + return getContextualTypeForConditionalOperand(node); + } + return undefined; + } + function getContextualSignature(node) { + var type = getContextualType(node); + if (type) { + var signatures = getSignaturesOfType(type, 0 /* Call */); + if (signatures.length === 1) { + var signature = signatures[0]; + if (!signature.typeParameters) { + return signature; + } + } + } + return undefined; + } function isInferentialContext(mapper) { return mapper && mapper !== identityMapper; } - function checkArrayLiteral(node, contextualType, contextualMapper) { - var contextualElementType = contextualType && getIndexTypeOfType(contextualType, 1 /* Number */); + function checkArrayLiteral(node, contextualMapper) { var elementTypes = []; ts.forEach(node.elements, function (element) { if (element.kind !== 142 /* OmittedExpression */) { - var type = checkExpression(element, contextualElementType, contextualMapper); + var type = checkExpression(element, contextualMapper); if (!ts.contains(elementTypes, type)) elementTypes.push(type); } }); - var elementType = getBestCommonType(elementTypes, isInferentialContext(contextualMapper) ? undefined : contextualElementType, true); + var contextualType = isInferentialContext(contextualMapper) ? undefined : getContextualType(node); + var contextualElementType = contextualType && getIndexTypeOfType(contextualType, 1 /* Number */); + var elementType = getBestCommonType(elementTypes, contextualElementType, true); if (!elementType) elementType = elementTypes.length ? emptyObjectType : undefinedType; return createArrayType(elementType); @@ -10526,21 +10984,15 @@ var ts; function isNumericName(name) { return !isNaN(name); } - function getContextualTypeForProperty(type, name) { - var prop = getPropertyOfType(type, name); - if (prop) - return getTypeOfSymbol(prop); - return isNumericName(name) && getIndexTypeOfType(type, 1 /* Number */) || getIndexTypeOfType(type, 0 /* String */); - } - function checkObjectLiteral(node, contextualType, contextualMapper) { + function checkObjectLiteral(node, contextualMapper) { var members = node.symbol.members; var properties = {}; + var contextualType = getContextualType(node); for (var id in members) { if (ts.hasProperty(members, id)) { var member = members[id]; if (member.flags & 2 /* Property */) { - var contextualPropType = contextualType && getContextualTypeForProperty(contextualType, member.name); - var type = checkExpression(member.declarations[0].initializer, contextualPropType, contextualMapper); + var type = checkExpression(member.declarations[0].initializer, contextualMapper); var prop = createSymbol(2 /* Property */ | 33554432 /* Transient */, member.name); prop.declarations = member.declarations; prop.parent = member.parent; @@ -10562,10 +11014,10 @@ var ts; properties[member.name] = member; } } - var stringIndexType = getIndexType(properties, 0 /* String */); - var numberIndexType = getIndexType(properties, 1 /* Number */); + var stringIndexType = getIndexType(0 /* String */); + var numberIndexType = getIndexType(1 /* Number */); return createAnonymousType(node.symbol, properties, emptyArray, emptyArray, stringIndexType, numberIndexType); - function getIndexType(properties, kind) { + function getIndexType(kind) { if (contextualType) { var indexType = getIndexTypeOfType(contextualType, kind); if (indexType) { @@ -10657,15 +11109,15 @@ var ts; error(node, ts.Diagnostics.An_index_expression_argument_must_be_of_type_string_number_or_any); return unknownType; } - function checkUntypedCall(node) { + function resolveUntypedCall(node) { ts.forEach(node.arguments, function (argument) { checkExpression(argument); }); - return anyType; + return anySignature; } - function checkErrorCall(node) { - checkUntypedCall(node); - return unknownType; + function resolveErrorCall(node) { + resolveUntypedCall(node); + return unknownSignature; } function isCandidateSignature(node, signature) { var args = node.arguments || emptyArray; @@ -10674,18 +11126,28 @@ var ts; function collectCandidates(node, signatures) { var result = []; var lastParent; + var lastSymbol; + var cutoffPos = 0; var pos; for (var i = 0; i < signatures.length; i++) { var signature = signatures[i]; if (isCandidateSignature(node, signature)) { - var parent = signature.declaration ? signature.declaration.parent : undefined; - if (lastParent && parent === lastParent) { - pos++; + var symbol = signature.declaration && getSymbolOfNode(signature.declaration); + var parent = signature.declaration && signature.declaration.parent; + if (!lastSymbol || symbol === lastSymbol) { + if (lastParent && parent === lastParent) { + pos++; + } + else { + lastParent = parent; + pos = cutoffPos; + } } else { + pos = cutoffPos = result.length; lastParent = parent; - pos = 0; } + lastSymbol = symbol; for (var j = result.length; j > pos; j--) { result[j] = result[j - 1]; } @@ -10711,7 +11173,7 @@ var ts; return getSignatureInstantiation(signature, getInferredTypes(context)); } function inferentiallyTypeExpession(expr, contextualType, contextualMapper) { - var type = checkExpression(expr, contextualType, contextualMapper); + var type = checkExpressionWithContextualType(expr, contextualType, contextualMapper); var signature = getSingleCallSignature(type); if (signature && signature.typeParameters) { var contextualSignature = getSingleCallSignature(contextualType); @@ -10760,7 +11222,7 @@ var ts; for (var i = 0; i < node.arguments.length; i++) { var arg = node.arguments[i]; var paramType = getTypeAtPosition(signature, i); - var argType = arg.kind === 3 /* StringLiteral */ && !reportErrors ? getStringLiteralType(arg) : checkExpression(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); + var argType = arg.kind === 3 /* StringLiteral */ && !reportErrors ? getStringLiteralType(arg) : checkExpressionWithContextualType(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); var isValidArgument = checkTypeRelatedTo(argType, paramType, relation, reportErrors ? arg : undefined, ts.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1, ts.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1); if (!isValidArgument) { return false; @@ -10769,12 +11231,12 @@ var ts; } return true; } - function checkCall(node, signatures) { + function resolveCall(node, signatures) { ts.forEach(node.typeArguments, checkSourceElement); var candidates = collectCandidates(node, signatures); if (!candidates.length) { error(node, ts.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target); - return checkErrorCall(node); + return resolveErrorCall(node); } var args = node.arguments || emptyArray; var excludeArgument; @@ -10799,7 +11261,7 @@ var ts; } var index = excludeArgument ? ts.indexOf(excludeArgument, true) : -1; if (index < 0) { - return getReturnTypeOfSignature(candidate); + return candidate; } excludeArgument[index] = false; } @@ -10810,26 +11272,23 @@ var ts; relation = assignableRelation; } checkApplicableSignature(node, candidate, relation, undefined, true); - return checkErrorCall(node); + return resolveErrorCall(node); } - function checkCallExpression(node) { + function resolveCallExpression(node) { if (node.func.kind === 81 /* SuperKeyword */) { var superType = checkSuperExpression(node.func, true); if (superType !== unknownType) { - checkCall(node, getSignaturesOfType(superType, 1 /* Construct */)); + return resolveCall(node, getSignaturesOfType(superType, 1 /* Construct */)); } - else { - checkUntypedCall(node); - } - return voidType; + return resolveUntypedCall(node); } var funcType = checkExpression(node.func); if (funcType === unknownType) { - return checkErrorCall(node); + return resolveErrorCall(node); } var apparentType = getApparentType(funcType); if (apparentType === unknownType) { - return checkErrorCall(node); + return resolveErrorCall(node); } var callSignatures = getSignaturesOfType(apparentType, 0 /* Call */); var constructSignatures = getSignaturesOfType(apparentType, 1 /* Construct */); @@ -10837,7 +11296,7 @@ var ts; if (node.typeArguments) { error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); } - return checkUntypedCall(node); + return resolveUntypedCall(node); } if (!callSignatures.length) { if (constructSignatures.length) { @@ -10846,64 +11305,74 @@ var ts; else { error(node, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature); } - return checkErrorCall(node); + return resolveErrorCall(node); } - return checkCall(node, callSignatures); + return resolveCall(node, callSignatures); } - function checkNewExpression(node) { + function resolveNewExpression(node) { var expressionType = checkExpression(node.func); if (expressionType === unknownType) { - return checkErrorCall(node); + return resolveErrorCall(node); } if (expressionType === anyType) { if (node.typeArguments) { error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); } - return checkUntypedCall(node); + return resolveUntypedCall(node); } expressionType = getApparentType(expressionType); if (expressionType === unknownType) { - return checkErrorCall(node); + return resolveErrorCall(node); } var constructSignatures = getSignaturesOfType(expressionType, 1 /* Construct */); if (constructSignatures.length) { - return checkCall(node, constructSignatures); + return resolveCall(node, constructSignatures); } var callSignatures = getSignaturesOfType(expressionType, 0 /* Call */); if (callSignatures.length) { - var type = checkCall(node, callSignatures); - if (type !== voidType) { + var signature = resolveCall(node, callSignatures); + if (getReturnTypeOfSignature(signature) !== voidType) { error(node, ts.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword); } - if (program.getCompilerOptions().noImplicitAny) { - error(node, ts.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type); - } - return anyType; + return signature; } error(node, ts.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature); - return checkErrorCall(node); + return resolveErrorCall(node); } - function checkTypeAssertion(node) { - var targetType = getTypeFromTypeNode(node.type); - if (targetType === unknownType) - return unknownType; - var exprType = checkExpression(node.operand, targetType); - var widenedType = getWidenedType(exprType); - if (!(isTypeAssignableTo(exprType, targetType) || isTypeAssignableTo(targetType, widenedType))) { - checkTypeAssignableTo(targetType, widenedType, node, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other_Colon, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); + function getResolvedSignature(node) { + var links = getNodeLinks(node); + if (!links.resolvedSignature) { + links.resolvedSignature = anySignature; + links.resolvedSignature = node.kind === 132 /* CallExpression */ ? resolveCallExpression(node) : resolveNewExpression(node); } - return targetType; + return links.resolvedSignature; } - function getContextualSignature(contextualType) { - if (contextualType) { - var signatures = getSignaturesOfType(contextualType, 0 /* Call */); - if (signatures.length === 1) { - var signature = signatures[0]; - if (!signature.typeParameters) { - return signature; + function checkCallExpression(node) { + var signature = getResolvedSignature(node); + if (node.func.kind === 81 /* SuperKeyword */) { + return voidType; + } + if (node.kind === 133 /* NewExpression */) { + var declaration = signature.declaration; + if (declaration && (declaration.kind !== 117 /* Constructor */ && declaration.kind !== 121 /* ConstructSignature */)) { + if (program.getCompilerOptions().noImplicitAny) { + error(node, ts.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type); } + return anyType; } } + return getReturnTypeOfSignature(signature); + } + function checkTypeAssertion(node) { + var exprType = checkExpression(node.operand); + var targetType = getTypeFromTypeNode(node.type); + if (targetType !== unknownType) { + var widenedType = getWidenedType(exprType); + if (!(isTypeAssignableTo(exprType, targetType) || isTypeAssignableTo(targetType, widenedType))) { + checkTypeAssignableTo(targetType, widenedType, node, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other_Colon, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); + } + } + return targetType; } function getTypeAtPosition(signature, pos) { return signature.hasRestParameter ? pos < signature.parameters.length - 1 ? getTypeOfSymbol(signature.parameters[pos]) : getRestTypeOfSignature(signature) : pos < signature.parameters.length ? getTypeOfSymbol(signature.parameters[pos]) : anyType; @@ -10913,28 +11382,24 @@ var ts; for (var i = 0; i < len; i++) { var parameter = signature.parameters[i]; var links = getSymbolLinks(parameter); - if (!links.type) { - links.type = instantiateType(getTypeAtPosition(context, i), mapper); - } + links.type = instantiateType(getTypeAtPosition(context, i), mapper); } if (signature.hasRestParameter && context.hasRestParameter && signature.parameters.length >= context.parameters.length) { var parameter = signature.parameters[signature.parameters.length - 1]; var links = getSymbolLinks(parameter); - if (!links.type) { - links.type = instantiateType(getTypeOfSymbol(context.parameters[context.parameters.length - 1]), mapper); - } + links.type = instantiateType(getTypeOfSymbol(context.parameters[context.parameters.length - 1]), mapper); } } - function getReturnTypeFromBody(func, contextualType, contextualMapper) { + function getReturnTypeFromBody(func, contextualMapper) { if (func.body.kind !== 168 /* FunctionBlock */) { - var unwidenedType = checkAndMarkExpression(func.body, contextualType, contextualMapper); + var unwidenedType = checkAndMarkExpression(func.body, contextualMapper); var widenedType = getWidenedType(unwidenedType); if (program.getCompilerOptions().noImplicitAny && widenedType !== unwidenedType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { error(func, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeToString(widenedType)); } return widenedType; } - var types = checkAndAggregateReturnExpressionTypes(func.body, contextualType, contextualMapper); + var types = checkAndAggregateReturnExpressionTypes(func.body, contextualMapper); if (types.length > 0) { var commonType = getBestCommonType(types, undefined, true); if (!commonType) { @@ -10981,12 +11446,12 @@ var ts; } } } - function checkAndAggregateReturnExpressionTypes(body, contextualType, contextualMapper) { + function checkAndAggregateReturnExpressionTypes(body, contextualMapper) { var aggregatedTypes = []; forEachReturnStatement(body, function (returnStatement) { var expr = returnStatement.expression; if (expr) { - var type = checkAndMarkExpression(expr, contextualType, contextualMapper); + var type = checkAndMarkExpression(expr, contextualMapper); if (!ts.contains(aggregatedTypes, type)) { aggregatedTypes.push(type); } @@ -11018,38 +11483,43 @@ var ts; } error(func.type, ts.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_or_consist_of_a_single_throw_statement); } - function checkFunctionExpression(node, contextualType, contextualMapper) { + function checkFunctionExpression(node, contextualMapper) { if (contextualMapper === identityMapper) { return anyFunctionType; } - var type = getTypeOfSymbol(node.symbol); var links = getNodeLinks(node); - if (!(links.flags & 1 /* TypeChecked */)) { - var signature = getSignaturesOfType(type, 0 /* Call */)[0]; - var contextualSignature = getContextualSignature(contextualType); - if (contextualSignature) { - if (!node.typeParameters && !ts.forEach(node.parameters, function (p) { return p.type; })) { - assignContextualParameterTypes(signature, contextualSignature, contextualMapper || identityMapper); - } - if (!node.type) { - signature.resolvedReturnType = resolvingType; - var returnType = getReturnTypeFromBody(node, getReturnTypeOfSignature(contextualSignature), contextualMapper); - if (signature.resolvedReturnType === resolvingType) { - signature.resolvedReturnType = returnType; + var type = getTypeOfSymbol(node.symbol); + if (!(links.flags & 64 /* ContextChecked */)) { + var contextualSignature = getContextualSignature(node); + if (!(links.flags & 64 /* ContextChecked */)) { + links.flags |= 64 /* ContextChecked */; + if (contextualSignature) { + var signature = getSignaturesOfType(type, 0 /* Call */)[0]; + if (isContextSensitiveExpression(node)) { + assignContextualParameterTypes(signature, contextualSignature, contextualMapper || identityMapper); + } + if (!node.type) { + signature.resolvedReturnType = resolvingType; + var returnType = getReturnTypeFromBody(node, contextualMapper); + if (signature.resolvedReturnType === resolvingType) { + signature.resolvedReturnType = returnType; + } } } - else { - checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(node, getTypeFromTypeNode(node.type)); - } } + } + if (fullTypeCheck && !(links.flags & 1 /* TypeChecked */)) { checkSignatureDeclaration(node); + if (node.type) { + checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(node, getTypeFromTypeNode(node.type)); + } if (node.body.kind === 168 /* FunctionBlock */) { checkSourceElement(node.body); } else { - var returnType = getReturnTypeOfSignature(signature); + var exprType = checkExpression(node.body); if (node.type) { - checkTypeAssignableTo(checkExpression(node.body, returnType), returnType, node.body, undefined, undefined); + checkTypeAssignableTo(exprType, getTypeFromTypeNode(node.type), node.body, undefined, undefined); } } links.flags |= 1 /* TypeChecked */; @@ -11143,12 +11613,10 @@ var ts; } return booleanType; } - function checkBinaryExpression(node, contextualType, contextualMapper) { + function checkBinaryExpression(node, contextualMapper) { var operator = node.operator; - var leftContextualType = operator === 40 /* BarBarToken */ ? contextualType : undefined; - var leftType = checkExpression(node.left, leftContextualType, contextualMapper); - var rightContextualType = operator >= ts.SyntaxKind.FirstAssignment && operator <= ts.SyntaxKind.LastAssignment ? leftType : operator === 40 /* BarBarToken */ ? contextualType || leftType : undefined; - var rightType = checkExpression(node.right, rightContextualType, contextualMapper); + var leftType = checkExpression(node.left, contextualMapper); + var rightType = checkExpression(node.right, contextualMapper); switch (operator) { case 26 /* AsteriskToken */: case 46 /* AsteriskEqualsToken */: @@ -11223,7 +11691,7 @@ var ts; case 39 /* AmpersandAmpersandToken */: return rightType; case 40 /* BarBarToken */: - return getBestCommonType([leftType, rightType], isInferentialContext(contextualMapper) ? undefined : contextualType); + return getBestCommonType([leftType, rightType], isInferentialContext(contextualMapper) ? undefined : getContextualType(node)); case 43 /* EqualsToken */: checkAssignmentOperator(rightType); return rightType; @@ -11242,13 +11710,14 @@ var ts; error(node, ts.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2, ts.tokenToString(node.operator), typeToString(leftType), typeToString(rightType)); } } - function checkConditionalExpression(node, contextualType, contextualMapper) { + function checkConditionalExpression(node, contextualMapper) { checkExpression(node.condition); - var type1 = checkExpression(node.whenTrue, contextualType, contextualMapper); - var type2 = checkExpression(node.whenFalse, contextualType, contextualMapper); - var resultType = getBestCommonType([type1, type2], isInferentialContext(contextualMapper) ? undefined : contextualType, true); + var type1 = checkExpression(node.whenTrue, contextualMapper); + var type2 = checkExpression(node.whenFalse, contextualMapper); + var contextualType = isInferentialContext(contextualMapper) ? undefined : getContextualType(node); + var resultType = getBestCommonType([type1, type2], contextualType, true); if (!resultType) { - if (contextualType && !isInferentialContext(contextualMapper)) { + if (contextualType) { error(node, ts.Diagnostics.No_best_common_type_exists_between_0_1_and_2, typeToString(contextualType), typeToString(type1), typeToString(type2)); } else { @@ -11258,12 +11727,19 @@ var ts; } return resultType; } - function checkAndMarkExpression(node, contextualType, contextualMapper) { - var result = checkExpression(node, contextualType, contextualMapper); + function checkExpressionWithContextualType(node, contextualType, contextualMapper) { + var saveContextualType = node.contextualType; + node.contextualType = contextualType; + var result = checkExpression(node, contextualMapper); + node.contextualType = saveContextualType; + return result; + } + function checkAndMarkExpression(node, contextualMapper) { + var result = checkExpression(node, contextualMapper); getNodeLinks(node).flags |= 1 /* TypeChecked */; return result; } - function checkExpression(node, contextualType, contextualMapper) { + function checkExpression(node, contextualMapper) { switch (node.kind) { case 55 /* Identifier */: return checkIdentifier(node); @@ -11285,32 +11761,31 @@ var ts; case 112 /* QualifiedName */: return checkPropertyAccess(node); case 127 /* ArrayLiteral */: - return checkArrayLiteral(node, contextualType, contextualMapper); + return checkArrayLiteral(node, contextualMapper); case 128 /* ObjectLiteral */: - return checkObjectLiteral(node, contextualType, contextualMapper); + return checkObjectLiteral(node, contextualMapper); case 130 /* PropertyAccess */: return checkPropertyAccess(node); case 131 /* IndexedAccess */: return checkIndexedAccess(node); case 132 /* CallExpression */: - return checkCallExpression(node); case 133 /* NewExpression */: - return checkNewExpression(node); + return checkCallExpression(node); case 134 /* TypeAssertion */: return checkTypeAssertion(node); case 135 /* ParenExpression */: return checkExpression(node.expression); case 136 /* FunctionExpression */: case 137 /* ArrowFunction */: - return checkFunctionExpression(node, contextualType, contextualMapper); + return checkFunctionExpression(node, contextualMapper); case 138 /* PrefixOperator */: return checkPrefixExpression(node); case 139 /* PostfixOperator */: return checkPostfixExpression(node); case 140 /* BinaryExpression */: - return checkBinaryExpression(node, contextualType, contextualMapper); + return checkBinaryExpression(node, contextualMapper); case 141 /* ConditionalExpression */: - return checkConditionalExpression(node, contextualType, contextualMapper); + return checkConditionalExpression(node, contextualMapper); } return unknownType; } @@ -11542,9 +12017,20 @@ var ts; error(signatureDeclarationNode, ts.Diagnostics.A_signature_with_an_implementation_cannot_use_a_string_literal_type); return; } - var signaturesOfSymbol = getSignaturesOfSymbol(getSymbolOfNode(signatureDeclarationNode)); - for (var i = 0; i < signaturesOfSymbol.length; i++) { - var otherSignature = signaturesOfSymbol[i]; + var symbol = getSymbolOfNode(signatureDeclarationNode); + var signaturesToCheck; + if (!signatureDeclarationNode.name && signatureDeclarationNode.parent && signatureDeclarationNode.parent.kind === 170 /* InterfaceDeclaration */) { + ts.Debug.assert(signatureDeclarationNode.kind === 120 /* CallSignature */ || signatureDeclarationNode.kind === 121 /* ConstructSignature */); + var signatureKind = signatureDeclarationNode.kind === 120 /* CallSignature */ ? 0 /* Call */ : 1 /* Construct */; + var containingSymbol = getSymbolOfNode(signatureDeclarationNode.parent); + var containingType = getDeclaredTypeOfSymbol(containingSymbol); + signaturesToCheck = getSignaturesOfType(containingType, signatureKind); + } + else { + signaturesToCheck = getSignaturesOfSymbol(getSymbolOfNode(signatureDeclarationNode)); + } + for (var i = 0; i < signaturesToCheck.length; i++) { + var otherSignature = signaturesToCheck[i]; if (!otherSignature.hasStringLiterals && isSignatureAssignableTo(signature, otherSignature)) { return; } @@ -11882,7 +12368,7 @@ var ts; } if (node.initializer) { if (!(getNodeLinks(node.initializer).flags & 1 /* TypeChecked */)) { - checkTypeAssignableTo(checkAndMarkExpression(node.initializer, type), type, node, undefined, undefined); + checkTypeAssignableTo(checkAndMarkExpression(node.initializer), type, node, undefined, undefined); } } checkCollisionWithCapturedSuperVariable(node, node.name); @@ -11968,10 +12454,10 @@ var ts; var returnType = getReturnTypeOfSignature(getSignatureFromDeclaration(func)); var checkAssignability = func.type || (func.kind === 118 /* GetAccessor */ && getSetAccessorTypeAnnotationNode(getDeclarationOfKind(func.symbol, 119 /* SetAccessor */))); if (checkAssignability) { - checkTypeAssignableTo(checkExpression(node.expression, returnType), returnType, node.expression, undefined, undefined); + checkTypeAssignableTo(checkExpression(node.expression), returnType, node.expression, undefined, undefined); } else if (func.kind == 117 /* Constructor */) { - if (!isTypeAssignableTo(checkExpression(node.expression, returnType), returnType)) { + if (!isTypeAssignableTo(checkExpression(node.expression), returnType)) { error(node.expression, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } } @@ -12455,6 +12941,7 @@ var ts; function checkSourceFile(node) { var links = getNodeLinks(node); if (!(links.flags & 1 /* TypeChecked */)) { + fullTypeCheck = true; emitExtends = false; potentialThisCollisions.length = 0; ts.forEach(node.statements, checkSourceElement); @@ -12471,6 +12958,7 @@ var ts; if (emitExtends) links.flags |= 8 /* EmitExtends */; links.flags |= 1 /* TypeChecked */; + fullTypeCheck = false; } } function checkProgram() { @@ -12593,9 +13081,9 @@ var ts; } return false; } - function isTypeReferenceIdentifier(identifier) { - var node = identifier; - if (node.parent && node.parent.kind === 112 /* QualifiedName */) + function isTypeReferenceIdentifier(entityName) { + var node = entityName; + while (node.parent && node.parent.kind === 112 /* QualifiedName */) node = node.parent; return node.parent && node.parent.kind === 123 /* TypeReference */; } @@ -12659,33 +13147,77 @@ var ts; } return false; } - function isRightSideOfQualifiedName(node) { + function isRightSideOfQualifiedNameOrPropertyAccess(node) { return (node.parent.kind === 112 /* QualifiedName */ || node.parent.kind === 130 /* PropertyAccess */) && node.parent.right === node; } function getSymbolOfIdentifier(identifier) { - if (isExpression(identifier)) { - if (isRightSideOfQualifiedName(identifier)) { - var node = identifier.parent; - var symbol = getNodeLinks(node).resolvedSymbol; - if (!symbol) { - checkPropertyAccess(node); - } - return getNodeLinks(node).resolvedSymbol; - } - return resolveEntityName(identifier, identifier, ts.SymbolFlags.Value); - } if (isDeclarationIdentifier(identifier)) { return getSymbolOfNode(identifier.parent); } - if (isTypeReferenceIdentifier(identifier)) { - var entityName = isRightSideOfQualifiedName(identifier) ? identifier.parent : identifier; + var entityName = identifier; + while (isRightSideOfQualifiedNameOrPropertyAccess(entityName)) + entityName = entityName.parent; + if (isExpression(entityName)) { + if (entityName.kind === 55 /* Identifier */) { + var meaning = ts.SymbolFlags.Value | 4194304 /* Import */; + return resolveEntityName(entityName, entityName, meaning); + } + else if (entityName.kind === 112 /* QualifiedName */ || entityName.kind === 130 /* PropertyAccess */) { + var symbol = getNodeLinks(entityName).resolvedSymbol; + if (!symbol) { + checkPropertyAccess(entityName); + } + return getNodeLinks(entityName).resolvedSymbol; + } + else { + return; + } + } + else if (isTypeReferenceIdentifier(entityName)) { var meaning = entityName.parent.kind === 123 /* TypeReference */ ? ts.SymbolFlags.Type : ts.SymbolFlags.Namespace; + meaning |= 4194304 /* Import */; return resolveEntityName(entityName, entityName, meaning); } } + function getSymbolInfo(node) { + switch (node.kind) { + case 55 /* Identifier */: + return getSymbolOfIdentifier(node); + case 83 /* ThisKeyword */: + case 81 /* SuperKeyword */: + var type = checkExpression(node); + return type.symbol; + case 103 /* ConstructorKeyword */: + var constructorDeclaration = node.parent; + if (constructorDeclaration && constructorDeclaration.kind === 117 /* Constructor */) { + return constructorDeclaration.parent.symbol; + } + return undefined; + case 3 /* StringLiteral */: + if (node.parent.kind === 131 /* IndexedAccess */ && node.parent.index === node) { + var objectType = checkExpression(node.parent.object); + if (objectType === unknownType) + return undefined; + var apparentType = getApparentType(objectType); + if (apparentType === unknownType) + return undefined; + return getPropertyOfApparentType(apparentType, node.text); + } + else if (node.parent.kind === 174 /* ImportDeclaration */ && node.parent.externalModuleName === node) { + var importSymbol = getSymbolOfNode(node.parent); + var moduleType = getTypeOfSymbol(importSymbol); + return moduleType ? moduleType.symbol : undefined; + } + else if (node.parent.kind === 172 /* ModuleDeclaration */) { + return getSymbolOfNode(node.parent); + } + break; + } + return undefined; + } function getTypeOfExpression(node) { if (isExpression(node)) { - while (isRightSideOfQualifiedName(node)) { + while (isRightSideOfQualifiedNameOrPropertyAccess(node)) { node = node.parent; } return getApparentType(checkExpression(node)); @@ -12850,7 +13382,9 @@ var ts; isDeclarationVisible: isDeclarationVisible, isImplementationOfOverload: isImplementationOfOverload, writeTypeAtLocation: writeTypeAtLocation, - writeReturnTypeOfSignatureDeclaration: writeReturnTypeOfSignatureDeclaration + writeReturnTypeOfSignatureDeclaration: writeReturnTypeOfSignatureDeclaration, + writeSymbol: writeSymbolToTextWriter, + isSymbolAccessible: isSymbolAccessible }; checkProgram(); return ts.emitFiles(resolver); @@ -12869,7 +13403,8 @@ var ts; getSymbolLinks(argumentsSymbol).type = getGlobalType("IArguments"); getSymbolLinks(unknownSymbol).type = unknownType; globals[undefinedSymbol.name] = undefinedSymbol; - globalArrayType = getGlobalType("Array", 1); + globalArraySymbol = getGlobalSymbol("Array"); + globalArrayType = getTypeOfGlobalSymbol(globalArraySymbol, 1); globalObjectType = getGlobalType("Object"); globalFunctionType = getGlobalType("Function"); globalStringType = getGlobalType("String"); @@ -12884,38 +13419,129 @@ var ts; })(ts || (ts = {})); var ts; (function (ts) { - var shortOptionNames = { - "d": "declaration", - "h": "help", - "m": "module", - "o": "out", - "t": "target", - "v": "version" - }; - var options = [ - { name: "charset", type: "string" }, - { name: "codepage", type: "number" }, - { name: "declaration", type: "boolean" }, - { name: "diagnostics", type: "boolean" }, - { name: "help", type: "boolean" }, - { name: "locale", type: "string" }, - { name: "mapRoot", type: "string" }, - { name: "module", type: { "commonjs": 1 /* CommonJS */, "amd": 2 /* AMD */ }, error: ts.Diagnostics.Argument_for_module_option_must_be_commonjs_or_amd }, - { name: "noImplicitAny", type: "boolean" }, - { name: "noLib", type: "boolean" }, - { name: "noLibCheck", type: "boolean" }, - { name: "noResolve", type: "boolean" }, - { name: "out", type: "string" }, - { name: "outDir", type: "string" }, - { name: "removeComments", type: "boolean" }, - { name: "sourceMap", type: "boolean" }, - { name: "sourceRoot", type: "string" }, - { name: "target", type: { "es3": 0 /* ES3 */, "es5": 1 /* ES5 */ }, error: ts.Diagnostics.Argument_for_target_option_must_be_es3_or_es5 }, - { name: "version", type: "boolean" } + ts.optionDeclarations = [ + { + name: "charset", + type: "string" + }, + { + name: "codepage", + type: "number" + }, + { + name: "declaration", + shortName: "d", + type: "boolean", + description: ts.Diagnostics.Generates_corresponding_d_ts_file + }, + { + name: "diagnostics", + type: "boolean" + }, + { + name: "emitBOM", + type: "boolean" + }, + { + name: "help", + shortName: "h", + type: "boolean", + description: ts.Diagnostics.Print_this_message + }, + { + name: "locale", + type: "string" + }, + { + name: "mapRoot", + type: "string", + description: ts.Diagnostics.Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations, + paramType: ts.Diagnostics.LOCATION + }, + { + name: "module", + shortName: "m", + type: { + "commonjs": 1 /* CommonJS */, + "amd": 2 /* AMD */ + }, + description: ts.Diagnostics.Specify_module_code_generation_Colon_commonjs_or_amd, + paramType: ts.Diagnostics.KIND, + error: ts.Diagnostics.Argument_for_module_option_must_be_commonjs_or_amd + }, + { + name: "noImplicitAny", + type: "boolean", + description: ts.Diagnostics.Warn_on_expressions_and_declarations_with_an_implied_any_type + }, + { + name: "noLib", + type: "boolean" + }, + { + name: "noLibCheck", + type: "boolean" + }, + { + name: "noResolve", + type: "boolean" + }, + { + name: "out", + type: "string", + description: ts.Diagnostics.Concatenate_and_emit_output_to_single_file, + paramType: ts.Diagnostics.FILE + }, + { + name: "outDir", + type: "string", + description: ts.Diagnostics.Redirect_output_structure_to_the_directory, + paramType: ts.Diagnostics.DIRECTORY + }, + { + name: "removeComments", + type: "boolean", + description: ts.Diagnostics.Do_not_emit_comments_to_output + }, + { + name: "sourceMap", + type: "boolean", + description: ts.Diagnostics.Generates_corresponding_map_file + }, + { + name: "sourceRoot", + type: "string", + description: ts.Diagnostics.Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations, + paramType: ts.Diagnostics.LOCATION + }, + { + name: "target", + shortName: "t", + type: { "es3": 0 /* ES3 */, "es5": 1 /* ES5 */ }, + description: ts.Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_or_ES5, + paramType: ts.Diagnostics.VERSION, + error: ts.Diagnostics.Argument_for_target_option_must_be_es3_or_es5 + }, + { + name: "version", + shortName: "v", + type: "boolean", + description: ts.Diagnostics.Print_the_compiler_s_version + }, + { + name: "watch", + shortName: "w", + type: "boolean", + description: ts.Diagnostics.Watch_input_files + } ]; - var optionDeclarations = {}; - ts.forEach(options, function (option) { - optionDeclarations[option.name.toLowerCase()] = option; + var shortOptionNames = {}; + var optionNameMap = {}; + ts.forEach(ts.optionDeclarations, function (option) { + optionNameMap[option.name.toLowerCase()] = option; + if (option.shortName) { + shortOptionNames[option.shortName] = option.name; + } }); function parseCommandLine(commandLine) { var options = { @@ -12942,8 +13568,8 @@ var ts; if (ts.hasProperty(shortOptionNames, s)) { s = shortOptionNames[s]; } - if (ts.hasProperty(optionDeclarations, s)) { - var opt = optionDeclarations[s]; + if (ts.hasProperty(optionNameMap, s)) { + var opt = optionNameMap[s]; if (!args[i] && opt.type !== "boolean") { errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Compiler_option_0_expects_an_argument, opt.name)); } @@ -13015,7 +13641,7 @@ var ts; })(ts || (ts = {})); var ts; (function (ts) { - ts.version = "1.1.0.0"; + var version = "1.1.0.0"; function validateLocaleAndSetLanguage(locale, errors) { var matchResult = /^([a-z]+)([_\-]([a-z]+))?$/.exec(locale.toLowerCase()); if (!matchResult) { @@ -13064,18 +13690,26 @@ var ts; }); return count; } - function reportDiagnostic(error) { - if (error.file) { - var loc = error.file.getLineAndCharacterFromPosition(error.start); - sys.writeErr(error.file.filename + "(" + loc.line + "," + loc.character + "): " + error.messageText + sys.newLine); + function getDiagnosticText(message) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + var diagnostic = ts.createCompilerDiagnostic.apply(undefined, arguments); + return diagnostic.messageText; + } + function reportDiagnostic(diagnostic) { + if (diagnostic.file) { + var loc = diagnostic.file.getLineAndCharacterFromPosition(diagnostic.start); + sys.write(diagnostic.file.filename + "(" + loc.line + "," + loc.character + "): " + diagnostic.messageText + sys.newLine); } else { - sys.writeErr(error.messageText + sys.newLine); + sys.write(diagnostic.messageText + sys.newLine); } } - function reportDiagnostics(errors) { - for (var i = 0; i < errors.length; i++) { - reportDiagnostic(errors[i]); + function reportDiagnostics(diagnostics) { + for (var i = 0; i < diagnostics.length; i++) { + reportDiagnostic(diagnostics[i]); } } function padLeft(s, length) { @@ -13091,7 +13725,7 @@ var ts; return s; } function reportStatisticalValue(name, value) { - sys.writeErr(padRight(name + ":", 12) + padLeft(value.toString(), 10) + sys.newLine); + sys.write(padRight(name + ":", 12) + padLeft(value.toString(), 10) + sys.newLine); } function reportCountStatistic(name, count) { reportStatisticalValue(name, "" + count); @@ -13114,7 +13748,7 @@ var ts; } return text !== undefined ? ts.createSourceFile(filename, text, languageVersion) : undefined; } - function writeFile(fileName, data, onError) { + function writeFile(fileName, data, writeByteOrderMark, onError) { function directoryExists(directoryPath) { if (ts.hasProperty(existingDirectories, directoryPath)) { return true; @@ -13134,7 +13768,7 @@ var ts; } try { ensureDirectoriesExist(ts.getDirectoryPath(ts.normalizePath(fileName))); - sys.writeFile(fileName, data); + sys.writeFile(fileName, data, writeByteOrderMark); } catch (e) { if (onError) @@ -13152,25 +13786,94 @@ var ts; }; } function executeCommandLine(args) { - var cmds = ts.parseCommandLine(args); - if (cmds.options.locale) { - validateLocaleAndSetLanguage(cmds.options.locale, cmds.errors); + var commandLine = ts.parseCommandLine(args); + if (commandLine.options.locale) { + validateLocaleAndSetLanguage(commandLine.options.locale, commandLine.errors); } - if (cmds.filenames.length === 0 && !(cmds.options.help || cmds.options.version)) { - cmds.errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.No_input_files_specified)); + if (commandLine.errors.length > 0) { + reportDiagnostics(commandLine.errors); + return sys.exit(1); } - if (cmds.options.version) { - reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.Version_0, ts.version)); - return 0; + if (commandLine.options.version) { + reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.Version_0, version)); + return sys.exit(0); } - if (cmds.filenames.length === 0 || cmds.options.help) { + if (commandLine.options.help || commandLine.filenames.length === 0) { + printVersion(); + printHelp(); + return sys.exit(0); } - if (cmds.errors.length) { - reportDiagnostics(cmds.errors); - return 1; + var defaultCompilerHost = createCompilerHost(commandLine.options); + if (commandLine.options.watch) { + if (!sys.watchFile) { + reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.The_current_host_does_not_support_the_0_option, "--watch")); + return sys.exit(1); + } + watchProgram(commandLine, defaultCompilerHost); } + else { + var result = compile(commandLine, defaultCompilerHost).errors.length > 0 ? 1 : 0; + return sys.exit(result); + } + } + ts.executeCommandLine = executeCommandLine; + function watchProgram(commandLine, compilerHost) { + var watchers = {}; + var updatedFiles = {}; + var program = compile(commandLine, compilerHost).program; + reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.Compilation_complete_Watching_for_file_changes)); + addWatchers(program); + return; + function addWatchers(program) { + ts.forEach(program.getSourceFiles(), function (f) { + var filename = getCanonicalName(f.filename); + watchers[filename] = sys.watchFile(filename, fileUpdated); + }); + } + function removeWatchers(program) { + ts.forEach(program.getSourceFiles(), function (f) { + var filename = getCanonicalName(f.filename); + if (ts.hasProperty(watchers, filename)) { + watchers[filename].close(); + } + }); + watchers = {}; + } + function fileUpdated(filename) { + var firstNotification = ts.isEmpty(updatedFiles); + updatedFiles[getCanonicalName(filename)] = true; + if (firstNotification) { + setTimeout(function () { + var changedFiles = updatedFiles; + updatedFiles = {}; + recompile(changedFiles); + }, 250); + } + } + function recompile(changedFiles) { + reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.File_change_detected_Compiling)); + removeWatchers(program); + var oldSourceFiles = ts.arrayToMap(ts.filter(program.getSourceFiles(), function (file) { return !ts.hasProperty(changedFiles, getCanonicalName(file.filename)); }), function (file) { return getCanonicalName(file.filename); }); + var newCompilerHost = ts.clone(compilerHost); + newCompilerHost.getSourceFile = function (fileName, languageVersion, onError) { + fileName = getCanonicalName(fileName); + var sourceFile = ts.lookUp(oldSourceFiles, fileName); + if (sourceFile) { + return sourceFile; + } + return compilerHost.getSourceFile(fileName, languageVersion, onError); + }; + program = compile(commandLine, newCompilerHost).program; + reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.Compilation_complete_Watching_for_file_changes)); + addWatchers(program); + } + function getCanonicalName(fileName) { + return compilerHost.getCanonicalFileName(fileName); + } + } + function compile(commandLine, compilerHost) { var parseStart = new Date().getTime(); - var program = ts.createProgram(cmds.filenames, cmds.options, createCompilerHost(cmds.options)); + var program = ts.createProgram(commandLine.filenames, commandLine.options, compilerHost); var bindStart = new Date().getTime(); var errors = program.getDiagnostics(); if (errors.length) { @@ -13188,7 +13891,7 @@ var ts; errors = ts.concatenate(semanticErrors, emitErrors); } reportDiagnostics(errors); - if (cmds.options.diagnostics) { + if (commandLine.options.diagnostics) { reportCountStatistic("Files", program.getSourceFiles().length); reportCountStatistic("Lines", countLines(program)); reportCountStatistic("Nodes", checker ? checker.getNodeCount() : 0); @@ -13201,8 +13904,68 @@ var ts; reportTimeStatistic("Emit time", reportStart - emitStart); reportTimeStatistic("Total time", reportStart - parseStart); } - return errors.length ? 1 : 0; + return { program: program, errors: errors }; + } + function printVersion() { + sys.write(getDiagnosticText(ts.Diagnostics.Version_0, version) + sys.newLine); + } + function printHelp() { + var output = ""; + var syntaxLength = getDiagnosticText(ts.Diagnostics.Syntax_Colon_0, "").length; + var examplesLength = getDiagnosticText(ts.Diagnostics.Examples_Colon_0, "").length; + var marginLength = Math.max(syntaxLength, examplesLength); + var syntax = makePadding(marginLength - syntaxLength); + syntax += "tsc [" + getDiagnosticText(ts.Diagnostics.options) + "] [" + getDiagnosticText(ts.Diagnostics.file) + " ...]"; + output += getDiagnosticText(ts.Diagnostics.Syntax_Colon_0, syntax); + output += sys.newLine + sys.newLine; + var padding = makePadding(marginLength); + output += getDiagnosticText(ts.Diagnostics.Examples_Colon_0, makePadding(marginLength - examplesLength) + "tsc hello.ts") + sys.newLine; + output += padding + "tsc --out foo.js foo.ts" + sys.newLine; + output += padding + "tsc @args.txt" + sys.newLine; + output += sys.newLine; + output += getDiagnosticText(ts.Diagnostics.Options_Colon) + sys.newLine; + var optsList = ts.optionDeclarations.slice(); + optsList.sort(function (a, b) { return ts.compareValues(a.name.toLowerCase(), b.name.toLowerCase()); }); + var marginLength = 0; + var usageColumn = []; + var descriptionColumn = []; + for (var i = 0; i < optsList.length; i++) { + var option = optsList[i]; + if (!option.description) { + continue; + } + var usageText = " "; + if (option.shortName) { + usageText += "-" + option.shortName; + usageText += getParamName(option); + usageText += ", "; + } + usageText += "--" + option.name; + usageText += getParamName(option); + usageColumn.push(usageText); + descriptionColumn.push(getDiagnosticText(option.description)); + marginLength = Math.max(usageText.length, marginLength); + } + var usageText = " @<" + getDiagnosticText(ts.Diagnostics.file) + ">"; + usageColumn.push(usageText); + descriptionColumn.push(getDiagnosticText(ts.Diagnostics.Insert_command_line_options_and_files_from_a_file)); + marginLength = Math.max(usageText.length, marginLength); + for (var i = 0; i < usageColumn.length; i++) { + var usage = usageColumn[i]; + var description = descriptionColumn[i]; + output += usage + makePadding(marginLength - usage.length + 2) + description + sys.newLine; + } + sys.write(output); + return; + function getParamName(option) { + if (option.paramName !== undefined) { + return " " + getDiagnosticText(option.paramName); + } + return ""; + } + function makePadding(paddingLength) { + return Array(paddingLength + 1).join(" "); + } } - ts.executeCommandLine = executeCommandLine; })(ts || (ts = {})); -sys.exit(ts.executeCommandLine(sys.args)); +ts.executeCommandLine(sys.args); diff --git a/bin/typescriptServices.js b/bin/typescriptServices.js index f658770e030..8babfd4486d 100644 --- a/bin/typescriptServices.js +++ b/bin/typescriptServices.js @@ -119,7 +119,30 @@ var ts; An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name: { code: 1118, category: 1 /* Error */, key: "An object literal cannot have multiple get/set accessors with the same name." }, An_object_literal_cannot_have_property_and_accessor_with_the_same_name: { code: 1119, category: 1 /* Error */, key: "An object literal cannot have property and accessor with the same name." }, An_export_assignment_cannot_have_modifiers: { code: 1120, category: 1 /* Error */, key: "An export assignment cannot have modifiers." }, + Octal_literals_are_not_allowed_in_strict_mode: { code: 1121, category: 1 /* Error */, key: "Octal literals are not allowed in strict mode." }, Duplicate_identifier_0: { code: 2000, category: 1 /* Error */, key: "Duplicate identifier '{0}'." }, + Extends_clause_of_exported_class_0_has_or_is_using_private_name_1: { code: 2018, category: 1 /* Error */, key: "Extends clause of exported class '{0}' has or is using private name '{1}'." }, + Implements_clause_of_exported_class_0_has_or_is_using_private_name_1: { code: 2019, category: 1 /* Error */, key: "Implements clause of exported class '{0}' has or is using private name '{1}'." }, + Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1: { code: 2020, category: 1 /* Error */, key: "Extends clause of exported interface '{0}' has or is using private name '{1}'." }, + Extends_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2: { code: 2021, category: 1 /* Error */, key: "Extends clause of exported class '{0}' has or is using name '{1}' from private module '{2}'." }, + Implements_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2: { code: 2022, category: 1 /* Error */, key: "Implements clause of exported class '{0}' has or is using name '{1}' from private module '{2}'." }, + Extends_clause_of_exported_interface_0_has_or_is_using_name_1_from_private_module_2: { code: 2023, category: 1 /* Error */, key: "Extends clause of exported interface '{0}' has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 2208, category: 1 /* Error */, key: "Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 2209, category: 1 /* Error */, key: "Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: { code: 2210, category: 1 /* Error */, key: "Type parameter '{0}' of public static method from exported class has or is using private name '{1}'." }, + Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1: { code: 2211, category: 1 /* Error */, key: "Type parameter '{0}' of public method from exported class has or is using private name '{1}'." }, + Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1: { code: 2212, category: 1 /* Error */, key: "Type parameter '{0}' of method from exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_exported_function_has_or_is_using_private_name_1: { code: 2213, category: 1 /* Error */, key: "Type parameter '{0}' of exported function has or is using private name '{1}'." }, + Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2214, category: 1 /* Error */, key: "Type parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2215, category: 1 /* Error */, key: "Type parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2216, category: 1 /* Error */, key: "Type parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2217, category: 1 /* Error */, key: "Type parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2218, category: 1 /* Error */, key: "Type parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2: { code: 2219, category: 1 /* Error */, key: "Type parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 2220, category: 1 /* Error */, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." }, + Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: { code: 2221, category: 1 /* Error */, key: "Type parameter '{0}' of exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2222, category: 1 /* Error */, key: "Type parameter '{0}' of exported class has or is using name '{1}' from private module '{2}'." }, + Type_parameter_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2223, category: 1 /* Error */, key: "Type parameter '{0}' of exported interface has or is using name '{1}' from private module '{2}'." }, new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: { code: 2068, category: 1 /* Error */, key: "'new T[]' cannot be used to create an array. Use 'new Array()' instead." }, Multiple_constructor_implementations_are_not_allowed: { code: 2070, category: 1 /* Error */, key: "Multiple constructor implementations are not allowed." }, A_class_may_only_implement_another_class_or_interface: { code: 2074, category: 1 /* Error */, key: "A class may only implement another class or interface." }, @@ -223,13 +246,57 @@ var ts; Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property: { code: 4019, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property." }, In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element: { code: 4024, category: 1 /* Error */, key: "In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element." }, Named_properties_0_of_types_1_and_2_are_not_identical: { code: 4032, category: 3 /* NoPrefix */, key: "Named properties '{0}' of types '{1}' and '{2}' are not identical." }, + The_current_host_does_not_support_the_0_option: { code: 5001, category: 1 /* Error */, key: "The current host does not support the '{0}' option." }, Cannot_find_the_common_subdirectory_path_for_the_input_files: { code: 5009, category: 1 /* Error */, key: "Cannot find the common subdirectory path for the input files." }, Cannot_read_file_0_Colon_1: { code: 5012, category: 1 /* Error */, key: "Cannot read file '{0}': {1}" }, Unsupported_file_encoding: { code: 5013, category: 3 /* NoPrefix */, key: "Unsupported file encoding." }, Could_not_write_file_0_Colon_1: { code: 5033, category: 1 /* Error */, key: "Could not write file '{0}': {1}" }, Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5038, category: 1 /* Error */, key: "Option mapRoot cannot be specified without specifying sourcemap option." }, Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5039, category: 1 /* Error */, key: "Option sourceRoot cannot be specified without specifying sourcemap option." }, + Concatenate_and_emit_output_to_single_file: { code: 6001, category: 2 /* Message */, key: "Concatenate and emit output to single file." }, + Generates_corresponding_d_ts_file: { code: 6002, category: 2 /* Message */, key: "Generates corresponding '.d.ts' file." }, + Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: { code: 6003, category: 2 /* Message */, key: "Specifies the location where debugger should locate map files instead of generated locations." }, + Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations: { code: 6004, category: 2 /* Message */, key: "Specifies the location where debugger should locate TypeScript files instead of source locations." }, + Watch_input_files: { code: 6005, category: 2 /* Message */, key: "Watch input files." }, + Redirect_output_structure_to_the_directory: { code: 6006, category: 2 /* Message */, key: "Redirect output structure to the directory." }, + Do_not_emit_comments_to_output: { code: 6009, category: 2 /* Message */, key: "Do not emit comments to output." }, + Skip_resolution_and_preprocessing: { code: 6010, category: 2 /* Message */, key: "Skip resolution and preprocessing." }, + Specify_ECMAScript_target_version_Colon_ES3_default_or_ES5: { code: 6015, category: 2 /* Message */, key: "Specify ECMAScript target version: 'ES3' (default), or 'ES5'" }, + Specify_module_code_generation_Colon_commonjs_or_amd: { code: 6016, category: 2 /* Message */, key: "Specify module code generation: 'commonjs' or 'amd'" }, + Print_this_message: { code: 6017, category: 2 /* Message */, key: "Print this message." }, + Print_the_compiler_s_version: { code: 6019, category: 2 /* Message */, key: "Print the compiler's version." }, + Allow_use_of_deprecated_0_keyword_when_referencing_an_external_module: { code: 6021, category: 2 /* Message */, key: "Allow use of deprecated '{0}' keyword when referencing an external module." }, + Specify_locale_for_errors_and_messages_For_example_0_or_1: { code: 6022, category: 2 /* Message */, key: "Specify locale for errors and messages. For example '{0}' or '{1}'" }, + Syntax_Colon_0: { code: 6023, category: 2 /* Message */, key: "Syntax: {0}" }, + options: { code: 6024, category: 2 /* Message */, key: "options" }, + file: { code: 6025, category: 2 /* Message */, key: "file" }, + Examples_Colon_0: { code: 6026, category: 2 /* Message */, key: "Examples: {0}" }, + Options_Colon: { code: 6027, category: 2 /* Message */, key: "Options:" }, Version_0: { code: 6029, category: 2 /* Message */, key: "Version {0}" }, + Insert_command_line_options_and_files_from_a_file: { code: 6030, category: 2 /* Message */, key: "Insert command line options and files from a file." }, + Use_the_0_flag_to_see_options: { code: 6031, category: 2 /* Message */, key: "Use the '{0}' flag to see options." }, + File_change_detected_Compiling: { code: 6032, category: 2 /* Message */, key: "File change detected. Compiling..." }, + STRING: { code: 6033, category: 2 /* Message */, key: "STRING" }, + KIND: { code: 6034, category: 2 /* Message */, key: "KIND" }, + FILE: { code: 6035, category: 2 /* Message */, key: "FILE" }, + VERSION: { code: 6036, category: 2 /* Message */, key: "VERSION" }, + LOCATION: { code: 6037, category: 2 /* Message */, key: "LOCATION" }, + DIRECTORY: { code: 6038, category: 2 /* Message */, key: "DIRECTORY" }, + NUMBER: { code: 6039, category: 2 /* Message */, key: "NUMBER" }, + Specify_the_codepage_to_use_when_opening_source_files: { code: 6040, category: 2 /* Message */, key: "Specify the codepage to use when opening source files." }, + Additional_locations_Colon: { code: 6041, category: 2 /* Message */, key: "Additional locations:" }, + Compilation_complete_Watching_for_file_changes: { code: 6042, category: 2 /* Message */, key: "Compilation complete. Watching for file changes." }, + Generates_corresponding_map_file: { code: 6043, category: 2 /* Message */, key: "Generates corresponding '.map' file." }, + Compiler_option_0_expects_an_argument: { code: 6044, category: 1 /* Error */, key: "Compiler option '{0}' expects an argument." }, + Unterminated_quoted_string_in_response_file_0: { code: 6045, category: 1 /* Error */, key: "Unterminated quoted string in response file '{0}'." }, + Argument_for_module_option_must_be_commonjs_or_amd: { code: 6045, category: 1 /* Error */, key: "Argument for '--module' option must be 'commonjs' or 'amd'." }, + Argument_for_target_option_must_be_es3_or_es5: { code: 6046, category: 1 /* Error */, key: "Argument for '--target' option must be 'es3' or 'es5'." }, + Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: { code: 6047, category: 1 /* Error */, key: "Locale must be of the form or -. For example '{0}' or '{1}'." }, + Unsupported_locale_0: { code: 6048, category: 1 /* Error */, key: "Unsupported locale '{0}'." }, + Unable_to_open_file_0: { code: 6049, category: 1 /* Error */, key: "Unable to open file '{0}'." }, + Corrupted_locale_file_0: { code: 6050, category: 1 /* Error */, key: "Corrupted locale file {0}." }, + No_input_files_specified: { code: 6051, category: 1 /* Error */, key: "No input files specified." }, + Warn_on_expressions_and_declarations_with_an_implied_any_type: { code: 7004, category: 2 /* Message */, key: "Warn on expressions and declarations with an implied 'any' type." }, Variable_0_implicitly_has_an_1_type: { code: 7005, category: 1 /* Error */, key: "Variable '{0}' implicitly has an '{1}' type." }, Parameter_0_implicitly_has_an_1_type: { code: 7006, category: 1 /* Error */, key: "Parameter '{0}' implicitly has an '{1}' type." }, Member_0_implicitly_has_an_1_type: { code: 7008, category: 1 /* Error */, key: "Member '{0}' implicitly has an '{1}' type." }, @@ -314,16 +381,7 @@ var ts; Cannot_compile_external_modules_unless_the_module_flag_is_provided: { code: -9999999, category: 1 /* Error */, key: "Cannot compile external modules unless the '--module' flag is provided." }, Import_declaration_conflicts_with_local_declaration_of_0: { code: -9999999, category: 1 /* Error */, key: "Import declaration conflicts with local declaration of '{0}'" }, Module_0_is_hidden_by_a_local_declaration_with_the_same_name: { code: -9999999, category: 1 /* Error */, key: "Module '{0}' is hidden by a local declaration with the same name" }, - Filename_0_differs_from_already_included_filename_1_only_in_casing: { code: -9999999, category: 1 /* Error */, key: "Filename '{0}' differs from already included filename '{1}' only in casing" }, - Argument_for_module_option_must_be_commonjs_or_amd: { code: -9999999, category: 1 /* Error */, key: "Argument for '--module' option must be 'commonjs' or 'amd'." }, - Argument_for_target_option_must_be_es3_or_es5: { code: -9999999, category: 1 /* Error */, key: "Argument for '--target' option must be 'es3' or 'es5'." }, - Compiler_option_0_expects_an_argument: { code: -9999999, category: 1 /* Error */, key: "Compiler option '{0}' expects an argument." }, - Unterminated_quoted_string_in_response_file_0: { code: -9999999, category: 1 /* Error */, key: "Unterminated quoted string in response file '{0}'." }, - Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: { code: -9999999, category: 1 /* Error */, key: "Locale must be of the form or -. For example '{0}' or '{1}'." }, - Unsupported_locale_0: { code: -9999999, category: 1 /* Error */, key: "Unsupported locale {0}." }, - Unable_to_open_file_0: { code: -9999999, category: 1 /* Error */, key: "Unable to open file {0}." }, - Corrupted_locale_file_0: { code: -9999999, category: 1 /* Error */, key: "Corrupted locale file {0}." }, - No_input_files_specified: { code: -9999999, category: 1 /* Error */, key: "No input files specified." } + Filename_0_differs_from_already_included_filename_1_only_in_casing: { code: -9999999, category: 1 /* Error */, key: "Filename '{0}' differs from already included filename '{1}' only in casing" } }; })(ts || (ts = {})); var ts; @@ -527,6 +585,10 @@ var ts; function isDigit(ch) { return ch >= 48 /* _0 */ && ch <= 57 /* _9 */; } + function isOctalDigit(ch) { + return ch >= 48 /* _0 */ && ch <= 55 /* _7 */; + } + ts.isOctalDigit = isOctalDigit; function skipTrivia(text, pos, stopAfterLineBreak) { while (true) { var ch = text.charCodeAt(pos); @@ -579,6 +641,76 @@ var ts; } } ts.skipTrivia = skipTrivia; + function getCommentRanges(text, pos, trailing) { + var result; + var collecting = trailing; + while (true) { + var ch = text.charCodeAt(pos); + switch (ch) { + case 13 /* carriageReturn */: + if (text.charCodeAt(pos + 1) === 10 /* lineFeed */) + pos++; + case 10 /* lineFeed */: + pos++; + if (trailing) { + return result; + } + collecting = true; + continue; + case 9 /* tab */: + case 11 /* verticalTab */: + case 12 /* formFeed */: + case 32 /* space */: + pos++; + continue; + case 47 /* slash */: + var nextChar = text.charCodeAt(pos + 1); + if (nextChar === 47 /* slash */ || nextChar === 42 /* asterisk */) { + var startPos = pos; + pos += 2; + if (nextChar === 47 /* slash */) { + while (pos < text.length) { + if (isLineBreak(text.charCodeAt(pos))) { + break; + } + pos++; + } + } + else { + while (pos < text.length) { + if (text.charCodeAt(pos) === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + pos += 2; + break; + } + pos++; + } + } + if (collecting) { + if (!result) + result = []; + result.push({ pos: startPos, end: pos }); + } + continue; + } + break; + default: + if (ch > 127 /* maxAsciiCharacter */ && (isWhiteSpace(ch) || isLineBreak(ch))) { + pos++; + continue; + } + break; + } + return result; + } + } + function getLeadingComments(text, pos) { + return getCommentRanges(text, pos, false); + } + ts.getLeadingComments = getLeadingComments; + function getTrailingComments(text, pos) { + return getCommentRanges(text, pos, true); + } + ts.getTrailingComments = getTrailingComments; function createScanner(languageVersion, text, onError, onComment) { var pos; var len; @@ -588,8 +720,9 @@ var ts; var tokenValue; var precedingLineBreak; function error(message) { - if (onError) + if (onError) { onError(message); + } } function isIdentifierStart(ch) { return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion); @@ -623,6 +756,13 @@ var ts; } return +(text.substring(start, end)); } + function scanOctalDigits() { + var start = pos; + while (isOctalDigit(text.charCodeAt(pos))) { + pos++; + } + return +(text.substring(start, pos)); + } function scanHexDigits(count, exact) { var digits = 0; var value = 0; @@ -890,7 +1030,7 @@ var ts; } if (!commentClosed) { pos++; - onError(ts.Diagnostics.Asterisk_Slash_expected); + error(ts.Diagnostics.Asterisk_Slash_expected); } if (onComment) { onComment(tokenPos, pos); @@ -912,6 +1052,10 @@ var ts; tokenValue = "" + value; return 2 /* NumericLiteral */; } + if (pos + 1 < len && isOctalDigit(text.charCodeAt(pos + 1))) { + tokenValue = "" + scanOctalDigits(); + return 2 /* NumericLiteral */; + } case 49 /* _1 */: case 50 /* _2 */: case 51 /* _3 */: @@ -1334,6 +1478,12 @@ var ts; TypeFormatFlags[TypeFormatFlags["WriteArrayAsGenericType"] = 0x00000001] = "WriteArrayAsGenericType"; })(ts.TypeFormatFlags || (ts.TypeFormatFlags = {})); var TypeFormatFlags = ts.TypeFormatFlags; + (function (SymbolAccessibility) { + SymbolAccessibility[SymbolAccessibility["Accessible"] = 0] = "Accessible"; + SymbolAccessibility[SymbolAccessibility["NotAccessible"] = 1] = "NotAccessible"; + SymbolAccessibility[SymbolAccessibility["CannotBeNamed"] = 2] = "CannotBeNamed"; + })(ts.SymbolAccessibility || (ts.SymbolAccessibility = {})); + var SymbolAccessibility = ts.SymbolAccessibility; (function (SymbolFlags) { SymbolFlags[SymbolFlags["Variable"] = 0x00000001] = "Variable"; SymbolFlags[SymbolFlags["Property"] = 0x00000002] = "Property"; @@ -1400,6 +1550,7 @@ var ts; NodeCheckFlags[NodeCheckFlags["EmitExtends"] = 0x00000008] = "EmitExtends"; NodeCheckFlags[NodeCheckFlags["SuperInstance"] = 0x00000010] = "SuperInstance"; NodeCheckFlags[NodeCheckFlags["SuperStatic"] = 0x00000020] = "SuperStatic"; + NodeCheckFlags[NodeCheckFlags["ContextChecked"] = 0x00000040] = "ContextChecked"; })(ts.NodeCheckFlags || (ts.NodeCheckFlags = {})); var NodeCheckFlags = ts.NodeCheckFlags; (function (TypeFlags) { @@ -1577,13 +1728,6 @@ var ts; CharacterCodes[CharacterCodes["verticalTab"] = 0x0B] = "verticalTab"; })(ts.CharacterCodes || (ts.CharacterCodes = {})); var CharacterCodes = ts.CharacterCodes; - (function (ByteOrderMark) { - ByteOrderMark[ByteOrderMark["None"] = 0] = "None"; - ByteOrderMark[ByteOrderMark["Utf8"] = 1] = "Utf8"; - ByteOrderMark[ByteOrderMark["Utf16BigEndian"] = 2] = "Utf16BigEndian"; - ByteOrderMark[ByteOrderMark["Utf16LittleEndian"] = 3] = "Utf16LittleEndian"; - })(ts.ByteOrderMark || (ts.ByteOrderMark = {})); - var ByteOrderMark = ts.ByteOrderMark; })(ts || (ts = {})); var ts; (function (ts) { @@ -1693,8 +1837,11 @@ var ts; } ts.getProperty = getProperty; function isEmpty(map) { - for (var id in map) - return false; + for (var id in map) { + if (hasProperty(map, id)) { + return false; + } + } return true; } ts.isEmpty = isEmpty; @@ -1730,11 +1877,20 @@ var ts; ts.lookUp = lookUp; function mapToArray(map) { var result = []; - for (var id in map) + for (var id in map) { result.push(map[id]); + } return result; } ts.mapToArray = mapToArray; + function arrayToMap(array, makeKey) { + var result = {}; + forEach(array, function (value) { + result[makeKey(value)] = value; + }); + return result; + } + ts.arrayToMap = arrayToMap; function formatStringFromArgs(text, args, baseIndex) { baseIndex = baseIndex || 0; return text.replace(/{(\d+)}/g, function (match, index) { return args[+index + baseIndex]; }); @@ -1825,6 +1981,7 @@ var ts; return 1; return a < b ? -1 : 1; } + ts.compareValues = compareValues; function getDiagnosticFilename(diagnostic) { return diagnostic.file ? diagnostic.file.filename : undefined; } @@ -2109,13 +2266,18 @@ var sys = (function () { fileStream.Close(); } } - function writeFile(fileName, data) { + function writeFile(fileName, data, writeByteOrderMark) { fileStream.Open(); binaryStream.Open(); try { fileStream.Charset = "utf-8"; fileStream.WriteText(data); - fileStream.Position = 3; + if (writeByteOrderMark) { + fileStream.Position = 0; + } + else { + fileStream.Position = 3; + } fileStream.CopyTo(binaryStream); binaryStream.SaveToFile(fileName, 2); } @@ -2197,7 +2359,10 @@ var sys = (function () { } return buffer.toString("utf8"); } - function writeFile(fileName, data) { + function writeFile(fileName, data, writeByteOrderMark) { + if (writeByteOrderMark) { + data = '\uFEFF' + data; + } _fs.writeFileSync(fileName, data, "utf8"); } return { @@ -2212,6 +2377,21 @@ var sys = (function () { }, readFile: readFile, writeFile: writeFile, + watchFile: function (fileName, callback) { + _fs.watchFile(fileName, { persistent: true, interval: 250 }, fileChanged); + return { + close: function () { + _fs.unwatchFile(fileName, fileChanged); + } + }; + function fileChanged(curr, prev) { + if (+curr.mtime <= +prev.mtime) { + return; + } + callback(fileName); + } + ; + }, resolvePath: function (path) { return _path.resolve(path); }, @@ -2595,7 +2775,9 @@ var ts; ControlBlockContext[ControlBlockContext["Nested"] = 1] = "Nested"; ControlBlockContext[ControlBlockContext["CrossingFunctionBoundary"] = 2] = "CrossingFunctionBoundary"; })(ControlBlockContext || (ControlBlockContext = {})); - function createSourceFile(filename, sourceText, languageVersion) { + function createSourceFile(filename, sourceText, languageVersion, version, isOpen) { + if (version === void 0) { version = 0; } + if (isOpen === void 0) { isOpen = false; } var file; var scanner; var token; @@ -3080,8 +3262,18 @@ var ts; function parseLiteralNode() { var node = createNode(token); node.text = scanner.getTokenValue(); + var tokenPos = scanner.getTokenPos(); nextToken(); - return finishNode(node); + finishNode(node); + if (node.kind === 2 /* NumericLiteral */ && sourceText.charCodeAt(tokenPos) === 48 /* _0 */ && ts.isOctalDigit(sourceText.charCodeAt(tokenPos + 1))) { + if (isInStrictMode) { + grammarErrorOnNode(node, ts.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode); + } + else if (languageVersion >= 1 /* ES5 */) { + grammarErrorOnNode(node, ts.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher); + } + } + return node; } function parseStringLiteral() { if (token === 3 /* StringLiteral */) @@ -4332,18 +4524,22 @@ var ts; case 84 /* ThrowKeyword */: case 86 /* TryKeyword */: case 62 /* DebuggerKeyword */: + case 58 /* CatchKeyword */: + case 71 /* FinallyKeyword */: return true; case 93 /* InterfaceKeyword */: case 59 /* ClassKeyword */: case 106 /* ModuleKeyword */: case 67 /* EnumKeyword */: - if (isDeclaration()) + if (isDeclaration()) { return false; + } case 98 /* PublicKeyword */: case 96 /* PrivateKeyword */: case 99 /* StaticKeyword */: - if (lookAhead(function () { return nextToken() >= 55 /* Identifier */; })) + if (lookAhead(function () { return nextToken() >= 55 /* Identifier */; })) { return false; + } default: return isExpression(); } @@ -4379,6 +4575,8 @@ var ts; case 84 /* ThrowKeyword */: return parseThrowStatement(); case 86 /* TryKeyword */: + case 58 /* CatchKeyword */: + case 71 /* FinallyKeyword */: return parseTryStatement(); case 62 /* DebuggerKeyword */: return parseDebuggerStatement(); @@ -5065,6 +5263,9 @@ var ts; file.externalModuleIndicator = getExternalModuleIndicator(); file.nodeCount = nodeCount; file.identifierCount = identifierCount; + file.version = version; + file.isOpen = isOpen; + file.languageVersion = languageVersion; return file; } ts.createSourceFile = createSourceFile; @@ -5076,8 +5277,9 @@ var ts; var seenNoDefaultLib = options.noLib; var commonSourceDirectory; ts.forEach(rootNames, function (name) { return processRootFile(name, false); }); - if (!seenNoDefaultLib) + if (!seenNoDefaultLib) { processRootFile(host.getDefaultLibFilename(), true); + } verifyCompilerOptions(); errors.sort(ts.compareDiagnostics); program = { @@ -5101,22 +5303,29 @@ var ts; function getGlobalDiagnostics() { return ts.filter(errors, function (e) { return !e.file; }); } - function addExtension(filename, extension) { - return ts.getBaseFilename(filename).indexOf(".") >= 0 ? filename : filename + extension; + function hasExtension(filename) { + return ts.getBaseFilename(filename).indexOf(".") >= 0; } function processRootFile(filename, isDefaultLib) { - processSourceFile(ts.normalizePath(addExtension(filename, ".ts")), isDefaultLib); + processSourceFile(ts.normalizePath(filename), isDefaultLib); } function processSourceFile(filename, isDefaultLib, refFile, refPos, refEnd) { if (refEnd !== undefined && refPos !== undefined) { var start = refPos; var length = refEnd - refPos; } - if (!ts.fileExtensionIs(filename, ".ts")) { - errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_must_have_extension_ts_or_d_ts, filename)); + if (hasExtension(filename)) { + if (!ts.fileExtensionIs(filename, ".ts")) { + errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_must_have_extension_ts_or_d_ts, filename)); + } + else if (!findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) { + errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_not_found, filename)); + } } - else if (!findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) { - errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_not_found, filename)); + else { + if (!(findSourceFile(filename + ".ts", isDefaultLib, refFile, refPos, refEnd) || findSourceFile(filename + ".d.ts", isDefaultLib, refFile, refPos, refEnd))) { + errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_not_found, filename + ".ts")); + } } } function findSourceFile(filename, isDefaultLib, refFile, refStart, refLength) { @@ -5166,11 +5375,13 @@ var ts; var searchPath = basePath; while (true) { var searchName = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); - if (findModuleSourceFile(searchName + ".ts", nameLiteral) || findModuleSourceFile(searchName + ".d.ts", nameLiteral)) + if (findModuleSourceFile(searchName + ".ts", nameLiteral) || findModuleSourceFile(searchName + ".d.ts", nameLiteral)) { break; + } var parentPath = ts.getDirectoryPath(searchPath); - if (parentPath === searchPath) + if (parentPath === searchPath) { break; + } searchPath = parentPath; } } @@ -5389,9 +5600,12 @@ var ts; parent = node; if (symbolKind & ts.SymbolFlags.IsContainer) { container = node; - if (lastContainer) - lastContainer.nextContainer = container; - lastContainer = container; + if (lastContainer !== container && !container.nextContainer) { + if (lastContainer) { + lastContainer.nextContainer = container; + } + lastContainer = container; + } } ts.forEachChild(node, bind); container = saveContainer; @@ -5461,7 +5675,7 @@ var ts; } function bindCatchVariableDeclaration(node) { var symbol = createSymbol(1 /* Variable */, node.variable.text || "__missing"); - addDeclarationToSymbol(symbol, node.variable, 1 /* Variable */); + addDeclarationToSymbol(symbol, node, 1 /* Variable */); var saveParent = parent; parent = node; ts.forEachChild(node, bind); @@ -5620,7 +5834,7 @@ var ts; setAccessor: setAccessor }; } - function createTextWriter() { + function createTextWriter(writeSymbol) { var output = ""; var indent = 0; var lineStart = true; @@ -5663,6 +5877,7 @@ var ts; } return { write: write, + writeSymbol: writeSymbol, writeLiteral: writeLiteral, writeLine: writeLine, increaseIndent: function () { return indent++; }, @@ -5678,13 +5893,13 @@ var ts; var text = currentSourceFile.text; return text.substring(ts.skipTrivia(text, node.pos), node.end); } - function writeFile(filename, data) { - compilerHost.writeFile(filename, data, function (hostErrorMessage) { + function writeFile(filename, data, writeByteOrderMark) { + compilerHost.writeFile(filename, data, writeByteOrderMark, function (hostErrorMessage) { diagnostics.push(ts.createCompilerDiagnostic(ts.Diagnostics.Could_not_write_file_0_Colon_1, filename, hostErrorMessage)); }); } function emitJavaScript(jsFilePath, root) { - var writer = createTextWriter(); + var writer = createTextWriter(writeSymbol); var write = writer.write; var writeLine = writer.writeLine; var increaseIndent = writer.increaseIndent; @@ -5704,6 +5919,8 @@ var ts; var scopeEmitEnd = function () { }; var sourceMapData; + function writeSymbol(symbol, enclosingDeclaration, meaning) { + } function initializeEmitterWithSourceMaps() { var sourceMapDir; var sourceMapSourceIndex = -1; @@ -5848,7 +6065,7 @@ var ts; sourceMapNameIndices.pop(); } ; - function writeJavaScriptAndSourceMapFile(emitOutput) { + function writeJavaScriptAndSourceMapFile(emitOutput, writeByteOrderMark) { encodeLastRecordedSourceMapSpan(); writeFile(sourceMapData.sourceMapFilePath, JSON.stringify({ version: 3, @@ -5857,9 +6074,9 @@ var ts; sources: sourceMapData.sourceMapSources, names: sourceMapData.sourceMapNames, mappings: sourceMapData.sourceMapMappings - })); + }), false); sourceMapDataList.push(sourceMapData); - writeJavaScriptFile(emitOutput + "//# sourceMappingURL=" + sourceMapData.jsSourceMappingURL); + writeJavaScriptFile(emitOutput + "//# sourceMappingURL=" + sourceMapData.jsSourceMappingURL, writeByteOrderMark); } var sourceMapJsFile = ts.getBaseFilename(ts.normalizeSlashes(jsFilePath)); sourceMapData = { @@ -5915,8 +6132,8 @@ var ts; scopeEmitStart = recordScopeNameOfNode; scopeEmitEnd = recordScopeNameEnd; } - function writeJavaScriptFile(emitOutput) { - writeFile(jsFilePath, emitOutput); + function writeJavaScriptFile(emitOutput, writeByteOrderMark) { + writeFile(jsFilePath, emitOutput, writeByteOrderMark); } function emitTokenText(tokenKind, startPos, emitFn) { var tokenString = ts.tokenToString(tokenKind); @@ -7159,15 +7376,28 @@ var ts; }); } writeLine(); - writeEmittedFiles(writer.getText()); + writeEmittedFiles(writer.getText(), compilerOptions.emitBOM); } function emitDeclarations(jsFilePath, root) { - var writer = createTextWriter(); + var writer = createTextWriter(writeSymbol); var write = writer.write; var writeLine = writer.writeLine; var increaseIndent = writer.increaseIndent; var decreaseIndent = writer.decreaseIndent; var enclosingDeclaration; + var reportedDeclarationError = false; + var getSymbolVisibilityDiagnosticMessage; + function writeSymbol(symbol, enclosingDeclaration, meaning) { + var symbolAccesibilityResult = resolver.isSymbolAccessible(symbol, enclosingDeclaration, meaning); + if (!getSymbolVisibilityDiagnosticMessage || symbolAccesibilityResult.accessibility === 0 /* Accessible */) { + resolver.writeSymbol(symbol, enclosingDeclaration, meaning, writer); + } + else { + reportedDeclarationError = true; + var errorInfo = getSymbolVisibilityDiagnosticMessage(symbolAccesibilityResult); + diagnostics.push(ts.createDiagnosticForNode(errorInfo.errorNode, errorInfo.diagnosticMessage, getSourceTextOfLocalNode(errorInfo.typeName), symbolAccesibilityResult.errorSymbolName, symbolAccesibilityResult.errorModuleName)); + } + } function emitLines(nodes) { for (var i = 0, n = nodes.length; i < n; i++) { emitNode(nodes[i]); @@ -7286,10 +7516,50 @@ var ts; } function emitTypeParameters(typeParameters) { function emitTypeParameter(node) { + function getTypeParameterConstraintVisibilityError(symbolAccesibilityResult) { + var diagnosticMessage; + switch (node.parent.kind) { + case 169 /* ClassDeclaration */: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; + break; + case 170 /* InterfaceDeclaration */: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; + break; + case 121 /* ConstructSignature */: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; + break; + case 120 /* CallSignature */: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; + break; + case 116 /* Method */: + if (node.parent.flags & 64 /* Static */) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; + } + else if (node.parent.parent.kind === 169 /* ClassDeclaration */) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; + } + else { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; + } + break; + case 167 /* FunctionDeclaration */: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; + break; + default: + ts.Debug.fail("This is unknown parent for type parameter: " + ts.SyntaxKind[node.parent.kind]); + } + return { + diagnosticMessage: diagnosticMessage, + errorNode: node, + typeName: node.name + }; + } emitSourceTextOfNode(node.name); - if (node.constraint) { + if (node.constraint && (node.parent.kind !== 116 /* Method */ || !(node.parent.flags & 32 /* Private */))) { write(" extends "); + getSymbolVisibilityDiagnosticMessage = getTypeParameterConstraintVisibilityError; resolver.writeTypeAtLocation(node.constraint, enclosingDeclaration, 0 /* None */, writer); + getSymbolVisibilityDiagnosticMessage = undefined; } } if (typeParameters) { @@ -7299,13 +7569,47 @@ var ts; } } function emitHeritageClause(typeReferences, isImplementsList) { - function emitTypeOfTypeReference(node) { - resolver.writeTypeAtLocation(node, enclosingDeclaration, 1 /* WriteArrayAsGenericType */, writer); - } if (typeReferences) { write(isImplementsList ? " implements " : " extends "); emitCommaList(typeReferences, emitTypeOfTypeReference); } + function emitTypeOfTypeReference(node) { + getSymbolVisibilityDiagnosticMessage = getHeritageClauseVisibilityError; + resolver.writeTypeAtLocation(node, enclosingDeclaration, 1 /* WriteArrayAsGenericType */, writer); + getSymbolVisibilityDiagnosticMessage = undefined; + function getHeritageClauseVisibilityError(symbolAccesibilityResult) { + var diagnosticMessage; + if (node.parent.kind === 169 /* ClassDeclaration */) { + if (symbolAccesibilityResult.accessibility == 1 /* NotAccessible */) { + if (symbolAccesibilityResult.errorModuleName) { + diagnosticMessage = isImplementsList ? ts.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2; + } + else { + diagnosticMessage = isImplementsList ? ts.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : ts.Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_private_name_1; + } + } + else { + } + } + else { + if (symbolAccesibilityResult.accessibility == 1 /* NotAccessible */) { + if (symbolAccesibilityResult.errorModuleName) { + diagnosticMessage = ts.Diagnostics.Extends_clause_of_exported_interface_0_has_or_is_using_name_1_from_private_module_2; + } + else { + diagnosticMessage = ts.Diagnostics.Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1; + } + } + else { + } + } + return { + diagnosticMessage: diagnosticMessage, + errorNode: node, + typeName: node.parent.name + }; + } + } } function emitClassDeclaration(node) { function emitParameterProperties(constructorDeclaration) { @@ -7531,7 +7835,9 @@ var ts; } }); } - writeFile(ts.getModuleNameFromFilename(jsFilePath) + ".d.ts", referencePathsOutput + writer.getText()); + if (!reportedDeclarationError) { + writeFile(ts.getModuleNameFromFilename(jsFilePath) + ".d.ts", referencePathsOutput + writer.getText(), compilerOptions.emitBOM); + } } var shouldEmitDeclarations = resolver.shouldEmitDeclarations(); function emitFile(jsFilePath, sourceFile) { @@ -7584,7 +7890,10 @@ var ts; var emptyObjectType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); var anyFunctionType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); var noConstraintType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); + var anySignature = createSignature(undefined, undefined, emptyArray, anyType, 0, false, false); + var unknownSignature = createSignature(undefined, undefined, emptyArray, unknownType, 0, false, false); var globals = {}; + var globalArraySymbol; var globalObjectType; var globalFunctionType; var globalArrayType; @@ -7593,6 +7902,7 @@ var ts; var globalBooleanType; var globalRegExpType; var stringLiteralTypes = {}; + var fullTypeCheck = false; var emitExtends = false; var mergedSymbols = []; var symbolLinks = []; @@ -7615,12 +7925,13 @@ var ts; getTypeOfSymbol: getTypeOfSymbol, getDeclaredTypeOfSymbol: getDeclaredTypeOfSymbol, getPropertiesOfType: getPropertiesOfType, + getPropertyOfType: getPropertyOfType, getSignaturesOfType: getSignaturesOfType, getIndexTypeOfType: getIndexTypeOfType, getReturnTypeOfSignature: getReturnTypeOfSignature, resolveEntityName: resolveEntityName, getSymbolsInScope: getSymbolsInScope, - getSymbolOfIdentifier: getSymbolOfIdentifier, + getSymbolInfo: getSymbolInfo, getTypeOfExpression: getTypeOfExpression, typeToString: typeToString, symbolToString: symbolToString, @@ -7849,7 +8160,7 @@ var ts; case 163 /* CatchBlock */: var id = location.variable; if (name === id.text) { - return returnResolvedSymbol(location.variable.symbol); + return returnResolvedSymbol(location.symbol); } break; } @@ -7954,10 +8265,12 @@ var ts; } function getExportAssignmentSymbol(symbol) { checkTypeOfExportAssignmentSymbol(symbol); - return symbol.exportAssignSymbol === unknownSymbol ? undefined : symbol.exportAssignSymbol; + var symbolLinks = getSymbolLinks(symbol); + return symbolLinks.exportAssignSymbol === unknownSymbol ? undefined : symbolLinks.exportAssignSymbol; } function checkTypeOfExportAssignmentSymbol(containerSymbol) { - if (!containerSymbol.exportAssignSymbol) { + var symbolLinks = getSymbolLinks(containerSymbol); + if (!symbolLinks.exportAssignSymbol) { var exportInformation = collectExportInformationForSourceFileOrModule(containerSymbol); if (exportInformation.exportAssignments.length) { if (exportInformation.exportAssignments.length > 1) { @@ -7972,7 +8285,7 @@ var ts; var exportSymbol = resolveName(node, node.exportName.text, meaning, ts.Diagnostics.Cannot_find_name_0, ts.identifierToString(node.exportName)); } } - containerSymbol.exportAssignSymbol = exportSymbol || unknownSymbol; + symbolLinks.exportAssignSymbol = exportSymbol || unknownSymbol; } } function collectExportInformationForSourceFileOrModule(symbol) { @@ -8131,7 +8444,7 @@ var ts; return !!accessibleParent; } } - if (isAccessible(symbols[symbol.name])) { + if (isAccessible(ts.lookUp(symbols, symbol.name))) { return symbol; } return ts.forEachValue(symbols, function (symbolFromSymbolTable) { @@ -8149,7 +8462,7 @@ var ts; function needsQualification(symbol, enclosingDeclaration, meaning) { var qualify = false; forEachSymbolTableInScope(enclosingDeclaration, function (symbolTable) { - if (!symbolTable[symbol.name]) { + if (!ts.hasProperty(symbolTable, symbol.name)) { return false; } var symbolFromSymbolTable = symbolTable[symbol.name]; @@ -8165,6 +8478,32 @@ var ts; }); return qualify; } + function isSymbolAccessible(symbol, enclosingDeclaration, meaning) { + if (symbol && enclosingDeclaration && !(symbol.flags & 262144 /* TypeParameter */)) { + var initialSymbol = symbol; + var meaningToLook = meaning; + while (symbol) { + var accessibleSymbol = getAccessibleSymbol(symbol, enclosingDeclaration, meaningToLook); + if (accessibleSymbol) { + if (ts.forEach(accessibleSymbol.declarations, function (declaration) { return !isDeclarationVisible(declaration); })) { + return { + accessibility: 1 /* NotAccessible */, + errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning), + errorModuleName: symbol !== initialSymbol ? symbolToString(symbol, enclosingDeclaration, ts.SymbolFlags.Namespace) : undefined + }; + } + return { accessibility: 0 /* Accessible */ }; + } + meaningToLook = ts.SymbolFlags.Namespace; + symbol = symbol.parent; + } + return { + accessibility: 2 /* CannotBeNamed */, + errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning) + }; + } + return { accessibility: 0 /* Accessible */ }; + } function symbolToString(symbol, enclosingDeclaration, meaning) { function getSymbolName(symbol) { if (symbol.declarations && symbol.declarations.length > 0) { @@ -8191,12 +8530,18 @@ var ts; } return getSymbolName(symbol); } + function writeSymbolToTextWriter(symbol, enclosingDeclaration, meaning, writer) { + writer.write(symbolToString(symbol, enclosingDeclaration, meaning)); + } function createSingleLineTextWriter() { var result = ""; return { write: function (s) { result += s; }, + writeSymbol: function (symbol, enclosingDeclaration, meaning) { + writeSymbolToTextWriter(symbol, enclosingDeclaration, meaning, this); + }, writeLine: function () { result += " "; }, @@ -8225,7 +8570,7 @@ var ts; writeTypeReference(type); } else if (type.flags & (1024 /* Class */ | 2048 /* Interface */ | 128 /* Enum */ | 512 /* TypeParameter */)) { - writer.write(symbolToString(type.symbol, enclosingDeclaration, ts.SymbolFlags.Type)); + writer.writeSymbol(type.symbol, enclosingDeclaration, ts.SymbolFlags.Type); } else if (type.flags & 8192 /* Anonymous */) { writeAnonymousType(type, allowFunctionOrConstructorTypeLiteral); @@ -8243,7 +8588,7 @@ var ts; writer.write("[]"); } else { - writer.write(symbolToString(type.target.symbol, enclosingDeclaration, ts.SymbolFlags.Type)); + writer.writeSymbol(type.target.symbol, enclosingDeclaration, ts.SymbolFlags.Type); writer.write("<"); for (var i = 0; i < type.typeArguments.length; i++) { if (i > 0) { @@ -8272,7 +8617,7 @@ var ts; } function writeTypeofSymbol(type) { writer.write("typeof "); - writer.write(symbolToString(type.symbol, enclosingDeclaration, ts.SymbolFlags.Value)); + writer.writeSymbol(type.symbol, enclosingDeclaration, ts.SymbolFlags.Value); } function writeLiteralType(type, allowFunctionOrConstructorTypeLiteral) { var resolved = resolveObjectTypeMembers(type); @@ -8325,7 +8670,7 @@ var ts; if (p.flags & (8 /* Function */ | 2048 /* Method */) && !getPropertiesOfType(t).length) { var signatures = getSignaturesOfType(t, 0 /* Call */); for (var j = 0; j < signatures.length; j++) { - writer.write(symbolToString(p)); + writer.writeSymbol(p); if (isOptionalProperty(p)) { writer.write("?"); } @@ -8335,7 +8680,7 @@ var ts; } } else { - writer.write(symbolToString(p)); + writer.writeSymbol(p); if (isOptionalProperty(p)) { writer.write("?"); } @@ -8356,7 +8701,7 @@ var ts; writer.write(", "); } var tp = signature.typeParameters[i]; - writer.write(symbolToString(tp.symbol)); + writer.writeSymbol(tp.symbol); var constraint = getConstraintOfTypeParameter(tp); if (constraint) { writer.write(" extends "); @@ -8374,7 +8719,7 @@ var ts; if (getDeclarationFlagsFromSymbol(p) & 8 /* Rest */) { writer.write("..."); } - writer.write(symbolToString(p)); + writer.writeSymbol(p); if (p.valueDeclaration.flags & 4 /* QuestionMark */ || p.valueDeclaration.initializer) { writer.write("?"); } @@ -8491,86 +8836,73 @@ var ts; return classType.typeParameters ? createTypeReference(classType, ts.map(classType.typeParameters, function (_) { return anyType; })) : classType; } function getTypeOfVariableDeclaration(declaration) { - var type; - if (declaration.parent.kind === 163 /* CatchBlock */ || declaration.parent.kind === 151 /* ForInStatement */) { - type = anyType; + if (declaration.parent.kind === 151 /* ForInStatement */) { + return anyType; } - else if (declaration.type) { - type = getTypeFromTypeNode(declaration.type); + if (declaration.type) { + return getTypeFromTypeNode(declaration.type); } - else { - if (declaration.kind === 114 /* Parameter */ && declaration.parent.kind === 119 /* SetAccessor */) { + if (declaration.kind === 114 /* Parameter */) { + var func = declaration.parent; + if (func.kind === 119 /* SetAccessor */) { var getter = getDeclarationOfKind(declaration.parent.symbol, 118 /* GetAccessor */); if (getter) { - type = getReturnTypeOfSignature(getSignatureFromDeclaration(getter)); + return getReturnTypeOfSignature(getSignatureFromDeclaration(getter)); } } - var unwidenedType; - if (!type) { - if (declaration.initializer) { - unwidenedType = checkAndMarkExpression(declaration.initializer); - type = getWidenedType(unwidenedType); - } - else if (declaration.flags & 8 /* Rest */) { - type = createArrayType(anyType); - } - else { - type = anyType; - } - } - if (program.getCompilerOptions().noImplicitAny && shouldReportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type, unwidenedType)) { - reportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type); + var type = getContextuallyTypedParameterType(declaration); + if (type) { + return type; } } + if (declaration.initializer) { + var unwidenedType = checkAndMarkExpression(declaration.initializer); + var type = getWidenedType(unwidenedType); + if (type !== unwidenedType) { + checkImplicitAny(type); + } + return type; + } + var type = declaration.flags & 8 /* Rest */ ? createArrayType(anyType) : anyType; + checkImplicitAny(type); return type; - function shouldReportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type, unwidenedType) { - if (type === unwidenedType) { - return false; + function checkImplicitAny(type) { + if (!program.getCompilerOptions().noImplicitAny) { + return; } if (getInnermostTypeOfNestedArrayTypes(type) !== anyType) { - return false; + return; } if (isPrivateWithinAmbient(declaration) || (declaration.kind === 114 /* Parameter */ && isPrivateWithinAmbient(declaration.parent))) { - return false; + return; } - return true; - } - function reportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type) { - var varName = ts.identifierToString(declaration.name); - var typeName = typeToString(type); switch (declaration.kind) { - case 166 /* VariableDeclaration */: - error(declaration, ts.Diagnostics.Variable_0_implicitly_has_an_1_type, varName, typeName); - break; case 115 /* Property */: - error(declaration, ts.Diagnostics.Member_0_implicitly_has_an_1_type, varName, typeName); + var diagnostic = ts.Diagnostics.Member_0_implicitly_has_an_1_type; break; case 114 /* Parameter */: - var funcDeclaration = declaration.parent; - if (declaration.flags & 8 /* Rest */) { - error(declaration, ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type, varName); - } - else { - error(declaration, ts.Diagnostics.Parameter_0_implicitly_has_an_1_type, varName, typeName); - } + var diagnostic = declaration.flags & 8 /* Rest */ ? ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : ts.Diagnostics.Parameter_0_implicitly_has_an_1_type; break; default: - ts.Debug.fail("Received a '" + ts.SyntaxKind[declaration.kind] + "', but expected '" + ts.SyntaxKind[166 /* VariableDeclaration */] + "', '" + ts.SyntaxKind[115 /* Property */] + "', or '" + ts.SyntaxKind[114 /* Parameter */] + "'.\r\n"); + var diagnostic = ts.Diagnostics.Variable_0_implicitly_has_an_1_type; } + error(declaration, diagnostic, ts.identifierToString(declaration.name), typeToString(type)); } } function getTypeOfVariableOrParameterOrProperty(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { if (symbol.flags & 67108864 /* Prototype */) { - links.type = getTypeOfPrototypeProperty(symbol); + return links.type = getTypeOfPrototypeProperty(symbol); } - else { - links.type = resolvingType; - var type = getTypeOfVariableDeclaration(symbol.valueDeclaration); - if (links.type === resolvingType) { - links.type = type; - } + var declaration = symbol.valueDeclaration; + if (declaration.kind === 163 /* CatchBlock */) { + return links.type = anyType; + } + links.type = resolvingType; + var type = getTypeOfVariableDeclaration(declaration); + if (links.type === resolvingType) { + links.type = type; } } else if (links.type === resolvingType) { @@ -9292,8 +9624,7 @@ var ts; } return links.resolvedType; } - function getGlobalType(name, arity) { - if (arity === void 0) { arity = 0; } + function getTypeOfGlobalSymbol(symbol, arity) { function getTypeDeclaration(symbol) { var declarations = symbol.declarations; for (var i = 0; i < declarations.length; i++) { @@ -9302,13 +9633,10 @@ var ts; case 169 /* ClassDeclaration */: case 170 /* InterfaceDeclaration */: case 171 /* EnumDeclaration */: - case 125 /* TypeLiteral */: - case 167 /* FunctionDeclaration */: return declaration; } } } - var symbol = resolveName(undefined, name, ts.SymbolFlags.Type, ts.Diagnostics.Cannot_find_global_type_0, name); if (!symbol) { return emptyObjectType; } @@ -9323,21 +9651,20 @@ var ts; } return type; } - function createArrayType(elementType, arrayType) { - var rootType = globalArrayType || arrayType; - return rootType !== emptyObjectType ? createTypeReference(rootType, [elementType]) : emptyObjectType; + function getGlobalSymbol(name) { + return resolveName(undefined, name, ts.SymbolFlags.Type, ts.Diagnostics.Cannot_find_global_type_0, name); + } + function getGlobalType(name) { + return getTypeOfGlobalSymbol(getGlobalSymbol(name), 0); + } + function createArrayType(elementType) { + var arrayType = globalArrayType || getDeclaredTypeOfSymbol(globalArraySymbol); + return arrayType !== emptyObjectType ? createTypeReference(arrayType, [elementType]) : emptyObjectType; } function getTypeFromArrayTypeNode(node) { var links = getNodeLinks(node); if (!links.resolvedType) { - var arrayType = globalArrayType; - if (!arrayType) { - var arrayTypeSymbol = resolveName(node, "Array", ts.SymbolFlags.Type, undefined, undefined); - ts.Debug.assert(arrayTypeSymbol); - arrayType = getDeclaredTypeOfSymbol(arrayTypeSymbol); - ts.Debug.assert(arrayType); - } - links.resolvedType = createArrayType(getTypeFromTypeNode(node.elementType), arrayType); + links.resolvedType = createArrayType(getTypeFromTypeNode(node.elementType)); } return links.resolvedType; } @@ -9515,14 +9842,16 @@ var ts; return result; } function instantiateType(type, mapper) { - if (type.flags & 512 /* TypeParameter */) { - return mapper(type); - } - if (type.flags & 8192 /* Anonymous */) { - return type.symbol && type.symbol.flags & (8 /* Function */ | 2048 /* Method */ | 512 /* TypeLiteral */ | 1024 /* ObjectLiteral */) ? instantiateAnonymousType(type, mapper) : type; - } - if (type.flags & 4096 /* Reference */) { - return createTypeReference(type.target, instantiateList(type.typeArguments, mapper, instantiateType)); + if (mapper !== identityMapper) { + if (type.flags & 512 /* TypeParameter */) { + return mapper(type); + } + if (type.flags & 8192 /* Anonymous */) { + return type.symbol && type.symbol.flags & (8 /* Function */ | 2048 /* Method */ | 512 /* TypeLiteral */ | 1024 /* ObjectLiteral */) ? instantiateAnonymousType(type, mapper) : type; + } + if (type.flags & 4096 /* Reference */) { + return createTypeReference(type.target, instantiateList(type.typeArguments, mapper, instantiateType)); + } } return type; } @@ -10505,20 +10834,149 @@ var ts; } return unknownType; } + function getContextuallyTypedParameterType(parameter) { + var func = parameter.parent; + if (func.kind === 136 /* FunctionExpression */ || func.kind === 137 /* ArrowFunction */) { + if (isContextSensitiveExpression(func)) { + var signature = getContextualSignature(func); + if (signature) { + return getTypeAtPosition(signature, ts.indexOf(func.parameters, parameter)); + } + } + } + return undefined; + } + function getContextualTypeForInitializerExpression(node) { + var declaration = node.parent; + if (node === declaration.initializer) { + if (declaration.type) { + return getTypeFromTypeNode(declaration.type); + } + if (declaration.kind === 114 /* Parameter */) { + return getContextuallyTypedParameterType(declaration); + } + } + return undefined; + } + function getContextualTypeForReturnExpression(node) { + var func = getContainingFunction(node); + if (func) { + if (func.type || func.kind === 117 /* Constructor */ || func.kind === 118 /* GetAccessor */ && getSetAccessorTypeAnnotationNode(getDeclarationOfKind(func.symbol, 119 /* SetAccessor */))) { + return getReturnTypeOfSignature(getSignatureFromDeclaration(func)); + } + var signature = getContextualSignature(func); + if (signature) { + return getReturnTypeOfSignature(signature); + } + } + return undefined; + } + function getContextualTypeForArgument(node) { + var callExpression = node.parent; + var argIndex = ts.indexOf(callExpression.arguments, node); + if (argIndex >= 0) { + var signature = getResolvedSignature(callExpression); + return getTypeAtPosition(signature, argIndex); + } + return undefined; + } + function getContextualTypeForBinaryOperand(node) { + var binaryExpression = node.parent; + var operator = binaryExpression.operator; + if (operator >= ts.SyntaxKind.FirstAssignment && operator <= ts.SyntaxKind.LastAssignment) { + if (node === binaryExpression.right) { + return checkExpression(binaryExpression.left); + } + } + else if (operator === 40 /* BarBarToken */) { + var type = getContextualType(binaryExpression); + if (!type && node === binaryExpression.right) { + type = checkExpression(binaryExpression.left); + } + return type; + } + return undefined; + } + function getContextualTypeForPropertyExpression(node) { + var declaration = node.parent; + var objectLiteral = declaration.parent; + var type = getContextualType(objectLiteral); + var name = declaration.name.text; + if (type && name) { + var prop = getPropertyOfType(type, name); + if (prop) { + return getTypeOfSymbol(prop); + } + return isNumericName(name) && getIndexTypeOfType(type, 1 /* Number */) || getIndexTypeOfType(type, 0 /* String */); + } + return undefined; + } + function getContextualTypeForElementExpression(node) { + var arrayLiteral = node.parent; + var type = getContextualType(arrayLiteral); + return type ? getIndexTypeOfType(type, 1 /* Number */) : undefined; + } + function getContextualTypeForConditionalOperand(node) { + var conditional = node.parent; + return node === conditional.whenTrue || node === conditional.whenFalse ? getContextualType(conditional) : undefined; + } + function getContextualType(node) { + if (node.contextualType) { + return node.contextualType; + } + var parent = node.parent; + switch (parent.kind) { + case 166 /* VariableDeclaration */: + case 114 /* Parameter */: + case 115 /* Property */: + return getContextualTypeForInitializerExpression(node); + case 137 /* ArrowFunction */: + case 154 /* ReturnStatement */: + return getContextualTypeForReturnExpression(node); + case 132 /* CallExpression */: + case 133 /* NewExpression */: + return getContextualTypeForArgument(node); + case 134 /* TypeAssertion */: + return getTypeFromTypeNode(parent.type); + case 140 /* BinaryExpression */: + return getContextualTypeForBinaryOperand(node); + case 129 /* PropertyAssignment */: + return getContextualTypeForPropertyExpression(node); + case 127 /* ArrayLiteral */: + return getContextualTypeForElementExpression(node); + case 141 /* ConditionalExpression */: + return getContextualTypeForConditionalOperand(node); + } + return undefined; + } + function getContextualSignature(node) { + var type = getContextualType(node); + if (type) { + var signatures = getSignaturesOfType(type, 0 /* Call */); + if (signatures.length === 1) { + var signature = signatures[0]; + if (!signature.typeParameters) { + return signature; + } + } + } + return undefined; + } function isInferentialContext(mapper) { return mapper && mapper !== identityMapper; } - function checkArrayLiteral(node, contextualType, contextualMapper) { - var contextualElementType = contextualType && getIndexTypeOfType(contextualType, 1 /* Number */); + function checkArrayLiteral(node, contextualMapper) { var elementTypes = []; ts.forEach(node.elements, function (element) { if (element.kind !== 142 /* OmittedExpression */) { - var type = checkExpression(element, contextualElementType, contextualMapper); + var type = checkExpression(element, contextualMapper); if (!ts.contains(elementTypes, type)) elementTypes.push(type); } }); - var elementType = getBestCommonType(elementTypes, isInferentialContext(contextualMapper) ? undefined : contextualElementType, true); + var contextualType = isInferentialContext(contextualMapper) ? undefined : getContextualType(node); + var contextualElementType = contextualType && getIndexTypeOfType(contextualType, 1 /* Number */); + var elementType = getBestCommonType(elementTypes, contextualElementType, true); if (!elementType) elementType = elementTypes.length ? emptyObjectType : undefinedType; return createArrayType(elementType); @@ -10526,21 +10984,15 @@ var ts; function isNumericName(name) { return !isNaN(name); } - function getContextualTypeForProperty(type, name) { - var prop = getPropertyOfType(type, name); - if (prop) - return getTypeOfSymbol(prop); - return isNumericName(name) && getIndexTypeOfType(type, 1 /* Number */) || getIndexTypeOfType(type, 0 /* String */); - } - function checkObjectLiteral(node, contextualType, contextualMapper) { + function checkObjectLiteral(node, contextualMapper) { var members = node.symbol.members; var properties = {}; + var contextualType = getContextualType(node); for (var id in members) { if (ts.hasProperty(members, id)) { var member = members[id]; if (member.flags & 2 /* Property */) { - var contextualPropType = contextualType && getContextualTypeForProperty(contextualType, member.name); - var type = checkExpression(member.declarations[0].initializer, contextualPropType, contextualMapper); + var type = checkExpression(member.declarations[0].initializer, contextualMapper); var prop = createSymbol(2 /* Property */ | 33554432 /* Transient */, member.name); prop.declarations = member.declarations; prop.parent = member.parent; @@ -10562,10 +11014,10 @@ var ts; properties[member.name] = member; } } - var stringIndexType = getIndexType(properties, 0 /* String */); - var numberIndexType = getIndexType(properties, 1 /* Number */); + var stringIndexType = getIndexType(0 /* String */); + var numberIndexType = getIndexType(1 /* Number */); return createAnonymousType(node.symbol, properties, emptyArray, emptyArray, stringIndexType, numberIndexType); - function getIndexType(properties, kind) { + function getIndexType(kind) { if (contextualType) { var indexType = getIndexTypeOfType(contextualType, kind); if (indexType) { @@ -10657,15 +11109,15 @@ var ts; error(node, ts.Diagnostics.An_index_expression_argument_must_be_of_type_string_number_or_any); return unknownType; } - function checkUntypedCall(node) { + function resolveUntypedCall(node) { ts.forEach(node.arguments, function (argument) { checkExpression(argument); }); - return anyType; + return anySignature; } - function checkErrorCall(node) { - checkUntypedCall(node); - return unknownType; + function resolveErrorCall(node) { + resolveUntypedCall(node); + return unknownSignature; } function isCandidateSignature(node, signature) { var args = node.arguments || emptyArray; @@ -10674,18 +11126,28 @@ var ts; function collectCandidates(node, signatures) { var result = []; var lastParent; + var lastSymbol; + var cutoffPos = 0; var pos; for (var i = 0; i < signatures.length; i++) { var signature = signatures[i]; if (isCandidateSignature(node, signature)) { - var parent = signature.declaration ? signature.declaration.parent : undefined; - if (lastParent && parent === lastParent) { - pos++; + var symbol = signature.declaration && getSymbolOfNode(signature.declaration); + var parent = signature.declaration && signature.declaration.parent; + if (!lastSymbol || symbol === lastSymbol) { + if (lastParent && parent === lastParent) { + pos++; + } + else { + lastParent = parent; + pos = cutoffPos; + } } else { + pos = cutoffPos = result.length; lastParent = parent; - pos = 0; } + lastSymbol = symbol; for (var j = result.length; j > pos; j--) { result[j] = result[j - 1]; } @@ -10711,7 +11173,7 @@ var ts; return getSignatureInstantiation(signature, getInferredTypes(context)); } function inferentiallyTypeExpession(expr, contextualType, contextualMapper) { - var type = checkExpression(expr, contextualType, contextualMapper); + var type = checkExpressionWithContextualType(expr, contextualType, contextualMapper); var signature = getSingleCallSignature(type); if (signature && signature.typeParameters) { var contextualSignature = getSingleCallSignature(contextualType); @@ -10760,7 +11222,7 @@ var ts; for (var i = 0; i < node.arguments.length; i++) { var arg = node.arguments[i]; var paramType = getTypeAtPosition(signature, i); - var argType = arg.kind === 3 /* StringLiteral */ && !reportErrors ? getStringLiteralType(arg) : checkExpression(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); + var argType = arg.kind === 3 /* StringLiteral */ && !reportErrors ? getStringLiteralType(arg) : checkExpressionWithContextualType(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); var isValidArgument = checkTypeRelatedTo(argType, paramType, relation, reportErrors ? arg : undefined, ts.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1, ts.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1); if (!isValidArgument) { return false; @@ -10769,12 +11231,12 @@ var ts; } return true; } - function checkCall(node, signatures) { + function resolveCall(node, signatures) { ts.forEach(node.typeArguments, checkSourceElement); var candidates = collectCandidates(node, signatures); if (!candidates.length) { error(node, ts.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target); - return checkErrorCall(node); + return resolveErrorCall(node); } var args = node.arguments || emptyArray; var excludeArgument; @@ -10799,7 +11261,7 @@ var ts; } var index = excludeArgument ? ts.indexOf(excludeArgument, true) : -1; if (index < 0) { - return getReturnTypeOfSignature(candidate); + return candidate; } excludeArgument[index] = false; } @@ -10810,26 +11272,23 @@ var ts; relation = assignableRelation; } checkApplicableSignature(node, candidate, relation, undefined, true); - return checkErrorCall(node); + return resolveErrorCall(node); } - function checkCallExpression(node) { + function resolveCallExpression(node) { if (node.func.kind === 81 /* SuperKeyword */) { var superType = checkSuperExpression(node.func, true); if (superType !== unknownType) { - checkCall(node, getSignaturesOfType(superType, 1 /* Construct */)); + return resolveCall(node, getSignaturesOfType(superType, 1 /* Construct */)); } - else { - checkUntypedCall(node); - } - return voidType; + return resolveUntypedCall(node); } var funcType = checkExpression(node.func); if (funcType === unknownType) { - return checkErrorCall(node); + return resolveErrorCall(node); } var apparentType = getApparentType(funcType); if (apparentType === unknownType) { - return checkErrorCall(node); + return resolveErrorCall(node); } var callSignatures = getSignaturesOfType(apparentType, 0 /* Call */); var constructSignatures = getSignaturesOfType(apparentType, 1 /* Construct */); @@ -10837,7 +11296,7 @@ var ts; if (node.typeArguments) { error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); } - return checkUntypedCall(node); + return resolveUntypedCall(node); } if (!callSignatures.length) { if (constructSignatures.length) { @@ -10846,64 +11305,74 @@ var ts; else { error(node, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature); } - return checkErrorCall(node); + return resolveErrorCall(node); } - return checkCall(node, callSignatures); + return resolveCall(node, callSignatures); } - function checkNewExpression(node) { + function resolveNewExpression(node) { var expressionType = checkExpression(node.func); if (expressionType === unknownType) { - return checkErrorCall(node); + return resolveErrorCall(node); } if (expressionType === anyType) { if (node.typeArguments) { error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); } - return checkUntypedCall(node); + return resolveUntypedCall(node); } expressionType = getApparentType(expressionType); if (expressionType === unknownType) { - return checkErrorCall(node); + return resolveErrorCall(node); } var constructSignatures = getSignaturesOfType(expressionType, 1 /* Construct */); if (constructSignatures.length) { - return checkCall(node, constructSignatures); + return resolveCall(node, constructSignatures); } var callSignatures = getSignaturesOfType(expressionType, 0 /* Call */); if (callSignatures.length) { - var type = checkCall(node, callSignatures); - if (type !== voidType) { + var signature = resolveCall(node, callSignatures); + if (getReturnTypeOfSignature(signature) !== voidType) { error(node, ts.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword); } - if (program.getCompilerOptions().noImplicitAny) { - error(node, ts.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type); - } - return anyType; + return signature; } error(node, ts.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature); - return checkErrorCall(node); + return resolveErrorCall(node); } - function checkTypeAssertion(node) { - var targetType = getTypeFromTypeNode(node.type); - if (targetType === unknownType) - return unknownType; - var exprType = checkExpression(node.operand, targetType); - var widenedType = getWidenedType(exprType); - if (!(isTypeAssignableTo(exprType, targetType) || isTypeAssignableTo(targetType, widenedType))) { - checkTypeAssignableTo(targetType, widenedType, node, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other_Colon, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); + function getResolvedSignature(node) { + var links = getNodeLinks(node); + if (!links.resolvedSignature) { + links.resolvedSignature = anySignature; + links.resolvedSignature = node.kind === 132 /* CallExpression */ ? resolveCallExpression(node) : resolveNewExpression(node); } - return targetType; + return links.resolvedSignature; } - function getContextualSignature(contextualType) { - if (contextualType) { - var signatures = getSignaturesOfType(contextualType, 0 /* Call */); - if (signatures.length === 1) { - var signature = signatures[0]; - if (!signature.typeParameters) { - return signature; + function checkCallExpression(node) { + var signature = getResolvedSignature(node); + if (node.func.kind === 81 /* SuperKeyword */) { + return voidType; + } + if (node.kind === 133 /* NewExpression */) { + var declaration = signature.declaration; + if (declaration && (declaration.kind !== 117 /* Constructor */ && declaration.kind !== 121 /* ConstructSignature */)) { + if (program.getCompilerOptions().noImplicitAny) { + error(node, ts.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type); } + return anyType; } } + return getReturnTypeOfSignature(signature); + } + function checkTypeAssertion(node) { + var exprType = checkExpression(node.operand); + var targetType = getTypeFromTypeNode(node.type); + if (targetType !== unknownType) { + var widenedType = getWidenedType(exprType); + if (!(isTypeAssignableTo(exprType, targetType) || isTypeAssignableTo(targetType, widenedType))) { + checkTypeAssignableTo(targetType, widenedType, node, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other_Colon, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); + } + } + return targetType; } function getTypeAtPosition(signature, pos) { return signature.hasRestParameter ? pos < signature.parameters.length - 1 ? getTypeOfSymbol(signature.parameters[pos]) : getRestTypeOfSignature(signature) : pos < signature.parameters.length ? getTypeOfSymbol(signature.parameters[pos]) : anyType; @@ -10913,28 +11382,24 @@ var ts; for (var i = 0; i < len; i++) { var parameter = signature.parameters[i]; var links = getSymbolLinks(parameter); - if (!links.type) { - links.type = instantiateType(getTypeAtPosition(context, i), mapper); - } + links.type = instantiateType(getTypeAtPosition(context, i), mapper); } if (signature.hasRestParameter && context.hasRestParameter && signature.parameters.length >= context.parameters.length) { var parameter = signature.parameters[signature.parameters.length - 1]; var links = getSymbolLinks(parameter); - if (!links.type) { - links.type = instantiateType(getTypeOfSymbol(context.parameters[context.parameters.length - 1]), mapper); - } + links.type = instantiateType(getTypeOfSymbol(context.parameters[context.parameters.length - 1]), mapper); } } - function getReturnTypeFromBody(func, contextualType, contextualMapper) { + function getReturnTypeFromBody(func, contextualMapper) { if (func.body.kind !== 168 /* FunctionBlock */) { - var unwidenedType = checkAndMarkExpression(func.body, contextualType, contextualMapper); + var unwidenedType = checkAndMarkExpression(func.body, contextualMapper); var widenedType = getWidenedType(unwidenedType); if (program.getCompilerOptions().noImplicitAny && widenedType !== unwidenedType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { error(func, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeToString(widenedType)); } return widenedType; } - var types = checkAndAggregateReturnExpressionTypes(func.body, contextualType, contextualMapper); + var types = checkAndAggregateReturnExpressionTypes(func.body, contextualMapper); if (types.length > 0) { var commonType = getBestCommonType(types, undefined, true); if (!commonType) { @@ -10981,12 +11446,12 @@ var ts; } } } - function checkAndAggregateReturnExpressionTypes(body, contextualType, contextualMapper) { + function checkAndAggregateReturnExpressionTypes(body, contextualMapper) { var aggregatedTypes = []; forEachReturnStatement(body, function (returnStatement) { var expr = returnStatement.expression; if (expr) { - var type = checkAndMarkExpression(expr, contextualType, contextualMapper); + var type = checkAndMarkExpression(expr, contextualMapper); if (!ts.contains(aggregatedTypes, type)) { aggregatedTypes.push(type); } @@ -11018,38 +11483,43 @@ var ts; } error(func.type, ts.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_or_consist_of_a_single_throw_statement); } - function checkFunctionExpression(node, contextualType, contextualMapper) { + function checkFunctionExpression(node, contextualMapper) { if (contextualMapper === identityMapper) { return anyFunctionType; } - var type = getTypeOfSymbol(node.symbol); var links = getNodeLinks(node); - if (!(links.flags & 1 /* TypeChecked */)) { - var signature = getSignaturesOfType(type, 0 /* Call */)[0]; - var contextualSignature = getContextualSignature(contextualType); - if (contextualSignature) { - if (!node.typeParameters && !ts.forEach(node.parameters, function (p) { return p.type; })) { - assignContextualParameterTypes(signature, contextualSignature, contextualMapper || identityMapper); - } - if (!node.type) { - signature.resolvedReturnType = resolvingType; - var returnType = getReturnTypeFromBody(node, getReturnTypeOfSignature(contextualSignature), contextualMapper); - if (signature.resolvedReturnType === resolvingType) { - signature.resolvedReturnType = returnType; + var type = getTypeOfSymbol(node.symbol); + if (!(links.flags & 64 /* ContextChecked */)) { + var contextualSignature = getContextualSignature(node); + if (!(links.flags & 64 /* ContextChecked */)) { + links.flags |= 64 /* ContextChecked */; + if (contextualSignature) { + var signature = getSignaturesOfType(type, 0 /* Call */)[0]; + if (isContextSensitiveExpression(node)) { + assignContextualParameterTypes(signature, contextualSignature, contextualMapper || identityMapper); + } + if (!node.type) { + signature.resolvedReturnType = resolvingType; + var returnType = getReturnTypeFromBody(node, contextualMapper); + if (signature.resolvedReturnType === resolvingType) { + signature.resolvedReturnType = returnType; + } } } - else { - checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(node, getTypeFromTypeNode(node.type)); - } } + } + if (fullTypeCheck && !(links.flags & 1 /* TypeChecked */)) { checkSignatureDeclaration(node); + if (node.type) { + checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(node, getTypeFromTypeNode(node.type)); + } if (node.body.kind === 168 /* FunctionBlock */) { checkSourceElement(node.body); } else { - var returnType = getReturnTypeOfSignature(signature); + var exprType = checkExpression(node.body); if (node.type) { - checkTypeAssignableTo(checkExpression(node.body, returnType), returnType, node.body, undefined, undefined); + checkTypeAssignableTo(exprType, getTypeFromTypeNode(node.type), node.body, undefined, undefined); } } links.flags |= 1 /* TypeChecked */; @@ -11143,12 +11613,10 @@ var ts; } return booleanType; } - function checkBinaryExpression(node, contextualType, contextualMapper) { + function checkBinaryExpression(node, contextualMapper) { var operator = node.operator; - var leftContextualType = operator === 40 /* BarBarToken */ ? contextualType : undefined; - var leftType = checkExpression(node.left, leftContextualType, contextualMapper); - var rightContextualType = operator >= ts.SyntaxKind.FirstAssignment && operator <= ts.SyntaxKind.LastAssignment ? leftType : operator === 40 /* BarBarToken */ ? contextualType || leftType : undefined; - var rightType = checkExpression(node.right, rightContextualType, contextualMapper); + var leftType = checkExpression(node.left, contextualMapper); + var rightType = checkExpression(node.right, contextualMapper); switch (operator) { case 26 /* AsteriskToken */: case 46 /* AsteriskEqualsToken */: @@ -11223,7 +11691,7 @@ var ts; case 39 /* AmpersandAmpersandToken */: return rightType; case 40 /* BarBarToken */: - return getBestCommonType([leftType, rightType], isInferentialContext(contextualMapper) ? undefined : contextualType); + return getBestCommonType([leftType, rightType], isInferentialContext(contextualMapper) ? undefined : getContextualType(node)); case 43 /* EqualsToken */: checkAssignmentOperator(rightType); return rightType; @@ -11242,13 +11710,14 @@ var ts; error(node, ts.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2, ts.tokenToString(node.operator), typeToString(leftType), typeToString(rightType)); } } - function checkConditionalExpression(node, contextualType, contextualMapper) { + function checkConditionalExpression(node, contextualMapper) { checkExpression(node.condition); - var type1 = checkExpression(node.whenTrue, contextualType, contextualMapper); - var type2 = checkExpression(node.whenFalse, contextualType, contextualMapper); - var resultType = getBestCommonType([type1, type2], isInferentialContext(contextualMapper) ? undefined : contextualType, true); + var type1 = checkExpression(node.whenTrue, contextualMapper); + var type2 = checkExpression(node.whenFalse, contextualMapper); + var contextualType = isInferentialContext(contextualMapper) ? undefined : getContextualType(node); + var resultType = getBestCommonType([type1, type2], contextualType, true); if (!resultType) { - if (contextualType && !isInferentialContext(contextualMapper)) { + if (contextualType) { error(node, ts.Diagnostics.No_best_common_type_exists_between_0_1_and_2, typeToString(contextualType), typeToString(type1), typeToString(type2)); } else { @@ -11258,12 +11727,19 @@ var ts; } return resultType; } - function checkAndMarkExpression(node, contextualType, contextualMapper) { - var result = checkExpression(node, contextualType, contextualMapper); + function checkExpressionWithContextualType(node, contextualType, contextualMapper) { + var saveContextualType = node.contextualType; + node.contextualType = contextualType; + var result = checkExpression(node, contextualMapper); + node.contextualType = saveContextualType; + return result; + } + function checkAndMarkExpression(node, contextualMapper) { + var result = checkExpression(node, contextualMapper); getNodeLinks(node).flags |= 1 /* TypeChecked */; return result; } - function checkExpression(node, contextualType, contextualMapper) { + function checkExpression(node, contextualMapper) { switch (node.kind) { case 55 /* Identifier */: return checkIdentifier(node); @@ -11285,32 +11761,31 @@ var ts; case 112 /* QualifiedName */: return checkPropertyAccess(node); case 127 /* ArrayLiteral */: - return checkArrayLiteral(node, contextualType, contextualMapper); + return checkArrayLiteral(node, contextualMapper); case 128 /* ObjectLiteral */: - return checkObjectLiteral(node, contextualType, contextualMapper); + return checkObjectLiteral(node, contextualMapper); case 130 /* PropertyAccess */: return checkPropertyAccess(node); case 131 /* IndexedAccess */: return checkIndexedAccess(node); case 132 /* CallExpression */: - return checkCallExpression(node); case 133 /* NewExpression */: - return checkNewExpression(node); + return checkCallExpression(node); case 134 /* TypeAssertion */: return checkTypeAssertion(node); case 135 /* ParenExpression */: return checkExpression(node.expression); case 136 /* FunctionExpression */: case 137 /* ArrowFunction */: - return checkFunctionExpression(node, contextualType, contextualMapper); + return checkFunctionExpression(node, contextualMapper); case 138 /* PrefixOperator */: return checkPrefixExpression(node); case 139 /* PostfixOperator */: return checkPostfixExpression(node); case 140 /* BinaryExpression */: - return checkBinaryExpression(node, contextualType, contextualMapper); + return checkBinaryExpression(node, contextualMapper); case 141 /* ConditionalExpression */: - return checkConditionalExpression(node, contextualType, contextualMapper); + return checkConditionalExpression(node, contextualMapper); } return unknownType; } @@ -11542,9 +12017,20 @@ var ts; error(signatureDeclarationNode, ts.Diagnostics.A_signature_with_an_implementation_cannot_use_a_string_literal_type); return; } - var signaturesOfSymbol = getSignaturesOfSymbol(getSymbolOfNode(signatureDeclarationNode)); - for (var i = 0; i < signaturesOfSymbol.length; i++) { - var otherSignature = signaturesOfSymbol[i]; + var symbol = getSymbolOfNode(signatureDeclarationNode); + var signaturesToCheck; + if (!signatureDeclarationNode.name && signatureDeclarationNode.parent && signatureDeclarationNode.parent.kind === 170 /* InterfaceDeclaration */) { + ts.Debug.assert(signatureDeclarationNode.kind === 120 /* CallSignature */ || signatureDeclarationNode.kind === 121 /* ConstructSignature */); + var signatureKind = signatureDeclarationNode.kind === 120 /* CallSignature */ ? 0 /* Call */ : 1 /* Construct */; + var containingSymbol = getSymbolOfNode(signatureDeclarationNode.parent); + var containingType = getDeclaredTypeOfSymbol(containingSymbol); + signaturesToCheck = getSignaturesOfType(containingType, signatureKind); + } + else { + signaturesToCheck = getSignaturesOfSymbol(getSymbolOfNode(signatureDeclarationNode)); + } + for (var i = 0; i < signaturesToCheck.length; i++) { + var otherSignature = signaturesToCheck[i]; if (!otherSignature.hasStringLiterals && isSignatureAssignableTo(signature, otherSignature)) { return; } @@ -11882,7 +12368,7 @@ var ts; } if (node.initializer) { if (!(getNodeLinks(node.initializer).flags & 1 /* TypeChecked */)) { - checkTypeAssignableTo(checkAndMarkExpression(node.initializer, type), type, node, undefined, undefined); + checkTypeAssignableTo(checkAndMarkExpression(node.initializer), type, node, undefined, undefined); } } checkCollisionWithCapturedSuperVariable(node, node.name); @@ -11968,10 +12454,10 @@ var ts; var returnType = getReturnTypeOfSignature(getSignatureFromDeclaration(func)); var checkAssignability = func.type || (func.kind === 118 /* GetAccessor */ && getSetAccessorTypeAnnotationNode(getDeclarationOfKind(func.symbol, 119 /* SetAccessor */))); if (checkAssignability) { - checkTypeAssignableTo(checkExpression(node.expression, returnType), returnType, node.expression, undefined, undefined); + checkTypeAssignableTo(checkExpression(node.expression), returnType, node.expression, undefined, undefined); } else if (func.kind == 117 /* Constructor */) { - if (!isTypeAssignableTo(checkExpression(node.expression, returnType), returnType)) { + if (!isTypeAssignableTo(checkExpression(node.expression), returnType)) { error(node.expression, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } } @@ -12455,6 +12941,7 @@ var ts; function checkSourceFile(node) { var links = getNodeLinks(node); if (!(links.flags & 1 /* TypeChecked */)) { + fullTypeCheck = true; emitExtends = false; potentialThisCollisions.length = 0; ts.forEach(node.statements, checkSourceElement); @@ -12471,6 +12958,7 @@ var ts; if (emitExtends) links.flags |= 8 /* EmitExtends */; links.flags |= 1 /* TypeChecked */; + fullTypeCheck = false; } } function checkProgram() { @@ -12593,9 +13081,9 @@ var ts; } return false; } - function isTypeReferenceIdentifier(identifier) { - var node = identifier; - if (node.parent && node.parent.kind === 112 /* QualifiedName */) + function isTypeReferenceIdentifier(entityName) { + var node = entityName; + while (node.parent && node.parent.kind === 112 /* QualifiedName */) node = node.parent; return node.parent && node.parent.kind === 123 /* TypeReference */; } @@ -12659,33 +13147,77 @@ var ts; } return false; } - function isRightSideOfQualifiedName(node) { + function isRightSideOfQualifiedNameOrPropertyAccess(node) { return (node.parent.kind === 112 /* QualifiedName */ || node.parent.kind === 130 /* PropertyAccess */) && node.parent.right === node; } function getSymbolOfIdentifier(identifier) { - if (isExpression(identifier)) { - if (isRightSideOfQualifiedName(identifier)) { - var node = identifier.parent; - var symbol = getNodeLinks(node).resolvedSymbol; - if (!symbol) { - checkPropertyAccess(node); - } - return getNodeLinks(node).resolvedSymbol; - } - return resolveEntityName(identifier, identifier, ts.SymbolFlags.Value); - } if (isDeclarationIdentifier(identifier)) { return getSymbolOfNode(identifier.parent); } - if (isTypeReferenceIdentifier(identifier)) { - var entityName = isRightSideOfQualifiedName(identifier) ? identifier.parent : identifier; + var entityName = identifier; + while (isRightSideOfQualifiedNameOrPropertyAccess(entityName)) + entityName = entityName.parent; + if (isExpression(entityName)) { + if (entityName.kind === 55 /* Identifier */) { + var meaning = ts.SymbolFlags.Value | 4194304 /* Import */; + return resolveEntityName(entityName, entityName, meaning); + } + else if (entityName.kind === 112 /* QualifiedName */ || entityName.kind === 130 /* PropertyAccess */) { + var symbol = getNodeLinks(entityName).resolvedSymbol; + if (!symbol) { + checkPropertyAccess(entityName); + } + return getNodeLinks(entityName).resolvedSymbol; + } + else { + return; + } + } + else if (isTypeReferenceIdentifier(entityName)) { var meaning = entityName.parent.kind === 123 /* TypeReference */ ? ts.SymbolFlags.Type : ts.SymbolFlags.Namespace; + meaning |= 4194304 /* Import */; return resolveEntityName(entityName, entityName, meaning); } } + function getSymbolInfo(node) { + switch (node.kind) { + case 55 /* Identifier */: + return getSymbolOfIdentifier(node); + case 83 /* ThisKeyword */: + case 81 /* SuperKeyword */: + var type = checkExpression(node); + return type.symbol; + case 103 /* ConstructorKeyword */: + var constructorDeclaration = node.parent; + if (constructorDeclaration && constructorDeclaration.kind === 117 /* Constructor */) { + return constructorDeclaration.parent.symbol; + } + return undefined; + case 3 /* StringLiteral */: + if (node.parent.kind === 131 /* IndexedAccess */ && node.parent.index === node) { + var objectType = checkExpression(node.parent.object); + if (objectType === unknownType) + return undefined; + var apparentType = getApparentType(objectType); + if (apparentType === unknownType) + return undefined; + return getPropertyOfApparentType(apparentType, node.text); + } + else if (node.parent.kind === 174 /* ImportDeclaration */ && node.parent.externalModuleName === node) { + var importSymbol = getSymbolOfNode(node.parent); + var moduleType = getTypeOfSymbol(importSymbol); + return moduleType ? moduleType.symbol : undefined; + } + else if (node.parent.kind === 172 /* ModuleDeclaration */) { + return getSymbolOfNode(node.parent); + } + break; + } + return undefined; + } function getTypeOfExpression(node) { if (isExpression(node)) { - while (isRightSideOfQualifiedName(node)) { + while (isRightSideOfQualifiedNameOrPropertyAccess(node)) { node = node.parent; } return getApparentType(checkExpression(node)); @@ -12850,7 +13382,9 @@ var ts; isDeclarationVisible: isDeclarationVisible, isImplementationOfOverload: isImplementationOfOverload, writeTypeAtLocation: writeTypeAtLocation, - writeReturnTypeOfSignatureDeclaration: writeReturnTypeOfSignatureDeclaration + writeReturnTypeOfSignatureDeclaration: writeReturnTypeOfSignatureDeclaration, + writeSymbol: writeSymbolToTextWriter, + isSymbolAccessible: isSymbolAccessible }; checkProgram(); return ts.emitFiles(resolver); @@ -12869,7 +13403,8 @@ var ts; getSymbolLinks(argumentsSymbol).type = getGlobalType("IArguments"); getSymbolLinks(unknownSymbol).type = unknownType; globals[undefinedSymbol.name] = undefinedSymbol; - globalArrayType = getGlobalType("Array", 1); + globalArraySymbol = getGlobalSymbol("Array"); + globalArrayType = getTypeOfGlobalSymbol(globalArraySymbol, 1); globalObjectType = getGlobalType("Object"); globalFunctionType = getGlobalType("Function"); globalStringType = getGlobalType("String"); @@ -29691,6 +30226,9 @@ var ts; TypeObject.prototype.getProperties = function () { return this.checker.getPropertiesOfType(this); }; + TypeObject.prototype.getProperty = function (propertyName) { + return this.checker.getPropertyOfType(this, propertyName); + }; TypeObject.prototype.getApparentProperties = function () { return this.checker.getAugmentedPropertiesOfApparentType(this); }; @@ -29726,6 +30264,82 @@ var ts; }; return SignatureObject; })(); + var incrementalParse = TypeScript.IncrementalParser.parse; + var SourceFileObject = (function (_super) { + __extends(SourceFileObject, _super); + function SourceFileObject() { + _super.apply(this, arguments); + } + SourceFileObject.prototype.getLineAndCharacterFromPosition = function (position) { + return null; + }; + SourceFileObject.prototype.getSourceUnit = function () { + return this.getSyntaxTree().sourceUnit(); + }; + SourceFileObject.prototype.getLineMap = function () { + return this.getSyntaxTree().lineMap(); + }; + SourceFileObject.prototype.getSyntaxTree = function () { + if (!this.syntaxTree) { + var start = new Date().getTime(); + this.syntaxTree = TypeScript.Parser.parse(this.filename, TypeScript.SimpleText.fromScriptSnapshot(this.scriptSnapshot), this.languageVersion, this.isDeclareFile()); + var time = new Date().getTime() - start; + } + return this.syntaxTree; + }; + SourceFileObject.prototype.isDeclareFile = function () { + return TypeScript.isDTSFile(this.filename); + }; + SourceFileObject.prototype.getBloomFilter = function () { + if (!this.bloomFilter) { + var identifiers = TypeScript.createIntrinsicsObject(); + var pre = function (cur) { + if (TypeScript.ASTHelpers.isValidAstNode(cur)) { + if (cur.kind() === 11 /* IdentifierName */) { + var nodeText = TypeScript.tokenValueText(cur); + identifiers[nodeText] = true; + } + } + }; + TypeScript.getAstWalkerFactory().simpleWalk(this.getSourceUnit(), pre, null, identifiers); + var identifierCount = 0; + for (var name in identifiers) { + if (identifiers[name]) { + identifierCount++; + } + } + this.bloomFilter = new TypeScript.BloomFilter(identifierCount); + this.bloomFilter.addKeys(identifiers); + } + return this.bloomFilter; + }; + SourceFileObject.prototype.update = function (scriptSnapshot, version, isOpen, textChangeRange) { + var oldSyntaxTree = this.syntaxTree; + if (textChangeRange && ts.Debug.shouldAssert(1 /* Normal */)) { + var oldText = this.scriptSnapshot; + var newText = scriptSnapshot; + TypeScript.Debug.assert((oldText.getLength() - textChangeRange.span().length() + textChangeRange.newLength()) === newText.getLength()); + if (ts.Debug.shouldAssert(3 /* VeryAggressive */)) { + var oldTextPrefix = oldText.getText(0, textChangeRange.span().start()); + var newTextPrefix = newText.getText(0, textChangeRange.span().start()); + TypeScript.Debug.assert(oldTextPrefix === newTextPrefix); + var oldTextSuffix = oldText.getText(textChangeRange.span().end(), oldText.getLength()); + var newTextSuffix = newText.getText(textChangeRange.newSpan().end(), newText.getLength()); + TypeScript.Debug.assert(oldTextSuffix === newTextSuffix); + } + } + var text = TypeScript.SimpleText.fromScriptSnapshot(scriptSnapshot); + var newSyntaxTree = !textChangeRange || !oldSyntaxTree ? TypeScript.Parser.parse(this.filename, text, this.languageVersion, TypeScript.isDTSFile(this.filename)) : TypeScript.IncrementalParser.parse(oldSyntaxTree, textChangeRange, text); + return SourceFileObject.createSourceFileObject(this.languageVersion, this.filename, scriptSnapshot, version, isOpen, newSyntaxTree); + }; + SourceFileObject.createSourceFileObject = function (languageVersion, filename, scriptSnapshot, version, isOpen, syntaxTree) { + var newSourceFile = ts.createSourceFile(filename, scriptSnapshot.getText(0, scriptSnapshot.getLength()), languageVersion, version, isOpen); + newSourceFile.scriptSnapshot = scriptSnapshot; + newSourceFile.syntaxTree = syntaxTree; + return newSourceFile; + }; + return SourceFileObject; + })(NodeObject); (function (EmitOutputResult) { EmitOutputResult[EmitOutputResult["Succeeded"] = 0] = "Succeeded"; EmitOutputResult[EmitOutputResult["FailedBecauseOfSyntaxErrors"] = 1] = "FailedBecauseOfSyntaxErrors"; @@ -29783,6 +30397,7 @@ var ts; ScriptElementKind.parameterElement = "parameter"; ScriptElementKind.typeParameterElement = "type parameter"; ScriptElementKind.primitiveType = "primitive type"; + ScriptElementKind.label = "label"; return ScriptElementKind; })(); ts.ScriptElementKind = ScriptElementKind; @@ -29808,108 +30423,6 @@ var ts; return MatchKind; })(); ts.MatchKind = MatchKind; - var DocumentObject = (function () { - function DocumentObject(compilationSettings, filename, referencedFiles, scriptSnapshot, byteOrderMark, version, _isOpen, syntaxTree, soruceFile) { - this.compilationSettings = compilationSettings; - this.filename = filename; - this.referencedFiles = referencedFiles; - this.scriptSnapshot = scriptSnapshot; - this.byteOrderMark = byteOrderMark; - this.version = version; - this._isOpen = _isOpen; - this.syntaxTree = syntaxTree; - this.soruceFile = soruceFile; - this.bloomFilter = null; - } - DocumentObject.prototype.getFilename = function () { - return this.filename; - }; - DocumentObject.prototype.getVersion = function () { - return this.version; - }; - DocumentObject.prototype.isOpen = function () { - return this._isOpen; - }; - DocumentObject.prototype.getByteOrderMark = function () { - return this.byteOrderMark; - }; - DocumentObject.prototype.isDeclareFile = function () { - return TypeScript.isDTSFile(this.filename); - }; - DocumentObject.prototype.getSourceUnit = function () { - return this.getSyntaxTree().sourceUnit(); - }; - DocumentObject.prototype.getLineMap = function () { - return this.getSyntaxTree().lineMap(); - }; - DocumentObject.prototype.getSyntaxTree = function () { - if (!this.syntaxTree) { - var start = new Date().getTime(); - this.syntaxTree = TypeScript.Parser.parse(this.filename, TypeScript.SimpleText.fromScriptSnapshot(this.scriptSnapshot), this.compilationSettings.target, this.isDeclareFile()); - var time = new Date().getTime() - start; - } - return this.syntaxTree; - }; - DocumentObject.prototype.getSourceFile = function () { - if (!this.soruceFile) { - var start = new Date().getTime(); - this.soruceFile = ts.createSourceFile(this.filename, this.scriptSnapshot.getText(0, this.scriptSnapshot.getLength()), this.compilationSettings.target); - var time = new Date().getTime() - start; - } - return this.soruceFile; - }; - DocumentObject.prototype.getBloomFilter = function () { - if (!this.bloomFilter) { - var identifiers = TypeScript.createIntrinsicsObject(); - var pre = function (cur) { - if (TypeScript.ASTHelpers.isValidAstNode(cur)) { - if (cur.kind() === 11 /* IdentifierName */) { - var nodeText = TypeScript.tokenValueText(cur); - identifiers[nodeText] = true; - } - } - }; - TypeScript.getAstWalkerFactory().simpleWalk(this.getSourceUnit(), pre, null, identifiers); - var identifierCount = 0; - for (var name in identifiers) { - if (identifiers[name]) { - identifierCount++; - } - } - this.bloomFilter = new TypeScript.BloomFilter(identifierCount); - this.bloomFilter.addKeys(identifiers); - } - return this.bloomFilter; - }; - DocumentObject.prototype.emitToOwnOutputFile = function () { - return !this.compilationSettings.out || this.getSyntaxTree().isExternalModule(); - }; - DocumentObject.prototype.update = function (scriptSnapshot, version, isOpen, textChangeRange) { - var oldSyntaxTree = this.syntaxTree; - if (textChangeRange !== null && ts.Debug.shouldAssert(1 /* Normal */)) { - var oldText = this.scriptSnapshot; - var newText = scriptSnapshot; - TypeScript.Debug.assert((oldText.getLength() - textChangeRange.span().length() + textChangeRange.newLength()) === newText.getLength()); - if (ts.Debug.shouldAssert(3 /* VeryAggressive */)) { - var oldTextPrefix = oldText.getText(0, textChangeRange.span().start()); - var newTextPrefix = newText.getText(0, textChangeRange.span().start()); - TypeScript.Debug.assert(oldTextPrefix === newTextPrefix); - var oldTextSuffix = oldText.getText(textChangeRange.span().end(), oldText.getLength()); - var newTextSuffix = newText.getText(textChangeRange.newSpan().end(), newText.getLength()); - TypeScript.Debug.assert(oldTextSuffix === newTextSuffix); - } - } - var text = TypeScript.SimpleText.fromScriptSnapshot(scriptSnapshot); - var newSyntaxTree = textChangeRange === null || oldSyntaxTree === null || DocumentObject.incrementalParse === null ? TypeScript.Parser.parse(this.filename, text, this.compilationSettings.target, TypeScript.isDTSFile(this.filename)) : DocumentObject.incrementalParse(oldSyntaxTree, textChangeRange, text); - return new DocumentObject(this.compilationSettings, this.filename, this.referencedFiles, scriptSnapshot, this.byteOrderMark, version, isOpen, newSyntaxTree, null); - }; - DocumentObject.incrementalParse = TypeScript.IncrementalParser.parse; - return DocumentObject; - })(); - function createDocument(compilationSettings, fileName, scriptSnapshot, byteOrderMark, version, isOpen, referencedFiles) { - return new DocumentObject(compilationSettings, fileName, referencedFiles, scriptSnapshot, byteOrderMark, version, isOpen, null, null); - } - ts.createDocument = createDocument; function getDefaultCompilerOptions() { return { target: 1 /* ES5 */, @@ -29962,8 +30475,7 @@ var ts; this.filenameToEntry[TypeScript.switchToForwardSlashes(filename)] = { filename: filename, version: host.getScriptVersion(filename), - isOpen: host.getScriptIsOpen(filename), - byteOrderMark: host.getScriptByteOrderMark(filename) + isOpen: host.getScriptIsOpen(filename) }; } this._compilationSettings = host.getCompilationSettings() || getDefaultCompilerOptions(); @@ -30000,9 +30512,6 @@ var ts; HostCache.prototype.isOpen = function (filename) { return this.getEntry(filename).isOpen; }; - HostCache.prototype.getByteOrderMark = function (filename) { - return this.getEntry(filename).byteOrderMark; - }; HostCache.prototype.getScriptSnapshot = function (filename) { var file = this.getEntry(filename); if (!file.sourceText) { @@ -30114,45 +30623,47 @@ var ts; function reportStats() { var bucketInfoArray = Object.keys(buckets).filter(function (name) { return name && name.charAt(0) === '_'; }).map(function (name) { var entries = ts.lookUp(buckets, name); - var documents = []; + var sourceFiles = []; for (var i in entries) { var entry = entries[i]; - documents.push({ + sourceFiles.push({ name: i, refCount: entry.refCount, references: entry.owners.slice(0) }); } - documents.sort(function (x, y) { return y.refCount - x.refCount; }); - return { bucket: name, documents: documents }; + sourceFiles.sort(function (x, y) { return y.refCount - x.refCount; }); + return { + bucket: name, + sourceFiles: sourceFiles + }; }); return JSON.stringify(bucketInfoArray, null, 2); } - function acquireDocument(filename, compilationSettings, scriptSnapshot, byteOrderMark, version, isOpen, referencedFiles) { - if (referencedFiles === void 0) { referencedFiles = []; } + function acquireDocument(filename, compilationSettings, scriptSnapshot, version, isOpen) { var bucket = getBucketForCompilationSettings(compilationSettings, true); var entry = ts.lookUp(bucket, filename); if (!entry) { - var document = createDocument(compilationSettings, filename, scriptSnapshot, byteOrderMark, version, isOpen, referencedFiles); + var sourceFile = ts.createSourceFile(filename, scriptSnapshot.getText(0, scriptSnapshot.getLength()), compilationSettings.target, version, isOpen); bucket[filename] = entry = { - document: document, + sourceFile: sourceFile, refCount: 0, owners: [] }; } entry.refCount++; - return entry.document; + return entry.sourceFile; } - function updateDocument(document, filename, compilationSettings, scriptSnapshot, version, isOpen, textChangeRange) { + function updateDocument(sourceFile, filename, compilationSettings, scriptSnapshot, version, isOpen, textChangeRange) { var bucket = getBucketForCompilationSettings(compilationSettings, false); ts.Debug.assert(bucket); var entry = ts.lookUp(bucket, filename); ts.Debug.assert(entry); - if (entry.document.isOpen() === isOpen && entry.document.getVersion() === version) { - return entry.document; + if (entry.sourceFile.isOpen === isOpen && entry.sourceFile.version === version) { + return entry.sourceFile; } - entry.document = entry.document.update(scriptSnapshot, version, isOpen, textChangeRange); - return entry.document; + entry.sourceFile = entry.sourceFile.update(scriptSnapshot, version, isOpen, textChangeRange); + return entry.sourceFile; } function releaseDocument(filename, compilationSettings) { var bucket = getBucketForCompilationSettings(compilationSettings, false); @@ -30187,22 +30698,22 @@ var ts; var program; var typeChecker; var useCaseSensitivefilenames = false; - var documentsByName = {}; + var sourceFilesByName = {}; var documentRegistry = documentRegistry; var cancellationToken = new CancellationTokenObject(host.getCancellationToken()); var activeCompletionSession; if (!TypeScript.LocalizedDiagnosticMessages) { TypeScript.LocalizedDiagnosticMessages = host.getLocalizedDiagnosticMessages(); } - function getDocument(filename) { - return ts.lookUp(documentsByName, filename); + function getSourceFile(filename) { + return ts.lookUp(sourceFilesByName, filename); } function createCompilerHost() { return { getSourceFile: function (filename, languageVersion) { - var document = getDocument(filename); - ts.Debug.assert(!!document, "document can not be undefined"); - return document.getSourceFile(); + var sourceFile = getSourceFile(filename); + ts.Debug.assert(!!sourceFile, "sourceFile can not be undefined"); + return sourceFile.getSourceFile(); }, getCancellationToken: function () { return cancellationToken; }, getCanonicalFileName: function (filename) { return useCaseSensitivefilenames ? filename : filename.toLowerCase(); }, @@ -30211,7 +30722,7 @@ var ts; getDefaultLibFilename: function () { throw Error("TOD:: getDefaultLibfilename"); }, - writeFile: function (filename, data) { + writeFile: function (filename, data, writeByteOrderMark) { throw Error("TODO: write file"); }, getCurrentDirectory: function () { @@ -30219,8 +30730,29 @@ var ts; } }; } + function sourceFileUpToDate(sourceFile) { + return sourceFile && sourceFile.version === hostCache.getVersion(sourceFile.filename) && sourceFile.isOpen === hostCache.isOpen(sourceFile.filename); + } + function programUpToDate() { + if (!program) { + return false; + } + var hostFilenames = hostCache.getFilenames(); + if (program.getSourceFiles().length !== hostFilenames.length) { + return false; + } + for (var i = 0, n = hostFilenames.length; i < n; i++) { + if (!sourceFileUpToDate(program.getSourceFile(hostFilenames[i]))) { + return false; + } + } + return compareDataObjects(program.getCompilerOptions(), hostCache.compilationSettings()); + } function synchronizeHostData() { hostCache = new HostCache(host); + if (programUpToDate()) { + return; + } var compilationSettings = hostCache.compilationSettings(); var oldProgram = program; if (oldProgram) { @@ -30233,7 +30765,7 @@ var ts; var filename = oldSourceFiles[i].filename; if (!hostCache.contains(filename) || changesInCompilationSettingsAffectSyntax) { documentRegistry.releaseDocument(filename, oldSettings); - delete documentsByName[filename]; + delete sourceFilesByName[filename]; } } } @@ -30243,25 +30775,30 @@ var ts; var version = hostCache.getVersion(filename); var isOpen = hostCache.isOpen(filename); var scriptSnapshot = hostCache.getScriptSnapshot(filename); - var document = getDocument(filename); - if (document) { - if (document.getVersion() === version && document.isOpen() === isOpen) { + var sourceFile = getSourceFile(filename); + if (sourceFile) { + if (sourceFileUpToDate(sourceFile)) { continue; } var textChangeRange = null; - if (document.isOpen && isOpen) { - textChangeRange = hostCache.getScriptTextChangeRangeSinceVersion(filename, document.getVersion()); + if (sourceFile.isOpen && isOpen) { + textChangeRange = hostCache.getScriptTextChangeRangeSinceVersion(filename, sourceFile.version); } - document = documentRegistry.updateDocument(document, filename, compilationSettings, scriptSnapshot, version, isOpen, textChangeRange); + sourceFile = documentRegistry.updateDocument(sourceFile, filename, compilationSettings, scriptSnapshot, version, isOpen, textChangeRange); } else { - document = documentRegistry.acquireDocument(filename, compilationSettings, scriptSnapshot, hostCache.getByteOrderMark(filename), version, isOpen, []); + sourceFile = documentRegistry.acquireDocument(filename, compilationSettings, scriptSnapshot, version, isOpen, []); } - documentsByName[filename] = document; + sourceFilesByName[filename] = sourceFile; } program = ts.createProgram(hostfilenames, compilationSettings, createCompilerHost()); typeChecker = program.getTypeChecker(); } + function cleanupSemanticCache() { + if (program) { + typeChecker = program.getTypeChecker(); + } + } function dispose() { if (program) { ts.forEach(program.getSourceFiles(), function (f) { @@ -30271,11 +30808,13 @@ var ts; } function getSyntacticDiagnostics(filename) { synchronizeHostData(); - return program.getDiagnostics(program.getSourceFile(filename)); + filename = TypeScript.switchToForwardSlashes(filename); + return program.getDiagnostics(getSourceFile(filename).getSourceFile()); } function getSemanticDiagnostics(filename) { synchronizeHostData(); - return typeChecker.getDiagnostics(program.getSourceFile(filename)); + filename = TypeScript.switchToForwardSlashes(filename); + return typeChecker.getDiagnostics(getSourceFile(filename).getSourceFile()); } function getCompilerOptionsDiagnostics() { synchronizeHostData(); @@ -30402,9 +30941,9 @@ var ts; } synchronizeHostData(); filename = TypeScript.switchToForwardSlashes(filename); - var document = getDocument(filename); - var sourceUnit = document.getSourceUnit(); - if (isCompletionListBlocker(document.getSyntaxTree().sourceUnit(), position)) { + var sourceFile = getSourceFile(filename); + var sourceUnit = sourceFile.getSourceUnit(); + if (isCompletionListBlocker(sourceFile.getSyntaxTree().sourceUnit(), position)) { host.log("Returning an empty list because completion was blocked."); return null; } @@ -30429,7 +30968,7 @@ var ts; isRightOfDot = true; node = node.parent.left; } - var mappedNode = getNodeAtPosition(document.getSourceFile(), TypeScript.end(node) - 1); + var mappedNode = getNodeAtPosition(sourceFile.getSourceFile(), TypeScript.end(node) - 1); ts.Debug.assert(mappedNode, "Could not map a Fidelity node to an AST node"); activeCompletionSession = { filename: filename, @@ -30449,7 +30988,7 @@ var ts; getCompletionEntriesFromSymbols(symbols, activeCompletionSession); } else { - var containingObjectLiteral = getContainingObjectLiteralApplicableForCompletion(document.getSyntaxTree().sourceUnit(), position); + var containingObjectLiteral = getContainingObjectLiteralApplicableForCompletion(sourceFile.getSyntaxTree().sourceUnit(), position); if (containingObjectLiteral) { var searchPosition = Math.min(position, TypeScript.end(containingObjectLiteral)); var path = TypeScript.ASTHelpers.getAstAtPosition(sourceUnit, searchPosition); @@ -30522,7 +31061,7 @@ var ts; return current; } } - function getEnclosingDeclaration(node) { + function getContainerNode(node) { while (true) { node = node.parent; if (!node) { @@ -30612,41 +31151,154 @@ var ts; function getTypeAtPosition(filename, position) { synchronizeHostData(); filename = TypeScript.switchToForwardSlashes(filename); - var document = getDocument(filename); - var node = getNodeAtPosition(document.getSourceFile(), position); + var sourceFile = getSourceFile(filename); + var node = getNodeAtPosition(sourceFile.getSourceFile(), position); if (!node) return undefined; - switch (node.kind) { - case 55 /* Identifier */: - if (node.parent.kind === 132 /* CallExpression */ || node.parent.kind === 133 /* NewExpression */) { - } - var symbol = typeChecker.getSymbolOfIdentifier(node); - ts.Debug.assert(symbol, "getTypeAtPosition: Could not find symbol for node"); - var type = typeChecker.getTypeOfSymbol(symbol); - return { - memberName: new TypeScript.MemberNameString(typeChecker.typeToString(type)), - docComment: "", - fullSymbolName: typeChecker.symbolToString(symbol, getEnclosingDeclaration(node)), - kind: getSymbolKind(symbol), - minChar: node.pos, - limChar: node.end - }; - case 83 /* ThisKeyword */: - case 112 /* QualifiedName */: - case 81 /* SuperKeyword */: - case 3 /* StringLiteral */: - var type = typeChecker.getTypeOfExpression(node); - ts.Debug.assert(type, "getTypeAtPosition: Could not find type for node"); - return { - memberName: new TypeScript.MemberNameString(""), - docComment: "", - fullSymbolName: typeChecker.typeToString(type, getEnclosingDeclaration(node)), - kind: getTypeKind(type), - minChar: node.pos, - limChar: node.end - }; - break; + var symbol = typeChecker.getSymbolInfo(node); + var type = symbol && typeChecker.getTypeOfSymbol(symbol); + if (type) { + return { + memberName: new TypeScript.MemberNameString(typeChecker.typeToString(type)), + docComment: "", + fullSymbolName: typeChecker.symbolToString(symbol, getContainerNode(node)), + kind: getSymbolKind(symbol), + minChar: node.pos, + limChar: node.end + }; } + return undefined; + } + function getDefinitionAtPosition(filename, position) { + function getTargetLabel(node, labelName) { + while (node) { + if (node.kind === 159 /* LabelledStatement */ && node.label.text === labelName) { + return node.label; + } + node = node.parent; + } + return undefined; + } + function isJumpStatementTarget(node) { + return node.kind === 55 /* Identifier */ && (node.parent.kind === 153 /* BreakStatement */ || node.parent.kind === 152 /* ContinueStatement */) && node.parent.label === node; + } + function isCallExpressionTarget(node) { + if (node.parent.kind === 130 /* PropertyAccess */ && node.parent.right === node) + node = node.parent; + return node.parent.kind === 132 /* CallExpression */ && node.parent.func === node; + } + function isNewExpressionTarget(node) { + if (node.parent.kind === 130 /* PropertyAccess */ && node.parent.right === node) + node = node.parent; + return node.parent.kind === 133 /* NewExpression */ && node.parent.func === node; + } + function isFunctionDeclaration(node) { + switch (node.kind) { + case 167 /* FunctionDeclaration */: + case 116 /* Method */: + case 136 /* FunctionExpression */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 137 /* ArrowFunction */: + return true; + } + return false; + } + function isNameOfFunctionDeclaration(node) { + return node.kind === 55 /* Identifier */ && isFunctionDeclaration(node.parent) && node.parent.name === node; + } + function getDefinitionInfo(node, symbolKind, symbolName, containerName) { + return { + fileName: node.getSourceFile().filename, + minChar: node.getStart(), + limChar: node.getEnd(), + kind: symbolKind, + name: symbolName, + containerName: containerName, + containerKind: undefined + }; + } + function tryAddSignature(signatureDeclarations, selectConstructors, symbolKind, symbolName, containerName, result) { + var declarations = []; + var definition; + ts.forEach(signatureDeclarations, function (d) { + if ((selectConstructors && d.kind === 117 /* Constructor */) || (!selectConstructors && (d.kind === 167 /* FunctionDeclaration */ || d.kind === 116 /* Method */))) { + declarations.push(d); + if (d.body) + definition = d; + } + }); + if (definition) { + result.push(getDefinitionInfo(definition, symbolKind, symbolName, containerName)); + return true; + } + else if (declarations.length) { + result.push(getDefinitionInfo(declarations[declarations.length - 1], symbolKind, symbolName, containerName)); + return true; + } + return false; + } + function tryAddConstructSignature(symbol, location, symbolKind, symbolName, containerName, result) { + if (isNewExpressionTarget(location) || location.kind === 103 /* ConstructorKeyword */) { + if (symbol.flags & 16 /* Class */) { + var classDeclaration = symbol.getDeclarations()[0]; + ts.Debug.assert(classDeclaration && classDeclaration.kind === 169 /* ClassDeclaration */); + return tryAddSignature(classDeclaration.members, true, symbolKind, symbolName, containerName, result); + } + } + return false; + } + function tryAddCallSignature(symbol, location, symbolKind, symbolName, containerName, result) { + if (isCallExpressionTarget(location) || isNewExpressionTarget(location) || isNameOfFunctionDeclaration(location)) { + return tryAddSignature(symbol.declarations, false, symbolKind, symbolName, containerName, result); + } + return false; + } + synchronizeHostData(); + filename = TypeScript.switchToForwardSlashes(filename); + var sourceFile = getSourceFile(filename); + var node = getNodeAtPosition(sourceFile.getSourceFile(), position); + if (!node) { + return undefined; + } + if (isJumpStatementTarget(node)) { + var labelName = node.text; + var label = getTargetLabel(node.parent, node.text); + return label ? [getDefinitionInfo(label, ScriptElementKind.label, labelName, undefined)] : undefined; + } + var comment = ts.forEach(sourceFile.getSourceFile().referencedFiles, function (r) { return (r.pos <= position && position < r.end) ? r : undefined; }); + if (comment) { + var targetFilename = ts.normalizePath(ts.combinePaths(ts.getDirectoryPath(filename), comment.filename)); + if (program.getSourceFile(targetFilename)) { + return [{ + fileName: targetFilename, + minChar: 0, + limChar: 0, + kind: ScriptElementKind.scriptElement, + name: comment.filename, + containerName: undefined, + containerKind: undefined + }]; + } + return undefined; + } + var symbol = typeChecker.getSymbolInfo(node); + if (!symbol || !(symbol.getDeclarations())) { + return undefined; + } + var result = []; + var declarations = symbol.getDeclarations(); + var symbolName = typeChecker.symbolToString(symbol, node); + var symbolKind = getSymbolKind(symbol); + var containerSymbol = symbol.parent; + var containerName = containerSymbol ? typeChecker.symbolToString(containerSymbol, node) : ""; + var containerKind = containerSymbol ? getSymbolKind(symbol) : ""; + if (!tryAddConstructSignature(symbol, node, symbolKind, symbolName, containerName, result) && !tryAddCallSignature(symbol, node, symbolKind, symbolName, containerName, result)) { + ts.forEach(declarations, function (declaration) { + result.push(getDefinitionInfo(declaration, symbolKind, symbolName, containerName)); + }); + } + return result; } function getSyntaxTree(filename) { filename = TypeScript.switchToForwardSlashes(filename); @@ -30775,8 +31427,7 @@ var ts; dispose: dispose, refresh: function () { }, - cleanupSemanticCache: function () { - }, + cleanupSemanticCache: cleanupSemanticCache, getSyntacticDiagnostics: getSyntacticDiagnostics, getSemanticDiagnostics: getSemanticDiagnostics, getCompilerOptionsDiagnostics: getCompilerOptionsDiagnostics, @@ -30784,7 +31435,7 @@ var ts; getCompletionEntryDetails: getCompletionEntryDetails, getTypeAtPosition: getTypeAtPosition, getSignatureAtPosition: function (filename, position) { return undefined; }, - getDefinitionAtPosition: function (filename, position) { return []; }, + getDefinitionAtPosition: getDefinitionAtPosition, getReferencesAtPosition: function (filename, position) { return []; }, getOccurrencesAtPosition: function (filename, position) { return []; }, getImplementorsAtPosition: function (filename, position) { return []; }, @@ -30926,7 +31577,7 @@ var ts; getNodeConstructor: function (kind) { function Node() { } - var proto = new NodeObject(); + var proto = kind === 177 /* SourceFile */ ? new SourceFileObject() : new NodeObject(); proto.kind = kind; proto.pos = 0; proto.end = 0; @@ -31145,6 +31796,7 @@ var ts; options.sourceRoot = settings.sourceRoot; options.declaration = settings.generateDeclarationFiles; options.codepage = settings.codepage; + options.emitBOM = settings.emitBOM; return options; } function compilerOptionsToCompilationSettings(options) { @@ -31162,6 +31814,7 @@ var ts; settings.sourceRoot = options.sourceRoot; settings.generateDeclarationFiles = options.declaration; settings.codepage = options.codepage; + settings.emitBOM = options.emitBOM; return settings; } function logInternalError(logger, err) { @@ -31239,9 +31892,6 @@ var ts; LanguageServiceShimHostAdapter.prototype.getScriptIsOpen = function (fileName) { return this.shimHost.getScriptIsOpen(fileName); }; - LanguageServiceShimHostAdapter.prototype.getScriptByteOrderMark = function (fileName) { - return this.shimHost.getScriptByteOrderMark(fileName); - }; LanguageServiceShimHostAdapter.prototype.getLocalizedDiagnosticMessages = function () { var diagnosticMessagesJson = this.shimHost.getLocalizedDiagnosticMessages(); if (diagnosticMessagesJson == null || diagnosticMessagesJson == "") { diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 440408d1f91..c91489b3d88 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -11,7 +11,11 @@ module ts { var nextNodeId = 1; var nextMergeId = 1; - export function createTypeChecker(program: Program): TypeChecker { + /// fullTypeCheck denotes if this instance of the typechecker will be used to get semantic diagnostics. + /// If fullTypeCheck === true - then typechecker should do every possible check to produce all errors + /// If fullTypeCheck === false - typechecker can shortcut and skip checks that only produce errors. + /// NOTE: checks that somehow affects decisions being made during typechecking should be executed in both cases. + export function createTypeChecker(program: Program, fullTypeCheck: boolean): TypeChecker { var Symbol = objectAllocator.getSymbolConstructor(); var Type = objectAllocator.getTypeConstructor(); @@ -58,8 +62,6 @@ module ts { var tupleTypes: Map = {}; var stringLiteralTypes: Map = {}; - - var fullTypeCheck = false; var emitExtends = false; var mergedSymbols: Symbol[] = []; @@ -311,7 +313,7 @@ module ts { else { return returnResolvedSymbol(result); } - } + } break; case SyntaxKind.Method: case SyntaxKind.Constructor: @@ -451,7 +453,7 @@ module ts { return moduleSymbol; } - function getExportAssignmentSymbol(symbol: Symbol): Symbol { + function getExportAssignmentSymbol(symbol: Symbol): Symbol { checkTypeOfExportAssignmentSymbol(symbol); var symbolLinks = getSymbolLinks(symbol); return symbolLinks.exportAssignSymbol === unknownSymbol ? undefined : symbolLinks.exportAssignSymbol; @@ -661,38 +663,59 @@ module ts { return callback(globals); } - function getAccessibleSymbol(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags) { - function getAccessibleSymbolFromSymbolTable(symbols: SymbolTable) { + function getQualifiedLeftMeaning(rightMeaning: SymbolFlags) { + // If we are looking in value space, the parent meaning is value, other wise it is namespace + return rightMeaning === SymbolFlags.Value ? SymbolFlags.Value : SymbolFlags.Namespace; + } + + function getAccessibleSymbolChain(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): Symbol[] { + function getAccessibleSymbolChainFromSymbolTable(symbols: SymbolTable): Symbol[] { + function canQualifySymbol(symbolFromSymbolTable: Symbol, meaning: SymbolFlags) { + // If the symbol is equivalent and doesnt need futher qualification, this symbol is accessible + if (!needsQualification(symbolFromSymbolTable, enclosingDeclaration, meaning)) { + return true; + } + + // If symbol needs qualification, make sure that parent is accessible, if it is then this symbol is accessible too + var accessibleParent = getAccessibleSymbolChain(symbolFromSymbolTable.parent, enclosingDeclaration, getQualifiedLeftMeaning(meaning)); + return !!accessibleParent; + } + function isAccessible(symbolFromSymbolTable: Symbol, resolvedAliasSymbol?: Symbol) { if (symbol === (resolvedAliasSymbol || symbolFromSymbolTable)) { - // If the symbol is equivalent and doesnt need futher qualification, this symbol is accessible - if (!needsQualification(symbolFromSymbolTable, enclosingDeclaration, meaning)) { - return true; - } - - // If symbol needs qualification, make sure that parent is accessible, if it is then this symbol is accessible too - var accessibleParent = getAccessibleSymbol(symbolFromSymbolTable.parent, enclosingDeclaration, SymbolFlags.Namespace); - return !!accessibleParent; + // if the symbolFromSymbolTable is not external module (it could be if it was determined as ambient external module and would be in globals table) + // and if symbolfrom symbolTable or alias resolution matches the symbol, + // check the symbol can be qualified, it is only then this symbol is accessible + return !forEach(symbolFromSymbolTable.declarations, declaration => hasExternalModuleSymbol(declaration)) && + canQualifySymbol(symbolFromSymbolTable, meaning); } } // If symbol is directly available by its name in the symbol table if (isAccessible(lookUp(symbols, symbol.name))) { - return symbol; + return [symbol]; } // Check if symbol is any of the alias return forEachValue(symbols, symbolFromSymbolTable => { if (symbolFromSymbolTable.flags & SymbolFlags.Import) { + var resolvedImportedSymbol = resolveImport(symbolFromSymbolTable); if (isAccessible(symbolFromSymbolTable, resolveImport(symbolFromSymbolTable))) { - return symbolFromSymbolTable; + return [symbolFromSymbolTable]; + } + + // Look in the exported members, if we can find accessibleSymbolChain, symbol is accessible using this chain + // but only if the symbolFromSymbolTable can be qualified + var accessibleSymbolsFromExports = resolvedImportedSymbol.exports ? getAccessibleSymbolChainFromSymbolTable(resolvedImportedSymbol.exports) : undefined; + if (accessibleSymbolsFromExports && canQualifySymbol(symbolFromSymbolTable, getQualifiedLeftMeaning(meaning))) { + return [symbolFromSymbolTable].concat(accessibleSymbolsFromExports); } } }); } if (symbol) { - return forEachSymbolTableInScope(enclosingDeclaration, getAccessibleSymbolFromSymbolTable); + return forEachSymbolTableInScope(enclosingDeclaration, getAccessibleSymbolChainFromSymbolTable); } } @@ -731,20 +754,19 @@ module ts { var meaningToLook = meaning; while (symbol) { // Symbol is accessible if it by itself is accessible - var accessibleSymbol = getAccessibleSymbol(symbol, enclosingDeclaration, meaningToLook); - if (accessibleSymbol) { - if (forEach(accessibleSymbol.declarations, declaration => !isDeclarationVisible(declaration))) { + var accessibleSymbolChain = getAccessibleSymbolChain(symbol, enclosingDeclaration, meaningToLook); + if (accessibleSymbolChain) { + var hasAccessibleDeclarations = hasVisibleDeclarations(accessibleSymbolChain[0]); + if (!hasAccessibleDeclarations) { return { accessibility: SymbolAccessibility.NotAccessible, errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning), - errorModuleName: symbol !== initialSymbol ? symbolToString(symbol, enclosingDeclaration, SymbolFlags.Namespace) : undefined + errorModuleName: symbol !== initialSymbol ? symbolToString(symbol, enclosingDeclaration, SymbolFlags.Namespace) : undefined, }; } - return { accessibility: SymbolAccessibility.Accessible }; + return { accessibility: SymbolAccessibility.Accessible, aliasesToMakeVisible: hasAccessibleDeclarations.aliasesToMakeVisible }; } - // TODO(shkamat): Handle static method of class - // If we havent got the accessible symbol doesnt mean the symbol is actually inaccessible. // It could be qualified symbol and hence verify the path // eg: @@ -757,18 +779,91 @@ module ts { // we are going to see if c can be accessed in scope directly. // But it cant, hence the accessible is going to be undefined, but that doesnt mean m.c is accessible // It is accessible if the parent m is accessible because then m.c can be accessed through qualification - meaningToLook = SymbolFlags.Namespace; + meaningToLook = getQualifiedLeftMeaning(meaning); symbol = symbol.parent; } - // This is a local symbol that cannot be named + // This could be a symbol that is not exported in the external module + // or it could be a symbol from different external module that is not aliased and hence cannot be named + var symbolExternalModule = forEach(initialSymbol.declarations, declaration => getExternalModuleContainer(declaration)); + if (symbolExternalModule) { + var enclosingExternalModule = getExternalModuleContainer(enclosingDeclaration); + if (symbolExternalModule !== enclosingExternalModule) { + // name from different external module that is not visibile + return { + accessibility: SymbolAccessibility.CannotBeNamed, + errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning), + errorModuleName: symbolToString(symbolExternalModule) + }; + } + } + + // Just a local name that is not accessible return { - accessibility: SymbolAccessibility.CannotBeNamed, + accessibility: SymbolAccessibility.NotAccessible, errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning), }; } return { accessibility: SymbolAccessibility.Accessible }; + + function getExternalModuleContainer(declaration: Declaration) { + for (; declaration; declaration = declaration.parent) { + if (hasExternalModuleSymbol(declaration)) { + return getSymbolOfNode(declaration); + } + } + } + } + + function hasExternalModuleSymbol(declaration: Declaration) { + return (declaration.kind === SyntaxKind.ModuleDeclaration && declaration.name.kind === SyntaxKind.StringLiteral) || + (declaration.kind === SyntaxKind.SourceFile && isExternalModule(declaration)); + } + + function hasVisibleDeclarations(symbol: Symbol): { aliasesToMakeVisible?: ImportDeclaration[]; } { + var aliasesToMakeVisible: ImportDeclaration[]; + if (forEach(symbol.declarations, declaration => !getIsDeclarationVisible(declaration))) { + return undefined; + } + return { aliasesToMakeVisible: aliasesToMakeVisible }; + + function getIsDeclarationVisible(declaration: Declaration) { + if (!isDeclarationVisible(declaration)) { + // Mark the unexported alias as visible if its parent is visible + // because these kind of aliases can be used to name types in declaration file + if (declaration.kind === SyntaxKind.ImportDeclaration && + !(declaration.flags & NodeFlags.Export) && + isDeclarationVisible(declaration.parent)) { + getNodeLinks(declaration).isVisible = true; + if (aliasesToMakeVisible) { + if (!contains(aliasesToMakeVisible, declaration)) { + aliasesToMakeVisible.push(declaration); + } + } + else { + aliasesToMakeVisible = [declaration]; + } + return true; + } + + // Declaration is not visible + return false; + } + + return true; + } + } + + function isImportDeclarationEntityNameReferenceDeclarationVisibile(entityName: EntityName): SymbolAccessiblityResult { + var firstIdentifier = getFirstIdentifier(entityName); + var firstIdentifierName = identifierToString(firstIdentifier); + var symbolOfNameSpace = resolveName(entityName.parent, (firstIdentifier).text, SymbolFlags.Namespace, Diagnostics.Cannot_find_name_0, firstIdentifierName); + // Verify if the symbol is accessible + var hasNamespaceDeclarationsVisibile = hasVisibleDeclarations(symbolOfNameSpace); + return hasNamespaceDeclarationsVisibile ? + { accessibility: SymbolAccessibility.Accessible, aliasesToMakeVisible: hasNamespaceDeclarationsVisibile.aliasesToMakeVisible } : + { accessibility: SymbolAccessibility.NotAccessible, errorSymbolName: firstIdentifierName }; } // Enclosing declaration is optional when we dont want to get qualified name in the enclosing declaration scope @@ -789,15 +884,27 @@ module ts { // Properties/methods/Signatures/Constructors/TypeParameters do not need qualification !(symbol.flags & SymbolFlags.PropertyOrAccessor & SymbolFlags.Signature & SymbolFlags.Constructor & SymbolFlags.Method & SymbolFlags.TypeParameter)) { var symbolName: string; - while (symbol) { + while (symbol) { var isFirstName = !symbolName; - var meaningToLook = isFirstName ? meaning : SymbolFlags.Namespace; - var accessibleSymbol = getAccessibleSymbol(symbol, enclosingDeclaration, meaningToLook); - symbolName = getSymbolName(accessibleSymbol || symbol) + (isFirstName ? "" : ("." + symbolName)); - if (accessibleSymbol && !needsQualification(accessibleSymbol, enclosingDeclaration, meaningToLook)) { + var accessibleSymbolChain = getAccessibleSymbolChain(symbol, enclosingDeclaration, meaning); + + var currentSymbolName: string; + if (accessibleSymbolChain) { + currentSymbolName = ts.map(accessibleSymbolChain, accessibleSymbol => getSymbolName(accessibleSymbol)).join("."); + } + else { + // If we didnt find accessible symbol chain for this symbol, break if this is external module + if (!isFirstName && ts.forEach(symbol.declarations, declaration => hasExternalModuleSymbol(declaration))) { + break; + } + currentSymbolName = getSymbolName(symbol); + } + symbolName = currentSymbolName + (isFirstName ? "" : ("." + symbolName)); + if (accessibleSymbolChain && !needsQualification(accessibleSymbolChain[0], enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { break; } - symbol = accessibleSymbol ? accessibleSymbol.parent : symbol.parent; + symbol = accessibleSymbolChain ? accessibleSymbolChain[0].parent : symbol.parent; + meaning = getQualifiedLeftMeaning(meaning); } return symbolName; @@ -822,7 +929,7 @@ module ts { }; } - function typeToString(type: Type, enclosingDeclaration?:Node, flags?: TypeFormatFlags): string { + function typeToString(type: Type, enclosingDeclaration?: Node, flags?: TypeFormatFlags): string { var stringWriter = createSingleLineTextWriter(); // TODO(shkamat): typeToString should take enclosingDeclaration as input, once we have implemented enclosingDeclaration writeTypeToTextWriter(type, enclosingDeclaration, flags, stringWriter); @@ -894,10 +1001,13 @@ module ts { writeTypeofSymbol(type); } // Use 'typeof T' for types of functions and methods that circularly reference themselves - // TODO(shkamat): correct the usuage of typeof function - always on functions that are visible - else if (type.symbol && type.symbol.flags & (SymbolFlags.Function | SymbolFlags.Method) && typeStack && contains(typeStack, type)) { + else if (shouldWriteTypeOfFunctionSymbol()) { writeTypeofSymbol(type); } + else if (typeStack && contains(typeStack, type)) { + // Recursive usage, use any + writer.write("any"); + } else { if (!typeStack) { typeStack = []; @@ -906,6 +1016,23 @@ module ts { writeLiteralType(type, allowFunctionOrConstructorTypeLiteral); typeStack.pop(); } + + function shouldWriteTypeOfFunctionSymbol() { + if (type.symbol) { + var isStaticMethodSymbol = !!(type.symbol.flags & SymbolFlags.Method && // typeof static method + ts.forEach(type.symbol.declarations, declaration => declaration.flags & NodeFlags.Static)); + var isNonLocalFunctionSymbol = !!(type.symbol.flags & SymbolFlags.Function) && + (type.symbol.parent || // is exported function symbol + ts.forEach(type.symbol.declarations, declaration => + declaration.parent.kind === SyntaxKind.SourceFile || declaration.parent.kind === SyntaxKind.ModuleBlock)); + + if (isStaticMethodSymbol || isNonLocalFunctionSymbol) { + // typeof is allowed only for static/non local functions + return !!(flags & TypeFormatFlags.UseTypeOfFunction) || // use typeof if format flags specify it + (typeStack && contains(typeStack, type)); // it is type of the symbol uses itself recursively + } + } + } } function writeTypeofSymbol(type: ObjectType) { @@ -1050,30 +1177,31 @@ module ts { // This is export assigned symbol node var externalModuleSymbol = getSymbolOfNode(externalModule); var exportAssignmentSymbol = getExportAssignmentSymbol(externalModuleSymbol); + var resolvedExportSymbol: Symbol; var symbolOfNode = getSymbolOfNode(node); - if (exportAssignmentSymbol === symbolOfNode) { + if (isSymbolUsedInExportAssignment(symbolOfNode)) { + return true; + } + + // if symbolOfNode is import declaration, resolve the symbol declaration and check + if (symbolOfNode.flags & SymbolFlags.Import) { + return isSymbolUsedInExportAssignment(resolveImport(symbolOfNode)); + } + } + + // Check if the symbol is used in export assignment + function isSymbolUsedInExportAssignment(symbol: Symbol) { + if (exportAssignmentSymbol === symbol) { return true; } if (exportAssignmentSymbol && !!(exportAssignmentSymbol.flags & SymbolFlags.Import)) { // if export assigned symbol is import declaration, resolve the import - var resolvedExportSymbol = resolveImport(exportAssignmentSymbol); - if (resolvedExportSymbol === symbolOfNode) { + resolvedExportSymbol = resolvedExportSymbol || resolveImport(exportAssignmentSymbol); + if (resolvedExportSymbol === symbol) { return true; } - // TODO(shkamat): Chained import assignment - // eg. a should be visible too. - //module m { - // export module c { - // export class c { - // } - // } - //} - //import a = m.c; - //import b = a; - //export = b; - // Container of resolvedExportSymbol is visible return forEach(resolvedExportSymbol.declarations, declaration => { while (declaration) { @@ -1090,25 +1218,21 @@ module ts { function determineIfDeclarationIsVisible() { switch (node.kind) { case SyntaxKind.VariableDeclaration: - if (!(node.flags & NodeFlags.Export)) { - // node.parent is variable statement so look at the variable statement's parent - return isGlobalSourceFile(node.parent.parent) || isUsedInExportAssignment(node); - } - // Exported members are visible if parent is visible - return isDeclarationVisible(node.parent.parent); - case SyntaxKind.ModuleDeclaration: case SyntaxKind.ClassDeclaration: case SyntaxKind.InterfaceDeclaration: case SyntaxKind.FunctionDeclaration: case SyntaxKind.EnumDeclaration: case SyntaxKind.ImportDeclaration: - if (!(node.flags & NodeFlags.Export)) { - // TODO(shkamat): non exported aliases can be visible if they are referenced else where for value/type/namespace - return isGlobalSourceFile(node.parent) || isUsedInExportAssignment(node); + // In case of variable declaration, node.parent is variable statement so look at the variable statement's parent + var parent = node.kind === SyntaxKind.VariableDeclaration ? node.parent.parent : node.parent; + // If the node is not exported or it is not ambient module element (except import declaration) + if (!(node.flags & NodeFlags.Export) && + !(node.kind !== SyntaxKind.ImportDeclaration && parent.kind !== SyntaxKind.SourceFile && isInAmbientContext(parent))) { + return isGlobalSourceFile(parent) || isUsedInExportAssignment(node); } - // Exported members are visible if parent is visible - return isDeclarationVisible(node.parent); + // Exported members/ambient module elements (exception import declaraiton) are visible if parent is visible + return isDeclarationVisible(parent); case SyntaxKind.Property: case SyntaxKind.Method: @@ -1138,7 +1262,7 @@ module ts { if (node) { var links = getNodeLinks(node); if (links.isVisible === undefined) { - links.isVisible = determineIfDeclarationIsVisible(); + links.isVisible = !!determineIfDeclarationIsVisible(); } return links.isVisible; } @@ -1211,7 +1335,7 @@ module ts { return type; function checkImplicitAny(type: Type) { - if (!program.getCompilerOptions().noImplicitAny) { + if (!fullTypeCheck || !program.getCompilerOptions().noImplicitAny) { return; } // We need to have ended up with 'any', 'any[]', 'any[][]', etc. @@ -4033,7 +4157,7 @@ module ts { var typeArgNode = typeArguments[i]; var typeArgument = getTypeFromTypeNode(typeArgNode); var constraint = getConstraintOfTypeParameter(typeParameters[i]); - if (constraint) { + if (constraint && fullTypeCheck) { checkTypeAssignableTo(typeArgument, constraint, typeArgNode, Diagnostics.Type_0_does_not_satisfy_the_constraint_1_Colon, Diagnostics.Type_0_does_not_satisfy_the_constraint_1); } result.push(typeArgument); @@ -4249,7 +4373,7 @@ module ts { function checkTypeAssertion(node: TypeAssertion): Type { var exprType = checkExpression(node.operand); var targetType = getTypeFromTypeNode(node.type); - if (targetType !== unknownType) { + if (fullTypeCheck && targetType !== unknownType) { var widenedType = getWidenedType(exprType); if (!(isTypeAssignableTo(exprType, targetType) || isTypeAssignableTo(targetType, widenedType))) { checkTypeAssignableTo(targetType, widenedType, node, Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other_Colon, Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); @@ -4283,7 +4407,7 @@ module ts { var unwidenedType = checkAndMarkExpression(func.body, contextualMapper); var widenedType = getWidenedType(unwidenedType); - if (program.getCompilerOptions().noImplicitAny && widenedType !== unwidenedType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { + if (fullTypeCheck && program.getCompilerOptions().noImplicitAny && widenedType !== unwidenedType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { error(func, Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeToString(widenedType)); } @@ -4305,7 +4429,7 @@ module ts { var widenedType = getWidenedType(commonType); // Check and report for noImplicitAny if the best common type implicitly gets widened to an 'any'/arrays-of-'any' type. - if (program.getCompilerOptions().noImplicitAny && widenedType !== commonType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { + if (fullTypeCheck && program.getCompilerOptions().noImplicitAny && widenedType !== commonType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { var typeName = typeToString(widenedType); if (func.name) { @@ -4385,6 +4509,10 @@ module ts { // must have at least one return statement somewhere in its body. // An exception to this rule is if the function implementation consists of a single 'throw' statement. function checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(func: FunctionDeclaration, returnType: Type): void { + if (!fullTypeCheck) { + return; + } + // Functions that return 'void' or 'any' don't need any return expressions. if (returnType === voidType || returnType === anyType) { return; @@ -4688,7 +4816,7 @@ module ts { } function checkAssignmentOperator(valueType: Type): void { - if (operator >= SyntaxKind.FirstAssignment && operator <= SyntaxKind.LastAssignment) { + if (fullTypeCheck && operator >= SyntaxKind.FirstAssignment && operator <= SyntaxKind.LastAssignment) { // TypeScript 1.0 spec (April 2014): 4.17 // An assignment of the form // VarExpr = ValueExpr @@ -4802,28 +4930,32 @@ module ts { // DECLARATION AND STATEMENT TYPE CHECKING function checkTypeParameter(node: TypeParameterDeclaration) { - checkTypeNameIsReserved(node.name, Diagnostics.Type_parameter_name_cannot_be_0); checkSourceElement(node.constraint); - checkTypeParameterHasIllegalReferencesInConstraint(node); + if (fullTypeCheck) { + checkTypeParameterHasIllegalReferencesInConstraint(node); + checkTypeNameIsReserved(node.name, Diagnostics.Type_parameter_name_cannot_be_0); + } // TODO: Check multiple declarations are identical } function checkParameter(parameterDeclaration: ParameterDeclaration) { checkVariableDeclaration(parameterDeclaration); - checkCollisionWithIndexVariableInGeneratedCode(parameterDeclaration, parameterDeclaration.name); + if (fullTypeCheck) { + checkCollisionWithIndexVariableInGeneratedCode(parameterDeclaration, parameterDeclaration.name); - if (parameterDeclaration.flags & (NodeFlags.Public | NodeFlags.Private) && !(parameterDeclaration.parent.kind === SyntaxKind.Constructor && (parameterDeclaration.parent).body)) { - error(parameterDeclaration, Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); - } - if (parameterDeclaration.flags & NodeFlags.Rest) { - if (!isArrayType(getTypeOfSymbol(parameterDeclaration.symbol))) { - error(parameterDeclaration, Diagnostics.A_rest_parameter_must_be_of_an_array_type); + if (parameterDeclaration.flags & (NodeFlags.Public | NodeFlags.Private) && !(parameterDeclaration.parent.kind === SyntaxKind.Constructor && (parameterDeclaration.parent).body)) { + error(parameterDeclaration, Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); } - } - else { - if (parameterDeclaration.initializer && !(parameterDeclaration.parent).body) { - error(parameterDeclaration, Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); + if (parameterDeclaration.flags & NodeFlags.Rest) { + if (!isArrayType(getTypeOfSymbol(parameterDeclaration.symbol))) { + error(parameterDeclaration, Diagnostics.A_rest_parameter_must_be_of_an_array_type); + } + } + else { + if (parameterDeclaration.initializer && !(parameterDeclaration.parent).body) { + error(parameterDeclaration, Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); + } } } @@ -4867,18 +4999,19 @@ module ts { if (node.type) { checkSourceElement(node.type); } - - checkCollisionWithCapturedSuperVariable(node, node.name); - checkCollisionWithCapturedThisVariable(node, node.name); - checkCollisionWithArgumentsInGeneratedCode(node); - if (program.getCompilerOptions().noImplicitAny && !node.type) { - switch (node.kind) { - case SyntaxKind.ConstructSignature: - error(node, Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); - break; - case SyntaxKind.CallSignature: - error(node, Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); - break; + if (fullTypeCheck) { + checkCollisionWithCapturedSuperVariable(node, node.name); + checkCollisionWithCapturedThisVariable(node, node.name); + checkCollisionWithArgumentsInGeneratedCode(node); + if (program.getCompilerOptions().noImplicitAny && !node.type) { + switch (node.kind) { + case SyntaxKind.ConstructSignature: + error(node, Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); + break; + case SyntaxKind.CallSignature: + error(node, Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); + break; + } } } @@ -4955,6 +5088,10 @@ module ts { return; } + if (!fullTypeCheck) { + return; + } + function isSuperCallExpression(n: Node): boolean { return n.kind === SyntaxKind.CallExpression && (n).func.kind === SyntaxKind.SuperKeyword; } @@ -5019,29 +5156,31 @@ module ts { } function checkAccessorDeclaration(node: AccessorDeclaration) { - if (node.kind === SyntaxKind.GetAccessor) { - if (!isInAmbientContext(node) && node.body && !(bodyContainsAReturnStatement(node.body) || bodyContainsSingleThrowStatement(node.body))) { - error(node.name, Diagnostics.A_get_accessor_must_return_a_value_or_consist_of_a_single_throw_statement); - } - } - - // TypeScript 1.0 spec (April 2014): 8.4.3 - // Accessors for the same member name must specify the same accessibility. - var otherKind = node.kind === SyntaxKind.GetAccessor ? SyntaxKind.SetAccessor : SyntaxKind.GetAccessor; - var otherAccessor = getDeclarationOfKind(node.symbol, otherKind); - if (otherAccessor) { - var visibilityFlags = NodeFlags.Private | NodeFlags.Public; - if (((node.flags & visibilityFlags) !== (otherAccessor.flags & visibilityFlags))) { - error(node.name, Diagnostics.Getter_and_setter_accessors_do_not_agree_in_visibility); + if (fullTypeCheck) { + if (node.kind === SyntaxKind.GetAccessor) { + if (!isInAmbientContext(node) && node.body && !(bodyContainsAReturnStatement(node.body) || bodyContainsSingleThrowStatement(node.body))) { + error(node.name, Diagnostics.A_get_accessor_must_return_a_value_or_consist_of_a_single_throw_statement); + } } - var thisType = getAnnotatedAccessorType(node); - var otherType = getAnnotatedAccessorType(otherAccessor); - // TypeScript 1.0 spec (April 2014): 4.5 - // If both accessors include type annotations, the specified types must be identical. - if (thisType && otherType) { - if (!isTypeIdenticalTo(thisType, otherType)) { - error(node, Diagnostics.get_and_set_accessor_must_have_the_same_type); + // TypeScript 1.0 spec (April 2014): 8.4.3 + // Accessors for the same member name must specify the same accessibility. + var otherKind = node.kind === SyntaxKind.GetAccessor ? SyntaxKind.SetAccessor : SyntaxKind.GetAccessor; + var otherAccessor = getDeclarationOfKind(node.symbol, otherKind); + if (otherAccessor) { + var visibilityFlags = NodeFlags.Private | NodeFlags.Public; + if (((node.flags & visibilityFlags) !== (otherAccessor.flags & visibilityFlags))) { + error(node.name, Diagnostics.Getter_and_setter_accessors_do_not_agree_in_visibility); + } + + var thisType = getAnnotatedAccessorType(node); + var otherType = getAnnotatedAccessorType(otherAccessor); + // TypeScript 1.0 spec (April 2014): 4.5 + // If both accessors include type annotations, the specified types must be identical. + if (thisType && otherType) { + if (!isTypeIdenticalTo(thisType, otherType)) { + error(node, Diagnostics.get_and_set_accessor_must_have_the_same_type); + } } } } @@ -5058,7 +5197,7 @@ module ts { for (var i = 0; i < len; i++) { checkSourceElement(node.typeArguments[i]); var constraint = getConstraintOfTypeParameter((type).target.typeParameters[i]); - if (constraint) { + if (fullTypeCheck && constraint) { var typeArgument = (type).typeArguments[i]; checkTypeAssignableTo(typeArgument, constraint, node, Diagnostics.Type_0_does_not_satisfy_the_constraint_1_Colon, Diagnostics.Type_0_does_not_satisfy_the_constraint_1); } @@ -5072,9 +5211,11 @@ module ts { function checkTypeLiteral(node: TypeLiteralNode) { forEach(node.members, checkSourceElement); - var type = getTypeFromTypeLiteralNode(node); - checkIndexConstraints(type); - checkTypeForDuplicateIndexSignatures(node); + if (fullTypeCheck) { + var type = getTypeFromTypeLiteralNode(node); + checkIndexConstraints(type); + checkTypeForDuplicateIndexSignatures(node); + } } function checkArrayType(node: ArrayTypeNode) { @@ -5090,6 +5231,9 @@ module ts { } function checkSpecializedSignatureDeclaration(signatureDeclarationNode: SignatureDeclaration): void { + if (!fullTypeCheck) { + return; + } var signature = getSignatureFromDeclaration(signatureDeclarationNode); if (!signature.hasStringLiterals) { return; @@ -5143,7 +5287,10 @@ module ts { return flags & flagsToCheck; } - function checkFunctionOrConstructorSymbol(symbol: Symbol) { + function checkFunctionOrConstructorSymbol(symbol: Symbol): void { + if (!fullTypeCheck) { + return; + } function checkFlagAgreementBetweenOverloads(overloads: Declaration[], implementation: FunctionDeclaration, flagsToCheck: NodeFlags, someOverloadFlags: NodeFlags, allOverloadFlags: NodeFlags): void { // Error if some overloads have a flag that is not shared by all overloads. To find the @@ -5313,7 +5460,11 @@ module ts { } } - function checkExportsOnMergedDeclarations(node: Node) { + function checkExportsOnMergedDeclarations(node: Node): void { + if (!fullTypeCheck) { + return; + } + var symbol: Symbol; // Exports should be checked only if enclosing module contains both exported and non exported declarations. @@ -5383,7 +5534,7 @@ module ts { } } - function checkFunctionDeclaration(node: FunctionDeclaration) { + function checkFunctionDeclaration(node: FunctionDeclaration): void { checkSignatureDeclaration(node); var symbol = getSymbolOfNode(node); @@ -5412,7 +5563,7 @@ module ts { } // If there is no body and no explicit return type, then report an error. - if (program.getCompilerOptions().noImplicitAny && !node.body && !node.type) { + if (fullTypeCheck && program.getCompilerOptions().noImplicitAny && !node.body && !node.type) { // Ignore privates within ambient contexts; they exist purely for documentative purposes to avoid name clashing. // (e.g. privates within .d.ts files do not expose type information) if (!isPrivateWithinAmbient(node)) { @@ -5599,36 +5750,38 @@ module ts { function checkVariableDeclaration(node: VariableDeclaration) { checkSourceElement(node.type); - checkExportsOnMergedDeclarations(node); - var symbol = getSymbolOfNode(node); - - var typeOfValueDeclaration = getTypeOfVariableOrParameterOrProperty(symbol); - var type: Type; - var useTypeFromValueDeclaration = node === symbol.valueDeclaration; - if (useTypeFromValueDeclaration) { - type = typeOfValueDeclaration; - } - else { - type = getTypeOfVariableDeclaration(node); - } + if (fullTypeCheck) { + var symbol = getSymbolOfNode(node); - if (node.initializer) { - if (!(getNodeLinks(node.initializer).flags & NodeCheckFlags.TypeChecked)) { - // Use default messages - checkTypeAssignableTo(checkAndMarkExpression(node.initializer), type, node, /*chainedMessage*/ undefined, /*terminalMessage*/ undefined); + var typeOfValueDeclaration = getTypeOfVariableOrParameterOrProperty(symbol); + var type: Type; + var useTypeFromValueDeclaration = node === symbol.valueDeclaration; + if (useTypeFromValueDeclaration) { + type = typeOfValueDeclaration; + } + else { + type = getTypeOfVariableDeclaration(node); } - } - checkCollisionWithCapturedSuperVariable(node, node.name); - checkCollisionWithCapturedThisVariable(node, node.name); - if (!useTypeFromValueDeclaration) { - // TypeScript 1.0 spec (April 2014): 5.1 - // Multiple declarations for the same variable name in the same declaration space are permitted, - // provided that each declaration associates the same type with the variable. - if (typeOfValueDeclaration !== unknownType && type !== unknownType && !isTypeIdenticalTo(typeOfValueDeclaration, type)) { - error(node.name, Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2, identifierToString(node.name), typeToString(typeOfValueDeclaration), typeToString(type)); + + if (node.initializer) { + if (!(getNodeLinks(node.initializer).flags & NodeCheckFlags.TypeChecked)) { + // Use default messages + checkTypeAssignableTo(checkAndMarkExpression(node.initializer), type, node, /*chainedMessage*/ undefined, /*terminalMessage*/ undefined); + } + } + + checkCollisionWithCapturedSuperVariable(node, node.name); + checkCollisionWithCapturedThisVariable(node, node.name); + if (!useTypeFromValueDeclaration) { + // TypeScript 1.0 spec (April 2014): 5.1 + // Multiple declarations for the same variable name in the same declaration space are permitted, + // provided that each declaration associates the same type with the variable. + if (typeOfValueDeclaration !== unknownType && type !== unknownType && !isTypeIdenticalTo(typeOfValueDeclaration, type)) { + error(node.name, Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2, identifierToString(node.name), typeToString(typeOfValueDeclaration), typeToString(type)); + } } } } @@ -5760,7 +5913,7 @@ module ts { function checkSwitchStatement(node: SwitchStatement) { var expressionType = checkExpression(node.expression); forEach(node.clauses, clause => { - if (clause.expression) { + if (fullTypeCheck && clause.expression) { // TypeScript 1.0 spec (April 2014):5.9 // In a 'switch' statement, each 'case' expression must be of a type that is assignable to or from the type of the 'switch' expression. var caseType = checkExpression(clause.expression); @@ -5875,9 +6028,12 @@ module ts { for (var i = 0; i < typeParameterDeclarations.length; i++) { var node = typeParameterDeclarations[i]; checkTypeParameter(node); - for (var j = 0; j < i; j++) { - if (typeParameterDeclarations[j].symbol === node.symbol) { - error(node.name, Diagnostics.Duplicate_identifier_0, identifierToString(node.name)); + + if (fullTypeCheck) { + for (var j = 0; j < i; j++) { + if (typeParameterDeclarations[j].symbol === node.symbol) { + error(node.name, Diagnostics.Duplicate_identifier_0, identifierToString(node.name)); + } } } } @@ -5897,39 +6053,45 @@ module ts { checkTypeReference(node.baseType); } if (type.baseTypes.length) { - var baseType = type.baseTypes[0]; - checkTypeAssignableTo(type, baseType, node.name, Diagnostics.Class_0_incorrectly_extends_base_class_1_Colon, Diagnostics.Class_0_incorrectly_extends_base_class_1); - var staticBaseType = getTypeOfSymbol(baseType.symbol); - checkTypeAssignableTo(staticType, getTypeWithoutConstructors(staticBaseType), node.name, - Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1_Colon, Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); - if (baseType.symbol !== resolveEntityName(node, node.baseType.typeName, SymbolFlags.Value)) { - error(node.baseType, Diagnostics.Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0, typeToString(baseType)); + if (fullTypeCheck) { + var baseType = type.baseTypes[0]; + checkTypeAssignableTo(type, baseType, node.name, Diagnostics.Class_0_incorrectly_extends_base_class_1_Colon, Diagnostics.Class_0_incorrectly_extends_base_class_1); + var staticBaseType = getTypeOfSymbol(baseType.symbol); + checkTypeAssignableTo(staticType, getTypeWithoutConstructors(staticBaseType), node.name, + Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1_Colon, Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); + if (baseType.symbol !== resolveEntityName(node, node.baseType.typeName, SymbolFlags.Value)) { + error(node.baseType, Diagnostics.Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0, typeToString(baseType)); + } + + checkKindsOfPropertyMemberOverrides(type, baseType); } // Check that base type can be evaluated as expression checkExpression(node.baseType.typeName); - - checkKindsOfPropertyMemberOverrides(type, baseType); } if (node.implementedTypes) { forEach(node.implementedTypes, typeRefNode => { checkTypeReference(typeRefNode); - var t = getTypeFromTypeReferenceNode(typeRefNode); - if (t !== unknownType) { - var declaredType = (t.flags & TypeFlags.Reference) ? (t).target : t; - if (declaredType.flags & (TypeFlags.Class | TypeFlags.Interface)) { - checkTypeAssignableTo(type, t, node.name, Diagnostics.Class_0_incorrectly_implements_interface_1_Colon, Diagnostics.Class_0_incorrectly_implements_interface_1); - } - else { - error(typeRefNode, Diagnostics.A_class_may_only_implement_another_class_or_interface); + if (fullTypeCheck) { + var t = getTypeFromTypeReferenceNode(typeRefNode); + if (t !== unknownType) { + var declaredType = (t.flags & TypeFlags.Reference) ? (t).target : t; + if (declaredType.flags & (TypeFlags.Class | TypeFlags.Interface)) { + checkTypeAssignableTo(type, t, node.name, Diagnostics.Class_0_incorrectly_implements_interface_1_Colon, Diagnostics.Class_0_incorrectly_implements_interface_1); + } + else { + error(typeRefNode, Diagnostics.A_class_may_only_implement_another_class_or_interface); + } } } }); } - checkIndexConstraints(type); - forEach(node.members, checkSourceElement); - checkTypeForDuplicateIndexSignatures(node); + forEach(node.members, checkSourceElement); + if (fullTypeCheck) { + checkIndexConstraints(type); + checkTypeForDuplicateIndexSignatures(node); + } } function getTargetSymbol(s: Symbol) { @@ -6041,32 +6203,37 @@ module ts { } function checkInterfaceDeclaration(node: InterfaceDeclaration) { - checkTypeNameIsReserved(node.name, Diagnostics.Interface_name_cannot_be_0); checkTypeParameters(node.typeParameters); - checkExportsOnMergedDeclarations(node); - var symbol = getSymbolOfNode(node); - var firstInterfaceDecl = getDeclarationOfKind(symbol, SyntaxKind.InterfaceDeclaration); - if (symbol.declarations.length > 1) { - if (node !== firstInterfaceDecl && !areTypeParametersIdentical(firstInterfaceDecl.typeParameters, node.typeParameters)) { - error(node.name, Diagnostics.All_declarations_of_an_interface_must_have_identical_type_parameters); - } - } + if (fullTypeCheck) { + checkTypeNameIsReserved(node.name, Diagnostics.Interface_name_cannot_be_0); - // Only check this symbol once - if (node === firstInterfaceDecl) { - var type = getDeclaredTypeOfSymbol(symbol); - // run subsequent checks only if first set succeeded - if (checkInheritedPropertiesAreIdentical(type, node.name)) { - forEach(type.baseTypes, baseType => { - checkTypeAssignableTo(type, baseType, node.name, Diagnostics.Interface_0_incorrectly_extends_interface_1_Colon, Diagnostics.Interface_0_incorrectly_extends_interface_1); - }); - checkIndexConstraints(type); + checkExportsOnMergedDeclarations(node); + var symbol = getSymbolOfNode(node); + var firstInterfaceDecl = getDeclarationOfKind(symbol, SyntaxKind.InterfaceDeclaration); + if (symbol.declarations.length > 1) { + if (node !== firstInterfaceDecl && !areTypeParametersIdentical(firstInterfaceDecl.typeParameters, node.typeParameters)) { + error(node.name, Diagnostics.All_declarations_of_an_interface_must_have_identical_type_parameters); + } + } + + // Only check this symbol once + if (node === firstInterfaceDecl) { + var type = getDeclaredTypeOfSymbol(symbol); + // run subsequent checks only if first set succeeded + if (checkInheritedPropertiesAreIdentical(type, node.name)) { + forEach(type.baseTypes, baseType => { + checkTypeAssignableTo(type, baseType, node.name, Diagnostics.Interface_0_incorrectly_extends_interface_1_Colon, Diagnostics.Interface_0_incorrectly_extends_interface_1); + }); + checkIndexConstraints(type); + } } } forEach(node.baseTypes, checkTypeReference); forEach(node.members, checkSourceElement); - checkTypeForDuplicateIndexSignatures(node); + if (fullTypeCheck) { + checkTypeForDuplicateIndexSignatures(node); + } } function getConstantValue(node: Expression): number { @@ -6087,6 +6254,9 @@ module ts { } function checkEnumDeclaration(node: EnumDeclaration) { + if (!fullTypeCheck) { + return; + } checkTypeNameIsReserved(node.name, Diagnostics.Enum_name_cannot_be_0); checkCollisionWithCapturedThisVariable(node, node.name); checkExportsOnMergedDeclarations(node); @@ -6160,26 +6330,28 @@ module ts { } function checkModuleDeclaration(node: ModuleDeclaration) { - checkCollisionWithCapturedThisVariable(node, node.name); - checkExportsOnMergedDeclarations(node); - var symbol = getSymbolOfNode(node); - if (symbol.flags & SymbolFlags.ValueModule && symbol.declarations.length > 1 && !isInAmbientContext(node)) { - var classOrFunc = getFirstNonAmbientClassOrFunctionDeclaration(symbol); - if (classOrFunc) { - if (getSourceFileOfNode(node) !== getSourceFileOfNode(classOrFunc)) { - error(node.name, Diagnostics.A_module_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged); - } - else if (node.pos < classOrFunc.pos) { - error(node.name, Diagnostics.A_module_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged); + if (fullTypeCheck) { + checkCollisionWithCapturedThisVariable(node, node.name); + checkExportsOnMergedDeclarations(node); + var symbol = getSymbolOfNode(node); + if (symbol.flags & SymbolFlags.ValueModule && symbol.declarations.length > 1 && !isInAmbientContext(node)) { + var classOrFunc = getFirstNonAmbientClassOrFunctionDeclaration(symbol); + if (classOrFunc) { + if (getSourceFileOfNode(node) !== getSourceFileOfNode(classOrFunc)) { + error(node.name, Diagnostics.A_module_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged); + } + else if (node.pos < classOrFunc.pos) { + error(node.name, Diagnostics.A_module_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged); + } } } - } - if (node.name.kind === SyntaxKind.StringLiteral) { - if (!isGlobalSourceFile(node.parent)) { - error(node.name, Diagnostics.Ambient_external_modules_cannot_be_nested_in_other_modules); - } - if (isExternalModuleNameRelative(node.name.text)) { - error(node.name, Diagnostics.Ambient_external_module_declaration_cannot_specify_relative_module_name); + if (node.name.kind === SyntaxKind.StringLiteral) { + if (!isGlobalSourceFile(node.parent)) { + error(node.name, Diagnostics.Ambient_external_modules_cannot_be_nested_in_other_modules); + } + if (isExternalModuleNameRelative(node.name.text)) { + error(node.name, Diagnostics.Ambient_external_module_declaration_cannot_specify_relative_module_name); + } } } checkSourceElement(node.body); @@ -6342,12 +6514,10 @@ module ts { } } - // Fully type check a source file and collect the relevant diagnostics. The fullTypeCheck flag is true during this - // operation, but otherwise is false when the compiler is used by the language service. + // Fully type check a source file and collect the relevant diagnostics. function checkSourceFile(node: SourceFile) { var links = getNodeLinks(node); if (!(links.flags & NodeCheckFlags.TypeChecked)) { - fullTypeCheck = true; emitExtends = false; potentialThisCollisions.length = 0; forEach(node.statements, checkSourceElement); @@ -6364,7 +6534,6 @@ module ts { } if (emitExtends) links.flags |= NodeCheckFlags.EmitExtends; links.flags |= NodeCheckFlags.TypeChecked; - fullTypeCheck = false; } } @@ -6372,7 +6541,9 @@ module ts { forEach(program.getSourceFiles(), checkSourceFile); } - function getSortedDiagnostics(): Diagnostic[] { + function getSortedDiagnostics(): Diagnostic[]{ + Debug.assert(fullTypeCheck, "diagnostics are available only in the full typecheck mode"); + if (diagnosticsModified) { diagnostics.sort(compareDiagnostics); diagnostics = deduplicateSortedDiagnostics(diagnostics); @@ -6381,7 +6552,8 @@ module ts { return diagnostics; } - function getDiagnostics(sourceFile?: SourceFile): Diagnostic[] { + function getDiagnostics(sourceFile?: SourceFile): Diagnostic[]{ + if (sourceFile) { checkSourceFile(sourceFile); return filter(getSortedDiagnostics(), d => d.file === sourceFile); @@ -6854,7 +7026,8 @@ module ts { writeTypeAtLocation: writeTypeAtLocation, writeReturnTypeOfSignatureDeclaration: writeReturnTypeOfSignatureDeclaration, writeSymbol: writeSymbolToTextWriter, - isSymbolAccessible: isSymbolAccessible + isSymbolAccessible: isSymbolAccessible, + isImportDeclarationEntityNameReferenceDeclarationVisibile: isImportDeclarationEntityNameReferenceDeclarationVisibile }; checkProgram(); return emitFiles(resolver); diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index da08aec616f..0e48953eaa7 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -89,7 +89,7 @@ module ts { description: Diagnostics.Do_not_emit_comments_to_output, }, { - name: "sourcemap", + name: "sourceMap", type: "boolean", description: Diagnostics.Generates_corresponding_map_file, }, diff --git a/src/compiler/diagnosticInformationMap.generated.ts b/src/compiler/diagnosticInformationMap.generated.ts index 0f13f5e6838..cc98becda33 100644 --- a/src/compiler/diagnosticInformationMap.generated.ts +++ b/src/compiler/diagnosticInformationMap.generated.ts @@ -114,6 +114,51 @@ module ts { Extends_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2: { code: 2021, category: DiagnosticCategory.Error, key: "Extends clause of exported class '{0}' has or is using name '{1}' from private module '{2}'." }, Implements_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2: { code: 2022, category: DiagnosticCategory.Error, key: "Implements clause of exported class '{0}' has or is using name '{1}' from private module '{2}'." }, Extends_clause_of_exported_interface_0_has_or_is_using_name_1_from_private_module_2: { code: 2023, category: DiagnosticCategory.Error, key: "Extends clause of exported interface '{0}' has or is using name '{1}' from private module '{2}'." }, + Public_static_property_0_of_exported_class_has_or_is_using_private_name_1: { code: 2024, category: DiagnosticCategory.Error, key: "Public static property '{0}' of exported class has or is using private name '{1}'." }, + Public_property_0_of_exported_class_has_or_is_using_private_name_1: { code: 2025, category: DiagnosticCategory.Error, key: "Public property '{0}' of exported class has or is using private name '{1}'." }, + Property_0_of_exported_interface_has_or_is_using_private_name_1: { code: 2026, category: DiagnosticCategory.Error, key: "Property '{0}' of exported interface has or is using private name '{1}'." }, + Exported_variable_0_has_or_is_using_private_name_1: { code: 2027, category: DiagnosticCategory.Error, key: "Exported variable '{0}' has or is using private name '{1}'." }, + Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2028, category: DiagnosticCategory.Error, key: "Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'." }, + Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2029, category: DiagnosticCategory.Error, key: "Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'." }, + Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2030, category: DiagnosticCategory.Error, key: "Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'." }, + Exported_variable_0_has_or_is_using_name_1_from_private_module_2: { code: 2031, category: DiagnosticCategory.Error, key: "Exported variable '{0}' has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1: { code: 2032, category: DiagnosticCategory.Error, key: "Parameter '{0}' of constructor from exported class has or is using private name '{1}'." }, + Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1: { code: 2033, category: DiagnosticCategory.Error, key: "Parameter '{0}' of public static property setter from exported class has or is using private name '{1}'." }, + Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1: { code: 2034, category: DiagnosticCategory.Error, key: "Parameter '{0}' of public property setter from exported class has or is using private name '{1}'." }, + Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 2035, category: DiagnosticCategory.Error, key: "Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'." }, + Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 2036, category: DiagnosticCategory.Error, key: "Parameter '{0}' of call signature from exported interface has or is using private name '{1}'." }, + Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: { code: 2037, category: DiagnosticCategory.Error, key: "Parameter '{0}' of public static method from exported class has or is using private name '{1}'." }, + Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1: { code: 2038, category: DiagnosticCategory.Error, key: "Parameter '{0}' of public method from exported class has or is using private name '{1}'." }, + Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1: { code: 2039, category: DiagnosticCategory.Error, key: "Parameter '{0}' of method from exported interface has or is using private name '{1}'." }, + Parameter_0_of_exported_function_has_or_is_using_private_name_1: { code: 2040, category: DiagnosticCategory.Error, key: "Parameter '{0}' of exported function has or is using private name '{1}'." }, + Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2041, category: DiagnosticCategory.Error, key: "Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2042, category: DiagnosticCategory.Error, key: "Parameter '{0}' of public static property setter from exported class has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2043, category: DiagnosticCategory.Error, key: "Parameter '{0}' of public property setter from exported class has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2044, category: DiagnosticCategory.Error, key: "Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2045, category: DiagnosticCategory.Error, key: "Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2046, category: DiagnosticCategory.Error, key: "Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 2047, category: DiagnosticCategory.Error, key: "Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 2048, category: DiagnosticCategory.Error, key: "Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2: { code: 2049, category: DiagnosticCategory.Error, key: "Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'." }, + Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0: { code: 2050, category: DiagnosticCategory.Error, key: "Return type of public static property getter from exported class has or is using private name '{0}'." }, + Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0: { code: 2051, category: DiagnosticCategory.Error, key: "Return type of public property getter from exported class has or is using private name '{0}'." }, + Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0: { code: 2052, category: DiagnosticCategory.Error, key: "Return type of constructor signature from exported interface has or is using private name '{0}'." }, + Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0: { code: 2053, category: DiagnosticCategory.Error, key: "Return type of call signature from exported interface has or is using private name '{0}'." }, + Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0: { code: 2054, category: DiagnosticCategory.Error, key: "Return type of index signature from exported interface has or is using private name '{0}'." }, + Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0: { code: 2055, category: DiagnosticCategory.Error, key: "Return type of public static method from exported class has or is using private name '{0}'." }, + Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0: { code: 2056, category: DiagnosticCategory.Error, key: "Return type of public method from exported class has or is using private name '{0}'." }, + Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0: { code: 2057, category: DiagnosticCategory.Error, key: "Return type of method from exported interface has or is using private name '{0}'." }, + Return_type_of_exported_function_has_or_is_using_private_name_0: { code: 2058, category: DiagnosticCategory.Error, key: "Return type of exported function has or is using private name '{0}'." }, + Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 2059, category: DiagnosticCategory.Error, key: "Return type of public static property getter from exported class has or is using name '{0}' from private module '{1}'." }, + Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 2060, category: DiagnosticCategory.Error, key: "Return type of public property getter from exported class has or is using name '{0}' from private module '{1}'." }, + Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 2061, category: DiagnosticCategory.Error, key: "Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'." }, + Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 2062, category: DiagnosticCategory.Error, key: "Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'." }, + Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 2063, category: DiagnosticCategory.Error, key: "Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'." }, + Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 2064, category: DiagnosticCategory.Error, key: "Return type of public static method from exported class has or is using name '{0}' from private module '{1}'." }, + Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 2065, category: DiagnosticCategory.Error, key: "Return type of public method from exported class has or is using name '{0}' from private module '{1}'." }, + Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 2066, category: DiagnosticCategory.Error, key: "Return type of method from exported interface has or is using name '{0}' from private module '{1}'." }, + Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1: { code: 2067, category: DiagnosticCategory.Error, key: "Return type of exported function has or is using name '{0}' from private module '{1}'." }, + Import_declaration_0_is_using_private_name_1: { code: 2181, category: DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." }, Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 2208, category: DiagnosticCategory.Error, key: "Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'." }, Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 2209, category: DiagnosticCategory.Error, key: "Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'." }, Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: { code: 2210, category: DiagnosticCategory.Error, key: "Type parameter '{0}' of public static method from exported class has or is using private name '{1}'." }, @@ -188,6 +233,18 @@ module ts { A_parameter_property_is_only_allowed_in_a_constructor_implementation: { code: 2246, category: DiagnosticCategory.Error, key: "A parameter property is only allowed in a constructor implementation." }, Function_overload_must_be_static: { code: 2247, category: DiagnosticCategory.Error, key: "Function overload must be static." }, Function_overload_must_not_be_static: { code: 2248, category: DiagnosticCategory.Error, key: "Function overload must not be static." }, + Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 2249, category: DiagnosticCategory.Error, key: "Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named." }, + Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 2250, category: DiagnosticCategory.Error, key: "Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named." }, + Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 2251, category: DiagnosticCategory.Error, key: "Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named." }, + Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 2252, category: DiagnosticCategory.Error, key: "Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named." }, + Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 2253, category: DiagnosticCategory.Error, key: "Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named." }, + Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 2254, category: DiagnosticCategory.Error, key: "Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named." }, + Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 2255, category: DiagnosticCategory.Error, key: "Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named." }, + Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 2256, category: DiagnosticCategory.Error, key: "Return type of public static property getter from exported class has or is using name '{0}' from external module {1} but cannot be named." }, + Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 2257, category: DiagnosticCategory.Error, key: "Return type of public property getter from exported class has or is using name '{0}' from external module {1} but cannot be named." }, + Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 2258, category: DiagnosticCategory.Error, key: "Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named." }, + Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 2259, category: DiagnosticCategory.Error, key: "Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named." }, + Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 2260, category: DiagnosticCategory.Error, key: "Return type of exported function has or is using name '{0}' from external module {1} but cannot be named." }, Circular_definition_of_import_alias_0: { code: 3000, category: DiagnosticCategory.Error, key: "Circular definition of import alias '{0}'." }, Cannot_find_name_0: { code: 3001, category: DiagnosticCategory.Error, key: "Cannot find name '{0}'." }, Module_0_has_no_exported_member_1: { code: 3002, category: DiagnosticCategory.Error, key: "Module '{0}' has no exported member '{1}'." }, diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index b913f76f58c..9e4bf8c09e3 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -448,6 +448,186 @@ "category": "Error", "code": 2023 }, + "Public static property '{0}' of exported class has or is using private name '{1}'.": { + "category": "Error", + "code": 2024 + }, + "Public property '{0}' of exported class has or is using private name '{1}'.": { + "category": "Error", + "code": 2025 + }, + "Property '{0}' of exported interface has or is using private name '{1}'.": { + "category": "Error", + "code": 2026 + }, + "Exported variable '{0}' has or is using private name '{1}'.": { + "category": "Error", + "code": 2027 + }, + "Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2028 + }, + "Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2029 + }, + "Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2030 + }, + "Exported variable '{0}' has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2031 + }, + "Parameter '{0}' of constructor from exported class has or is using private name '{1}'.": { + "category": "Error", + "code": 2032 + }, + "Parameter '{0}' of public static property setter from exported class has or is using private name '{1}'.": { + "category": "Error", + "code": 2033 + }, + "Parameter '{0}' of public property setter from exported class has or is using private name '{1}'.": { + "category": "Error", + "code": 2034 + }, + "Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'.": { + "category": "Error", + "code": 2035 + }, + "Parameter '{0}' of call signature from exported interface has or is using private name '{1}'.": { + "category": "Error", + "code": 2036 + }, + "Parameter '{0}' of public static method from exported class has or is using private name '{1}'.": { + "category": "Error", + "code": 2037 + }, + "Parameter '{0}' of public method from exported class has or is using private name '{1}'.": { + "category": "Error", + "code": 2038 + }, + "Parameter '{0}' of method from exported interface has or is using private name '{1}'.": { + "category": "Error", + "code": 2039 + }, + "Parameter '{0}' of exported function has or is using private name '{1}'.": { + "category": "Error", + "code": 2040 + }, + "Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2041 + }, + "Parameter '{0}' of public static property setter from exported class has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2042 + }, + "Parameter '{0}' of public property setter from exported class has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2043 + }, + "Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2044 + }, + "Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2045 + }, + "Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2046 + }, + "Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2047 + }, + "Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2048 + }, + "Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'.": { + "category": "Error", + "code": 2049 + }, + "Return type of public static property getter from exported class has or is using private name '{0}'.": { + "category": "Error", + "code": 2050 + }, + "Return type of public property getter from exported class has or is using private name '{0}'.": { + "category": "Error", + "code": 2051 + }, + "Return type of constructor signature from exported interface has or is using private name '{0}'.": { + "category": "Error", + "code": 2052 + }, + "Return type of call signature from exported interface has or is using private name '{0}'.": { + "category": "Error", + "code": 2053 + }, + "Return type of index signature from exported interface has or is using private name '{0}'.": { + "category": "Error", + "code": 2054 + }, + "Return type of public static method from exported class has or is using private name '{0}'.": { + "category": "Error", + "code": 2055 + }, + "Return type of public method from exported class has or is using private name '{0}'.": { + "category": "Error", + "code": 2056 + }, + "Return type of method from exported interface has or is using private name '{0}'.": { + "category": "Error", + "code": 2057 + }, + "Return type of exported function has or is using private name '{0}'.": { + "category": "Error", + "code": 2058 + }, + "Return type of public static property getter from exported class has or is using name '{0}' from private module '{1}'.": { + "category": "Error", + "code": 2059 + }, + "Return type of public property getter from exported class has or is using name '{0}' from private module '{1}'.": { + "category": "Error", + "code": 2060 + }, + "Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'.": { + "category": "Error", + "code": 2061 + }, + "Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'.": { + "category": "Error", + "code": 2062 + }, + "Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'.": { + "category": "Error", + "code": 2063 + }, + "Return type of public static method from exported class has or is using name '{0}' from private module '{1}'.": { + "category": "Error", + "code": 2064 + }, + "Return type of public method from exported class has or is using name '{0}' from private module '{1}'.": { + "category": "Error", + "code": 2065 + }, + "Return type of method from exported interface has or is using name '{0}' from private module '{1}'.": { + "category": "Error", + "code": 2066 + }, + "Return type of exported function has or is using name '{0}' from private module '{1}'.": { + "category": "Error", + "code": 2067 + }, + "Import declaration '{0}' is using private name '{1}'.": { + "category": "Error", + "code": 2181 + }, "Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'.": { "category": "Error", "code": 2208 @@ -744,6 +924,54 @@ "category": "Error", "code": 2248 }, + "Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.": { + "category": "Error", + "code": 2249 + }, + "Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named.": { + "category": "Error", + "code": 2250 + }, + "Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named.": { + "category": "Error", + "code": 2251 + }, + "Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named.": { + "category": "Error", + "code": 2252 + }, + "Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named.": { + "category": "Error", + "code": 2253 + }, + "Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named.": { + "category": "Error", + "code": 2254 + }, + "Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named.": { + "category": "Error", + "code": 2255 + }, + "Return type of public static property getter from exported class has or is using name '{0}' from external module {1} but cannot be named.": { + "category": "Error", + "code": 2256 + }, + "Return type of public property getter from exported class has or is using name '{0}' from external module {1} but cannot be named.": { + "category": "Error", + "code": 2257 + }, + "Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named.": { + "category": "Error", + "code": 2258 + }, + "Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named.": { + "category": "Error", + "code": 2259 + }, + "Return type of exported function has or is using name '{0}' from external module {1} but cannot be named.": { + "category": "Error", + "code": 2260 + }, "Circular definition of import alias '{0}'.": { "category": "Error", "code": 3000 diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 8c62617f7f6..7e11b978c67 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -9,6 +9,7 @@ module ts { getTextPos(): number; getLine(): number; getColumn(): number; + getIndent(): number; } var indentStrings: string[] = []; @@ -141,6 +142,7 @@ module ts { writeLine: writeLine, increaseIndent: () => indent++, decreaseIndent: () => indent--, + getIndent: () => indent, getTextPos: () => output.length, getLine: () => lineCount + 1, getColumn: () => lineStart ? indent * 4 + 1 : output.length - linePos + 1, @@ -1867,27 +1869,63 @@ module ts { var enclosingDeclaration: Node; var reportedDeclarationError = false; + var aliasDeclarationEmitInfo: { + declaration: ImportDeclaration; + outputPos: number; + indent: number; + asynchronousOutput?: string; // If the output for alias was written asynchronously, the corresponding output + }[] = []; + var getSymbolVisibilityDiagnosticMessage: (symbolAccesibilityResult: SymbolAccessiblityResult) => { errorNode: Node; diagnosticMessage: DiagnosticMessage; - typeName: Identifier + typeName?: Identifier + } + + function writeAsychronousImportDeclarations(importDeclarations: ImportDeclaration[]) { + var oldWriter = writer; + forEach(importDeclarations, aliasToWrite => { + var aliasEmitInfo = forEach(aliasDeclarationEmitInfo, declEmitInfo => declEmitInfo.declaration === aliasToWrite ? declEmitInfo : undefined); + writer = createTextWriter(writeSymbol); + for (var declarationIndent = aliasEmitInfo.indent; declarationIndent; declarationIndent--) { + writer.increaseIndent(); + } + + writeImportDeclaration(aliasToWrite); + aliasEmitInfo.asynchronousOutput = writer.getText(); + }); + writer = oldWriter; } function writeSymbol(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags) { var symbolAccesibilityResult = resolver.isSymbolAccessible(symbol, enclosingDeclaration, meaning); - // TODO(shkamat): Since we dont have error reporting for all the cases as yet we have this check on handler being present - if (!getSymbolVisibilityDiagnosticMessage || symbolAccesibilityResult.accessibility === SymbolAccessibility.Accessible) { + if (symbolAccesibilityResult.accessibility === SymbolAccessibility.Accessible) { resolver.writeSymbol(symbol, enclosingDeclaration, meaning, writer); + + // write the aliases + if (symbolAccesibilityResult && symbolAccesibilityResult.aliasesToMakeVisible) { + writeAsychronousImportDeclarations(symbolAccesibilityResult.aliasesToMakeVisible); + } } else { // Report error reportedDeclarationError = true; var errorInfo = getSymbolVisibilityDiagnosticMessage(symbolAccesibilityResult); - diagnostics.push(createDiagnosticForNode(errorInfo.errorNode, - errorInfo.diagnosticMessage, - getSourceTextOfLocalNode(errorInfo.typeName), - symbolAccesibilityResult.errorSymbolName, - symbolAccesibilityResult.errorModuleName)); + if (errorInfo) { + if (errorInfo.typeName) { + diagnostics.push(createDiagnosticForNode(errorInfo.errorNode, + errorInfo.diagnosticMessage, + getSourceTextOfLocalNode(errorInfo.typeName), + symbolAccesibilityResult.errorSymbolName, + symbolAccesibilityResult.errorModuleName)); + } + else { + diagnostics.push(createDiagnosticForNode(errorInfo.errorNode, + errorInfo.diagnosticMessage, + symbolAccesibilityResult.errorSymbolName, + symbolAccesibilityResult.errorModuleName)); + } + } } } @@ -1951,23 +1989,55 @@ module ts { } function emitImportDeclaration(node: ImportDeclaration) { - if (resolver.isDeclarationVisible(node)) { - if (node.flags & NodeFlags.Export) { - write("export "); - } - write("import "); - emitSourceTextOfNode(node.name); - write(" = "); - if (node.entityName) { - emitSourceTextOfNode(node.entityName); - write(";"); + var nodeEmitInfo = { + declaration: node, + outputPos: writer.getTextPos(), + indent: writer.getIndent(), + hasWritten: resolver.isDeclarationVisible(node) + }; + aliasDeclarationEmitInfo.push(nodeEmitInfo); + if (nodeEmitInfo.hasWritten) { + writeImportDeclaration(node); + } + } + + function writeImportDeclaration(node: ImportDeclaration) { + // note usage of writer. methods instead of aliases created, just to make sure we are using + // correct writer especially to handle asynchronous alias writing + if (node.flags & NodeFlags.Export) { + writer.write("export "); + } + writer.write("import "); + writer.write(getSourceTextOfLocalNode(node.name)); + writer.write(" = "); + if (node.entityName) { + checkEntityNameAccessible(); + writer.write(getSourceTextOfLocalNode(node.entityName)); + writer.write(";"); + } + else { + writer.write("require("); + writer.write(getSourceTextOfLocalNode(node.externalModuleName)); + writer.write(");"); + } + writer.writeLine(); + + function checkEntityNameAccessible() { + var symbolAccesibilityResult = resolver.isImportDeclarationEntityNameReferenceDeclarationVisibile(node.entityName); + if (symbolAccesibilityResult.accessibility === SymbolAccessibility.Accessible) { + // write the aliases + if (symbolAccesibilityResult.aliasesToMakeVisible) { + writeAsychronousImportDeclarations(symbolAccesibilityResult.aliasesToMakeVisible); + } } else { - write("require("); - emitSourceTextOfNode(node.externalModuleName); - write(");"); + // Report error + reportedDeclarationError = true; + diagnostics.push(createDiagnosticForNode(node, + Diagnostics.Import_declaration_0_is_using_private_name_1, + getSourceTextOfLocalNode(node.name), + symbolAccesibilityResult.errorSymbolName)); } - writeLine(); } } @@ -2023,7 +2093,7 @@ module ts { function emitTypeParameters(typeParameters: TypeParameterDeclaration[]) { function emitTypeParameter(node: TypeParameterDeclaration) { function getTypeParameterConstraintVisibilityError(symbolAccesibilityResult: SymbolAccessiblityResult) { - // TODO(shkamat) Cannot access name errors + // Type parameter constraints are named by user so we should always be able to name it var diagnosticMessage: DiagnosticMessage; switch (node.parent.kind) { case SyntaxKind.ClassDeclaration: @@ -2082,7 +2152,7 @@ module ts { diagnosticMessage: diagnosticMessage, errorNode: node, typeName: node.name - } + }; } emitSourceTextOfNode(node.name); @@ -2090,9 +2160,7 @@ module ts { if (node.constraint && (node.parent.kind !== SyntaxKind.Method || !(node.parent.flags & NodeFlags.Private))) { write(" extends "); getSymbolVisibilityDiagnosticMessage = getTypeParameterConstraintVisibilityError; - resolver.writeTypeAtLocation(node.constraint, enclosingDeclaration, TypeFormatFlags.None, writer); - // TODO(shkamat) This is just till we get rest of the error reporting up - getSymbolVisibilityDiagnosticMessage = undefined; + resolver.writeTypeAtLocation(node.constraint, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); } } @@ -2111,48 +2179,34 @@ module ts { function emitTypeOfTypeReference(node: Node) { getSymbolVisibilityDiagnosticMessage = getHeritageClauseVisibilityError; - resolver.writeTypeAtLocation(node, enclosingDeclaration, TypeFormatFlags.WriteArrayAsGenericType, writer); - // TODO(shkamat) This is just till we get rest of the error reporting up - getSymbolVisibilityDiagnosticMessage = undefined; + resolver.writeTypeAtLocation(node, enclosingDeclaration, TypeFormatFlags.WriteArrayAsGenericType | TypeFormatFlags.UseTypeOfFunction, writer); function getHeritageClauseVisibilityError(symbolAccesibilityResult: SymbolAccessiblityResult) { var diagnosticMessage: DiagnosticMessage; + // Heritage clause is written by user so it can always be named if (node.parent.kind === SyntaxKind.ClassDeclaration) { // Class - if (symbolAccesibilityResult.accessibility == SymbolAccessibility.NotAccessible) { - if (symbolAccesibilityResult.errorModuleName) { - // Module is inaccessible - diagnosticMessage = isImplementsList ? - Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2 : - Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2; - } - else { - // Class or Interface implemented/extended is inaccessible - diagnosticMessage = isImplementsList ? - Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : - Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_private_name_1; - } + if (symbolAccesibilityResult.errorModuleName) { + // Module is inaccessible + diagnosticMessage = isImplementsList ? + Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_name_1_from_private_module_2; } else { - // CannotBeNamed - // TODO(shkamat): CannotBeNamed error needs to be handled + // Class or Interface implemented/extended is inaccessible + diagnosticMessage = isImplementsList ? + Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : + Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_private_name_1; } } else { - // Interface - if (symbolAccesibilityResult.accessibility == SymbolAccessibility.NotAccessible) { - if (symbolAccesibilityResult.errorModuleName) { - // Module is inaccessible - diagnosticMessage = Diagnostics.Extends_clause_of_exported_interface_0_has_or_is_using_name_1_from_private_module_2; - } - else { - // interface is inaccessible - diagnosticMessage = Diagnostics.Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1; - } + if (symbolAccesibilityResult.errorModuleName) { + // Module is inaccessible + diagnosticMessage = Diagnostics.Extends_clause_of_exported_interface_0_has_or_is_using_name_1_from_private_module_2; } else { - // CannotBeNamed - // TODO(shkamat): CannotBeNamed error needs to be handled + // interface is inaccessible + diagnosticMessage = Diagnostics.Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1; } } @@ -2160,7 +2214,7 @@ module ts { diagnosticMessage: diagnosticMessage, errorNode: node, typeName: (node.parent).name - } + }; } } } @@ -2237,9 +2291,50 @@ module ts { } if (!(node.flags & NodeFlags.Private)) { write(": "); - resolver.writeTypeAtLocation(node, enclosingDeclaration, TypeFormatFlags.None, writer); + getSymbolVisibilityDiagnosticMessage = getVariableDeclarationTypeVisibilityError; + resolver.writeTypeAtLocation(node, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); } } + + function getVariableDeclarationTypeVisibilityError(symbolAccesibilityResult: SymbolAccessiblityResult) { + var diagnosticMessage: DiagnosticMessage; + if (node.kind === SyntaxKind.VariableDeclaration) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : + Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Exported_variable_0_has_or_is_using_private_name_1; + } + // This check is to ensure we dont report error on constructor parameter property as that error would be reported during parameter emit + else if (node.kind === SyntaxKind.Property) { + if (node.flags & NodeFlags.Static) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : + Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; + } + else if (node.parent.kind === SyntaxKind.ClassDeclaration) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : + Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1; + } + else { + // Interfaces cannot have types that cannot be named + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1; + } + } + + return diagnosticMessage !== undefined ? { + diagnosticMessage: diagnosticMessage, + errorNode: node, + typeName: node.name + } : undefined; + } } function emitVariableStatement(node: VariableStatement) { @@ -2260,11 +2355,55 @@ module ts { emitSourceTextOfNode(node.name); if (!(node.flags & NodeFlags.Private)) { write(": "); - resolver.writeTypeAtLocation(node, enclosingDeclaration, TypeFormatFlags.None, writer); + getSymbolVisibilityDiagnosticMessage = getAccessorDeclarationTypeVisibilityError; + resolver.writeTypeAtLocation(node, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); } write(";"); writeLine(); } + + function getAccessorDeclarationTypeVisibilityError(symbolAccesibilityResult: SymbolAccessiblityResult) { + var diagnosticMessage: DiagnosticMessage; + if (node.kind === SyntaxKind.SetAccessor) { + // Setters have to have type named and cannot infer it so, the type should always be named + if (node.parent.flags & NodeFlags.Static) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1; + } + else { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1; + } + return { + diagnosticMessage: diagnosticMessage, + errorNode: node.parameters[0], + typeName: node.name + }; + } + else { + if (node.flags & NodeFlags.Static) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : + Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1 : + Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0; + } + else { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : + Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1 : + Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0; + } + return { + diagnosticMessage: diagnosticMessage, + errorNode: node.name, + typeName: undefined + }; + } + } } function emitFunctionDeclaration(node: FunctionDeclaration) { @@ -2317,10 +2456,76 @@ module ts { // If this is not a constructor and is not private, emit the return type if (node.kind !== SyntaxKind.Constructor && !(node.flags & NodeFlags.Private)) { write(": "); - resolver.writeReturnTypeOfSignatureDeclaration(node, enclosingDeclaration, TypeFormatFlags.None, writer); + getSymbolVisibilityDiagnosticMessage = getReturnTypeVisibilityError; + resolver.writeReturnTypeOfSignatureDeclaration(node, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); } write(";"); writeLine(); + + function getReturnTypeVisibilityError(symbolAccesibilityResult: SymbolAccessiblityResult) { + var diagnosticMessage: DiagnosticMessage; + switch (node.kind) { + case SyntaxKind.ConstructSignature: + // Interfaces cannot have return types that cannot be named + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : + Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0; + break; + + case SyntaxKind.CallSignature: + // Interfaces cannot have return types that cannot be named + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : + Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0; + break; + + case SyntaxKind.IndexSignature: + // Interfaces cannot have return types that cannot be named + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : + Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0; + break; + + case SyntaxKind.Method: + if (node.flags & NodeFlags.Static) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : + Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : + Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0; + } + else if (node.parent.kind === SyntaxKind.ClassDeclaration) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : + Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : + Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0; + } + else { + // Interfaces cannot have return types that cannot be named + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : + Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0; + } + break; + + case SyntaxKind.FunctionDeclaration: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : + Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1 : + Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0; + break; + + default: + Debug.fail("This is unknown kind for signature: " + SyntaxKind[node.kind]); + } + + return { + diagnosticMessage: diagnosticMessage, + errorNode: node.name || node, + }; + } } function emitParameterDeclaration(node: ParameterDeclaration) { @@ -2334,7 +2539,75 @@ module ts { if (!(node.parent.flags & NodeFlags.Private)) { write(": "); - resolver.writeTypeAtLocation(node, enclosingDeclaration, TypeFormatFlags.None, writer); + getSymbolVisibilityDiagnosticMessage = getParameterDeclarationTypeVisibilityError; + resolver.writeTypeAtLocation(node, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); + } + + function getParameterDeclarationTypeVisibilityError(symbolAccesibilityResult: SymbolAccessiblityResult) { + var diagnosticMessage: DiagnosticMessage; + switch (node.parent.kind) { + case SyntaxKind.Constructor: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : + Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; + break; + + case SyntaxKind.ConstructSignature: + // Interfaces cannot have parameter types that cannot be named + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; + break; + + case SyntaxKind.CallSignature: + // Interfaces cannot have parameter types that cannot be named + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; + break; + + case SyntaxKind.Method: + if (node.parent.flags & NodeFlags.Static) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : + Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; + } + else if (node.parent.parent.kind === SyntaxKind.ClassDeclaration) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : + Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; + } + else { + // Interfaces cannot have parameter types that cannot be named + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; + } + break; + + case SyntaxKind.FunctionDeclaration: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? + symbolAccesibilityResult.accessibility === SymbolAccessibility.CannotBeNamed ? + Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : + Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : + Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1; + break; + + default: + Debug.fail("This is unknown parent for parameter: " + SyntaxKind[node.parent.kind]); + } + + return { + diagnosticMessage: diagnosticMessage, + errorNode: node, + typeName: node.name + }; } } @@ -2448,7 +2721,19 @@ module ts { // TODO(shkamat): Should we not write any declaration file if any of them can produce error, // or should we just not write this file like we are doing now if (!reportedDeclarationError) { - writeFile(getModuleNameFromFilename(jsFilePath) + ".d.ts", referencePathsOutput + writer.getText(), compilerOptions.emitBOM); + var declarationOutput = referencePathsOutput; + var synchronousDeclarationOutput = writer.getText(); + // apply additions + var appliedSyncOutputPos = 0; + forEach(aliasDeclarationEmitInfo, aliasEmitInfo => { + if (aliasEmitInfo.asynchronousOutput) { + declarationOutput += synchronousDeclarationOutput.substring(appliedSyncOutputPos, aliasEmitInfo.outputPos); + declarationOutput += aliasEmitInfo.asynchronousOutput; + appliedSyncOutputPos = aliasEmitInfo.outputPos; + } + }); + declarationOutput += synchronousDeclarationOutput.substring(appliedSyncOutputPos); + writeFile(getModuleNameFromFilename(jsFilePath) + ".d.ts", declarationOutput, compilerOptions.emitBOM); } } @@ -2469,6 +2754,11 @@ module ts { if (compilerOptions.out) { emitFile(compilerOptions.out); } + + // Sort and make the unique list of diagnostics + diagnostics.sort(compareDiagnostics); + diagnostics = deduplicateSortedDiagnostics(diagnostics); + return { errors: diagnostics, sourceMaps: sourceMapDataList diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 4a24d1c0265..d8d9352b546 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1574,11 +1574,11 @@ module ts { // Note: for ease of implementation we treat productions '2' and '3' as the same thing. // (i.e. they're both BinaryExpressions with an assignment operator in it). - // First, check if we have production '4' (an arrow function). Note that if we do, we - // must *not* recurse for productsion 1, 2 or 3. An ArrowFunction is not a - // LeftHandSideExpression, nor does it start a ConditionalExpression. So we are done + // First, check if we have an arrow function (production '4') that starts with a parenthesized + // parameter list. If we do, we must *not* recurse for productsion 1, 2 or 3. An ArrowFunction is + // not a LeftHandSideExpression, nor does it start a ConditionalExpression. So we are done // with AssignmentExpression if we see one. - var arrowExpression = tryParseArrowFunctionExpression(); + var arrowExpression = tryParseParenthesizedArrowFunctionExpression(); if (arrowExpression) { return arrowExpression; } @@ -1587,6 +1587,13 @@ module ts { // including a conditional expression. var expr = parseConditionalExpression(noIn); + // To avoid a look-ahead, we did not handle the case of an arrow function with a single un-parenthesized + // parameter ('x => ...') above. We handle it here by checking if the parsed expression was a single + // identifier and the current token is an arrow. + if (expr.kind === SyntaxKind.Identifier && token === SyntaxKind.EqualsGreaterThanToken) { + return parseSimpleArrowFunctionExpression(expr); + } + // Now see if we might be in cases '2' or '3'. // If the expression was a LHS expression, and we have an assignment operator, then // we're in '2' or '3'. Consume the assignment and return. @@ -1633,39 +1640,7 @@ module ts { return false; } - function tryParseArrowFunctionExpression(): Expression { - return isSimpleArrowFunctionExpression() - ? parseSimpleArrowFunctionExpression() - : tryParseParenthesizedArrowFunctionExpression(); - } - - function isSimpleArrowFunctionExpression(): boolean { - if (token === SyntaxKind.EqualsGreaterThanToken) { - // ERROR RECOVERY TWEAK: - // If we see a standalone => try to parse it as an arrow function expression as that's - // likely whatthe user intended to write. - return true; - } - - if (token === SyntaxKind.Identifier) { - // if we see: a => - // then this is clearly an arrow function expression. - return lookAhead(() => { - return nextToken() === SyntaxKind.EqualsGreaterThanToken; - }); - } - - // Definitely not a simple arrow function expression. - return false; - } - - function parseSimpleArrowFunctionExpression(): Expression { - Debug.assert(token === SyntaxKind.Identifier || token === SyntaxKind.EqualsGreaterThanToken); - - // Get the identifier for the simple arrow. If one isn't there then we'll report a useful - // message that it is missing. - var identifier = parseIdentifier(); - + function parseSimpleArrowFunctionExpression(identifier: Identifier): Expression { Debug.assert(token === SyntaxKind.EqualsGreaterThanToken, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); parseExpected(SyntaxKind.EqualsGreaterThanToken); @@ -1684,8 +1659,6 @@ module ts { } function tryParseParenthesizedArrowFunctionExpression(): Expression { - var pos = getNodePos(); - // Indicates whether we are certain that we should parse an arrow expression. var triState = isParenthesizedArrowFunctionExpression(); @@ -1693,6 +1666,8 @@ module ts { return undefined; } + var pos = getNodePos(); + if (triState === Tristate.True) { var sig = parseSignature(SyntaxKind.CallSignature, SyntaxKind.ColonToken); @@ -1785,7 +1760,12 @@ module ts { } }); } - + if (token === SyntaxKind.EqualsGreaterThanToken) { + // ERROR RECOVERY TWEAK: + // If we see a standalone => try to parse it as an arrow function expression as that's + // likely whatthe user intended to write. + return Tristate.True; + } // Definitely not a parenthesized arrow function. return Tristate.False; } @@ -3602,7 +3582,7 @@ module ts { getCompilerHost: () => host, getDiagnostics: getDiagnostics, getGlobalDiagnostics: getGlobalDiagnostics, - getTypeChecker: () => createTypeChecker(program), + getTypeChecker: fullTypeCheckMode => createTypeChecker(program, fullTypeCheckMode), getCommonSourceDirectory: () => commonSourceDirectory, }; return program; diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index e215979d2dc..2f5ff604df3 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -14,7 +14,7 @@ interface System { createDirectory(directoryName: string): void; getExecutingFilePath(): string; getCurrentDirectory(): string; - getMemoryUsage(): number; + getMemoryUsage?(): number; exit(exitCode?: number): void; } @@ -106,9 +106,6 @@ var sys: System = (function () { write(s: string): void { WScript.StdOut.Write(s); }, - writeErr(s: string): void { - WScript.StdErr.Write(s); - }, readFile: readFile, writeFile: writeFile, resolvePath(path: string): string { @@ -131,9 +128,6 @@ var sys: System = (function () { getCurrentDirectory() { return new ActiveXObject("WScript.Shell").CurrentDirectory; }, - getMemoryUsage() { - return 0; - }, exit(exitCode?: number): void { try { WScript.Quit(exitCode); @@ -195,10 +189,8 @@ var sys: System = (function () { newLine: _os.EOL, useCaseSensitiveFileNames: useCaseSensitiveFileNames, write(s: string): void { - process.stdout.write(s); - }, - writeErr(s: string): void { - process.stderr.write(s); + // 1 is a standard descriptor for stdout + _fs.writeSync(1, s); }, readFile: readFile, writeFile: writeFile, @@ -239,7 +231,9 @@ var sys: System = (function () { return (process).cwd(); }, getMemoryUsage() { - global.gc(); + if (global.gc) { + global.gc(); + } return process.memoryUsage().heapUsed; }, exit(exitCode?: number): void { diff --git a/src/compiler/tsc.ts b/src/compiler/tsc.ts index 054b76c55b2..b0c58f06736 100644 --- a/src/compiler/tsc.ts +++ b/src/compiler/tsc.ts @@ -326,7 +326,7 @@ module ts { var reportStart = bindStart; } else { - var checker = program.getTypeChecker(); + var checker = program.getTypeChecker(/*fullTypeCheckMode*/ true); var checkStart = new Date().getTime(); var semanticErrors = checker.getDiagnostics(); var emitStart = new Date().getTime(); @@ -337,12 +337,16 @@ module ts { reportDiagnostics(errors); if (commandLine.options.diagnostics) { + var memoryUsed = sys.getMemoryUsage ? sys.getMemoryUsage() : -1; reportCountStatistic("Files", program.getSourceFiles().length); reportCountStatistic("Lines", countLines(program)); reportCountStatistic("Nodes", checker ? checker.getNodeCount() : 0); reportCountStatistic("Identifiers", checker ? checker.getIdentifierCount() : 0); reportCountStatistic("Symbols", checker ? checker.getSymbolCount() : 0); reportCountStatistic("Types", checker ? checker.getTypeCount() : 0); + if (memoryUsed >= 0) { + reportStatisticalValue("Memory used", Math.round(memoryUsed / 1000) + "K"); + } reportTimeStatistic("Parse time", bindStart - parseStart); reportTimeStatistic("Bind time", checkStart - bindStart); reportTimeStatistic("Check time", emitStart - checkStart); diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 272f5ec8a7f..34d877c620f 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -542,7 +542,7 @@ module ts { getCompilerHost(): CompilerHost; getDiagnostics(sourceFile?: SourceFile): Diagnostic[]; getGlobalDiagnostics(): Diagnostic[]; - getTypeChecker(): TypeChecker; + getTypeChecker(fullTypeCheckMode: boolean): TypeChecker; getCommonSourceDirectory(): string; } @@ -630,6 +630,8 @@ module ts { /** writes Array instead T[] */ WriteArrayAsGenericType = 0x00000001, // Declarations + + UseTypeOfFunction = 0x00000002, // instead of writing signature type of function use typeof } export enum SymbolAccessibility { @@ -640,8 +642,9 @@ module ts { export interface SymbolAccessiblityResult { accessibility: SymbolAccessibility; - errorSymbolName?: string; // Optional symbol name that results in error - errorModuleName?: string; // If the symbol is not visibile from module, module's name + errorSymbolName?: string // Optional symbol name that results in error + errorModuleName?: string // If the symbol is not visibile from module, module's name + aliasesToMakeVisible?: ImportDeclaration[]; // aliases that need to have this symbol visible } export interface EmitResolver { @@ -661,6 +664,7 @@ module ts { writeReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: TextWriter): void; writeSymbol(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags, writer: TextWriter): void; isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessiblityResult; + isImportDeclarationEntityNameReferenceDeclarationVisibile(entityName: EntityName): SymbolAccessiblityResult; } export enum SymbolFlags { diff --git a/src/harness/compilerRunner.ts b/src/harness/compilerRunner.ts index 9dce321a275..81802516532 100644 --- a/src/harness/compilerRunner.ts +++ b/src/harness/compilerRunner.ts @@ -126,93 +126,7 @@ class CompilerBaselineRunner extends RunnerBase { otherFiles: { unitName: string; content: string }[], result: Harness.Compiler.CompilerResult ) { - - var outputLines: string[] = []; - // Count up all the errors we find so we don't miss any - var totalErrorsReported = 0; - - function outputErrorText(error: Harness.Compiler.MinimalDiagnostic) { - var errLines = RunnerBase.removeFullPaths(error.message) - .split('\n') - .map(s => s.length > 0 && s.charAt(s.length - 1) === '\r' ? s.substr(0, s.length - 1) : s) - .filter(s => s.length > 0) - .map(s => '!!! ' + s); - errLines.forEach(e => outputLines.push(e)); - - totalErrorsReported++; - } - - // Report glovbal errors: - var globalErrors = result.errors.filter(err => !err.filename); - globalErrors.forEach(err => outputErrorText(err)); - - // 'merge' the lines of each input file with any errors associated with it - toBeCompiled.concat(otherFiles).forEach(inputFile => { - // Filter down to the errors in the file - var fileErrors = result.errors.filter(e => { - var errFn = e.filename; - return errFn && errFn === inputFile.unitName; - }); - - - // Header - outputLines.push('==== ' + inputFile.unitName + ' (' + fileErrors.length + ' errors) ===='); - - // Make sure we emit something for every error - var markedErrorCount = 0; - // For each line, emit the line followed by any error squiggles matching this line - // Note: IE JS engine incorrectly handles consecutive delimiters here when using RegExp split, so - // we have to string-based splitting instead and try to figure out the delimiting chars - - var lineStarts = ts.getLineStarts(inputFile.content); - var lines = inputFile.content.split('\n'); - lines.forEach((line, lineIndex) => { - if (line.length > 0 && line.charAt(line.length - 1) === '\r') { - line = line.substr(0, line.length - 1); - } - - var thisLineStart = lineStarts[lineIndex]; - var nextLineStart: number; - // On the last line of the file, fake the next line start number so that we handle errors on the last character of the file correctly - if (lineIndex === lines.length - 1) { - nextLineStart = inputFile.content.length; - } else { - nextLineStart = lineStarts[lineIndex + 1]; - } - // Emit this line from the original file - outputLines.push(' ' + line); - fileErrors.forEach(err => { - // Does any error start or continue on to this line? Emit squiggles - if ((err.end >= thisLineStart) && ((err.start < nextLineStart) || (lineIndex === lines.length - 1))) { - // How many characters from the start of this line the error starts at (could be positive or negative) - var relativeOffset = err.start - thisLineStart; - // How many characters of the error are on this line (might be longer than this line in reality) - var length = (err.end - err.start) - Math.max(0, thisLineStart - err.start); - // Calculate the start of the squiggle - var squiggleStart = Math.max(0, relativeOffset); - // TODO/REVIEW: this doesn't work quite right in the browser if a multi file test has files whose names are just the right length relative to one another - outputLines.push(' ' + line.substr(0, squiggleStart).replace(/[^\s]/g, ' ') + new Array(Math.min(length, line.length - squiggleStart) + 1).join('~')); - - // If the error ended here, or we're at the end of the file, emit its message - if ((lineIndex === lines.length - 1) || nextLineStart > err.end) { - // Just like above, we need to do a split on a string instead of on a regex - // because the JS engine does regexes wrong - - outputErrorText(err); - markedErrorCount++; - } - } - }); - }); - - // Verify we didn't miss any errors in this file - assert.equal(markedErrorCount, fileErrors.length, 'count of errors in ' + inputFile.unitName); - }); - - // Verify we didn't miss any errors in total - assert.equal(totalErrorsReported, result.errors.length, 'total number of errors'); - - return outputLines.join('\r\n'); + return Harness.Compiler.getErrorBaseline(toBeCompiled.concat(otherFiles), result.errors); } // check errors @@ -250,7 +164,7 @@ class CompilerBaselineRunner extends RunnerBase { var declFile = ts.forEach(result.declFilesCode, declFile => declFile.fileName === (file.unitName.substr(0, file.unitName.length - ".ts".length) + ".d.ts") ? declFile : undefined); - return { unitName: rootDir + Harness.Path.getFileName(declFile.fileName), content: declFile.code }; + return { unitName: declFile.fileName, content: declFile.code }; } } @@ -294,7 +208,7 @@ class CompilerBaselineRunner extends RunnerBase { if (result.declFilesCode.length > 0) { jsCode += '\r\n\r\n'; - for (var i = 0; i < result.files.length; i++) { + for (var i = 0; i < result.declFilesCode.length; i++) { jsCode += '//// [' + Harness.Path.getFileName(result.declFilesCode[i].fileName) + ']\r\n'; jsCode += getByteOrderMarkText(result.declFilesCode[i]); jsCode += result.declFilesCode[i].code; diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index 6692059c806..0fa27f0d1fa 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -254,7 +254,7 @@ module FourSlash { } }); - this.languageServiceShimHost.addScript('lib.d.ts', Harness.Compiler.libTextMinimal); + this.languageServiceShimHost.addDefaultLibrary(); // Sneak into the language service and get its compiler so we can examine the syntax trees @@ -1419,8 +1419,8 @@ module FourSlash { for (var i = 0; i < spans.length; i++) { var expectedSpan = spans[i]; var actualSpan = actual[i]; - if (expectedSpan.start !== actualSpan.start() || expectedSpan.end !== actualSpan.end()) { - throw new Error('verifyOutliningSpans failed - span ' + (i + 1) + ' expected: (' + expectedSpan.start + ',' + expectedSpan.end + '), actual: (' + actualSpan.start() + ',' + actualSpan.end() + ')'); + if (expectedSpan.start !== actualSpan.textSpan.start() || expectedSpan.end !== actualSpan.textSpan.end()) { + throw new Error('verifyOutliningSpans failed - span ' + (i + 1) + ' expected: (' + expectedSpan.start + ',' + expectedSpan.end + '), actual: (' + actualSpan.textSpan.start() + ',' + actualSpan.textSpan.end() + ')'); } } } @@ -1467,7 +1467,7 @@ module FourSlash { var referenceLanguageService = referenceLanguageServiceShim.languageService; // Add lib.d.ts to the reference language service - referenceLanguageServiceShimHost.addScript('lib.d.ts', Harness.Compiler.libTextMinimal); + referenceLanguageServiceShimHost.addDefaultLibrary(); for (var i = 0; i < this.testData.files.length; i++) { var file = this.testData.files[i]; @@ -1885,7 +1885,7 @@ module FourSlash { // Cache these between executions so we don't have to re-parse them for every test var fourslashSourceFile: ts.SourceFile = undefined; - var libdtsSourceFile: ts.SourceFile = undefined; + export function runFourSlashTestContent(content: string, fileName: string): TestXmlData { // Parse out the files and their metadata var testData = parseTestData(content, fileName); @@ -1896,16 +1896,15 @@ module FourSlash { var fourslashFilename = 'fourslash.ts'; var tsFn = 'tests/cases/fourslash/' + fourslashFilename; fourslashSourceFile = fourslashSourceFile || ts.createSourceFile(tsFn, Harness.IO.readFile(tsFn), ts.ScriptTarget.ES5, /*version*/ 0, /*isOpen*/ false); - libdtsSourceFile = libdtsSourceFile || ts.createSourceFile('lib.d.ts', Harness.Compiler.libTextMinimal, ts.ScriptTarget.ES3, /*version*/ 0, /*isOpen*/ false); var files: { [filename: string]: ts.SourceFile; } = {}; files[fourslashFilename] = fourslashSourceFile; files[fileName] = ts.createSourceFile(fileName, content, ts.ScriptTarget.ES5, /*version*/ 0, /*isOpen*/ false); - files['lib.d.ts'] = libdtsSourceFile; + files[Harness.Compiler.defaultLibFileName] = Harness.Compiler.defaultLibSourceFile; var host = Harness.Compiler.createCompilerHost(files, (fn, contents) => result = contents); - var program = ts.createProgram([fileName, fourslashFilename], {}, host); - var checker = ts.createTypeChecker(program); + var program = ts.createProgram([fourslashFilename, fileName], { out: "fourslashTestOutput.js" }, host); + var checker = ts.createTypeChecker(program, /*fullTypeCheckMode*/ true); checker.checkProgram(); var errs = checker.getDiagnostics(files[fileName]); diff --git a/src/harness/harness.ts b/src/harness/harness.ts index 841c3b47aa4..37edd1d4162 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -434,15 +434,15 @@ module Harness { export var libFolder: string; switch (Utils.getExecutionEnvironment()) { case Utils.ExecutionEnvironment.CScript: - libFolder = Path.filePath(global['WScript'].ScriptFullName); + libFolder = "built/local/"; tcServicesFilename = "built/local/typescriptServices.js"; break; case Utils.ExecutionEnvironment.Node: - libFolder = (__dirname + '/'); + libFolder = "built/local/"; tcServicesFilename = "built/local/typescriptServices.js"; break; case Utils.ExecutionEnvironment.Browser: - libFolder = "bin/"; + libFolder = "built/local/"; tcServicesFilename = "built/local/typescriptServices.js"; break; default: @@ -531,8 +531,8 @@ module Harness { } } - export var libText = IO.readFile(libFolder + "lib.d.ts"); - export var libTextMinimal = IO.readFile('bin/lib.core.d.ts'); + export var defaultLibFileName = 'lib.d.ts'; + export var defaultLibSourceFile = ts.createSourceFile(defaultLibFileName, IO.readFile(libFolder + 'lib.core.d.ts'), /*languageVersion*/ ts.ScriptTarget.ES5); export function createCompilerHost(filemap: { [filename: string]: ts.SourceFile; }, writeFile: (fn: string, contents: string, writeByteOrderMark:boolean) => void): ts.CompilerHost { return { @@ -542,15 +542,15 @@ module Harness { if (fn in filemap) { return filemap[fn]; } else { - var lib = 'lib.d.ts'; - if (fn.substr(fn.length - lib.length) === lib) { - return filemap[fn] = ts.createSourceFile('lib.d.ts', libTextMinimal, languageVersion); + var lib = defaultLibFileName; + if (fn === defaultLibFileName) { + return defaultLibSourceFile; } // Don't throw here -- the compiler might be looking for a test that actually doesn't exist as part of the TC return null; } }, - getDefaultLibFilename: () => 'lib.d.ts', + getDefaultLibFilename: () => defaultLibFileName, writeFile: writeFile, getCanonicalFileName: ts.getCanonicalFileName, useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames, @@ -736,7 +736,7 @@ module Harness { var hadParseErrors = program.getDiagnostics().length > 0; - var checker = program.getTypeChecker(); + var checker = program.getTypeChecker(/*fullTypeCheckMode*/ true); checker.checkProgram(); // only emit if there weren't parse errors @@ -748,7 +748,7 @@ module Harness { var errors: MinimalDiagnostic[] = []; program.getDiagnostics().concat(checker.getDiagnostics()).concat(emitResult ? emitResult.errors : []).forEach(err => { // TODO: new compiler formats errors after this point to add . and newlines so we'll just do it manually for now - errors.push({ filename: err.file && err.file.filename, start: err.start, end: err.start + err.length, line: 0, character: 0, message: err.messageText }); + errors.push(getMinimalDiagnostic(err)); }); this.lastErrors = errors; @@ -763,6 +763,102 @@ module Harness { } } + export function getMinimalDiagnostic(err: ts.Diagnostic): MinimalDiagnostic { + return { filename: err.file && err.file.filename, start: err.start, end: err.start + err.length, line: 0, character: 0, message: err.messageText }; + } + + export function getErrorBaseline(inputFiles: { unitName: string; content: string }[], + diagnostics: MinimalDiagnostic[] + ) { + + var outputLines: string[] = []; + // Count up all the errors we find so we don't miss any + var totalErrorsReported = 0; + + function outputErrorText(error: Harness.Compiler.MinimalDiagnostic) { + var errLines = RunnerBase.removeFullPaths(error.message) + .split('\n') + .map(s => s.length > 0 && s.charAt(s.length - 1) === '\r' ? s.substr(0, s.length - 1) : s) + .filter(s => s.length > 0) + .map(s => '!!! ' + s); + errLines.forEach(e => outputLines.push(e)); + + totalErrorsReported++; + } + + // Report glovbal errors: + var globalErrors = diagnostics.filter(err => !err.filename); + globalErrors.forEach(err => outputErrorText(err)); + + // 'merge' the lines of each input file with any errors associated with it + inputFiles.forEach(inputFile => { + // Filter down to the errors in the file + var fileErrors = diagnostics.filter(e => { + var errFn = e.filename; + return errFn && errFn === inputFile.unitName; + }); + + + // Header + outputLines.push('==== ' + inputFile.unitName + ' (' + fileErrors.length + ' errors) ===='); + + // Make sure we emit something for every error + var markedErrorCount = 0; + // For each line, emit the line followed by any error squiggles matching this line + // Note: IE JS engine incorrectly handles consecutive delimiters here when using RegExp split, so + // we have to string-based splitting instead and try to figure out the delimiting chars + + var lineStarts = ts.getLineStarts(inputFile.content); + var lines = inputFile.content.split('\n'); + lines.forEach((line, lineIndex) => { + if (line.length > 0 && line.charAt(line.length - 1) === '\r') { + line = line.substr(0, line.length - 1); + } + + var thisLineStart = lineStarts[lineIndex]; + var nextLineStart: number; + // On the last line of the file, fake the next line start number so that we handle errors on the last character of the file correctly + if (lineIndex === lines.length - 1) { + nextLineStart = inputFile.content.length; + } else { + nextLineStart = lineStarts[lineIndex + 1]; + } + // Emit this line from the original file + outputLines.push(' ' + line); + fileErrors.forEach(err => { + // Does any error start or continue on to this line? Emit squiggles + if ((err.end >= thisLineStart) && ((err.start < nextLineStart) || (lineIndex === lines.length - 1))) { + // How many characters from the start of this line the error starts at (could be positive or negative) + var relativeOffset = err.start - thisLineStart; + // How many characters of the error are on this line (might be longer than this line in reality) + var length = (err.end - err.start) - Math.max(0, thisLineStart - err.start); + // Calculate the start of the squiggle + var squiggleStart = Math.max(0, relativeOffset); + // TODO/REVIEW: this doesn't work quite right in the browser if a multi file test has files whose names are just the right length relative to one another + outputLines.push(' ' + line.substr(0, squiggleStart).replace(/[^\s]/g, ' ') + new Array(Math.min(length, line.length - squiggleStart) + 1).join('~')); + + // If the error ended here, or we're at the end of the file, emit its message + if ((lineIndex === lines.length - 1) || nextLineStart > err.end) { + // Just like above, we need to do a split on a string instead of on a regex + // because the JS engine does regexes wrong + + outputErrorText(err); + markedErrorCount++; + } + } + }); + }); + + // Verify we didn't miss any errors in this file + assert.equal(markedErrorCount, fileErrors.length, 'count of errors in ' + inputFile.unitName); + }); + + // Verify we didn't miss any errors in total + assert.equal(totalErrorsReported, diagnostics.length, 'total number of errors'); + + return outputLines.join('\r\n'); + } + /* TODO: Delete? export function makeDefaultCompilerSettings(options?: { useMinimalDefaultLib: boolean; noImplicitAny: boolean; }) { var useMinimalDefaultLib = options ? options.useMinimalDefaultLib : true; diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index 65f02582d63..cb8ef61f413 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -175,7 +175,7 @@ module Harness.LanguageService { } public addDefaultLibrary() { - this.addScript("lib.d.ts", Harness.Compiler.libText); + this.addScript(Harness.Compiler.defaultLibFileName, Harness.Compiler.defaultLibSourceFile.text); } public getHostIdentifier(): string { diff --git a/src/harness/projectsRunner.ts b/src/harness/projectsRunner.ts index 5ddcf57804c..c192c3acecf 100644 --- a/src/harness/projectsRunner.ts +++ b/src/harness/projectsRunner.ts @@ -29,13 +29,15 @@ interface BatchCompileProjectTestCaseEmittedFile extends Harness.Compiler.Genera emittedFileName: string; } -interface BatchCompileProjectTestCaseResult { +interface CompileProjectFilesResult { moduleKind: ts.ModuleKind; program: ts.Program; - readInputFiles: ts.SourceFile[]; - sourceMapData: ts.SourceMapData[]; - outputFiles: BatchCompileProjectTestCaseEmittedFile[]; errors: ts.Diagnostic[]; + sourceMapData: ts.SourceMapData[]; +} + +interface BatchCompileProjectTestCaseResult extends CompileProjectFilesResult { + outputFiles: BatchCompileProjectTestCaseEmittedFile[]; nonSubfolderDiskFiles: number; } @@ -114,13 +116,43 @@ class ProjectRunner extends RunnerBase { return url; } - - function batchCompilerProjectTestCase(moduleKind: ts.ModuleKind): BatchCompileProjectTestCaseResult{ - var nonSubfolderDiskFiles = 0; - var readInputFiles: ts.SourceFile[] = []; + function getCurrentDirectory() { + return sys.resolvePath(testCase.projectRoot); + } + + function compileProjectFiles(moduleKind: ts.ModuleKind, getInputFiles: ()=> string[], + getSourceFileText: (filename: string) => string, + writeFile: (filename: string, data: string, writeByteOrderMark: boolean) => void): CompileProjectFilesResult { + + var program = ts.createProgram(getInputFiles(), createCompilerOptions(), createCompilerHost()); + var errors = program.getDiagnostics(); var sourceMapData: ts.SourceMapData[] = null; - var outputFiles: BatchCompileProjectTestCaseEmittedFile[] = []; + if (!errors.length) { + var checker = program.getTypeChecker(/*fullTypeCheck*/ true); + errors = checker.getDiagnostics(); + var emitResult = checker.emitFiles(); + errors = ts.concatenate(errors, emitResult.errors); + sourceMapData = emitResult.sourceMaps; + + // Clean up source map data that will be used in baselining + if (sourceMapData) { + for (var i = 0; i < sourceMapData.length; i++) { + for (var j = 0; j < sourceMapData[i].sourceMapSources.length; j++) { + sourceMapData[i].sourceMapSources[j] = cleanProjectUrl(sourceMapData[i].sourceMapSources[j]); + } + sourceMapData[i].jsSourceMappingURL = cleanProjectUrl(sourceMapData[i].jsSourceMappingURL); + sourceMapData[i].sourceMapSourceRoot = cleanProjectUrl(sourceMapData[i].sourceMapSourceRoot); + } + } + } + + return { + moduleKind: moduleKind, + program: program, + errors: errors, + sourceMapData: sourceMapData + }; function createCompilerOptions(): ts.CompilerOptions { return { @@ -136,32 +168,59 @@ class ProjectRunner extends RunnerBase { function getSourceFile(filename: string, languageVersion: ts.ScriptTarget): ts.SourceFile { var sourceFile: ts.SourceFile = undefined; - if (filename === 'lib.d.ts') { - sourceFile = ts.createSourceFile('lib.d.ts', Harness.Compiler.libTextMinimal, languageVersion); + if (filename === Harness.Compiler.defaultLibFileName) { + sourceFile = Harness.Compiler.defaultLibSourceFile; } else { - assert.isTrue(!ts.filter(readInputFiles, sourceFile => sourceFile.filename == filename).length, "Compiler trying to read same file again: " + filename); - - try { - var text = sys.readFile(ts.isRootedDiskPath(filename) - ? filename - : ts.normalizeSlashes(testCase.projectRoot) + "/" + ts.normalizeSlashes(filename)); - } - catch (e) { - // text doesn't get defined. - } - + var text = getSourceFileText(filename); if (text !== undefined) { sourceFile = ts.createSourceFile(filename, text, languageVersion); } } - if (sourceFile) { - readInputFiles.push(sourceFile); - } return sourceFile; } + function createCompilerHost(): ts.CompilerHost { + return { + getSourceFile: getSourceFile, + getDefaultLibFilename: () => "lib.d.ts", + writeFile: writeFile, + getCurrentDirectory: getCurrentDirectory, + getCanonicalFileName: ts.getCanonicalFileName, + useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames, + getNewLine: () => sys.newLine + }; + } + } + + function batchCompilerProjectTestCase(moduleKind: ts.ModuleKind): BatchCompileProjectTestCaseResult{ + var nonSubfolderDiskFiles = 0; + + var outputFiles: BatchCompileProjectTestCaseEmittedFile[] = []; + + var projectCompilerResult = compileProjectFiles(moduleKind, () => testCase.inputFiles, getSourceFileText, writeFile); + return { + moduleKind: moduleKind, + program: projectCompilerResult.program, + sourceMapData: projectCompilerResult.sourceMapData, + outputFiles: outputFiles, + errors: projectCompilerResult.errors, + nonSubfolderDiskFiles: nonSubfolderDiskFiles, + }; + + function getSourceFileText(filename: string): string { + try { + var text = sys.readFile(ts.isRootedDiskPath(filename) + ? filename + : ts.normalizeSlashes(testCase.projectRoot) + "/" + ts.normalizeSlashes(filename)); + } + catch (e) { + // text doesn't get defined. + } + return text; + } + function writeFile(filename: string, data: string, writeByteOrderMark: boolean) { var diskFileName = ts.isRootedDiskPath(filename) ? filename @@ -209,53 +268,55 @@ class ProjectRunner extends RunnerBase { outputFiles.push({ emittedFileName: filename, code: data, fileName: diskRelativeName, writeByteOrderMark: writeByteOrderMark }); } + } - function getCurrentDirectory() { - return sys.resolvePath(testCase.projectRoot); + function compileCompileDTsFiles(compilerResult: BatchCompileProjectTestCaseResult) { + var inputDtsSourceFiles = ts.map(ts.filter(compilerResult.program.getSourceFiles(), + sourceFile => Harness.Compiler.isDTS(sourceFile.filename)), + sourceFile => { + return { emittedFileName: sourceFile.filename, code: sourceFile.text }; + }); + + var ouputDtsFiles = ts.filter(compilerResult.outputFiles, ouputFile => Harness.Compiler.isDTS(ouputFile.emittedFileName)); + var allInputFiles = inputDtsSourceFiles.concat(ouputDtsFiles); + return compileProjectFiles(compilerResult.moduleKind,getInputFiles, getSourceFileText, writeFile); + + function getInputFiles() { + return ts.map(allInputFiles, outputFile => outputFile.emittedFileName); + } + function getSourceFileText(filename: string): string { + return ts.forEach(allInputFiles, inputFile => inputFile.emittedFileName === filename ? inputFile.code : undefined); } - function createCompilerHost(): ts.CompilerHost { - return { - getSourceFile: getSourceFile, - getDefaultLibFilename: () => "lib.d.ts", - writeFile: writeFile, - getCurrentDirectory: getCurrentDirectory, - getCanonicalFileName: ts.getCanonicalFileName, - useCaseSensitiveFileNames: () => sys.useCaseSensitiveFileNames, - getNewLine:()=> sys.newLine - }; + function writeFile(filename: string, data: string, writeByteOrderMark: boolean) { } + } - var program = ts.createProgram(testCase.inputFiles, createCompilerOptions(), createCompilerHost()); - var errors = program.getDiagnostics(); - if (!errors.length) { - var checker = program.getTypeChecker(); - errors = checker.getDiagnostics(); - var emitResult = checker.emitFiles(); - errors = ts.concatenate(errors, emitResult.errors); - sourceMapData = emitResult.sourceMaps; - - // Clean up source map data that will be used in baselining - if (sourceMapData) { - for (var i = 0; i < sourceMapData.length; i++) { - for (var j = 0; j < sourceMapData[i].sourceMapSources.length; j++) { - sourceMapData[i].sourceMapSources[j] = cleanProjectUrl(sourceMapData[i].sourceMapSources[j]); - } - sourceMapData[i].jsSourceMappingURL = cleanProjectUrl(sourceMapData[i].jsSourceMappingURL); - sourceMapData[i].sourceMapSourceRoot = cleanProjectUrl(sourceMapData[i].sourceMapSourceRoot); - } + function getErrorsBaseline(compilerResult: CompileProjectFilesResult) { + // This is copied from tc.ts's reportError to replicate what tc does + var errors = ""; + for (var i = 0; i < compilerResult.errors.length; i++) { + var error = compilerResult.errors[i]; + // TODO(jfreeman): Remove assert + ts.Debug.assert(error.messageText.indexOf("{NL}") < 0); + if (error.file) { + var loc = error.file.getLineAndCharacterFromPosition(error.start); + errors += error.file.filename + "(" + loc.line + "," + loc.character + "): " + error.messageText + sys.newLine; + } + else { + errors += error.messageText + sys.newLine; } } - return { - moduleKind: moduleKind, - program: program, - readInputFiles: readInputFiles, - sourceMapData: sourceMapData, - outputFiles: outputFiles, - errors: errors, - nonSubfolderDiskFiles: nonSubfolderDiskFiles, - }; + var inputFiles = ts.map(ts.filter(compilerResult.program.getSourceFiles(), + sourceFile => sourceFile.filename !== "lib.d.ts"), + sourceFile => { + return { unitName: sourceFile.filename, content: sourceFile.text }; + }); + var diagnostics = ts.map(compilerResult.errors, error => Harness.Compiler.getMinimalDiagnostic(error)); + errors += sys.newLine + sys.newLine + Harness.Compiler.getErrorBaseline(inputFiles, diagnostics); + + return errors; } describe('Compiling project for ' + testCase.scenario +': testcase ' + testCaseFileName, () => { @@ -276,7 +337,7 @@ class ProjectRunner extends RunnerBase { baselineCheck: testCase.baselineCheck, runTest: testCase.runTest, bug: testCase.bug, - resolvedInputFiles: ts.map(compilerResult.readInputFiles, inputFile => inputFile.filename), + resolvedInputFiles: ts.map(compilerResult.program.getSourceFiles(), inputFile => inputFile.filename), emittedFiles: ts.map(compilerResult.outputFiles, outputFile => outputFile.emittedFileName) }; @@ -284,7 +345,6 @@ class ProjectRunner extends RunnerBase { } it('Resolution information of (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, () => { - assert.equal(compilerResult.program.getSourceFiles().length, compilerResult.readInputFiles.length, "Compiler missing/has extra source files that were read during compilation"); Harness.Baseline.runBaseline('Resolution information of (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, getBaselineFolder(compilerResult.moduleKind) + testCaseJustName + '.json', () => { return JSON.stringify(getCompilerResolutionInfo(), undefined, " "); }); @@ -293,22 +353,7 @@ class ProjectRunner extends RunnerBase { if (compilerResult.errors.length) { it('Errors for (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, () => { Harness.Baseline.runBaseline('Errors for (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, getBaselineFolder(compilerResult.moduleKind) + testCaseJustName + '.errors.txt', () => { - // This is copied from tc.ts's reportError to replicate what tc does - var errors = ""; - for (var i = 0; i < compilerResult.errors.length; i++) { - var error = compilerResult.errors[i]; - // TODO(jfreeman): Remove assert - ts.Debug.assert(error.messageText.indexOf("{NL}") < 0); - if (error.file) { - var loc = error.file.getLineAndCharacterFromPosition(error.start); - errors += error.file.filename + "(" + loc.line + "," + loc.character + "): " + error.messageText + sys.newLine; - } - else { - errors += error.messageText + sys.newLine; - } - } - - return errors; + return getErrorsBaseline(compilerResult); }); }); } @@ -335,6 +380,18 @@ class ProjectRunner extends RunnerBase { }); }); } + + // Verify that all the generated .d.ts files compile + if (!compilerResult.errors.length && testCase.declaration) { + var dTsCompileResult = compileCompileDTsFiles(compilerResult); + if (dTsCompileResult.errors.length) { + it('Errors in generated Dts files for (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, () => { + Harness.Baseline.runBaseline('Errors in generated Dts files for (' + moduleNameToString(compilerResult.moduleKind) + '): ' + testCaseFileName, getBaselineFolder(compilerResult.moduleKind) + testCaseJustName + '.dts.errors.txt', () => { + return getErrorsBaseline(dTsCompileResult); + }); + }); + } + } } } diff --git a/src/lib/core.d.ts b/src/lib/core.d.ts index c37efa0340a..8e16e4bdd6c 100644 --- a/src/lib/core.d.ts +++ b/src/lib/core.d.ts @@ -302,13 +302,13 @@ interface String { * Matches a string with a regular expression, and returns an array containing the results of that search. * @param regexp A variable name or string literal containing the regular expression pattern and flags. */ - match(regexp: string): string[]; + match(regexp: string): RegExpMatchArray; /** * Matches a string with a regular expression, and returns an array containing the results of that search. * @param regexp A regular expression object that contains the regular expression pattern and applicable flags. */ - match(regexp: RegExp): string[]; + match(regexp: RegExp): RegExpMatchArray; /** * Replaces text in a string, using a regular expression or search string. @@ -775,38 +775,15 @@ declare var Date: { now(): number; } -interface RegExpExecArray { - [index: number]: string; - length: number; - - index: number; - input: string; - - toString(): string; - toLocaleString(): string; - concat(...items: string[][]): string[]; - join(separator?: string): string; - pop(): string; - push(...items: string[]): number; - reverse(): string[]; - shift(): string; - slice(start?: number, end?: number): string[]; - sort(compareFn?: (a: string, b: string) => number): string[]; - splice(start: number): string[]; - splice(start: number, deleteCount: number, ...items: string[]): string[]; - unshift(...items: string[]): number; - - indexOf(searchElement: string, fromIndex?: number): number; - lastIndexOf(searchElement: string, fromIndex?: number): number; - every(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; - some(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; - forEach(callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any): void; - map(callbackfn: (value: string, index: number, array: string[]) => any, thisArg?: any): any[]; - filter(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): string[]; - reduce(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; - reduceRight(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; +interface RegExpMatchArray extends Array { + index?: number; + input?: string; } +interface RegExpExecArray extends Array { + index: number; + input: string; +} interface RegExp { /** @@ -964,11 +941,24 @@ declare var JSON: JSON; ///////////////////////////// interface Array { + /** + * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. + */ + length: number; /** * Returns a string representation of an array. */ toString(): string; toLocaleString(): string; + /** + * Appends new elements to an array, and returns the new length of the array. + * @param items New elements of the Array. + */ + push(...items: T[]): number; + /** + * Removes the last element from an array and returns it. + */ + pop(): T; /** * Combines two or more arrays. * @param items Additional items to add to the end of array1. @@ -984,15 +974,6 @@ interface Array { * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. */ join(separator?: string): string; - /** - * Removes the last element from an array and returns it. - */ - pop(): T; - /** - * Appends new elements to an array, and returns the new length of the array. - * @param items New elements of the Array. - */ - push(...items: T[]): number; /** * Reverses the elements in an Array. */ @@ -1109,11 +1090,6 @@ interface Array { */ reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; - /** - * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. - */ - length: number; - [n: number]: T; } declare var Array: { diff --git a/src/services/compiler/precompile.ts b/src/services/compiler/precompile.ts index b806645c7af..3ff23d85bea 100644 --- a/src/services/compiler/precompile.ts +++ b/src/services/compiler/precompile.ts @@ -49,7 +49,7 @@ module TypeScript { return isNoDefaultLibRegex.exec(comment); } - export var tripleSlashReferenceRegExp = /^(\/\/\/\s*/; + export var tripleSlashReferenceRegExp = /^(\/\/\/\s*/; function getFileReferenceFromReferencePath(fileName: string, text: ISimpleText, position: number, comment: string, diagnostics: Diagnostic[]): IFileReference { // First, just see if they've written: /// -module TypeScript.Services { - export class OutliningElementsCollector extends TypeScript.DepthLimitedWalker { - // The maximum depth for collecting spans; this will cause us to miss deeply nested function/modules spans, - // but will guarantee performance will not be closely tied to tree depth. - private static MaximumDepth: number = 10; - private inObjectLiteralExpression: boolean = false; +module ts { - private elements: TypeScript.TextSpan[] = []; + export interface OutliningSpan { + /** + * @param textSpan The span of the document to actually collapse. + * @param hintSpan The span of the document to display when the user hovers over the + * collapsed span. + * @param bannerText The text to display in the editor for the collapsed region. + * @param autoCollapse Whether or not this region should be automatically collapsed when + * the 'Collapse to Definitions' command is invoked. + */ + textSpan: TypeScript.TextSpan; + hintSpan: TypeScript.TextSpan; + bannerText: string; + autoCollapse: boolean; + } - constructor() { - super(OutliningElementsCollector.MaximumDepth); - } + export module OutliningElementsCollector { + export function collectElements(sourceFile: SourceFile): OutliningSpan[] { + var elements: OutliningSpan[] = []; - public visitClassDeclaration(node: TypeScript.ClassDeclarationSyntax): void { - this.addOutlineRange(node, node.openBraceToken, node.closeBraceToken); - super.visitClassDeclaration(node); - } - - public visitInterfaceDeclaration(node: TypeScript.InterfaceDeclarationSyntax): void { - this.addOutlineRange(node, node.body.openBraceToken, node.body.closeBraceToken); - super.visitInterfaceDeclaration(node); - } - - public visitModuleDeclaration(node: TypeScript.ModuleDeclarationSyntax): void { - this.addOutlineRange(node, node.openBraceToken, node.closeBraceToken); - super.visitModuleDeclaration(node); - } - - public visitEnumDeclaration(node: TypeScript.EnumDeclarationSyntax): void { - this.addOutlineRange(node, node.openBraceToken, node.closeBraceToken); - super.visitEnumDeclaration(node); - } - - public visitFunctionDeclaration(node: TypeScript.FunctionDeclarationSyntax): void { - this.addOutlineRange(node, node.block, node.block); - super.visitFunctionDeclaration(node); - } - - public visitFunctionExpression(node: TypeScript.FunctionExpressionSyntax): void { - this.addOutlineRange(node, node.block, node.block); - super.visitFunctionExpression(node); - } - - public visitConstructorDeclaration(node: TypeScript.ConstructorDeclarationSyntax): void { - this.addOutlineRange(node, node.block, node.block); - super.visitConstructorDeclaration(node); - } - - public visitMemberFunctionDeclaration(node: TypeScript.MemberFunctionDeclarationSyntax): void { - this.addOutlineRange(node, node.block, node.block); - super.visitMemberFunctionDeclaration(node); - } - - public visitGetAccessor(node: TypeScript.GetAccessorSyntax): void { - if (!this.inObjectLiteralExpression) { - this.addOutlineRange(node, node.block, node.block); + function addOutlineRange(hintSpanNode: Node, startElement: Node, endElement: Node) { + if (hintSpanNode && startElement && endElement) { + var span: OutliningSpan = { + textSpan: TypeScript.TextSpan.fromBounds(startElement.pos, endElement.end), + hintSpan: TypeScript.TextSpan.fromBounds(hintSpanNode.getStart(), hintSpanNode.end), + bannerText: "...", + autoCollapse: false + }; + elements.push(span); + } } - super.visitGetAccessor(node); - } - public visitSetAccessor(node: TypeScript.SetAccessorSyntax): void { - if (!this.inObjectLiteralExpression) { - this.addOutlineRange(node, node.block, node.block); + var depth = 0; + var maxDepth = 20; + function walk(n: Node): void { + if (depth > maxDepth) { + return; + } + switch (n.kind) { + case SyntaxKind.Block: + case SyntaxKind.FunctionBlock: + case SyntaxKind.ModuleBlock: + case SyntaxKind.TryBlock: + case SyntaxKind.TryBlock: + case SyntaxKind.CatchBlock: + case SyntaxKind.FinallyBlock: + var openBrace = forEach(n.getChildren(), c => c.kind === SyntaxKind.OpenBraceToken && c); + var closeBrace = forEach(n.getChildren(), c => c.kind === SyntaxKind.CloseBraceToken && c); + addOutlineRange(n.parent, openBrace, closeBrace); + break; + case SyntaxKind.ClassDeclaration: + case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.EnumDeclaration: + case SyntaxKind.ObjectLiteral: + var openBrace = forEach(n.getChildren(), c => c.kind === SyntaxKind.OpenBraceToken && c); + var closeBrace = forEach(n.getChildren(), c => c.kind === SyntaxKind.CloseBraceToken && c); + addOutlineRange(n, openBrace, closeBrace); + break; + } + depth++; + forEachChild(n, walk); + depth--; } - super.visitSetAccessor(node); - } - public visitObjectLiteralExpression(node: TypeScript.ObjectLiteralExpressionSyntax): void { - var savedInObjectLiteralExpression = this.inObjectLiteralExpression; - this.inObjectLiteralExpression = true; - super.visitObjectLiteralExpression(node); - this.inObjectLiteralExpression = savedInObjectLiteralExpression; - } - - private addOutlineRange(node: TypeScript.ISyntaxNode, startElement: TypeScript.ISyntaxNodeOrToken, endElement: TypeScript.ISyntaxNodeOrToken) { - if (startElement && endElement && !isShared(startElement) && !isShared(endElement)) { - // Compute the position - var start = TypeScript.start(startElement); - var end = TypeScript.end(endElement); - - // Push the new range - this.elements.push(TypeScript.TextSpan.fromBounds(start, end)); - } - } - - public static collectElements(node: TypeScript.SourceUnitSyntax): TypeScript.TextSpan[] { - var collector = new OutliningElementsCollector(); - visitNodeOrToken(collector, node); - return collector.elements; + walk(sourceFile); + return elements; } } -} +} \ No newline at end of file diff --git a/src/services/services.ts b/src/services/services.ts index 6312e61f9d2..f1a8960c54b 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -416,10 +416,10 @@ module ts { ? TypeScript.Parser.parse(this.filename, text, this.languageVersion, TypeScript.isDTSFile(this.filename)) : TypeScript.IncrementalParser.parse(oldSyntaxTree, textChangeRange, text); - return SourceFileObject.createSourceFileObject(this.languageVersion, this.filename, scriptSnapshot, version, isOpen, newSyntaxTree); + return SourceFileObject.createSourceFileObject(this.filename, scriptSnapshot, this.languageVersion, version, isOpen, newSyntaxTree); } - public static createSourceFileObject(languageVersion: ScriptTarget, filename: string, scriptSnapshot: TypeScript.IScriptSnapshot, version: number, isOpen: boolean, syntaxTree: TypeScript.SyntaxTree) { + public static createSourceFileObject(filename: string, scriptSnapshot: TypeScript.IScriptSnapshot, languageVersion: ScriptTarget, version: number, isOpen: boolean, syntaxTree?: TypeScript.SyntaxTree) { var newSourceFile = createSourceFile(filename, scriptSnapshot.getText(0, scriptSnapshot.getLength()), languageVersion, version, isOpen); newSourceFile.scriptSnapshot = scriptSnapshot; newSourceFile.syntaxTree = syntaxTree; @@ -482,7 +482,7 @@ module ts { getNavigateToItems(searchValue: string): NavigateToItem[]; getScriptLexicalStructure(fileName: string): NavigateToItem[]; - getOutliningRegions(fileName: string): TypeScript.TextSpan[]; + getOutliningRegions(fileName: string): OutliningSpan[]; getBraceMatchingAtPosition(fileName: string, position: number): TypeScript.TextSpan[]; getIndentationAtPosition(fileName: string, position: number, options: EditorOptions): number; @@ -962,6 +962,7 @@ module ts { // currently edited file. private currentfilename: string = ""; private currentFileVersion: number = -1; + private currentSourceFile: SourceFile = null; private currentFileSyntaxTree: TypeScript.SyntaxTree = null; private currentFileScriptSnapshot: TypeScript.IScriptSnapshot = null; @@ -969,32 +970,71 @@ module ts { this.hostCache = new HostCache(host); } - public getCurrentFileSyntaxTree(filename: string): TypeScript.SyntaxTree { + private initialize(filename: string) { + // ensure that both source file and syntax tree are either initialized or not initialized + Debug.assert(!!this.currentFileSyntaxTree === !!this.currentSourceFile); this.hostCache = new HostCache(this.host); var version = this.hostCache.getVersion(filename); var syntaxTree: TypeScript.SyntaxTree = null; + var sourceFile: SourceFile; if (this.currentFileSyntaxTree === null || this.currentfilename !== filename) { var scriptSnapshot = this.hostCache.getScriptSnapshot(filename); syntaxTree = this.createSyntaxTree(filename, scriptSnapshot); + sourceFile = createSourceFileFromScriptSnapshot(filename, scriptSnapshot, getDefaultCompilerOptions(), version, /*isOpen*/ true); + + fixupParentReferences(sourceFile); } else if (this.currentFileVersion !== version) { var scriptSnapshot = this.hostCache.getScriptSnapshot(filename); syntaxTree = this.updateSyntaxTree(filename, scriptSnapshot, this.currentFileSyntaxTree, this.currentFileVersion); + + var editRange = this.hostCache.getScriptTextChangeRangeSinceVersion(filename, this.currentFileVersion); + sourceFile = !editRange + ? createSourceFileFromScriptSnapshot(filename, scriptSnapshot, getDefaultCompilerOptions(), version, /*isOpen*/ true) + : this.currentSourceFile.update(scriptSnapshot, version, /*isOpen*/ true, editRange); + + fixupParentReferences(sourceFile); } if (syntaxTree !== null) { + Debug.assert(sourceFile); // All done, ensure state is up to date this.currentFileScriptSnapshot = scriptSnapshot; this.currentFileVersion = version; this.currentfilename = filename; this.currentFileSyntaxTree = syntaxTree; + this.currentSourceFile = sourceFile; } + function fixupParentReferences(sourceFile: SourceFile) { + // normally parent references are set during binding. + // however here SourceFile data is used only for syntactic features so running the whole binding process is an overhead. + // walk over the nodes and set parent references + var parent: Node = sourceFile; + function walk(n: Node): void { + n.parent = parent; + + var saveParent = parent; + parent = n; + forEachChild(n, walk); + parent = saveParent; + } + forEachChild(sourceFile, walk); + } + } + + public getCurrentFileSyntaxTree(filename: string): TypeScript.SyntaxTree { + this.initialize(filename); return this.currentFileSyntaxTree; } + public getCurrentSourceFile(filename: string): SourceFile { + this.initialize(filename); + return this.currentSourceFile; + } + public getCurrentScriptSnapshot(filename: string): TypeScript.IScriptSnapshot { // update currentFileScriptSnapshot as a part of 'getCurrentFileSyntaxTree' call this.getCurrentFileSyntaxTree(filename); @@ -1093,6 +1133,10 @@ module ts { } } + function createSourceFileFromScriptSnapshot(filename: string, scriptSnapshot: TypeScript.IScriptSnapshot, settings: CompilerOptions, version: number, isOpen: boolean) { + return SourceFileObject.createSourceFileObject(filename, scriptSnapshot, settings.target, version, isOpen); + } + export function createDocumentRegistry(): DocumentRegistry { var buckets: Map> = {}; @@ -1140,7 +1184,7 @@ module ts { var bucket = getBucketForCompilationSettings(compilationSettings, /*createIfMissing*/ true); var entry = lookUp(bucket, filename); if (!entry) { - var sourceFile = createSourceFile(filename, scriptSnapshot.getText(0, scriptSnapshot.getLength()), compilationSettings.target, version, isOpen); + var sourceFile = createSourceFileFromScriptSnapshot(filename, scriptSnapshot, compilationSettings, version, isOpen); bucket[filename] = entry = { sourceFile: sourceFile, @@ -1212,7 +1256,11 @@ module ts { var formattingRulesProvider: TypeScript.Services.Formatting.RulesProvider; var hostCache: HostCache; // A cache of all the information about the files on the host side. var program: Program; - var typeChecker: TypeChecker; + // this checker is used to answer all LS questions except errors + var typeInfoResolver: TypeChecker; + // the sole purpose of this checkes is to reutrn semantic diagnostics + // creation is deferred - use getFullTypeCheckChecker to get instance + var fullTypeCheckChecker_doNotAccessDirectly: TypeChecker; var useCaseSensitivefilenames = false; var sourceFilesByName: Map = {}; var documentRegistry = documentRegistry; @@ -1228,6 +1276,10 @@ module ts { return lookUp(sourceFilesByName, filename); } + function getFullTypeCheckChecker() { + return fullTypeCheckChecker_doNotAccessDirectly || (fullTypeCheckChecker_doNotAccessDirectly = program.getTypeChecker(/*fullTypeCheck*/ true)); + } + function createCompilerHost(): CompilerHost { return { getSourceFile: (filename, languageVersion) => { @@ -1359,7 +1411,8 @@ module ts { // Now create a new compiler program = createProgram(hostfilenames, compilationSettings, createCompilerHost()); - typeChecker = program.getTypeChecker(); + typeInfoResolver = program.getTypeChecker(/*fullTypeCheckMode*/ false); + fullTypeCheckChecker_doNotAccessDirectly = undefined; } /// Clean up any semantic caches that are not needed. @@ -1367,7 +1420,8 @@ module ts { /// We will just dump the typeChecker and recreate a new one. this should have the effect of destroying all the semantic caches. function cleanupSemanticCache(): void { if (program) { - typeChecker = program.getTypeChecker(); + typeInfoResolver = program.getTypeChecker(/*fullTypeCheckMode*/ false); + fullTypeCheckChecker_doNotAccessDirectly = undefined; } } @@ -1392,7 +1446,7 @@ module ts { filename = TypeScript.switchToForwardSlashes(filename) - return typeChecker.getDiagnostics(getSourceFile(filename).getSourceFile()); + return getFullTypeCheckChecker().getDiagnostics(getSourceFile(filename)); } function getCompilerOptionsDiagnostics() { @@ -1634,12 +1688,12 @@ module ts { entries: [], symbols: {}, location: mappedNode, - typeChecker: typeChecker + typeChecker: typeInfoResolver }; // Right of dot member completion list if (isRightOfDot) { - var type: Type = typeChecker.getTypeOfExpression(mappedNode); + var type: Type = typeInfoResolver.getTypeOfExpression(mappedNode); if (!type) { return undefined; } @@ -1687,7 +1741,7 @@ module ts { isMemberCompletion = false; /// TODO filter meaning based on the current context var symbolMeanings = SymbolFlags.Type | SymbolFlags.Value | SymbolFlags.Namespace; - var symbols = typeChecker.getSymbolsInScope(mappedNode, symbolMeanings); + var symbols = typeInfoResolver.getSymbolsInScope(mappedNode, symbolMeanings); getCompletionEntriesFromSymbols(symbols, activeCompletionSession); } @@ -1726,7 +1780,7 @@ module ts { kind: completionEntry.kind, kindModifiers: completionEntry.kindModifiers, type: session.typeChecker.typeToString(type, session.location), - fullSymbolName: typeChecker.symbolToString(symbol, session.location), + fullSymbolName: typeInfoResolver.symbolToString(symbol, session.location), docComment: "" }; } @@ -1838,13 +1892,13 @@ module ts { var node = getNodeAtPosition(sourceFile.getSourceFile(), position); if (!node) return undefined; - var symbol = typeChecker.getSymbolInfo(node); - var type = symbol && typeChecker.getTypeOfSymbol(symbol); + var symbol = typeInfoResolver.getSymbolInfo(node); + var type = symbol && typeInfoResolver.getTypeOfSymbol(symbol); if (type) { return { - memberName: new TypeScript.MemberNameString(typeChecker.typeToString(type)), + memberName: new TypeScript.MemberNameString(typeInfoResolver.typeToString(type)), docComment: "", - fullSymbolName: typeChecker.symbolToString(symbol, getContainerNode(node)), + fullSymbolName: typeInfoResolver.symbolToString(symbol, getContainerNode(node)), kind: getSymbolKind(symbol), minChar: node.pos, limChar: node.end @@ -1990,7 +2044,7 @@ module ts { return undefined; } - var symbol = typeChecker.getSymbolInfo(node); + var symbol = typeInfoResolver.getSymbolInfo(node); // Could not find a symbol e.g. node is string or number keyword, // or the symbol was an internal symbol and does not have a declaration e.g. undefined symbol @@ -2001,10 +2055,10 @@ module ts { var result: DefinitionInfo[] = []; var declarations = symbol.getDeclarations(); - var symbolName = typeChecker.symbolToString(symbol, node); + var symbolName = typeInfoResolver.symbolToString(symbol, node); var symbolKind = getSymbolKind(symbol); var containerSymbol = symbol.parent; - var containerName = containerSymbol ? typeChecker.symbolToString(containerSymbol, node) : ""; + var containerName = containerSymbol ? typeInfoResolver.symbolToString(containerSymbol, node) : ""; var containerKind = containerSymbol ? getSymbolKind(symbol) : ""; if (!tryAddConstructSignature(symbol, node, symbolKind, symbolName, containerName, result) && @@ -2024,6 +2078,12 @@ module ts { return syntaxTreeCache.getCurrentFileSyntaxTree(filename); } + function getCurrentSourceFile(filename: string): SourceFile { + filename = TypeScript.switchToForwardSlashes(filename); + var currentSourceFile = syntaxTreeCache.getCurrentSourceFile(filename); + return currentSourceFile; + } + function getNameOrDottedNameSpan(filename: string, startPos: number, endPos: number): SpanInfo { function getTypeInfoEligiblePath(filename: string, position: number, isConstructorValidPosition: boolean) { var sourceUnit = syntaxTreeCache.getCurrentFileSyntaxTree(filename).sourceUnit(); @@ -2097,11 +2157,11 @@ module ts { return items; } - function getOutliningRegions(filename: string) { + function getOutliningRegions(filename: string): OutliningSpan[] { // doesn't use compiler - no need to synchronize with host filename = TypeScript.switchToForwardSlashes(filename); - var syntaxTree = getSyntaxTree(filename); - return TypeScript.Services.OutliningElementsCollector.collectElements(syntaxTree.sourceUnit()); + var sourceFile = getCurrentSourceFile(filename); + return OutliningElementsCollector.collectElements(sourceFile); } function getBraceMatchingAtPosition(filename: string, position: number) { diff --git a/src/services/shims.ts b/src/services/shims.ts index 891b9e1d913..523a0af5c91 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -726,7 +726,10 @@ module ts { "getOutliningRegions(\"" + fileName + "\")", () => { var items = this.languageService.getOutliningRegions(fileName); - return items; + // return just the part of data that language service v2 can understand + // language service v2 will use the entire OutliningSpan + var spans = map(items, i => i.textSpan); + return spans; }); } diff --git a/tests/baselines/reference/aliasInaccessibleModule.errors.txt b/tests/baselines/reference/aliasInaccessibleModule.errors.txt new file mode 100644 index 00000000000..839ea965b02 --- /dev/null +++ b/tests/baselines/reference/aliasInaccessibleModule.errors.txt @@ -0,0 +1,8 @@ +==== tests/cases/compiler/aliasInaccessibleModule.ts (1 errors) ==== + module M { + module N { + } + export import X = N; + ~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'X' is using private name 'N'. + } \ No newline at end of file diff --git a/tests/baselines/reference/aliasInaccessibleModule2.errors.txt b/tests/baselines/reference/aliasInaccessibleModule2.errors.txt new file mode 100644 index 00000000000..149410acb10 --- /dev/null +++ b/tests/baselines/reference/aliasInaccessibleModule2.errors.txt @@ -0,0 +1,12 @@ +==== tests/cases/compiler/aliasInaccessibleModule2.ts (1 errors) ==== + module M { + module N { + class C { + } + + } + import R = N; + ~~~~~~~~~~~~~ +!!! Import declaration 'R' is using private name 'N'. + export import X = R; + } \ No newline at end of file diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.errors.txt b/tests/baselines/reference/aliasUsageInAccessorsOfClass.errors.txt deleted file mode 100644 index 2fdccc7f49a..00000000000 --- a/tests/baselines/reference/aliasUsageInAccessorsOfClass.errors.txt +++ /dev/null @@ -1,30 +0,0 @@ -==== tests/cases/compiler/aliasUsage1_main.ts (2 errors) ==== - import Backbone = require("aliasUsage1_backbone"); - import moduleA = require("aliasUsage1_moduleA"); - interface IHasVisualizationModel { - VisualizationModel: typeof Backbone.Model; - } - class C2 { - x: IHasVisualizationModel; - get A() { - ~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return this.x; - } - set A(x) { - ~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - x = moduleA; - } - } -==== tests/cases/compiler/aliasUsage1_backbone.ts (0 errors) ==== - export class Model { - public someData: string; - } - -==== tests/cases/compiler/aliasUsage1_moduleA.ts (0 errors) ==== - import Backbone = require("aliasUsage1_backbone"); - export class VisualizationModel extends Backbone.Model { - // interesting stuff here - } - \ No newline at end of file diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.js b/tests/baselines/reference/aliasUsageInAccessorsOfClass.js new file mode 100644 index 00000000000..485aedc971d --- /dev/null +++ b/tests/baselines/reference/aliasUsageInAccessorsOfClass.js @@ -0,0 +1,69 @@ +//// [tests/cases/compiler/aliasUsageInAccessorsOfClass.ts] //// + +//// [aliasUsage1_backbone.ts] +export class Model { + public someData: string; +} + +//// [aliasUsage1_moduleA.ts] +import Backbone = require("aliasUsage1_backbone"); +export class VisualizationModel extends Backbone.Model { + // interesting stuff here +} + +//// [aliasUsage1_main.ts] +import Backbone = require("aliasUsage1_backbone"); +import moduleA = require("aliasUsage1_moduleA"); +interface IHasVisualizationModel { + VisualizationModel: typeof Backbone.Model; +} +class C2 { + x: IHasVisualizationModel; + get A() { + return this.x; + } + set A(x) { + x = moduleA; + } +} + +//// [aliasUsage1_backbone.js] +var Model = (function () { + function Model() { + } + return Model; +})(); +exports.Model = Model; +//// [aliasUsage1_moduleA.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +var Backbone = require("aliasUsage1_backbone"); +var VisualizationModel = (function (_super) { + __extends(VisualizationModel, _super); + function VisualizationModel() { + _super.apply(this, arguments); + } + return VisualizationModel; +})(Backbone.Model); +exports.VisualizationModel = VisualizationModel; +//// [aliasUsage1_main.js] +var moduleA = require("aliasUsage1_moduleA"); +var C2 = (function () { + function C2() { + } + Object.defineProperty(C2.prototype, "A", { + get: function () { + return this.x; + }, + set: function (x) { + x = moduleA; + }, + enumerable: true, + configurable: true + }); + return C2; +})(); diff --git a/tests/baselines/reference/arrayAssignmentTest1.errors.txt b/tests/baselines/reference/arrayAssignmentTest1.errors.txt index 0f1807e8b26..e14bacb3cb4 100644 --- a/tests/baselines/reference/arrayAssignmentTest1.errors.txt +++ b/tests/baselines/reference/arrayAssignmentTest1.errors.txt @@ -128,25 +128,25 @@ arr_any = f1; // should be an error - is ~~~~~~~ !!! Type '() => C1' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type '() => C1'. +!!! Property 'push' is missing in type '() => C1'. arr_any = o1; // should be an error - is ~~~~~~~ !!! Type '{ one: number; }' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type '{ one: number; }'. +!!! Property 'length' is missing in type '{ one: number; }'. arr_any = a1; // should be ok - is arr_any = c1; // should be an error - is ~~~~~~~ !!! Type 'C1' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type 'C1'. +!!! Property 'length' is missing in type 'C1'. arr_any = c2; // should be an error - is ~~~~~~~ !!! Type 'C2' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type 'C2'. +!!! Property 'length' is missing in type 'C2'. arr_any = c3; // should be an error - is ~~~~~~~ !!! Type 'C3' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type 'C3'. +!!! Property 'length' is missing in type 'C3'. arr_any = i1; // should be an error - is ~~~~~~~ !!! Type 'I1' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type 'I1'. \ No newline at end of file +!!! Property 'length' is missing in type 'I1'. \ No newline at end of file diff --git a/tests/baselines/reference/arrayAssignmentTest2.errors.txt b/tests/baselines/reference/arrayAssignmentTest2.errors.txt index fd3988ca4d8..5ecebfe392a 100644 --- a/tests/baselines/reference/arrayAssignmentTest2.errors.txt +++ b/tests/baselines/reference/arrayAssignmentTest2.errors.txt @@ -64,30 +64,30 @@ arr_any = f1; // should be an error - is ~~~~~~~ !!! Type '() => C1' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type '() => C1'. +!!! Property 'push' is missing in type '() => C1'. arr_any = function () { return null;} // should be an error - is ~~~~~~~ !!! Type '() => any' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type '() => any'. +!!! Property 'push' is missing in type '() => any'. arr_any = o1; // should be an error - is ~~~~~~~ !!! Type '{ one: number; }' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type '{ one: number; }'. +!!! Property 'length' is missing in type '{ one: number; }'. arr_any = a1; // should be ok - is arr_any = c1; // should be an error - is ~~~~~~~ !!! Type 'C1' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type 'C1'. +!!! Property 'length' is missing in type 'C1'. arr_any = c2; // should be an error - is ~~~~~~~ !!! Type 'C2' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type 'C2'. +!!! Property 'length' is missing in type 'C2'. arr_any = c3; // should be an error - is ~~~~~~~ !!! Type 'C3' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type 'C3'. +!!! Property 'length' is missing in type 'C3'. arr_any = i1; // should be an error - is ~~~~~~~ !!! Type 'I1' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type 'I1'. +!!! Property 'length' is missing in type 'I1'. \ No newline at end of file diff --git a/tests/baselines/reference/arrayAssignmentTest4.errors.txt b/tests/baselines/reference/arrayAssignmentTest4.errors.txt index ef56c1b528f..210e18dfe87 100644 --- a/tests/baselines/reference/arrayAssignmentTest4.errors.txt +++ b/tests/baselines/reference/arrayAssignmentTest4.errors.txt @@ -25,9 +25,9 @@ arr_any = function () { return null;} // should be an error - is ~~~~~~~ !!! Type '() => any' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type '() => any'. +!!! Property 'push' is missing in type '() => any'. arr_any = c3; // should be an error - is ~~~~~~~ !!! Type 'C3' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type 'C3'. +!!! Property 'length' is missing in type 'C3'. \ No newline at end of file diff --git a/tests/baselines/reference/arraySigChecking.errors.txt b/tests/baselines/reference/arraySigChecking.errors.txt index 7edce0be793..3cb48f7a4e9 100644 --- a/tests/baselines/reference/arraySigChecking.errors.txt +++ b/tests/baselines/reference/arraySigChecking.errors.txt @@ -30,7 +30,7 @@ !!! Type 'number[][]' is not assignable to type 'number[][][]': !!! Type 'number[]' is not assignable to type 'number[][]': !!! Type 'number' is not assignable to type 'number[]': -!!! Property 'concat' is missing in type 'Number'. +!!! Property 'length' is missing in type 'Number'. function isEmpty(l: { length: number }) { return l.length === 0; diff --git a/tests/baselines/reference/assignmentCompatability16.errors.txt b/tests/baselines/reference/assignmentCompatability16.errors.txt index 72ba13966ec..0e8b5b045a6 100644 --- a/tests/baselines/reference/assignmentCompatability16.errors.txt +++ b/tests/baselines/reference/assignmentCompatability16.errors.txt @@ -12,4 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ one: any[]; }': !!! Types of property 'one' are incompatible: !!! Type 'number' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type 'Number'. \ No newline at end of file +!!! Property 'length' is missing in type 'Number'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability17.errors.txt b/tests/baselines/reference/assignmentCompatability17.errors.txt index 0f2560609a8..ddf7bddabf8 100644 --- a/tests/baselines/reference/assignmentCompatability17.errors.txt +++ b/tests/baselines/reference/assignmentCompatability17.errors.txt @@ -12,4 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ two: any[]; }': !!! Types of property 'two' are incompatible: !!! Type 'string' is not assignable to type 'any[]': -!!! Property 'join' is missing in type 'String'. \ No newline at end of file +!!! Property 'push' is missing in type 'String'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability18.errors.txt b/tests/baselines/reference/assignmentCompatability18.errors.txt index 2e63e9c0024..26f5fa6ede1 100644 --- a/tests/baselines/reference/assignmentCompatability18.errors.txt +++ b/tests/baselines/reference/assignmentCompatability18.errors.txt @@ -12,4 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ one: number[]; }': !!! Types of property 'one' are incompatible: !!! Type 'number' is not assignable to type 'number[]': -!!! Property 'concat' is missing in type 'Number'. \ No newline at end of file +!!! Property 'length' is missing in type 'Number'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability19.errors.txt b/tests/baselines/reference/assignmentCompatability19.errors.txt index ce8beff52c8..cdfcf84aae9 100644 --- a/tests/baselines/reference/assignmentCompatability19.errors.txt +++ b/tests/baselines/reference/assignmentCompatability19.errors.txt @@ -12,7 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ two: number[]; }': !!! Types of property 'two' are incompatible: !!! Type 'string' is not assignable to type 'number[]': -!!! Types of property 'concat' are incompatible: -!!! Type '(...strings: string[]) => string' is not assignable to type '{ (...items: U[]): number[]; (...items: number[]): number[]; }': -!!! Types of parameters 'strings' and 'items' are incompatible: -!!! Type 'string' is not assignable to type 'number'. \ No newline at end of file +!!! Property 'push' is missing in type 'String'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability20.errors.txt b/tests/baselines/reference/assignmentCompatability20.errors.txt index 6a4cdd046b6..0a198da5523 100644 --- a/tests/baselines/reference/assignmentCompatability20.errors.txt +++ b/tests/baselines/reference/assignmentCompatability20.errors.txt @@ -12,4 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ one: string[]; }': !!! Types of property 'one' are incompatible: !!! Type 'number' is not assignable to type 'string[]': -!!! Property 'concat' is missing in type 'Number'. \ No newline at end of file +!!! Property 'length' is missing in type 'Number'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability21.errors.txt b/tests/baselines/reference/assignmentCompatability21.errors.txt index 9da82d08a61..e8785413e05 100644 --- a/tests/baselines/reference/assignmentCompatability21.errors.txt +++ b/tests/baselines/reference/assignmentCompatability21.errors.txt @@ -12,4 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ two: string[]; }': !!! Types of property 'two' are incompatible: !!! Type 'string' is not assignable to type 'string[]': -!!! Property 'join' is missing in type 'String'. \ No newline at end of file +!!! Property 'push' is missing in type 'String'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability22.errors.txt b/tests/baselines/reference/assignmentCompatability22.errors.txt index 1f707044005..6497d477102 100644 --- a/tests/baselines/reference/assignmentCompatability22.errors.txt +++ b/tests/baselines/reference/assignmentCompatability22.errors.txt @@ -12,4 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ one: boolean[]; }': !!! Types of property 'one' are incompatible: !!! Type 'number' is not assignable to type 'boolean[]': -!!! Property 'concat' is missing in type 'Number'. \ No newline at end of file +!!! Property 'length' is missing in type 'Number'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability23.errors.txt b/tests/baselines/reference/assignmentCompatability23.errors.txt index 31f58604289..88f13a2ffc2 100644 --- a/tests/baselines/reference/assignmentCompatability23.errors.txt +++ b/tests/baselines/reference/assignmentCompatability23.errors.txt @@ -12,7 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ two: boolean[]; }': !!! Types of property 'two' are incompatible: !!! Type 'string' is not assignable to type 'boolean[]': -!!! Types of property 'concat' are incompatible: -!!! Type '(...strings: string[]) => string' is not assignable to type '{ (...items: U[]): boolean[]; (...items: boolean[]): boolean[]; }': -!!! Types of parameters 'strings' and 'items' are incompatible: -!!! Type 'string' is not assignable to type 'boolean'. \ No newline at end of file +!!! Property 'push' is missing in type 'String'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability29.errors.txt b/tests/baselines/reference/assignmentCompatability29.errors.txt index 24b2287c57a..937d5112007 100644 --- a/tests/baselines/reference/assignmentCompatability29.errors.txt +++ b/tests/baselines/reference/assignmentCompatability29.errors.txt @@ -12,4 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ one: any[]; }': !!! Types of property 'one' are incompatible: !!! Type 'number' is not assignable to type 'any[]': -!!! Property 'concat' is missing in type 'Number'. \ No newline at end of file +!!! Property 'length' is missing in type 'Number'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability30.errors.txt b/tests/baselines/reference/assignmentCompatability30.errors.txt index 1f93bccf203..08a8b313d30 100644 --- a/tests/baselines/reference/assignmentCompatability30.errors.txt +++ b/tests/baselines/reference/assignmentCompatability30.errors.txt @@ -12,4 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ one: number[]; }': !!! Types of property 'one' are incompatible: !!! Type 'number' is not assignable to type 'number[]': -!!! Property 'concat' is missing in type 'Number'. \ No newline at end of file +!!! Property 'length' is missing in type 'Number'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability31.errors.txt b/tests/baselines/reference/assignmentCompatability31.errors.txt index 274ec67a142..c620198e2ac 100644 --- a/tests/baselines/reference/assignmentCompatability31.errors.txt +++ b/tests/baselines/reference/assignmentCompatability31.errors.txt @@ -12,4 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ one: string[]; }': !!! Types of property 'one' are incompatible: !!! Type 'number' is not assignable to type 'string[]': -!!! Property 'concat' is missing in type 'Number'. \ No newline at end of file +!!! Property 'length' is missing in type 'Number'. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability32.errors.txt b/tests/baselines/reference/assignmentCompatability32.errors.txt index 9f979a127c4..a20461b25bd 100644 --- a/tests/baselines/reference/assignmentCompatability32.errors.txt +++ b/tests/baselines/reference/assignmentCompatability32.errors.txt @@ -12,4 +12,4 @@ !!! Type 'interfaceWithPublicAndOptional' is not assignable to type '{ one: boolean[]; }': !!! Types of property 'one' are incompatible: !!! Type 'number' is not assignable to type 'boolean[]': -!!! Property 'concat' is missing in type 'Number'. \ No newline at end of file +!!! Property 'length' is missing in type 'Number'. \ No newline at end of file diff --git a/tests/baselines/reference/commentsClassMembers.js b/tests/baselines/reference/commentsClassMembers.js index 23360404b5e..999ba787bd9 100644 --- a/tests/baselines/reference/commentsClassMembers.js +++ b/tests/baselines/reference/commentsClassMembers.js @@ -487,11 +487,11 @@ declare var i1_ncf: (b: number) => number; declare var i1_ncr: number; declare var i1_ncprop: number; declare var i1_s_p: number; -declare var i1_s_f: (b: number) => number; +declare var i1_s_f: typeof c1.s2; declare var i1_s_r: number; declare var i1_s_prop: number; declare var i1_s_nc_p: number; -declare var i1_s_ncf: (b: number) => number; +declare var i1_s_ncf: typeof c1.nc_s2; declare var i1_s_ncr: number; declare var i1_s_ncprop: number; declare var i1_c: typeof c1; diff --git a/tests/baselines/reference/cyclicModuleImport.js b/tests/baselines/reference/cyclicModuleImport.js index 08f3c7d6147..1c9b74eea4f 100644 --- a/tests/baselines/reference/cyclicModuleImport.js +++ b/tests/baselines/reference/cyclicModuleImport.js @@ -20,3 +20,24 @@ declare module "MainModule" { //// [cyclicModuleImport.js] + + +//// [cyclicModuleImport.d.ts] +declare module "SubModule" { + import MainModule = require('MainModule'); + class SubModule { + static StaticVar: number; + InstanceVar: number; + main: MainModule; + constructor(); + } + export = SubModule; +} +declare module "MainModule" { + import SubModule = require('SubModule'); + class MainModule { + SubModule: SubModule; + constructor(); + } + export = MainModule; +} diff --git a/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.js b/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.js index 11740adf2c9..d8e729782f8 100644 --- a/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.js +++ b/tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.js @@ -27,28 +27,12 @@ exports.x; declare module "SubModule" { module m { module m3 { + interface c { + } } } } //// [declFileAmbientExternalModuleWithSingleExportedModule_1.d.ts] /// +import SubModule = require('SubModule'); export declare var x: SubModule.m.m3.c; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/declFileAmbientExternalModuleWithSingleExportedModule_1.d.ts (1 errors) ==== - /// - export declare var x: SubModule.m.m3.c; - ~~~~~~~~~~~~~~~~ -!!! Cannot find name 'SubModule'. - -==== tests/cases/compiler/declFileAmbientExternalModuleWithSingleExportedModule_0.d.ts (0 errors) ==== - declare module "SubModule" { - module m { - module m3 { - } - } - } - \ No newline at end of file diff --git a/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.js b/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.js index 37851569ad2..75968ed1794 100644 --- a/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.js +++ b/tests/baselines/reference/declFileExportAssignmentOfGenericInterface.js @@ -28,20 +28,5 @@ interface Foo { } export = Foo; //// [declFileExportAssignmentOfGenericInterface_1.d.ts] +import a = require('declFileExportAssignmentOfGenericInterface_0'); export declare var x: a>; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/declFileExportAssignmentOfGenericInterface_1.d.ts (1 errors) ==== - export declare var x: a>; - ~~~~~~~~~~~~ -!!! Cannot find name 'a'. - -==== tests/cases/compiler/declFileExportAssignmentOfGenericInterface_0.d.ts (0 errors) ==== - interface Foo { - a: string; - } - export = Foo; - \ No newline at end of file diff --git a/tests/baselines/reference/declFileExportImportChain.js b/tests/baselines/reference/declFileExportImportChain.js index b9cc3834a82..bac4bdadbda 100644 --- a/tests/baselines/reference/declFileExportImportChain.js +++ b/tests/baselines/reference/declFileExportImportChain.js @@ -74,33 +74,5 @@ export = b; //// [declFileExportImportChain_c.d.ts] export import b1 = require("declFileExportImportChain_b1"); //// [declFileExportImportChain_d.d.ts] -export declare var x: m1.m2.c1; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/declFileExportImportChain_d.d.ts (1 errors) ==== - export declare var x: m1.m2.c1; - ~~~~~~~~ -!!! Cannot find name 'm1'. - -==== tests/cases/compiler/declFileExportImportChain_a.d.ts (0 errors) ==== - declare module m1 { - module m2 { - class c1 { - } - } - } - export = m1; - -==== tests/cases/compiler/declFileExportImportChain_b.d.ts (0 errors) ==== - export import a = require("declFileExportImportChain_a"); - -==== tests/cases/compiler/declFileExportImportChain_b1.d.ts (0 errors) ==== - import b = require("declFileExportImportChain_b"); - export = b; - -==== tests/cases/compiler/declFileExportImportChain_c.d.ts (0 errors) ==== - export import b1 = require("declFileExportImportChain_b1"); - \ No newline at end of file +import c = require("declFileExportImportChain_c"); +export declare var x: c.b1.a.m2.c1; diff --git a/tests/baselines/reference/declFileExportImportChain2.js b/tests/baselines/reference/declFileExportImportChain2.js index 02b59139360..9a739056c3d 100644 --- a/tests/baselines/reference/declFileExportImportChain2.js +++ b/tests/baselines/reference/declFileExportImportChain2.js @@ -65,30 +65,5 @@ export = a; //// [declFileExportImportChain2_c.d.ts] export import b = require("declFileExportImportChain2_b"); //// [declFileExportImportChain2_d.d.ts] -export declare var x: m1.m2.c1; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/declFileExportImportChain2_d.d.ts (1 errors) ==== - export declare var x: m1.m2.c1; - ~~~~~~~~ -!!! Cannot find name 'm1'. - -==== tests/cases/compiler/declFileExportImportChain2_a.d.ts (0 errors) ==== - declare module m1 { - module m2 { - class c1 { - } - } - } - export = m1; - -==== tests/cases/compiler/declFileExportImportChain2_b.d.ts (0 errors) ==== - import a = require("declFileExportImportChain2_a"); - export = a; - -==== tests/cases/compiler/declFileExportImportChain2_c.d.ts (0 errors) ==== - export import b = require("declFileExportImportChain2_b"); - \ No newline at end of file +import c = require("declFileExportImportChain2_c"); +export declare var x: c.b.m2.c1; diff --git a/tests/baselines/reference/declFileGenericType.js b/tests/baselines/reference/declFileGenericType.js index 2be231c1381..815b8712f15 100644 --- a/tests/baselines/reference/declFileGenericType.js +++ b/tests/baselines/reference/declFileGenericType.js @@ -131,10 +131,10 @@ export declare module C { } } export declare var a: C.A; -export declare var b: (x: T) => C.A; -export declare var c: (x: T) => C.A; -export declare var d: (x: T) => C.A[]; -export declare var e: >(x: T) => C.A[]; +export declare var b: typeof C.F; +export declare var c: typeof C.F2; +export declare var d: typeof C.F3; +export declare var e: typeof C.F4; export declare var x: C.A; export declare function f>(): void; export declare var g: C.A; @@ -142,4 +142,4 @@ export declare class h extends C.A { } export interface i extends C.A { } -export declare var j: >(x: T) => T; +export declare var j: typeof C.F6; diff --git a/tests/baselines/reference/declFileGenericType2.js b/tests/baselines/reference/declFileGenericType2.js index 9e0578e0ef9..dd751feeaae 100644 --- a/tests/baselines/reference/declFileGenericType2.js +++ b/tests/baselines/reference/declFileGenericType2.js @@ -91,12 +91,21 @@ var templa; //// [declFileGenericType2.d.ts] declare module templa.mvc { + interface IModel { + } } declare module templa.mvc { + interface IController { + } } declare module templa.mvc { + class AbstractController implements IController { + } } declare module templa.mvc.composite { + interface ICompositeControllerModel extends IModel { + getControllers(): IController[]; + } } declare module templa.dom.mvc { interface IElementController extends templa.mvc.IController { @@ -113,45 +122,3 @@ declare module templa.dom.mvc.composite { constructor(); } } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/declFileGenericType2.d.ts (6 errors) ==== - declare module templa.mvc { - } - declare module templa.mvc { - } - declare module templa.mvc { - } - declare module templa.mvc.composite { - } - declare module templa.dom.mvc { - interface IElementController extends templa.mvc.IController { - ~~~~~~~~~~~~~~~~~ -!!! Module 'templa.mvc' has no exported member 'IModel'. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Module 'templa.mvc' has no exported member 'IController'. - } - } - declare module templa.dom.mvc { - class AbstractElementController extends templa.mvc.AbstractController implements IElementController { - ~~~~~~~~~~~~~~~~~ -!!! Module 'templa.mvc' has no exported member 'IModel'. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Module 'templa.mvc' has no exported member 'AbstractController'. - constructor(); - } - } - declare module templa.dom.mvc.composite { - class AbstractCompositeElementController extends AbstractElementController { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Module 'templa.mvc.composite' has no exported member 'ICompositeControllerModel'. - _controllers: templa.mvc.IController[]; - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Module 'templa.mvc' has no exported member 'IController'. - constructor(); - } - } - \ No newline at end of file diff --git a/tests/baselines/reference/declFileImportChainInExportAssignment.js b/tests/baselines/reference/declFileImportChainInExportAssignment.js new file mode 100644 index 00000000000..73d8ede215a --- /dev/null +++ b/tests/baselines/reference/declFileImportChainInExportAssignment.js @@ -0,0 +1,39 @@ +//// [declFileImportChainInExportAssignment.ts] +module m { + export module c { + export class c { + } + } +} +import a = m.c; +import b = a; +export = b; + +//// [declFileImportChainInExportAssignment.js] +var m; +(function (m) { + (function (_c) { + var c = (function () { + function c() { + } + return c; + })(); + _c.c = c; + })(m.c || (m.c = {})); + var c = m.c; +})(m || (m = {})); +var a = m.c; +var b = a; +module.exports = b; + + +//// [declFileImportChainInExportAssignment.d.ts] +declare module m { + module c { + class c { + } + } +} +import a = m.c; +import b = a; +export = b; diff --git a/tests/baselines/reference/declFileImportModuleWithExportAssignment.js b/tests/baselines/reference/declFileImportModuleWithExportAssignment.js index 3f695dcb895..c07ac176806 100644 --- a/tests/baselines/reference/declFileImportModuleWithExportAssignment.js +++ b/tests/baselines/reference/declFileImportModuleWithExportAssignment.js @@ -52,43 +52,9 @@ declare var m2: { }; export = m2; //// [declFileImportModuleWithExportAssignment_1.d.ts] +import a1 = require("declFileImportModuleWithExportAssignment_0"); export declare var a: { (): a1.connectExport; test1: a1.connectModule; test2(): a1.connectModule; }; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/declFileImportModuleWithExportAssignment_1.d.ts (3 errors) ==== - export declare var a: { - (): a1.connectExport; - ~~~~~~~~~~~~~~~~ -!!! Cannot find name 'a1'. - test1: a1.connectModule; - ~~~~~~~~~~~~~~~~ -!!! Cannot find name 'a1'. - test2(): a1.connectModule; - ~~~~~~~~~~~~~~~~ -!!! Cannot find name 'a1'. - }; - -==== tests/cases/compiler/declFileImportModuleWithExportAssignment_0.d.ts (0 errors) ==== - declare module m2 { - interface connectModule { - (res: any, req: any, next: any): void; - } - interface connectExport { - use: (mod: connectModule) => connectExport; - listen: (port: number) => void; - } - } - declare var m2: { - (): m2.connectExport; - test1: m2.connectModule; - test2(): m2.connectModule; - }; - export = m2; - \ No newline at end of file diff --git a/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.js b/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.js index 249b4a2874c..e12a921ffc2 100644 --- a/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.js +++ b/tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.js @@ -25,23 +25,10 @@ var List = (function () { declare class List { } declare module 'mod1' { + class Foo { + } } declare module 'moo' { + import x = require('mod1'); var p: List; } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/declFileImportedTypeUseInTypeArgPosition.d.ts (1 errors) ==== - declare class List { - } - declare module 'mod1' { - } - declare module 'moo' { - var p: List; - ~~~~~ -!!! Cannot find name 'x'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/declFileInternalAliases.js b/tests/baselines/reference/declFileInternalAliases.js index 8b35b3d80d3..c465644fcde 100644 --- a/tests/baselines/reference/declFileInternalAliases.js +++ b/tests/baselines/reference/declFileInternalAliases.js @@ -40,29 +40,10 @@ declare module m { } } declare module m1 { + import x = m.c; var d: x; } declare module m2 { export import x = m.c; var d: x; } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/declFileInternalAliases.d.ts (1 errors) ==== - declare module m { - class c { - } - } - declare module m1 { - var d: x; - ~ -!!! Cannot find name 'x'. - } - declare module m2 { - export import x = m.c; - var d: x; - } - \ No newline at end of file diff --git a/tests/baselines/reference/declFileTypeofFunction.js b/tests/baselines/reference/declFileTypeofFunction.js index 66517ca4a94..f488d418f6d 100644 --- a/tests/baselines/reference/declFileTypeofFunction.js +++ b/tests/baselines/reference/declFileTypeofFunction.js @@ -64,39 +64,15 @@ function foo5(x) { //// [declFileTypeofFunction.d.ts] -declare function f(n: { - (n: typeof f): string; - (n: { - (n: typeof g): number; - (n: typeof f): number; - }): string; -}): string; -declare function f(n: { - (n: typeof g): number; - (n: { - (n: typeof f): string; - (n: typeof g): string; - }): number; -}): string; -declare function g(n: { - (n: typeof g): number; - (n: { - (n: typeof f): string; - (n: typeof g): string; - }): number; -}): number; -declare function g(n: { - (n: typeof f): string; - (n: { - (n: typeof g): number; - (n: typeof f): number; - }): string; -}): number; +declare function f(n: typeof f): string; +declare function f(n: typeof g): string; +declare function g(n: typeof g): number; +declare function g(n: typeof f): number; declare var b: any; -declare function b1(): () => typeof b1; -declare function foo(): () => typeof foo; -declare var foo1: () => typeof foo; -declare var foo2: () => typeof foo; +declare function b1(): typeof b1; +declare function foo(): typeof foo; +declare var foo1: typeof foo; +declare var foo2: typeof foo; declare var foo3: any; declare var x: any; declare function foo5(x: number): (x: number) => number; diff --git a/tests/baselines/reference/declFileWithExtendsClauseThatHasItsContainerNameConflict.js b/tests/baselines/reference/declFileWithExtendsClauseThatHasItsContainerNameConflict.js index e0d582806dd..a96cc86cdf3 100644 --- a/tests/baselines/reference/declFileWithExtendsClauseThatHasItsContainerNameConflict.js +++ b/tests/baselines/reference/declFileWithExtendsClauseThatHasItsContainerNameConflict.js @@ -58,6 +58,8 @@ var A; //// [declFileWithExtendsClauseThatHasItsContainerNameConflict.d.ts] declare module A.B.C { + class B { + } } declare module A.B { class EventManager { diff --git a/tests/baselines/reference/declInput-2.errors.txt b/tests/baselines/reference/declInput-2.errors.txt new file mode 100644 index 00000000000..a987b7ac179 --- /dev/null +++ b/tests/baselines/reference/declInput-2.errors.txt @@ -0,0 +1,32 @@ +==== tests/cases/compiler/declInput-2.ts (5 errors) ==== + module M { + class C { } + export class E {} + export interface I1 {} + interface I2 {} + export class D { + private c: C; // don't generate + public m1: number; + public m2: string; + public m22: C; // don't generate + ~~~~~~~~~~~~~~ +!!! Public property 'm22' of exported class has or is using private name 'C'. + public m23: E; + public m24: I1; + public m25: I2; // don't generate + ~~~~~~~~~~~~~~~ +!!! Public property 'm25' of exported class has or is using private name 'I2'. + public m232(): E { return null;} + public m242(): I1 { return null; } + public m252(): I2 { return null; } // don't generate + ~~~~ +!!! Return type of public method from exported class has or is using private name 'I2'. + public m26(i:I1) {} + public m262(i:I2) {} + ~~~~ +!!! Parameter 'i' of public method from exported class has or is using private name 'I2'. + public m3():C { return new C(); } + ~~ +!!! Return type of public method from exported class has or is using private name 'C'. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/declInput-2.js b/tests/baselines/reference/declInput-2.js index a109d89165a..011167d9a35 100644 --- a/tests/baselines/reference/declInput-2.js +++ b/tests/baselines/reference/declInput-2.js @@ -58,65 +58,3 @@ var M; })(); M.D = D; })(M || (M = {})); - - -//// [declInput-2.d.ts] -declare module M { - class E { - } - interface I1 { - } - class D { - private c; - m1: number; - m2: string; - m22: C; - m23: E; - m24: I1; - m25: I2; - m232(): E; - m242(): I1; - m252(): I2; - m26(i: I1): void; - m262(i: I2): void; - m3(): C; - } -} - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/declInput-2.d.ts (5 errors) ==== - declare module M { - class E { - } - interface I1 { - } - class D { - private c; - m1: number; - m2: string; - m22: C; - ~ -!!! Cannot find name 'C'. - m23: E; - m24: I1; - m25: I2; - ~~ -!!! Cannot find name 'I2'. - m232(): E; - m242(): I1; - m252(): I2; - ~~ -!!! Cannot find name 'I2'. - m26(i: I1): void; - m262(i: I2): void; - ~~ -!!! Cannot find name 'I2'. - m3(): C; - ~ -!!! Cannot find name 'C'. - } - } - \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.js b/tests/baselines/reference/declarationEmit_nameConflicts.js index 0f34f789abc..941029774f4 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts.js +++ b/tests/baselines/reference/declarationEmit_nameConflicts.js @@ -28,7 +28,6 @@ export module M.P { export interface I { } } export import im = M.P.f; - // Bug 887180: Invalid .d.ts when an aliased entity is referenced, and a different entity is closer in scope export var a = M.a; // emitted incorrectly as typeof f export var b = M.b; // ok export var c = M.c; // ok @@ -145,6 +144,7 @@ declare module f { } export = f; //// [declarationEmit_nameConflicts_0.d.ts] +import im = require('declarationEmit_nameConflicts_1'); export declare module M { function f(): void; class C { @@ -169,10 +169,10 @@ export declare module M.P { } } export import im = M.P.f; - var a: () => void; + var a: typeof M.f; var b: typeof M.C; var c: typeof M.N; - var g: () => void; + var g: typeof M.c.g; var d: typeof M.d; } export declare module M.Q { @@ -186,74 +186,10 @@ export declare module M.Q { } interface b extends M.C { } - interface I extends M.N.I { + interface I extends M.c.I { } module c { - interface I extends M.N.I { + interface I extends M.c.I { } } } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/declarationEmit_nameConflicts_0.d.ts (1 errors) ==== - export declare module M { - function f(): void; - class C { - } - module N { - function g(): void; - interface I { - } - } - export import a = M.f; - export import b = M.C; - export import c = N; - export import d = im; - ~~~~~~~~~~~~~~~~~~~~~ -!!! Cannot find name 'im'. - } - export declare module M.P { - function f(): void; - class C { - } - module N { - function g(): void; - interface I { - } - } - export import im = M.P.f; - var a: () => void; - var b: typeof M.C; - var c: typeof M.N; - var g: () => void; - var d: typeof M.d; - } - export declare module M.Q { - function f(): void; - class C { - } - module N { - function g(): void; - interface I { - } - } - interface b extends M.C { - } - interface I extends M.N.I { - } - module c { - interface I extends M.N.I { - } - } - } - -==== tests/cases/compiler/declarationEmit_nameConflicts_1.d.ts (0 errors) ==== - declare module f { - class c { - } - } - export = f; - \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_nameConflicts2.js b/tests/baselines/reference/declarationEmit_nameConflicts2.js index bc8ba2f63e9..79d73add32d 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts2.js +++ b/tests/baselines/reference/declarationEmit_nameConflicts2.js @@ -9,7 +9,6 @@ module X.Y.base { } module X.Y.base.Z { - // Bug 887180 export var f = X.Y.base.f; // Should be base.f export var C = X.Y.base.C; // Should be base.C export var M = X.Y.base.M; // Should be base.M @@ -72,7 +71,7 @@ declare module X.Y.base { } } declare module X.Y.base.Z { - var f: () => void; + var f: typeof base.f; var C: typeof base.C; var M: typeof base.M; var E: typeof base.E; diff --git a/tests/baselines/reference/declarationEmit_nameConflicts3.js b/tests/baselines/reference/declarationEmit_nameConflicts3.js index cfec6264a77..daa5bac83d7 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts3.js +++ b/tests/baselines/reference/declarationEmit_nameConflicts3.js @@ -20,7 +20,6 @@ module M.P { export enum D { f } - // Bug 887180 export var v: M.D; // ok export var w = M.D.f; // error, should be typeof M.D.f export var x = M.C.f; // error, should be typeof M.C.f @@ -111,7 +110,7 @@ declare module M.P { f = 0, } var v: M.D; - var w: () => void; - var x: () => void; - var x: () => void; + var w: typeof M.D.f; + var x: typeof M.C.f; + var x: typeof M.C.f; } diff --git a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.js b/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.js index 72b2a9295f5..32ac2d47290 100644 --- a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.js +++ b/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.js @@ -1,5 +1,4 @@ //// [declarationEmit_nameConflictsWithAlias.ts] -// Bug 887180 export module C { export interface I { } } export import v = C; export module M { diff --git a/tests/baselines/reference/duplicateStringIndexers.errors.txt b/tests/baselines/reference/duplicateStringIndexers.errors.txt index d5a31bd238e..f4cfe243bd3 100644 --- a/tests/baselines/reference/duplicateStringIndexers.errors.txt +++ b/tests/baselines/reference/duplicateStringIndexers.errors.txt @@ -1,138 +1,47 @@ -==== tests/cases/conformance/types/members/duplicateStringIndexers.ts (52 errors) ==== +==== tests/cases/conformance/types/members/duplicateStringIndexers.ts (6 errors) ==== // it is an error to have duplicate index signatures of the same kind in a type - interface Number { - [x: string]: string; - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'toExponential' of type '(fractionDigits?: number) => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'toFixed' of type '(fractionDigits?: number) => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'toPrecision' of type '(precision?: number) => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'toString' of type '(radix?: number) => string' is not assignable to string index type 'string'. - [x: string]: string; - ~~~~~~~~~~~~~~~~~~~~ + module test { + interface Number { + [x: string]: string; + [x: string]: string; + ~~~~~~~~~~~~~~~~~~~~ !!! Duplicate string index signature. - } + } - interface String { - [x: string]: string; - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'charAt' of type '(pos: number) => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'charCodeAt' of type '(index: number) => number' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'concat' of type '(...strings: string[]) => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'indexOf' of type '(searchString: string, position?: number) => number' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'lastIndexOf' of type '(searchString: string, position?: number) => number' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'length' of type 'number' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'localeCompare' of type '(that: string) => number' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'match' of type '{ (regexp: string): string[]; (regexp: RegExp): string[]; }' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'replace' of type '{ (searchValue: string, replaceValue: string): string; (searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; (searchValue: RegExp, replaceValue: string): string; (searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; }' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'search' of type '{ (regexp: string): number; (regexp: RegExp): number; }' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'slice' of type '(start?: number, end?: number) => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'split' of type '{ (separator: string, limit?: number): string[]; (separator: RegExp, limit?: number): string[]; }' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'substr' of type '(from: number, length?: number) => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'substring' of type '(start: number, end?: number) => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'toLocaleLowerCase' of type '() => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'toLocaleUpperCase' of type '() => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'toLowerCase' of type '() => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'toString' of type '() => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'toUpperCase' of type '() => string' is not assignable to string index type 'string'. - ~~~~~~~~~~~~~~~~~~~~ -!!! Property 'trim' of type '() => string' is not assignable to string index type 'string'. - [x: string]: string; - ~~~~~~~~~~~~~~~~~~~~ + interface String { + [x: string]: string; + [x: string]: string; + ~~~~~~~~~~~~~~~~~~~~ !!! Duplicate string index signature. - } + } - interface Array { - [x: string]: T; - ~~~~~~~~~~~~~~~ -!!! Property 'concat' of type '{ (...items: U[]): T[]; (...items: T[]): T[]; }' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'every' of type '(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any) => boolean' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'filter' of type '(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any) => T[]' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'forEach' of type '(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any) => void' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'indexOf' of type '(searchElement: T, fromIndex?: number) => number' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'join' of type '(separator?: string) => string' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'lastIndexOf' of type '(searchElement: T, fromIndex?: number) => number' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'length' of type 'number' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'map' of type '(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[]' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'pop' of type '() => T' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'push' of type '(...items: T[]) => number' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'reduce' of type '{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'reduceRight' of type '{ (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; }' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'reverse' of type '() => T[]' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'shift' of type '() => T' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'slice' of type '(start?: number, end?: number) => T[]' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'some' of type '(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any) => boolean' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'sort' of type '(compareFn?: (a: T, b: T) => number) => T[]' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'splice' of type '{ (start: number): T[]; (start: number, deleteCount: number, ...items: T[]): T[]; }' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'toLocaleString' of type '() => string' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'toString' of type '() => string' is not assignable to string index type 'T'. - ~~~~~~~~~~~~~~~ -!!! Property 'unshift' of type '(...items: T[]) => number' is not assignable to string index type 'T'. - [x: string]: T; - ~~~~~~~~~~~~~~~ + interface Array { + [x: string]: T; + [x: string]: T; + ~~~~~~~~~~~~~~~ !!! Duplicate string index signature. - } + } - class C { - [x: string]: string; - [x: string]: string; - ~~~~~~~~~~~~~~~~~~~~ + class C { + [x: string]: string; + [x: string]: string; + ~~~~~~~~~~~~~~~~~~~~ !!! Duplicate string index signature. - } + } - interface I { - [x: string]: string; - [x: string]: string; - ~~~~~~~~~~~~~~~~~~~~ + interface I { + [x: string]: string; + [x: string]: string; + ~~~~~~~~~~~~~~~~~~~~ !!! Duplicate string index signature. - } + } - var a: { - [x: string]: string; - [x: string]: string; - ~~~~~~~~~~~~~~~~~~~~ + var a: { + [x: string]: string; + [x: string]: string; + ~~~~~~~~~~~~~~~~~~~~ !!! Duplicate string index signature. + } } - \ No newline at end of file diff --git a/tests/baselines/reference/duplicateStringIndexers.js b/tests/baselines/reference/duplicateStringIndexers.js index bace9c15228..6937530c576 100644 --- a/tests/baselines/reference/duplicateStringIndexers.js +++ b/tests/baselines/reference/duplicateStringIndexers.js @@ -1,42 +1,46 @@ //// [duplicateStringIndexers.ts] // it is an error to have duplicate index signatures of the same kind in a type -interface Number { - [x: string]: string; - [x: string]: string; -} +module test { + interface Number { + [x: string]: string; + [x: string]: string; + } -interface String { - [x: string]: string; - [x: string]: string; -} + interface String { + [x: string]: string; + [x: string]: string; + } -interface Array { - [x: string]: T; - [x: string]: T; -} + interface Array { + [x: string]: T; + [x: string]: T; + } -class C { - [x: string]: string; - [x: string]: string; -} + class C { + [x: string]: string; + [x: string]: string; + } -interface I { - [x: string]: string; - [x: string]: string; -} + interface I { + [x: string]: string; + [x: string]: string; + } -var a: { - [x: string]: string; - [x: string]: string; + var a: { + [x: string]: string; + [x: string]: string; + } } - //// [duplicateStringIndexers.js] -var C = (function () { - function C() { - } - return C; -})(); -var a; +var test; +(function (test) { + var C = (function () { + function C() { + } + return C; + })(); + var a; +})(test || (test = {})); diff --git a/tests/baselines/reference/enumAssignability.errors.txt b/tests/baselines/reference/enumAssignability.errors.txt index 4c6ecbc83dd..3a581b3cd1a 100644 --- a/tests/baselines/reference/enumAssignability.errors.txt +++ b/tests/baselines/reference/enumAssignability.errors.txt @@ -68,7 +68,7 @@ var m: number[] = e; ~ !!! Type 'E' is not assignable to type 'number[]': -!!! Property 'concat' is missing in type 'Number'. +!!! Property 'length' is missing in type 'Number'. var n: { foo: string } = e; ~ !!! Type 'E' is not assignable to type '{ foo: string; }': diff --git a/tests/baselines/reference/enumDecl1.js b/tests/baselines/reference/enumDecl1.js index f912586f28e..fb1c00a19a6 100644 --- a/tests/baselines/reference/enumDecl1.js +++ b/tests/baselines/reference/enumDecl1.js @@ -14,4 +14,9 @@ declare module mAmbient { //// [enumDecl1.d.ts] declare module mAmbient { + enum e { + x, + y, + z, + } } diff --git a/tests/baselines/reference/exportImport.js b/tests/baselines/reference/exportImport.js index 6c0e64f0710..6d8748516ae 100644 --- a/tests/baselines/reference/exportImport.js +++ b/tests/baselines/reference/exportImport.js @@ -46,23 +46,5 @@ declare class Widget1 { //// [exporter.d.ts] export import w = require('./w1'); //// [consumer.d.ts] -export declare function w(): Widget1; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/consumer.d.ts (1 errors) ==== - export declare function w(): Widget1; - ~~~~~~~ -!!! Cannot find name 'Widget1'. - -==== tests/cases/compiler/w1.d.ts (0 errors) ==== - export = Widget1; - declare class Widget1 { - name: string; - } - -==== tests/cases/compiler/exporter.d.ts (0 errors) ==== - export import w = require('./w1'); - \ No newline at end of file +import e = require('./exporter'); +export declare function w(): e.w; diff --git a/tests/baselines/reference/exportImportNonInstantiatedModule2.js b/tests/baselines/reference/exportImportNonInstantiatedModule2.js index 9aa343ee86b..2782a6f6f67 100644 --- a/tests/baselines/reference/exportImportNonInstantiatedModule2.js +++ b/tests/baselines/reference/exportImportNonInstantiatedModule2.js @@ -38,23 +38,5 @@ interface Widget1 { //// [exporter.d.ts] export import w = require('./w1'); //// [consumer.d.ts] -export declare function w(): Widget1; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/consumer.d.ts (1 errors) ==== - export declare function w(): Widget1; - ~~~~~~~ -!!! Cannot find name 'Widget1'. - -==== tests/cases/compiler/w1.d.ts (0 errors) ==== - export = Widget1; - interface Widget1 { - name: string; - } - -==== tests/cases/compiler/exporter.d.ts (0 errors) ==== - export import w = require('./w1'); - \ No newline at end of file +import e = require('./exporter'); +export declare function w(): e.w; diff --git a/tests/baselines/reference/funcdecl.js b/tests/baselines/reference/funcdecl.js index 40eb8dde17b..de080873b9f 100644 --- a/tests/baselines/reference/funcdecl.js +++ b/tests/baselines/reference/funcdecl.js @@ -134,29 +134,26 @@ var f2 = function () { //// [funcdecl.d.ts] declare function simpleFunc(): string; -declare var simpleFuncVar: () => string; +declare var simpleFuncVar: typeof simpleFunc; declare function anotherFuncNoReturn(): void; -declare var anotherFuncNoReturnVar: () => void; +declare var anotherFuncNoReturnVar: typeof anotherFuncNoReturn; declare function withReturn(): string; -declare var withReturnVar: () => string; +declare var withReturnVar: typeof withReturn; declare function withParams(a: string): string; -declare var withparamsVar: (a: string) => string; +declare var withparamsVar: typeof withParams; declare function withMultiParams(a: number, b: any, c: Object): number; -declare var withMultiParamsVar: (a: number, b: any, c: Object) => number; +declare var withMultiParamsVar: typeof withMultiParams; declare function withOptionalParams(a?: string): void; -declare var withOptionalParamsVar: (a?: string) => void; +declare var withOptionalParamsVar: typeof withOptionalParams; declare function withInitializedParams(a: string, b0: any, b?: number, c?: string): void; -declare var withInitializedParamsVar: (a: string, b0: any, b?: number, c?: string) => void; +declare var withInitializedParamsVar: typeof withInitializedParams; declare function withOptionalInitializedParams(a: string, c?: string): void; -declare var withOptionalInitializedParamsVar: (a: string, c?: string) => void; +declare var withOptionalInitializedParamsVar: typeof withOptionalInitializedParams; declare function withRestParams(a: string, ...myRestParameter: number[]): number[]; -declare var withRestParamsVar: (a: string, ...myRestParameter: number[]) => number[]; +declare var withRestParamsVar: typeof withRestParams; declare function overload1(n: number): string; declare function overload1(s: string): string; -declare var withOverloadSignature: { - (n: number): string; - (s: string): string; -}; +declare var withOverloadSignature: typeof overload1; declare function f(n: () => void): void; declare module m2 { function foo(n: () => void): void; diff --git a/tests/baselines/reference/functionExpressionReturningItself.js b/tests/baselines/reference/functionExpressionReturningItself.js index 63e8e9734d2..8553d2da867 100644 --- a/tests/baselines/reference/functionExpressionReturningItself.js +++ b/tests/baselines/reference/functionExpressionReturningItself.js @@ -8,14 +8,4 @@ var x = function somefn() { //// [functionExpressionReturningItself.d.ts] -declare var x: () => typeof somefn; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/functionExpressionReturningItself.d.ts (1 errors) ==== - declare var x: () => typeof somefn; - ~~~~~~ -!!! Cannot find name 'somefn'. - \ No newline at end of file +declare var x: () => any; diff --git a/tests/baselines/reference/functionReturningItself.js b/tests/baselines/reference/functionReturningItself.js index e50215a524b..7d161241899 100644 --- a/tests/baselines/reference/functionReturningItself.js +++ b/tests/baselines/reference/functionReturningItself.js @@ -10,4 +10,4 @@ function somefn() { //// [functionReturningItself.d.ts] -declare function somefn(): () => typeof somefn; +declare function somefn(): typeof somefn; diff --git a/tests/baselines/reference/genericArrayExtenstions.errors.txt b/tests/baselines/reference/genericArrayExtenstions.errors.txt index ff9836843c9..c13b637a392 100644 --- a/tests/baselines/reference/genericArrayExtenstions.errors.txt +++ b/tests/baselines/reference/genericArrayExtenstions.errors.txt @@ -4,7 +4,7 @@ !!! Cannot compile external modules unless the '--module' flag is provided. ~~~~~~~~~~~~~~~ !!! Class 'ObservableArray' incorrectly implements interface 'T[]': -!!! Property 'join' is missing in type 'ObservableArray'. +!!! Property 'length' is missing in type 'ObservableArray'. concat(...items: U[]): T[]; concat(...items: T[]): T[]; } diff --git a/tests/baselines/reference/importDecl.errors.txt b/tests/baselines/reference/importDecl.errors.txt deleted file mode 100644 index 2a43a4362c5..00000000000 --- a/tests/baselines/reference/importDecl.errors.txt +++ /dev/null @@ -1,83 +0,0 @@ -==== tests/cases/compiler/importDecl_1.ts (1 errors) ==== - /// - /// - /// - /// - /// - import m4 = require("importDecl_require"); // Emit used - export var x4 = m4.x; - export var d4 = m4.d; - export var f4 = m4.foo(); - - export module m1 { - export var x2 = m4.x; - export var d2 = m4.d; - export var f2 = m4.foo(); - - var x3 = m4.x; - var d3 = m4.d; - var f3 = m4.foo(); - } - - //Emit global only usage - import glo_m4 = require("importDecl_require1"); - export var useGlo_m4_x4 = glo_m4.x; - ~ -!!! Property 'x' does not exist on type 'typeof "tests/cases/compiler/importDecl_require1"'. - export var useGlo_m4_d4 = glo_m4.d; - export var useGlo_m4_f4 = glo_m4.foo(); - - //Emit even when used just in function type - import fncOnly_m4 = require("importDecl_require2"); - export var useFncOnly_m4_f4 = fncOnly_m4.foo(); - - // only used privately no need to emit - import private_m4 = require("importDecl_require3"); - export module usePrivate_m4_m1 { - var x3 = private_m4.x; - var d3 = private_m4.d; - var f3 = private_m4.foo(); - } - - // Do not emit unused import - import m5 = require("importDecl_require4"); - export var d = m5.foo2(); - - // Do not emit multiple used import statements - import multiImport_m4 = require("importDecl_require"); // Emit used - export var useMultiImport_m4_x4 = multiImport_m4.x; - export var useMultiImport_m4_d4 = multiImport_m4.d; - export var useMultiImport_m4_f4 = multiImport_m4.foo(); - -==== tests/cases/compiler/importDecl_require.ts (0 errors) ==== - export class d { - foo: string; - } - export var x: d; - export function foo(): d { return null; } - -==== tests/cases/compiler/importDecl_require1.ts (0 errors) ==== - export class d { - bar: string; - } - var x: d; - export function foo(): d { return null; } - -==== tests/cases/compiler/importDecl_require2.ts (0 errors) ==== - export class d { - baz: string; - } - export var x: d; - export function foo(): d { return null; } - -==== tests/cases/compiler/importDecl_require3.ts (0 errors) ==== - export class d { - bing: string; - } - export var x: d; - export function foo(): d { return null; } - -==== tests/cases/compiler/importDecl_require4.ts (0 errors) ==== - import m4 = require("importDecl_require"); - export function foo2(): m4.d { return null; } - \ No newline at end of file diff --git a/tests/baselines/reference/importDecl.js b/tests/baselines/reference/importDecl.js index b8ded724909..b6c9715df64 100644 --- a/tests/baselines/reference/importDecl.js +++ b/tests/baselines/reference/importDecl.js @@ -55,7 +55,6 @@ export module m1 { //Emit global only usage import glo_m4 = require("importDecl_require1"); -export var useGlo_m4_x4 = glo_m4.x; export var useGlo_m4_d4 = glo_m4.d; export var useGlo_m4_f4 = glo_m4.foo(); @@ -150,7 +149,6 @@ exports.f4 = m4.foo(); })(exports.m1 || (exports.m1 = {})); var m1 = exports.m1; var glo_m4 = require("importDecl_require1"); -exports.useGlo_m4_x4 = glo_m4.x; exports.useGlo_m4_d4 = glo_m4.d; exports.useGlo_m4_f4 = glo_m4.foo(); var fncOnly_m4 = require("importDecl_require2"); @@ -168,3 +166,57 @@ var multiImport_m4 = require("importDecl_require"); exports.useMultiImport_m4_x4 = multiImport_m4.x; exports.useMultiImport_m4_d4 = multiImport_m4.d; exports.useMultiImport_m4_f4 = multiImport_m4.foo(); + + +//// [importDecl_require.d.ts] +export declare class d { + foo: string; +} +export declare var x: d; +export declare function foo(): d; +//// [importDecl_require1.d.ts] +export declare class d { + bar: string; +} +export declare function foo(): d; +//// [importDecl_require2.d.ts] +export declare class d { + baz: string; +} +export declare var x: d; +export declare function foo(): d; +//// [importDecl_require3.d.ts] +export declare class d { + bing: string; +} +export declare var x: d; +export declare function foo(): d; +//// [importDecl_require4.d.ts] +import m4 = require("importDecl_require"); +export declare function foo2(): m4.d; +//// [importDecl_1.d.ts] +/// +/// +/// +/// +/// +import m4 = require("importDecl_require"); +export declare var x4: m4.d; +export declare var d4: typeof m4.d; +export declare var f4: m4.d; +export declare module m1 { + var x2: m4.d; + var d2: typeof m4.d; + var f2: m4.d; +} +import glo_m4 = require("importDecl_require1"); +export declare var useGlo_m4_d4: typeof glo_m4.d; +export declare var useGlo_m4_f4: glo_m4.d; +import fncOnly_m4 = require("importDecl_require2"); +export declare var useFncOnly_m4_f4: fncOnly_m4.d; +export declare module usePrivate_m4_m1 { +} +export declare var d: m4.d; +export declare var useMultiImport_m4_x4: m4.d; +export declare var useMultiImport_m4_d4: typeof m4.d; +export declare var useMultiImport_m4_f4: m4.d; diff --git a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js index f7b470ba411..9c6ca20eb06 100644 --- a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js +++ b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js @@ -28,20 +28,5 @@ export declare class B { } //// [importDeclarationUsedAsTypeQuery_1.d.ts] /// +import a = require('importDeclarationUsedAsTypeQuery_require'); export declare var x: typeof a; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/importDeclarationUsedAsTypeQuery_1.d.ts (1 errors) ==== - /// - export declare var x: typeof a; - ~ -!!! Cannot find name 'a'. - -==== tests/cases/compiler/importDeclarationUsedAsTypeQuery_require.d.ts (0 errors) ==== - export declare class B { - id: number; - } - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasClass.js b/tests/baselines/reference/internalAliasClass.js index 0e4cb3f4ed5..6361d7fdf99 100644 --- a/tests/baselines/reference/internalAliasClass.js +++ b/tests/baselines/reference/internalAliasClass.js @@ -32,21 +32,6 @@ declare module a { } } declare module c { + import b = a.c; var x: b; } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasClass.d.ts (1 errors) ==== - declare module a { - class c { - } - } - declare module c { - var x: b; - ~ -!!! Cannot find name 'b'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.js b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.js index 5b896ddd7ac..911800e0c69 100644 --- a/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.js @@ -47,25 +47,7 @@ export declare module x { } export declare module m2 { module m3 { + import c = x.c; var cProp: c; } } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasClassInsideLocalModuleWithoutExport.d.ts (1 errors) ==== - export declare module x { - class c { - foo(a: number): number; - } - } - export declare module m2 { - module m3 { - var cProp: c; - ~ -!!! Cannot find name 'c'. - } - } - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.js b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.js index de756dd7434..21b96842e17 100644 --- a/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.js @@ -35,19 +35,5 @@ export declare module x { foo(a: number): number; } } +import xc = x.c; export declare var cProp: xc; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasClassInsideTopLevelModuleWithoutExport.d.ts (1 errors) ==== - export declare module x { - class c { - foo(a: number): number; - } - } - export declare var cProp: xc; - ~~ -!!! Cannot find name 'xc'. - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasEnum.js b/tests/baselines/reference/internalAliasEnum.js index 55331cc6cf9..b5c68ea5c16 100644 --- a/tests/baselines/reference/internalAliasEnum.js +++ b/tests/baselines/reference/internalAliasEnum.js @@ -39,24 +39,6 @@ declare module a { } } declare module c { + import b = a.weekend; var bVal: b; } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasEnum.d.ts (1 errors) ==== - declare module a { - enum weekend { - Friday = 0, - Saturday = 1, - Sunday = 2, - } - } - declare module c { - var bVal: b; - ~ -!!! Cannot find name 'b'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.js b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.js index 3767e38310e..b4b4730eb28 100644 --- a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.js @@ -39,24 +39,6 @@ export declare module a { } } export declare module c { + import b = a.weekend; var bVal: b; } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasEnumInsideLocalModuleWithoutExport.d.ts (1 errors) ==== - export declare module a { - enum weekend { - Friday = 0, - Saturday = 1, - Sunday = 2, - } - } - export declare module c { - var bVal: b; - ~ -!!! Cannot find name 'b'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.js b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.js index 0299b2d4a4d..762bc0a343a 100644 --- a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.js @@ -35,21 +35,5 @@ export declare module a { Sunday = 2, } } +import b = a.weekend; export declare var bVal: b; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasEnumInsideTopLevelModuleWithoutExport.d.ts (1 errors) ==== - export declare module a { - enum weekend { - Friday = 0, - Saturday = 1, - Sunday = 2, - } - } - export declare var bVal: b; - ~ -!!! Cannot find name 'b'. - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasFunction.js b/tests/baselines/reference/internalAliasFunction.js index e46526f1f8b..3930c6cb801 100644 --- a/tests/baselines/reference/internalAliasFunction.js +++ b/tests/baselines/reference/internalAliasFunction.js @@ -33,6 +33,7 @@ declare module a { function foo(x: number): number; } declare module c { + import b = a.foo; var bVal: number; - var bVal2: (x: number) => number; + var bVal2: typeof b; } diff --git a/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithExport.js b/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithExport.js index a0a61453735..eb758b913e6 100644 --- a/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithExport.js +++ b/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithExport.js @@ -35,5 +35,5 @@ export declare module a { export declare module c { export import b = a.foo; var bVal: number; - var bVal2: (x: number) => number; + var bVal2: typeof b; } diff --git a/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithoutExport.js b/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithoutExport.js index 113396205ba..0423a587e84 100644 --- a/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithoutExport.js @@ -33,5 +33,6 @@ export declare module a { function foo(x: number): number; } export declare module c { - var bVal2: (x: number) => number; + import b = a.foo; + var bVal2: typeof b; } diff --git a/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithExport.js b/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithExport.js index 1213bbbbe26..7fe09d1e02b 100644 --- a/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithExport.js +++ b/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithExport.js @@ -31,4 +31,4 @@ export declare module a { } export import b = a.foo; export declare var bVal: number; -export declare var bVal2: (x: number) => number; +export declare var bVal2: typeof b; diff --git a/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithoutExport.js b/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithoutExport.js index af546a20b5b..c049bfcf858 100644 --- a/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithoutExport.js @@ -27,5 +27,6 @@ exports.bVal2 = b; export declare module a { function foo(x: number): number; } +import b = a.foo; export declare var bVal: number; -export declare var bVal2: (x: number) => number; +export declare var bVal2: typeof b; diff --git a/tests/baselines/reference/internalAliasInitializedModule.js b/tests/baselines/reference/internalAliasInitializedModule.js index 110d64e7388..9e97ba637d0 100644 --- a/tests/baselines/reference/internalAliasInitializedModule.js +++ b/tests/baselines/reference/internalAliasInitializedModule.js @@ -39,23 +39,6 @@ declare module a { } } declare module c { + import b = a.b; var x: b.c; } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasInitializedModule.d.ts (1 errors) ==== - declare module a { - module b { - class c { - } - } - } - declare module c { - var x: b.c; - ~~~ -!!! Cannot find name 'b'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.js b/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.js index 57320ccdbbd..79cbcbac448 100644 --- a/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.js @@ -39,23 +39,6 @@ export declare module a { } } export declare module c { + import b = a.b; var x: b.c; } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasInitializedModuleInsideLocalModuleWithoutExport.d.ts (1 errors) ==== - export declare module a { - module b { - class c { - } - } - } - export declare module c { - var x: b.c; - ~~~ -!!! Cannot find name 'b'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.js b/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.js index 4983a0787fa..c066c10298e 100644 --- a/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.js @@ -35,20 +35,5 @@ export declare module a { } } } +import b = a.b; export declare var x: b.c; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.d.ts (1 errors) ==== - export declare module a { - module b { - class c { - } - } - } - export declare var x: b.c; - ~~~ -!!! Cannot find name 'b'. - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasInterface.js b/tests/baselines/reference/internalAliasInterface.js index a3a1f72302c..d2006caf24c 100644 --- a/tests/baselines/reference/internalAliasInterface.js +++ b/tests/baselines/reference/internalAliasInterface.js @@ -23,21 +23,6 @@ declare module a { } } declare module c { + import b = a.I; var x: b; } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasInterface.d.ts (1 errors) ==== - declare module a { - interface I { - } - } - declare module c { - var x: b; - ~ -!!! Cannot find name 'b'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.js b/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.js index 3dec9ea9bc6..04a3bfa25c1 100644 --- a/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.js @@ -25,21 +25,6 @@ export declare module a { } } export declare module c { + import b = a.I; var x: b; } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasInterfaceInsideLocalModuleWithoutExport.d.ts (1 errors) ==== - export declare module a { - interface I { - } - } - export declare module c { - var x: b; - ~ -!!! Cannot find name 'b'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.js b/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.js index b96abee595d..bd1a83fdd85 100644 --- a/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.js @@ -19,18 +19,5 @@ export declare module a { interface I { } } +import b = a.I; export declare var x: b; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasInterfaceInsideTopLevelModuleWithoutExport.d.ts (1 errors) ==== - export declare module a { - interface I { - } - } - export declare var x: b; - ~ -!!! Cannot find name 'b'. - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasUninitializedModule.js b/tests/baselines/reference/internalAliasUninitializedModule.js index 827868d1c37..ee62a10c1ca 100644 --- a/tests/baselines/reference/internalAliasUninitializedModule.js +++ b/tests/baselines/reference/internalAliasUninitializedModule.js @@ -30,24 +30,6 @@ declare module a { } } declare module c { + import b = a.b; var x: b.I; } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasUninitializedModule.d.ts (1 errors) ==== - declare module a { - module b { - interface I { - foo(): any; - } - } - } - declare module c { - var x: b.I; - ~~~ -!!! Cannot find name 'b'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.js b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.js index 415d4d2b4eb..13c4ef61689 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.js @@ -30,24 +30,6 @@ export declare module a { } } export declare module c { + import b = a.b; var x: b.I; } - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.d.ts (1 errors) ==== - export declare module a { - module b { - interface I { - foo(): any; - } - } - } - export declare module c { - var x: b.I; - ~~~ -!!! Cannot find name 'b'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.js b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.js index c89df290f44..3f626fd37ac 100644 --- a/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.js +++ b/tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.js @@ -25,21 +25,5 @@ export declare module a { } } } +import b = a.b; export declare var x: b.I; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.d.ts (1 errors) ==== - export declare module a { - module b { - interface I { - foo(): any; - } - } - } - export declare var x: b.I; - ~~~ -!!! Cannot find name 'b'. - \ No newline at end of file diff --git a/tests/baselines/reference/internalAliasWithDottedNameEmit.js b/tests/baselines/reference/internalAliasWithDottedNameEmit.js index d70da1ba16c..d6a4cfcfff7 100644 --- a/tests/baselines/reference/internalAliasWithDottedNameEmit.js +++ b/tests/baselines/reference/internalAliasWithDottedNameEmit.js @@ -18,3 +18,11 @@ var a; })(a.b || (a.b = {})); var b = a.b; })(a || (a = {})); + + +//// [internalAliasWithDottedNameEmit.d.ts] +declare module a.b.c { + var d: any; +} +declare module a.e.f { +} diff --git a/tests/baselines/reference/missingImportAfterModuleImport.js b/tests/baselines/reference/missingImportAfterModuleImport.js index 842aae0884e..29e3ba3929a 100644 --- a/tests/baselines/reference/missingImportAfterModuleImport.js +++ b/tests/baselines/reference/missingImportAfterModuleImport.js @@ -44,33 +44,9 @@ declare module "SubModule" { } //// [missingImportAfterModuleImport_1.d.ts] /// +import SubModule = require('SubModule'); declare class MainModule { SubModule: SubModule; constructor(); } export = MainModule; - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/missingImportAfterModuleImport_1.d.ts (1 errors) ==== - /// - declare class MainModule { - SubModule: SubModule; - ~~~~~~~~~ -!!! Cannot find name 'SubModule'. - constructor(); - } - export = MainModule; - -==== tests/cases/compiler/missingImportAfterModuleImport_0.d.ts (0 errors) ==== - declare module "SubModule" { - class SubModule { - static StaticVar: number; - InstanceVar: number; - constructor(); - } - export = SubModule; - } - \ No newline at end of file diff --git a/tests/baselines/reference/moduleOuterQualification.js b/tests/baselines/reference/moduleOuterQualification.js index e5c22402625..83c79703f99 100644 --- a/tests/baselines/reference/moduleOuterQualification.js +++ b/tests/baselines/reference/moduleOuterQualification.js @@ -14,4 +14,10 @@ declare module outer { //// [moduleOuterQualification.d.ts] declare module outer { + interface Beta { + } + module inner { + interface Beta extends outer.Beta { + } + } } diff --git a/tests/baselines/reference/multiImportExport.errors.txt b/tests/baselines/reference/multiImportExport.errors.txt deleted file mode 100644 index 6237131d641..00000000000 --- a/tests/baselines/reference/multiImportExport.errors.txt +++ /dev/null @@ -1,26 +0,0 @@ -==== tests/cases/compiler/consumer.ts (0 errors) ==== - import Drawing = require('./Drawing'); - var addr = new Drawing.Math.Adder(); - -==== tests/cases/compiler/Drawing.ts (0 errors) ==== - export import Math = require('Math/Math') - -==== tests/cases/compiler/Math/Math.ts (0 errors) ==== - import Adder = require('Math/Adder'); - - var Math = { - Adder:Adder - }; - - export = Math - -==== tests/cases/compiler/Math/Adder.ts (1 errors) ==== - class Adder { - add(a: number, b: number) { - - } - } - - export = Adder; - ~~~~~~~~~~~~~~~ -!!! Cannot compile external modules unless the '--module' flag is provided. \ No newline at end of file diff --git a/tests/baselines/reference/multiImportExport.js b/tests/baselines/reference/multiImportExport.js new file mode 100644 index 00000000000..06d81f7e984 --- /dev/null +++ b/tests/baselines/reference/multiImportExport.js @@ -0,0 +1,63 @@ +//// [tests/cases/compiler/multiImportExport.ts] //// + +//// [consumer.ts] +import Drawing = require('./Drawing'); +var addr = new Drawing.Math.Adder(); + +//// [Drawing.ts] +export import Math = require('Math/Math') + +//// [Math.ts] +import Adder = require('Math/Adder'); + +var Math = { + Adder:Adder +}; + +export = Math + +//// [Adder.ts] +class Adder { + add(a: number, b: number) { + + } +} + +export = Adder; + +//// [Adder.js] +var Adder = (function () { + function Adder() { + } + Adder.prototype.add = function (a, b) { + }; + return Adder; +})(); +module.exports = Adder; +//// [Math.js] +var Adder = require('Math/Adder'); +var Math = { + Adder: Adder +}; +module.exports = Math; +//// [Drawing.js] +exports.Math = require('Math/Math'); +//// [consumer.js] +var Drawing = require('./Drawing'); +var addr = new Drawing.Math.Adder(); + + +//// [Adder.d.ts] +declare class Adder { + add(a: number, b: number): void; +} +export = Adder; +//// [Math.d.ts] +import Adder = require('Math/Adder'); +declare var Math: { + Adder: typeof Adder; +}; +export = Math; +//// [Drawing.d.ts] +export import Math = require('Math/Math'); +//// [consumer.d.ts] diff --git a/tests/baselines/reference/privacyAccessorDeclFile.errors.txt b/tests/baselines/reference/privacyAccessorDeclFile.errors.txt new file mode 100644 index 00000000000..713f1807251 --- /dev/null +++ b/tests/baselines/reference/privacyAccessorDeclFile.errors.txt @@ -0,0 +1,1130 @@ +==== tests/cases/compiler/privacyAccessorDeclFile_externalModule.ts (24 errors) ==== + + class privateClass { + } + + export class publicClass { + } + + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using private name 'privateClass'. + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using private name 'privateClass'. + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicStaticMethod' of public property setter from exported class has or is using private name 'privateClass'. + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicMethod' of public property setter from exported class has or is using private name 'privateClass'. + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + get myPublicMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + static get myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + get myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicStaticMethod' of public property setter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + set myPublicMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicMethod' of public property setter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + + export module publicModule { + class privateClass { + } + + export class publicClass { + } + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using private name 'privateClass'. + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using private name 'privateClass'. + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicStaticMethod' of public property setter from exported class has or is using private name 'privateClass'. + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicMethod' of public property setter from exported class has or is using private name 'privateClass'. + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + get myPublicMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + static get myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + get myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicStaticMethod' of public property setter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + set myPublicMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicMethod' of public property setter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + } + +==== tests/cases/compiler/privacyAccessorDeclFile_GlobalFile.ts (12 errors) ==== + class publicClassInGlobal { + } + + class publicClassInGlobalWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClassInGlobal { + return null; + } + private static get myPrivateStaticMethod(): publicClassInGlobal { + return null; + } + get myPublicMethod(): publicClassInGlobal { + return null; + } + private get myPrivateMethod(): publicClassInGlobal { + return null; + } + static get myPublicStaticMethod1() { + return new publicClassInGlobal(); + } + private static get myPrivateStaticMethod1() { + return new publicClassInGlobal(); + } + get myPublicMethod1() { + return new publicClassInGlobal(); + } + private get myPrivateMethod1() { + return new publicClassInGlobal(); + } + } + + class publicClassInGlobalWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClassInGlobal) { + } + private static set myPrivateStaticMethod(param: publicClassInGlobal) { + } + set myPublicMethod(param: publicClassInGlobal) { + } + private set myPrivateMethod(param: publicClassInGlobal) { + } + } + + module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + } + + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using private name 'privateClass'. + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using private name 'privateClass'. + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicStaticMethod' of public property setter from exported class has or is using private name 'privateClass'. + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicMethod' of public property setter from exported class has or is using private name 'privateClass'. + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + get myPublicMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + static get myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + get myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicStaticMethod' of public property setter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + set myPublicMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'myPublicMethod' of public property setter from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/privacyAccessorDeclFile.js b/tests/baselines/reference/privacyAccessorDeclFile.js new file mode 100644 index 00000000000..9744e4ef220 --- /dev/null +++ b/tests/baselines/reference/privacyAccessorDeclFile.js @@ -0,0 +1,3555 @@ +//// [tests/cases/compiler/privacyAccessorDeclFile.ts] //// + +//// [privacyAccessorDeclFile_externalModule.ts] + +class privateClass { +} + +export class publicClass { +} + +export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { // Error + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { // Error + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { // Error + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } +} + +export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } +} + +class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } +} + +class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } +} + +export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { // Error + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { // Error + } + private set myPrivateMethod(param: privateClass) { + } +} + +export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } +} + +class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } +} + +class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } +} + +export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + get myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + get myPublicMethod1() { // Error + return new privateModule.publicClass(); + } +} + +export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + set myPublicMethod(param: privateModule.publicClass) { // Error + } +} + +class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } +} + +class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } +} + +export module publicModule { + class privateClass { + } + + export class publicClass { + } + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { // Error + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { // Error + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { // Error + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { // Error + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { // Error + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + get myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + get myPublicMethod1() { // Error + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + set myPublicMethod(param: privateModule.publicClass) { // Error + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } +} + +module privateModule { + class privateClass { + } + + export class publicClass { + } + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } +} + +//// [privacyAccessorDeclFile_GlobalFile.ts] +class publicClassInGlobal { +} + +class publicClassInGlobalWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClassInGlobal { + return null; + } + private static get myPrivateStaticMethod(): publicClassInGlobal { + return null; + } + get myPublicMethod(): publicClassInGlobal { + return null; + } + private get myPrivateMethod(): publicClassInGlobal { + return null; + } + static get myPublicStaticMethod1() { + return new publicClassInGlobal(); + } + private static get myPrivateStaticMethod1() { + return new publicClassInGlobal(); + } + get myPublicMethod1() { + return new publicClassInGlobal(); + } + private get myPrivateMethod1() { + return new publicClassInGlobal(); + } +} + +class publicClassInGlobalWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClassInGlobal) { + } + private static set myPrivateStaticMethod(param: publicClassInGlobal) { + } + set myPublicMethod(param: publicClassInGlobal) { + } + private set myPrivateMethod(param: publicClassInGlobal) { + } +} + +module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + } + + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { // Error + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { // Error + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { // Error + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { // Error + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { // Error + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + get myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + get myPublicMethod1() { // Error + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + set myPublicMethod(param: privateModule.publicClass) { // Error + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } +} + +//// [privacyAccessorDeclFile_externalModule.js] +var privateClass = (function () { + function privateClass() { + } + return privateClass; +})(); +var publicClass = (function () { + function publicClass() { + } + return publicClass; +})(); +exports.publicClass = publicClass; +var publicClassWithWithPrivateGetAccessorTypes = (function () { + function publicClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPrivateGetAccessorTypes; +})(); +exports.publicClassWithWithPrivateGetAccessorTypes = publicClassWithWithPrivateGetAccessorTypes; +var publicClassWithWithPublicGetAccessorTypes = (function () { + function publicClassWithWithPublicGetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPublicGetAccessorTypes; +})(); +exports.publicClassWithWithPublicGetAccessorTypes = publicClassWithWithPublicGetAccessorTypes; +var privateClassWithWithPrivateGetAccessorTypes = (function () { + function privateClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPrivateGetAccessorTypes; +})(); +var privateClassWithWithPublicGetAccessorTypes = (function () { + function privateClassWithWithPublicGetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPublicGetAccessorTypes; +})(); +var publicClassWithWithPrivateSetAccessorTypes = (function () { + function publicClassWithWithPrivateSetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPrivateSetAccessorTypes; +})(); +exports.publicClassWithWithPrivateSetAccessorTypes = publicClassWithWithPrivateSetAccessorTypes; +var publicClassWithWithPublicSetAccessorTypes = (function () { + function publicClassWithWithPublicSetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPublicSetAccessorTypes; +})(); +exports.publicClassWithWithPublicSetAccessorTypes = publicClassWithWithPublicSetAccessorTypes; +var privateClassWithWithPrivateSetAccessorTypes = (function () { + function privateClassWithWithPrivateSetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPrivateSetAccessorTypes; +})(); +var privateClassWithWithPublicSetAccessorTypes = (function () { + function privateClassWithWithPublicSetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPublicSetAccessorTypes; +})(); +var publicClassWithPrivateModuleGetAccessorTypes = (function () { + function publicClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithPrivateModuleGetAccessorTypes; +})(); +exports.publicClassWithPrivateModuleGetAccessorTypes = publicClassWithPrivateModuleGetAccessorTypes; +var publicClassWithPrivateModuleSetAccessorTypes = (function () { + function publicClassWithPrivateModuleSetAccessorTypes() { + } + Object.defineProperty(publicClassWithPrivateModuleSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithPrivateModuleSetAccessorTypes; +})(); +exports.publicClassWithPrivateModuleSetAccessorTypes = publicClassWithPrivateModuleSetAccessorTypes; +var privateClassWithPrivateModuleGetAccessorTypes = (function () { + function privateClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithPrivateModuleGetAccessorTypes; +})(); +var privateClassWithPrivateModuleSetAccessorTypes = (function () { + function privateClassWithPrivateModuleSetAccessorTypes() { + } + Object.defineProperty(privateClassWithPrivateModuleSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithPrivateModuleSetAccessorTypes; +})(); +(function (publicModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + publicModule.publicClass = publicClass; + var publicClassWithWithPrivateGetAccessorTypes = (function () { + function publicClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPrivateGetAccessorTypes; + })(); + publicModule.publicClassWithWithPrivateGetAccessorTypes = publicClassWithWithPrivateGetAccessorTypes; + var publicClassWithWithPublicGetAccessorTypes = (function () { + function publicClassWithWithPublicGetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPublicGetAccessorTypes; + })(); + publicModule.publicClassWithWithPublicGetAccessorTypes = publicClassWithWithPublicGetAccessorTypes; + var privateClassWithWithPrivateGetAccessorTypes = (function () { + function privateClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPrivateGetAccessorTypes; + })(); + var privateClassWithWithPublicGetAccessorTypes = (function () { + function privateClassWithWithPublicGetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPublicGetAccessorTypes; + })(); + var publicClassWithWithPrivateSetAccessorTypes = (function () { + function publicClassWithWithPrivateSetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPrivateSetAccessorTypes; + })(); + publicModule.publicClassWithWithPrivateSetAccessorTypes = publicClassWithWithPrivateSetAccessorTypes; + var publicClassWithWithPublicSetAccessorTypes = (function () { + function publicClassWithWithPublicSetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPublicSetAccessorTypes; + })(); + publicModule.publicClassWithWithPublicSetAccessorTypes = publicClassWithWithPublicSetAccessorTypes; + var privateClassWithWithPrivateSetAccessorTypes = (function () { + function privateClassWithWithPrivateSetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPrivateSetAccessorTypes; + })(); + var privateClassWithWithPublicSetAccessorTypes = (function () { + function privateClassWithWithPublicSetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPublicSetAccessorTypes; + })(); + var publicClassWithPrivateModuleGetAccessorTypes = (function () { + function publicClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithPrivateModuleGetAccessorTypes; + })(); + publicModule.publicClassWithPrivateModuleGetAccessorTypes = publicClassWithPrivateModuleGetAccessorTypes; + var publicClassWithPrivateModuleSetAccessorTypes = (function () { + function publicClassWithPrivateModuleSetAccessorTypes() { + } + Object.defineProperty(publicClassWithPrivateModuleSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithPrivateModuleSetAccessorTypes; + })(); + publicModule.publicClassWithPrivateModuleSetAccessorTypes = publicClassWithPrivateModuleSetAccessorTypes; + var privateClassWithPrivateModuleGetAccessorTypes = (function () { + function privateClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithPrivateModuleGetAccessorTypes; + })(); + var privateClassWithPrivateModuleSetAccessorTypes = (function () { + function privateClassWithPrivateModuleSetAccessorTypes() { + } + Object.defineProperty(privateClassWithPrivateModuleSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithPrivateModuleSetAccessorTypes; + })(); +})(exports.publicModule || (exports.publicModule = {})); +var publicModule = exports.publicModule; +var privateModule; +(function (privateModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + privateModule.publicClass = publicClass; + var publicClassWithWithPrivateGetAccessorTypes = (function () { + function publicClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPrivateGetAccessorTypes; + })(); + privateModule.publicClassWithWithPrivateGetAccessorTypes = publicClassWithWithPrivateGetAccessorTypes; + var publicClassWithWithPublicGetAccessorTypes = (function () { + function publicClassWithWithPublicGetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPublicGetAccessorTypes; + })(); + privateModule.publicClassWithWithPublicGetAccessorTypes = publicClassWithWithPublicGetAccessorTypes; + var privateClassWithWithPrivateGetAccessorTypes = (function () { + function privateClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPrivateGetAccessorTypes; + })(); + var privateClassWithWithPublicGetAccessorTypes = (function () { + function privateClassWithWithPublicGetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPublicGetAccessorTypes; + })(); + var publicClassWithWithPrivateSetAccessorTypes = (function () { + function publicClassWithWithPrivateSetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPrivateSetAccessorTypes; + })(); + privateModule.publicClassWithWithPrivateSetAccessorTypes = publicClassWithWithPrivateSetAccessorTypes; + var publicClassWithWithPublicSetAccessorTypes = (function () { + function publicClassWithWithPublicSetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPublicSetAccessorTypes; + })(); + privateModule.publicClassWithWithPublicSetAccessorTypes = publicClassWithWithPublicSetAccessorTypes; + var privateClassWithWithPrivateSetAccessorTypes = (function () { + function privateClassWithWithPrivateSetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPrivateSetAccessorTypes; + })(); + var privateClassWithWithPublicSetAccessorTypes = (function () { + function privateClassWithWithPublicSetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPublicSetAccessorTypes; + })(); + var publicClassWithPrivateModuleGetAccessorTypes = (function () { + function publicClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithPrivateModuleGetAccessorTypes; + })(); + privateModule.publicClassWithPrivateModuleGetAccessorTypes = publicClassWithPrivateModuleGetAccessorTypes; + var publicClassWithPrivateModuleSetAccessorTypes = (function () { + function publicClassWithPrivateModuleSetAccessorTypes() { + } + Object.defineProperty(publicClassWithPrivateModuleSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithPrivateModuleSetAccessorTypes; + })(); + privateModule.publicClassWithPrivateModuleSetAccessorTypes = publicClassWithPrivateModuleSetAccessorTypes; + var privateClassWithPrivateModuleGetAccessorTypes = (function () { + function privateClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithPrivateModuleGetAccessorTypes; + })(); + var privateClassWithPrivateModuleSetAccessorTypes = (function () { + function privateClassWithPrivateModuleSetAccessorTypes() { + } + Object.defineProperty(privateClassWithPrivateModuleSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithPrivateModuleSetAccessorTypes; + })(); +})(privateModule || (privateModule = {})); +//// [privacyAccessorDeclFile_GlobalFile.js] +var publicClassInGlobal = (function () { + function publicClassInGlobal() { + } + return publicClassInGlobal; +})(); +var publicClassInGlobalWithPublicGetAccessorTypes = (function () { + function publicClassInGlobalWithPublicGetAccessorTypes() { + } + Object.defineProperty(publicClassInGlobalWithPublicGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassInGlobalWithPublicGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassInGlobalWithPublicGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassInGlobalWithPublicGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassInGlobalWithPublicGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new publicClassInGlobal(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassInGlobalWithPublicGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new publicClassInGlobal(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassInGlobalWithPublicGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new publicClassInGlobal(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassInGlobalWithPublicGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new publicClassInGlobal(); + }, + enumerable: true, + configurable: true + }); + return publicClassInGlobalWithPublicGetAccessorTypes; +})(); +var publicClassInGlobalWithWithPublicSetAccessorTypes = (function () { + function publicClassInGlobalWithWithPublicSetAccessorTypes() { + } + Object.defineProperty(publicClassInGlobalWithWithPublicSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassInGlobalWithWithPublicSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassInGlobalWithWithPublicSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassInGlobalWithWithPublicSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassInGlobalWithWithPublicSetAccessorTypes; +})(); +var publicModuleInGlobal; +(function (publicModuleInGlobal) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + publicModuleInGlobal.publicClass = publicClass; + var privateModule; + (function (privateModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + privateModule.publicClass = publicClass; + var publicClassWithWithPrivateGetAccessorTypes = (function () { + function publicClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPrivateGetAccessorTypes; + })(); + privateModule.publicClassWithWithPrivateGetAccessorTypes = publicClassWithWithPrivateGetAccessorTypes; + var publicClassWithWithPublicGetAccessorTypes = (function () { + function publicClassWithWithPublicGetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPublicGetAccessorTypes; + })(); + privateModule.publicClassWithWithPublicGetAccessorTypes = publicClassWithWithPublicGetAccessorTypes; + var privateClassWithWithPrivateGetAccessorTypes = (function () { + function privateClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPrivateGetAccessorTypes; + })(); + var privateClassWithWithPublicGetAccessorTypes = (function () { + function privateClassWithWithPublicGetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPublicGetAccessorTypes; + })(); + var publicClassWithWithPrivateSetAccessorTypes = (function () { + function publicClassWithWithPrivateSetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPrivateSetAccessorTypes; + })(); + privateModule.publicClassWithWithPrivateSetAccessorTypes = publicClassWithWithPrivateSetAccessorTypes; + var publicClassWithWithPublicSetAccessorTypes = (function () { + function publicClassWithWithPublicSetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPublicSetAccessorTypes; + })(); + privateModule.publicClassWithWithPublicSetAccessorTypes = publicClassWithWithPublicSetAccessorTypes; + var privateClassWithWithPrivateSetAccessorTypes = (function () { + function privateClassWithWithPrivateSetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPrivateSetAccessorTypes; + })(); + var privateClassWithWithPublicSetAccessorTypes = (function () { + function privateClassWithWithPublicSetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPublicSetAccessorTypes; + })(); + var publicClassWithPrivateModuleGetAccessorTypes = (function () { + function publicClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithPrivateModuleGetAccessorTypes; + })(); + privateModule.publicClassWithPrivateModuleGetAccessorTypes = publicClassWithPrivateModuleGetAccessorTypes; + var publicClassWithPrivateModuleSetAccessorTypes = (function () { + function publicClassWithPrivateModuleSetAccessorTypes() { + } + Object.defineProperty(publicClassWithPrivateModuleSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithPrivateModuleSetAccessorTypes; + })(); + privateModule.publicClassWithPrivateModuleSetAccessorTypes = publicClassWithPrivateModuleSetAccessorTypes; + var privateClassWithPrivateModuleGetAccessorTypes = (function () { + function privateClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithPrivateModuleGetAccessorTypes; + })(); + var privateClassWithPrivateModuleSetAccessorTypes = (function () { + function privateClassWithPrivateModuleSetAccessorTypes() { + } + Object.defineProperty(privateClassWithPrivateModuleSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithPrivateModuleSetAccessorTypes; + })(); + })(privateModule || (privateModule = {})); + var publicClassWithWithPrivateGetAccessorTypes = (function () { + function publicClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPrivateGetAccessorTypes; + })(); + publicModuleInGlobal.publicClassWithWithPrivateGetAccessorTypes = publicClassWithWithPrivateGetAccessorTypes; + var publicClassWithWithPublicGetAccessorTypes = (function () { + function publicClassWithWithPublicGetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPublicGetAccessorTypes; + })(); + publicModuleInGlobal.publicClassWithWithPublicGetAccessorTypes = publicClassWithWithPublicGetAccessorTypes; + var privateClassWithWithPrivateGetAccessorTypes = (function () { + function privateClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new privateClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPrivateGetAccessorTypes; + })(); + var privateClassWithWithPublicGetAccessorTypes = (function () { + function privateClassWithWithPublicGetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return new publicClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPublicGetAccessorTypes; + })(); + var publicClassWithWithPrivateSetAccessorTypes = (function () { + function publicClassWithWithPrivateSetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPrivateSetAccessorTypes; + })(); + publicModuleInGlobal.publicClassWithWithPrivateSetAccessorTypes = publicClassWithWithPrivateSetAccessorTypes; + var publicClassWithWithPublicSetAccessorTypes = (function () { + function publicClassWithWithPublicSetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPublicSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPublicSetAccessorTypes; + })(); + publicModuleInGlobal.publicClassWithWithPublicSetAccessorTypes = publicClassWithWithPublicSetAccessorTypes; + var privateClassWithWithPrivateSetAccessorTypes = (function () { + function privateClassWithWithPrivateSetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPrivateSetAccessorTypes; + })(); + var privateClassWithWithPublicSetAccessorTypes = (function () { + function privateClassWithWithPublicSetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes, "myPrivateStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPublicSetAccessorTypes.prototype, "myPrivateMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPublicSetAccessorTypes; + })(); + var publicClassWithPrivateModuleGetAccessorTypes = (function () { + function publicClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithPrivateModuleGetAccessorTypes; + })(); + publicModuleInGlobal.publicClassWithPrivateModuleGetAccessorTypes = publicClassWithPrivateModuleGetAccessorTypes; + var publicClassWithPrivateModuleSetAccessorTypes = (function () { + function publicClassWithPrivateModuleSetAccessorTypes() { + } + Object.defineProperty(publicClassWithPrivateModuleSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return publicClassWithPrivateModuleSetAccessorTypes; + })(); + publicModuleInGlobal.publicClassWithPrivateModuleSetAccessorTypes = publicClassWithPrivateModuleSetAccessorTypes; + var privateClassWithPrivateModuleGetAccessorTypes = (function () { + function privateClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return null; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return new privateModule.publicClass(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithPrivateModuleGetAccessorTypes; + })(); + var privateClassWithPrivateModuleSetAccessorTypes = (function () { + function privateClassWithPrivateModuleSetAccessorTypes() { + } + Object.defineProperty(privateClassWithPrivateModuleSetAccessorTypes, "myPublicStaticMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleSetAccessorTypes.prototype, "myPublicMethod", { + set: function (param) { + }, + enumerable: true, + configurable: true + }); + return privateClassWithPrivateModuleSetAccessorTypes; + })(); +})(publicModuleInGlobal || (publicModuleInGlobal = {})); diff --git a/tests/baselines/reference/privacyCannotNameAccessorDeclFile.errors.txt b/tests/baselines/reference/privacyCannotNameAccessorDeclFile.errors.txt new file mode 100644 index 00000000000..4f7f684d073 --- /dev/null +++ b/tests/baselines/reference/privacyCannotNameAccessorDeclFile.errors.txt @@ -0,0 +1,151 @@ +==== tests/cases/compiler/privacyCannotNameAccessorDeclFile_consumer.ts (8 errors) ==== + import exporter = require("privacyCannotNameAccessorDeclFile_exporter"); + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod() { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using name 'Widget1' from external module "tests/cases/compiler/privacyCannotNameAccessorDeclFile_Widgets" but cannot be named. + return exporter.createExportedWidget1(); + } + private static get myPrivateStaticMethod() { + return exporter.createExportedWidget1(); + } + get myPublicMethod() { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using name 'Widget1' from external module "tests/cases/compiler/privacyCannotNameAccessorDeclFile_Widgets" but cannot be named. + return exporter.createExportedWidget1(); + } + private get myPrivateMethod() { + return exporter.createExportedWidget1(); + } + static get myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + return exporter.createExportedWidget3(); + } + private static get myPrivateStaticMethod1() { + return exporter.createExportedWidget3(); + } + get myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + return exporter.createExportedWidget3(); + } + private get myPrivateMethod1() { + return exporter.createExportedWidget3(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod() { + return exporter.createExportedWidget1(); + } + private static get myPrivateStaticMethod() { + return exporter.createExportedWidget1(); + } + get myPublicMethod() { + return exporter.createExportedWidget1(); + } + private get myPrivateMethod() { + return exporter.createExportedWidget1(); + } + static get myPublicStaticMethod1() { + return exporter.createExportedWidget3(); + } + private static get myPrivateStaticMethod1() { + return exporter.createExportedWidget3(); + } + get myPublicMethod1() { + return exporter.createExportedWidget3(); + } + private get myPrivateMethod1() { + return exporter.createExportedWidget3(); + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod() { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyCannotNameAccessorDeclFile_Widgets" but cannot be named. + return exporter.createExportedWidget2(); + } + get myPublicMethod() { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyCannotNameAccessorDeclFile_Widgets" but cannot be named. + return exporter.createExportedWidget2(); + } + static get myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static property getter from exported class has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + return exporter.createExportedWidget4(); + } + get myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public property getter from exported class has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + return exporter.createExportedWidget4(); + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod() { + return exporter.createExportedWidget2(); + } + get myPublicMethod() { + return exporter.createExportedWidget2(); + } + static get myPublicStaticMethod1() { + return exporter.createExportedWidget4(); + } + get myPublicMethod1() { + return exporter.createExportedWidget4(); + } + } +==== tests/cases/compiler/privacyCannotNameAccessorDeclFile_GlobalWidgets.ts (0 errors) ==== + + declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } + } + +==== tests/cases/compiler/privacyCannotNameAccessorDeclFile_Widgets.ts (0 errors) ==== + export class Widget1 { + name = 'one'; + } + export function createWidget1() { + return new Widget1(); + } + + export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } + } + +==== tests/cases/compiler/privacyCannotNameAccessorDeclFile_exporter.ts (0 errors) ==== + /// + import Widgets = require("privacyCannotNameAccessorDeclFile_Widgets"); + import Widgets1 = require("GlobalWidgets"); + export function createExportedWidget1() { + return Widgets.createWidget1(); + } + export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); + } + export function createExportedWidget3() { + return Widgets1.createWidget3(); + } + export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); + } + \ No newline at end of file diff --git a/tests/baselines/reference/privacyCannotNameAccessorDeclFile.js b/tests/baselines/reference/privacyCannotNameAccessorDeclFile.js new file mode 100644 index 00000000000..947c3c1fc0d --- /dev/null +++ b/tests/baselines/reference/privacyCannotNameAccessorDeclFile.js @@ -0,0 +1,410 @@ +//// [tests/cases/compiler/privacyCannotNameAccessorDeclFile.ts] //// + +//// [privacyCannotNameAccessorDeclFile_GlobalWidgets.ts] + +declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} + +//// [privacyCannotNameAccessorDeclFile_Widgets.ts] +export class Widget1 { + name = 'one'; +} +export function createWidget1() { + return new Widget1(); +} + +export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } +} + +//// [privacyCannotNameAccessorDeclFile_exporter.ts] +/// +import Widgets = require("privacyCannotNameAccessorDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export function createExportedWidget1() { + return Widgets.createWidget1(); +} +export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +export function createExportedWidget3() { + return Widgets1.createWidget3(); +} +export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} + +//// [privacyCannotNameAccessorDeclFile_consumer.ts] +import exporter = require("privacyCannotNameAccessorDeclFile_exporter"); +export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod() { // Error + return exporter.createExportedWidget1(); + } + private static get myPrivateStaticMethod() { + return exporter.createExportedWidget1(); + } + get myPublicMethod() { // Error + return exporter.createExportedWidget1(); + } + private get myPrivateMethod() { + return exporter.createExportedWidget1(); + } + static get myPublicStaticMethod1() { // Error + return exporter.createExportedWidget3(); + } + private static get myPrivateStaticMethod1() { + return exporter.createExportedWidget3(); + } + get myPublicMethod1() { // Error + return exporter.createExportedWidget3(); + } + private get myPrivateMethod1() { + return exporter.createExportedWidget3(); + } +} + +class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod() { + return exporter.createExportedWidget1(); + } + private static get myPrivateStaticMethod() { + return exporter.createExportedWidget1(); + } + get myPublicMethod() { + return exporter.createExportedWidget1(); + } + private get myPrivateMethod() { + return exporter.createExportedWidget1(); + } + static get myPublicStaticMethod1() { + return exporter.createExportedWidget3(); + } + private static get myPrivateStaticMethod1() { + return exporter.createExportedWidget3(); + } + get myPublicMethod1() { + return exporter.createExportedWidget3(); + } + private get myPrivateMethod1() { + return exporter.createExportedWidget3(); + } +} + +export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod() { // Error + return exporter.createExportedWidget2(); + } + get myPublicMethod() { // Error + return exporter.createExportedWidget2(); + } + static get myPublicStaticMethod1() { // Error + return exporter.createExportedWidget4(); + } + get myPublicMethod1() { // Error + return exporter.createExportedWidget4(); + } +} + +class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod() { + return exporter.createExportedWidget2(); + } + get myPublicMethod() { + return exporter.createExportedWidget2(); + } + static get myPublicStaticMethod1() { + return exporter.createExportedWidget4(); + } + get myPublicMethod1() { + return exporter.createExportedWidget4(); + } +} + +//// [privacyCannotNameAccessorDeclFile_GlobalWidgets.js] +//// [privacyCannotNameAccessorDeclFile_Widgets.js] +var Widget1 = (function () { + function Widget1() { + this.name = 'one'; + } + return Widget1; +})(); +exports.Widget1 = Widget1; +function createWidget1() { + return new Widget1(); +} +exports.createWidget1 = createWidget1; +(function (SpecializedWidget) { + var Widget2 = (function () { + function Widget2() { + this.name = 'one'; + } + return Widget2; + })(); + SpecializedWidget.Widget2 = Widget2; + function createWidget2() { + return new Widget2(); + } + SpecializedWidget.createWidget2 = createWidget2; +})(exports.SpecializedWidget || (exports.SpecializedWidget = {})); +var SpecializedWidget = exports.SpecializedWidget; +//// [privacyCannotNameAccessorDeclFile_exporter.js] +var Widgets = require("privacyCannotNameAccessorDeclFile_Widgets"); +var Widgets1 = require("GlobalWidgets"); +function createExportedWidget1() { + return Widgets.createWidget1(); +} +exports.createExportedWidget1 = createExportedWidget1; +function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +exports.createExportedWidget2 = createExportedWidget2; +function createExportedWidget3() { + return Widgets1.createWidget3(); +} +exports.createExportedWidget3 = createExportedWidget3; +function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} +exports.createExportedWidget4 = createExportedWidget4; +//// [privacyCannotNameAccessorDeclFile_consumer.js] +var exporter = require("privacyCannotNameAccessorDeclFile_exporter"); +var publicClassWithWithPrivateGetAccessorTypes = (function () { + function publicClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return exporter.createExportedWidget1(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return exporter.createExportedWidget1(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return exporter.createExportedWidget1(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return exporter.createExportedWidget1(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return exporter.createExportedWidget3(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return exporter.createExportedWidget3(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return exporter.createExportedWidget3(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return exporter.createExportedWidget3(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithWithPrivateGetAccessorTypes; +})(); +exports.publicClassWithWithPrivateGetAccessorTypes = publicClassWithWithPrivateGetAccessorTypes; +var privateClassWithWithPrivateGetAccessorTypes = (function () { + function privateClassWithWithPrivateGetAccessorTypes() { + } + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return exporter.createExportedWidget1(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod", { + get: function () { + return exporter.createExportedWidget1(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return exporter.createExportedWidget1(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod", { + get: function () { + return exporter.createExportedWidget1(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return exporter.createExportedWidget3(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes, "myPrivateStaticMethod1", { + get: function () { + return exporter.createExportedWidget3(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return exporter.createExportedWidget3(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithWithPrivateGetAccessorTypes.prototype, "myPrivateMethod1", { + get: function () { + return exporter.createExportedWidget3(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithWithPrivateGetAccessorTypes; +})(); +var publicClassWithPrivateModuleGetAccessorTypes = (function () { + function publicClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return exporter.createExportedWidget2(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return exporter.createExportedWidget2(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return exporter.createExportedWidget4(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(publicClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return exporter.createExportedWidget4(); + }, + enumerable: true, + configurable: true + }); + return publicClassWithPrivateModuleGetAccessorTypes; +})(); +exports.publicClassWithPrivateModuleGetAccessorTypes = publicClassWithPrivateModuleGetAccessorTypes; +var privateClassWithPrivateModuleGetAccessorTypes = (function () { + function privateClassWithPrivateModuleGetAccessorTypes() { + } + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod", { + get: function () { + return exporter.createExportedWidget2(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod", { + get: function () { + return exporter.createExportedWidget2(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes, "myPublicStaticMethod1", { + get: function () { + return exporter.createExportedWidget4(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(privateClassWithPrivateModuleGetAccessorTypes.prototype, "myPublicMethod1", { + get: function () { + return exporter.createExportedWidget4(); + }, + enumerable: true, + configurable: true + }); + return privateClassWithPrivateModuleGetAccessorTypes; +})(); + + +//// [privacyCannotNameAccessorDeclFile_GlobalWidgets.d.ts] +declare module "GlobalWidgets" { + class Widget3 { + name: string; + } + function createWidget3(): Widget3; + module SpecializedGlobalWidget { + class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} +//// [privacyCannotNameAccessorDeclFile_Widgets.d.ts] +export declare class Widget1 { + name: string; +} +export declare function createWidget1(): Widget1; +export declare module SpecializedWidget { + class Widget2 { + name: string; + } + function createWidget2(): Widget2; +} +//// [privacyCannotNameAccessorDeclFile_exporter.d.ts] +/// +import Widgets = require("privacyCannotNameAccessorDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export declare function createExportedWidget1(): Widgets.Widget1; +export declare function createExportedWidget2(): Widgets.SpecializedWidget.Widget2; +export declare function createExportedWidget3(): Widgets1.Widget3; +export declare function createExportedWidget4(): Widgets1.SpecializedGlobalWidget.Widget4; diff --git a/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.errors.txt b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.errors.txt new file mode 100644 index 00000000000..92a2f349908 --- /dev/null +++ b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.errors.txt @@ -0,0 +1,123 @@ +==== tests/cases/compiler/privacyCannotNameVarTypeDeclFile_consumer.ts (12 errors) ==== + import exporter = require("privacyCannotNameVarTypeDeclFile_exporter"); + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty = exporter.createExportedWidget1(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public static property 'myPublicStaticProperty' of exported class has or is using name 'Widget1' from external module "tests/cases/compiler/privacyCannotNameVarTypeDeclFile_Widgets" but cannot be named. + private static myPrivateStaticProperty = exporter.createExportedWidget1(); + myPublicProperty = exporter.createExportedWidget1(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public property 'myPublicProperty' of exported class has or is using name 'Widget1' from external module "tests/cases/compiler/privacyCannotNameVarTypeDeclFile_Widgets" but cannot be named. + private myPrivateProperty = exporter.createExportedWidget1(); + + static myPublicStaticProperty1 = exporter.createExportedWidget3(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public static property 'myPublicStaticProperty1' of exported class has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + private static myPrivateStaticProperty1 = exporter.createExportedWidget3(); + myPublicProperty1 = exporter.createExportedWidget3(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public property 'myPublicProperty1' of exported class has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + private myPrivateProperty1 = exporter.createExportedWidget3(); + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty = exporter.createExportedWidget1(); + private static myPrivateStaticProperty = exporter.createExportedWidget1(); + myPublicProperty = exporter.createExportedWidget1(); + private myPrivateProperty = exporter.createExportedWidget1(); + + static myPublicStaticProperty1 = exporter.createExportedWidget3(); + private static myPrivateStaticProperty1 = exporter.createExportedWidget3(); + myPublicProperty1 = exporter.createExportedWidget3(); + private myPrivateProperty1 = exporter.createExportedWidget3(); + } + + export var publicVarWithPrivatePropertyTypes= exporter.createExportedWidget1(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicVarWithPrivatePropertyTypes' has or is using name 'Widget1' from external module "tests/cases/compiler/privacyCannotNameVarTypeDeclFile_Widgets" but cannot be named. + var privateVarWithPrivatePropertyTypes= exporter.createExportedWidget1(); + export var publicVarWithPrivatePropertyTypes1 = exporter.createExportedWidget3(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicVarWithPrivatePropertyTypes1' has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + var privateVarWithPrivatePropertyTypes1 = exporter.createExportedWidget3(); + + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty= exporter.createExportedWidget2(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public static property 'myPublicStaticProperty' of exported class has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyCannotNameVarTypeDeclFile_Widgets" but cannot be named. + myPublicProperty = exporter.createExportedWidget2(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public property 'myPublicProperty' of exported class has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyCannotNameVarTypeDeclFile_Widgets" but cannot be named. + static myPublicStaticProperty1 = exporter.createExportedWidget4(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public static property 'myPublicStaticProperty1' of exported class has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + myPublicProperty1 = exporter.createExportedWidget4(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public property 'myPublicProperty1' of exported class has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + } + export var publicVarWithPrivateModulePropertyTypes= exporter.createExportedWidget2(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicVarWithPrivateModulePropertyTypes' has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyCannotNameVarTypeDeclFile_Widgets" but cannot be named. + export var publicVarWithPrivateModulePropertyTypes1 = exporter.createExportedWidget4(); // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicVarWithPrivateModulePropertyTypes1' has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty= exporter.createExportedWidget2(); + myPublicProperty= exporter.createExportedWidget2(); + static myPublicStaticProperty1 = exporter.createExportedWidget4(); + myPublicProperty1 = exporter.createExportedWidget4(); + } + var privateVarWithPrivateModulePropertyTypes= exporter.createExportedWidget2(); + var privateVarWithPrivateModulePropertyTypes1 = exporter.createExportedWidget4(); +==== tests/cases/compiler/privacyCannotNameVarTypeDeclFile_GlobalWidgets.ts (0 errors) ==== + + + declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } + } + +==== tests/cases/compiler/privacyCannotNameVarTypeDeclFile_Widgets.ts (0 errors) ==== + export class Widget1 { + name = 'one'; + } + export function createWidget1() { + return new Widget1(); + } + + export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } + } + +==== tests/cases/compiler/privacyCannotNameVarTypeDeclFile_exporter.ts (0 errors) ==== + /// + import Widgets = require("privacyCannotNameVarTypeDeclFile_Widgets"); + import Widgets1 = require("GlobalWidgets"); + export function createExportedWidget1() { + return Widgets.createWidget1(); + } + export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); + } + export function createExportedWidget3() { + return Widgets1.createWidget3(); + } + export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); + } + \ No newline at end of file diff --git a/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js new file mode 100644 index 00000000000..d113b0a8095 --- /dev/null +++ b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js @@ -0,0 +1,238 @@ +//// [tests/cases/compiler/privacyCannotNameVarTypeDeclFile.ts] //// + +//// [privacyCannotNameVarTypeDeclFile_GlobalWidgets.ts] + + +declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} + +//// [privacyCannotNameVarTypeDeclFile_Widgets.ts] +export class Widget1 { + name = 'one'; +} +export function createWidget1() { + return new Widget1(); +} + +export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } +} + +//// [privacyCannotNameVarTypeDeclFile_exporter.ts] +/// +import Widgets = require("privacyCannotNameVarTypeDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export function createExportedWidget1() { + return Widgets.createWidget1(); +} +export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +export function createExportedWidget3() { + return Widgets1.createWidget3(); +} +export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} + +//// [privacyCannotNameVarTypeDeclFile_consumer.ts] +import exporter = require("privacyCannotNameVarTypeDeclFile_exporter"); +export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty = exporter.createExportedWidget1(); // Error + private static myPrivateStaticProperty = exporter.createExportedWidget1(); + myPublicProperty = exporter.createExportedWidget1(); // Error + private myPrivateProperty = exporter.createExportedWidget1(); + + static myPublicStaticProperty1 = exporter.createExportedWidget3(); // Error + private static myPrivateStaticProperty1 = exporter.createExportedWidget3(); + myPublicProperty1 = exporter.createExportedWidget3(); // Error + private myPrivateProperty1 = exporter.createExportedWidget3(); +} + +class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty = exporter.createExportedWidget1(); + private static myPrivateStaticProperty = exporter.createExportedWidget1(); + myPublicProperty = exporter.createExportedWidget1(); + private myPrivateProperty = exporter.createExportedWidget1(); + + static myPublicStaticProperty1 = exporter.createExportedWidget3(); + private static myPrivateStaticProperty1 = exporter.createExportedWidget3(); + myPublicProperty1 = exporter.createExportedWidget3(); + private myPrivateProperty1 = exporter.createExportedWidget3(); +} + +export var publicVarWithPrivatePropertyTypes= exporter.createExportedWidget1(); // Error +var privateVarWithPrivatePropertyTypes= exporter.createExportedWidget1(); +export var publicVarWithPrivatePropertyTypes1 = exporter.createExportedWidget3(); // Error +var privateVarWithPrivatePropertyTypes1 = exporter.createExportedWidget3(); + +export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty= exporter.createExportedWidget2(); // Error + myPublicProperty = exporter.createExportedWidget2(); // Error + static myPublicStaticProperty1 = exporter.createExportedWidget4(); // Error + myPublicProperty1 = exporter.createExportedWidget4(); // Error +} +export var publicVarWithPrivateModulePropertyTypes= exporter.createExportedWidget2(); // Error +export var publicVarWithPrivateModulePropertyTypes1 = exporter.createExportedWidget4(); // Error + +class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty= exporter.createExportedWidget2(); + myPublicProperty= exporter.createExportedWidget2(); + static myPublicStaticProperty1 = exporter.createExportedWidget4(); + myPublicProperty1 = exporter.createExportedWidget4(); +} +var privateVarWithPrivateModulePropertyTypes= exporter.createExportedWidget2(); +var privateVarWithPrivateModulePropertyTypes1 = exporter.createExportedWidget4(); + +//// [privacyCannotNameVarTypeDeclFile_GlobalWidgets.js] +//// [privacyCannotNameVarTypeDeclFile_Widgets.js] +var Widget1 = (function () { + function Widget1() { + this.name = 'one'; + } + return Widget1; +})(); +exports.Widget1 = Widget1; +function createWidget1() { + return new Widget1(); +} +exports.createWidget1 = createWidget1; +(function (SpecializedWidget) { + var Widget2 = (function () { + function Widget2() { + this.name = 'one'; + } + return Widget2; + })(); + SpecializedWidget.Widget2 = Widget2; + function createWidget2() { + return new Widget2(); + } + SpecializedWidget.createWidget2 = createWidget2; +})(exports.SpecializedWidget || (exports.SpecializedWidget = {})); +var SpecializedWidget = exports.SpecializedWidget; +//// [privacyCannotNameVarTypeDeclFile_exporter.js] +var Widgets = require("privacyCannotNameVarTypeDeclFile_Widgets"); +var Widgets1 = require("GlobalWidgets"); +function createExportedWidget1() { + return Widgets.createWidget1(); +} +exports.createExportedWidget1 = createExportedWidget1; +function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +exports.createExportedWidget2 = createExportedWidget2; +function createExportedWidget3() { + return Widgets1.createWidget3(); +} +exports.createExportedWidget3 = createExportedWidget3; +function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} +exports.createExportedWidget4 = createExportedWidget4; +//// [privacyCannotNameVarTypeDeclFile_consumer.js] +var exporter = require("privacyCannotNameVarTypeDeclFile_exporter"); +var publicClassWithWithPrivatePropertyTypes = (function () { + function publicClassWithWithPrivatePropertyTypes() { + this.myPublicProperty = exporter.createExportedWidget1(); + this.myPrivateProperty = exporter.createExportedWidget1(); + this.myPublicProperty1 = exporter.createExportedWidget3(); + this.myPrivateProperty1 = exporter.createExportedWidget3(); + } + publicClassWithWithPrivatePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget1(); + publicClassWithWithPrivatePropertyTypes.myPrivateStaticProperty = exporter.createExportedWidget1(); + publicClassWithWithPrivatePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget3(); + publicClassWithWithPrivatePropertyTypes.myPrivateStaticProperty1 = exporter.createExportedWidget3(); + return publicClassWithWithPrivatePropertyTypes; +})(); +exports.publicClassWithWithPrivatePropertyTypes = publicClassWithWithPrivatePropertyTypes; +var privateClassWithWithPrivatePropertyTypes = (function () { + function privateClassWithWithPrivatePropertyTypes() { + this.myPublicProperty = exporter.createExportedWidget1(); + this.myPrivateProperty = exporter.createExportedWidget1(); + this.myPublicProperty1 = exporter.createExportedWidget3(); + this.myPrivateProperty1 = exporter.createExportedWidget3(); + } + privateClassWithWithPrivatePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget1(); + privateClassWithWithPrivatePropertyTypes.myPrivateStaticProperty = exporter.createExportedWidget1(); + privateClassWithWithPrivatePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget3(); + privateClassWithWithPrivatePropertyTypes.myPrivateStaticProperty1 = exporter.createExportedWidget3(); + return privateClassWithWithPrivatePropertyTypes; +})(); +exports.publicVarWithPrivatePropertyTypes = exporter.createExportedWidget1(); +var privateVarWithPrivatePropertyTypes = exporter.createExportedWidget1(); +exports.publicVarWithPrivatePropertyTypes1 = exporter.createExportedWidget3(); +var privateVarWithPrivatePropertyTypes1 = exporter.createExportedWidget3(); +var publicClassWithPrivateModulePropertyTypes = (function () { + function publicClassWithPrivateModulePropertyTypes() { + this.myPublicProperty = exporter.createExportedWidget2(); + this.myPublicProperty1 = exporter.createExportedWidget4(); + } + publicClassWithPrivateModulePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget2(); + publicClassWithPrivateModulePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget4(); + return publicClassWithPrivateModulePropertyTypes; +})(); +exports.publicClassWithPrivateModulePropertyTypes = publicClassWithPrivateModulePropertyTypes; +exports.publicVarWithPrivateModulePropertyTypes = exporter.createExportedWidget2(); +exports.publicVarWithPrivateModulePropertyTypes1 = exporter.createExportedWidget4(); +var privateClassWithPrivateModulePropertyTypes = (function () { + function privateClassWithPrivateModulePropertyTypes() { + this.myPublicProperty = exporter.createExportedWidget2(); + this.myPublicProperty1 = exporter.createExportedWidget4(); + } + privateClassWithPrivateModulePropertyTypes.myPublicStaticProperty = exporter.createExportedWidget2(); + privateClassWithPrivateModulePropertyTypes.myPublicStaticProperty1 = exporter.createExportedWidget4(); + return privateClassWithPrivateModulePropertyTypes; +})(); +var privateVarWithPrivateModulePropertyTypes = exporter.createExportedWidget2(); +var privateVarWithPrivateModulePropertyTypes1 = exporter.createExportedWidget4(); + + +//// [privacyCannotNameVarTypeDeclFile_GlobalWidgets.d.ts] +declare module "GlobalWidgets" { + class Widget3 { + name: string; + } + function createWidget3(): Widget3; + module SpecializedGlobalWidget { + class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} +//// [privacyCannotNameVarTypeDeclFile_Widgets.d.ts] +export declare class Widget1 { + name: string; +} +export declare function createWidget1(): Widget1; +export declare module SpecializedWidget { + class Widget2 { + name: string; + } + function createWidget2(): Widget2; +} +//// [privacyCannotNameVarTypeDeclFile_exporter.d.ts] +/// +import Widgets = require("privacyCannotNameVarTypeDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export declare function createExportedWidget1(): Widgets.Widget1; +export declare function createExportedWidget2(): Widgets.SpecializedWidget.Widget2; +export declare function createExportedWidget3(): Widgets1.Widget3; +export declare function createExportedWidget4(): Widgets1.SpecializedGlobalWidget.Widget4; diff --git a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.js b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.js index 899f18693dc..f2f2ac9ae12 100644 --- a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.js +++ b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter.js @@ -30,3 +30,7 @@ var Query; }); } })(Query || (Query = {})); + + +//// [privacyCheckAnonymousFunctionParameter.d.ts] +export declare var x: number; diff --git a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.js b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.js index ac899bbdf14..a1897ac05a3 100644 --- a/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.js +++ b/tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.js @@ -31,3 +31,7 @@ define(["require", "exports"], function (require, exports) { } })(Q || (Q = {})); }); + + +//// [privacyCheckAnonymousFunctionParameter2.d.ts] +export declare var x: number; diff --git a/tests/baselines/reference/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.js b/tests/baselines/reference/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.js index 02a4b682d94..faaef563ebb 100644 --- a/tests/baselines/reference/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.js +++ b/tests/baselines/reference/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.js @@ -10,3 +10,11 @@ export interface B extends A { //// [privacyCheckCallbackOfInterfaceMethodWithTypeParameter.js] define(["require", "exports"], function (require, exports) { }); + + +//// [privacyCheckCallbackOfInterfaceMethodWithTypeParameter.d.ts] +export interface A { + f1(callback: (p: T) => any): any; +} +export interface B extends A { +} diff --git a/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.js b/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.js index 1b02a38307b..7b5e63ce009 100644 --- a/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.js +++ b/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.js @@ -11,3 +11,14 @@ export = Foo; //// [privacyCheckExportAssignmentOnExportedGenericInterface1.js] var Foo; module.exports = Foo; + + +//// [privacyCheckExportAssignmentOnExportedGenericInterface1.d.ts] +declare module Foo { + interface A { + } +} +interface Foo { +} +declare var Foo: new () => Foo.A>; +export = Foo; diff --git a/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface2.js b/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface2.js index 2b4e9ddf833..11a51318230 100644 --- a/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface2.js +++ b/tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface2.js @@ -24,3 +24,13 @@ define(["require", "exports"], function (require, exports) { })(Foo || (Foo = {})); return Foo; }); + + +//// [privacyCheckExportAssignmentOnExportedGenericInterface2.d.ts] +export = Foo; +interface Foo { +} +declare function Foo(array: T[]): Foo; +declare module Foo { + var x: string; +} diff --git a/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.js b/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.js index 94aa5c28e92..eeaea58e0ab 100644 --- a/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.js +++ b/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.js @@ -22,3 +22,17 @@ var Foo = (function () { })(); module.exports = Foo; //// [privacyCheckExternalModuleExportAssignmentOfGenericClass_1.js] + + +//// [privacyCheckExternalModuleExportAssignmentOfGenericClass_0.d.ts] +export = Foo; +declare class Foo { + a: A; + constructor(a: A); +} +//// [privacyCheckExternalModuleExportAssignmentOfGenericClass_1.d.ts] +import Foo = require("privacyCheckExternalModuleExportAssignmentOfGenericClass_0"); +export = Bar; +interface Bar { + foo: Foo; +} diff --git a/tests/baselines/reference/privacyCheckOnTypeParameterReferenceInConstructorParameter.js b/tests/baselines/reference/privacyCheckOnTypeParameterReferenceInConstructorParameter.js index a1def385809..6e2ef744946 100644 --- a/tests/baselines/reference/privacyCheckOnTypeParameterReferenceInConstructorParameter.js +++ b/tests/baselines/reference/privacyCheckOnTypeParameterReferenceInConstructorParameter.js @@ -26,3 +26,12 @@ define(["require", "exports"], function (require, exports) { })(); exports.B = B; }); + + +//// [privacyCheckOnTypeParameterReferenceInConstructorParameter.d.ts] +export declare class A { + constructor(callback: (self: A) => void); +} +export declare class B { + constructor(parent: T2); +} diff --git a/tests/baselines/reference/privacyCheckTypeOfFunction.errors.txt b/tests/baselines/reference/privacyCheckTypeOfFunction.errors.txt index 3132a1c56a7..50b9dc0242b 100644 --- a/tests/baselines/reference/privacyCheckTypeOfFunction.errors.txt +++ b/tests/baselines/reference/privacyCheckTypeOfFunction.errors.txt @@ -1,8 +1,10 @@ -==== tests/cases/compiler/privacyCheckTypeOfFunction.ts (1 errors) ==== +==== tests/cases/compiler/privacyCheckTypeOfFunction.ts (2 errors) ==== function foo() { } export var x: typeof foo; - ~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Cannot compile external modules unless the '--module' flag is provided. + ~ +!!! Exported variable 'x' has or is using private name 'foo'. export var b = foo; + ~ +!!! Exported variable 'b' has or is using private name 'foo'. \ No newline at end of file diff --git a/tests/baselines/reference/privacyCheckTypeOfFunction.js b/tests/baselines/reference/privacyCheckTypeOfFunction.js new file mode 100644 index 00000000000..757416c691b --- /dev/null +++ b/tests/baselines/reference/privacyCheckTypeOfFunction.js @@ -0,0 +1,12 @@ +//// [privacyCheckTypeOfFunction.ts] +function foo() { +} +export var x: typeof foo; +export var b = foo; + + +//// [privacyCheckTypeOfFunction.js] +function foo() { +} +exports.x; +exports.b = foo; diff --git a/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleError.errors.txt b/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleError.errors.txt new file mode 100644 index 00000000000..e09c933ce4f --- /dev/null +++ b/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleError.errors.txt @@ -0,0 +1,11 @@ +==== tests/cases/compiler/privacyCheckTypeOfInvisibleModuleError.ts (1 errors) ==== + module Outer { + module Inner { + export var m: typeof Inner; + } + + export var f: typeof Inner; + ~ +!!! Exported variable 'f' has or is using private name 'Inner'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.errors.txt b/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.errors.txt new file mode 100644 index 00000000000..5c35fde466c --- /dev/null +++ b/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.errors.txt @@ -0,0 +1,11 @@ +==== tests/cases/compiler/privacyCheckTypeOfInvisibleModuleNoError.ts (1 errors) ==== + module Outer { + module Inner { + export var m: number; + } + + export var f: typeof Inner; // Since we dont unwind inner any more, it is error here + ~ +!!! Exported variable 'f' has or is using private name 'Inner'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.js b/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.js index 76656e5a86a..4bf2ff55471 100644 --- a/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.js +++ b/tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.js @@ -17,21 +17,3 @@ var Outer; })(Inner || (Inner = {})); Outer.f; })(Outer || (Outer = {})); - - -//// [privacyCheckTypeOfInvisibleModuleNoError.d.ts] -declare module Outer { - var f: typeof Inner; -} - - -//// [DtsFileErrors] - - -==== tests/cases/compiler/privacyCheckTypeOfInvisibleModuleNoError.d.ts (1 errors) ==== - declare module Outer { - var f: typeof Inner; - ~~~~~ -!!! Cannot find name 'Inner'. - } - \ No newline at end of file diff --git a/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.errors.txt b/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.errors.txt new file mode 100644 index 00000000000..269be5ed425 --- /dev/null +++ b/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.errors.txt @@ -0,0 +1,203 @@ +==== tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_consumer.ts (24 errors) ==== + import exporter = require("privacyFunctionCannotNameParameterTypeDeclFile_exporter"); + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param = exporter.createExportedWidget1()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public static method from exported class has or is using name 'Widget1' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget1()) { + } + myPublicMethod(param = exporter.createExportedWidget1()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public method from exported class has or is using name 'Widget1' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + } + private myPrivateMethod(param = exporter.createExportedWidget1()) { + } + constructor(param = exporter.createExportedWidget1(), private param1 = exporter.createExportedWidget1(), public param2 = exporter.createExportedWidget1()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor from exported class has or is using name 'Widget1' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param1' of constructor from exported class has or is using name 'Widget1' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param2' of constructor from exported class has or is using name 'Widget1' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + } + } + export class publicClassWithWithPrivateParmeterTypes1 { + static myPublicStaticMethod(param = exporter.createExportedWidget3()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public static method from exported class has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget3()) { + } + myPublicMethod(param = exporter.createExportedWidget3()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public method from exported class has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + } + private myPrivateMethod(param = exporter.createExportedWidget3()) { + } + constructor(param = exporter.createExportedWidget3(), private param1 = exporter.createExportedWidget3(), public param2 = exporter.createExportedWidget3()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor from exported class has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param1' of constructor from exported class has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param2' of constructor from exported class has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param = exporter.createExportedWidget1()) { + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget1()) { + } + myPublicMethod(param = exporter.createExportedWidget1()) { + } + private myPrivateMethod(param = exporter.createExportedWidget1()) { + } + constructor(param = exporter.createExportedWidget1(), private param1 = exporter.createExportedWidget1(), public param2 = exporter.createExportedWidget1()) { + } + } + class privateClassWithWithPrivateParmeterTypes2 { + static myPublicStaticMethod(param = exporter.createExportedWidget3()) { + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget3()) { + } + myPublicMethod(param = exporter.createExportedWidget3()) { + } + private myPrivateMethod(param = exporter.createExportedWidget3()) { + } + constructor(param = exporter.createExportedWidget3(), private param1 = exporter.createExportedWidget3(), public param2 = exporter.createExportedWidget3()) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param = exporter.createExportedWidget1()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using name 'Widget1' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + } + function privateFunctionWithPrivateParmeterTypes(param = exporter.createExportedWidget1()) { + } + export function publicFunctionWithPrivateParmeterTypes1(param = exporter.createExportedWidget3()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + } + function privateFunctionWithPrivateParmeterTypes1(param = exporter.createExportedWidget3()) { + } + + + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param= exporter.createExportedWidget2()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public static method from exported class has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + } + myPublicMethod(param= exporter.createExportedWidget2()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public method from exported class has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + } + constructor(param= exporter.createExportedWidget2(), private param1= exporter.createExportedWidget2(), public param2= exporter.createExportedWidget2()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor from exported class has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param1' of constructor from exported class has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param2' of constructor from exported class has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + } + } + export class publicClassWithPrivateModuleParameterTypes2 { + static myPublicStaticMethod(param= exporter.createExportedWidget4()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public static method from exported class has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + } + myPublicMethod(param= exporter.createExportedWidget4()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public method from exported class has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + } + constructor(param= exporter.createExportedWidget4(), private param1= exporter.createExportedWidget4(), public param2= exporter.createExportedWidget4()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor from exported class has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param1' of constructor from exported class has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param2' of constructor from exported class has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param= exporter.createExportedWidget2()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets" but cannot be named. + } + export function publicFunctionWithPrivateModuleParameterTypes1(param= exporter.createExportedWidget4()) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + } + + + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param= exporter.createExportedWidget2()) { + } + myPublicMethod(param= exporter.createExportedWidget2()) { + } + constructor(param= exporter.createExportedWidget2(), private param1= exporter.createExportedWidget2(), public param2= exporter.createExportedWidget2()) { + } + } + class privateClassWithPrivateModuleParameterTypes1 { + static myPublicStaticMethod(param= exporter.createExportedWidget4()) { + } + myPublicMethod(param= exporter.createExportedWidget4()) { + } + constructor(param= exporter.createExportedWidget4(), private param1= exporter.createExportedWidget4(), public param2= exporter.createExportedWidget4()) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param= exporter.createExportedWidget2()) { + } + function privateFunctionWithPrivateModuleParameterTypes1(param= exporter.createExportedWidget4()) { + } +==== tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_GlobalWidgets.ts (0 errors) ==== + + + declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } + } + +==== tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_Widgets.ts (0 errors) ==== + export class Widget1 { + name = 'one'; + } + export function createWidget1() { + return new Widget1(); + } + + export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } + } + +==== tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_exporter.ts (0 errors) ==== + /// + import Widgets = require("privacyFunctionCannotNameParameterTypeDeclFile_Widgets"); + import Widgets1 = require("GlobalWidgets"); + export function createExportedWidget1() { + return Widgets.createWidget1(); + } + export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); + } + export function createExportedWidget3() { + return Widgets1.createWidget3(); + } + export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); + } + \ No newline at end of file diff --git a/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.js b/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.js new file mode 100644 index 00000000000..3db10b3da1a --- /dev/null +++ b/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.js @@ -0,0 +1,424 @@ +//// [tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile.ts] //// + +//// [privacyFunctionCannotNameParameterTypeDeclFile_GlobalWidgets.ts] + + +declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} + +//// [privacyFunctionCannotNameParameterTypeDeclFile_Widgets.ts] +export class Widget1 { + name = 'one'; +} +export function createWidget1() { + return new Widget1(); +} + +export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } +} + +//// [privacyFunctionCannotNameParameterTypeDeclFile_exporter.ts] +/// +import Widgets = require("privacyFunctionCannotNameParameterTypeDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export function createExportedWidget1() { + return Widgets.createWidget1(); +} +export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +export function createExportedWidget3() { + return Widgets1.createWidget3(); +} +export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} + +//// [privacyFunctionCannotNameParameterTypeDeclFile_consumer.ts] +import exporter = require("privacyFunctionCannotNameParameterTypeDeclFile_exporter"); +export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param = exporter.createExportedWidget1()) { // Error + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget1()) { + } + myPublicMethod(param = exporter.createExportedWidget1()) { // Error + } + private myPrivateMethod(param = exporter.createExportedWidget1()) { + } + constructor(param = exporter.createExportedWidget1(), private param1 = exporter.createExportedWidget1(), public param2 = exporter.createExportedWidget1()) { // Error + } +} +export class publicClassWithWithPrivateParmeterTypes1 { + static myPublicStaticMethod(param = exporter.createExportedWidget3()) { // Error + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget3()) { + } + myPublicMethod(param = exporter.createExportedWidget3()) { // Error + } + private myPrivateMethod(param = exporter.createExportedWidget3()) { + } + constructor(param = exporter.createExportedWidget3(), private param1 = exporter.createExportedWidget3(), public param2 = exporter.createExportedWidget3()) { // Error + } +} + +class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param = exporter.createExportedWidget1()) { + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget1()) { + } + myPublicMethod(param = exporter.createExportedWidget1()) { + } + private myPrivateMethod(param = exporter.createExportedWidget1()) { + } + constructor(param = exporter.createExportedWidget1(), private param1 = exporter.createExportedWidget1(), public param2 = exporter.createExportedWidget1()) { + } +} +class privateClassWithWithPrivateParmeterTypes2 { + static myPublicStaticMethod(param = exporter.createExportedWidget3()) { + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget3()) { + } + myPublicMethod(param = exporter.createExportedWidget3()) { + } + private myPrivateMethod(param = exporter.createExportedWidget3()) { + } + constructor(param = exporter.createExportedWidget3(), private param1 = exporter.createExportedWidget3(), public param2 = exporter.createExportedWidget3()) { + } +} + +export function publicFunctionWithPrivateParmeterTypes(param = exporter.createExportedWidget1()) { // Error +} +function privateFunctionWithPrivateParmeterTypes(param = exporter.createExportedWidget1()) { +} +export function publicFunctionWithPrivateParmeterTypes1(param = exporter.createExportedWidget3()) { // Error +} +function privateFunctionWithPrivateParmeterTypes1(param = exporter.createExportedWidget3()) { +} + + +export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param= exporter.createExportedWidget2()) { // Error + } + myPublicMethod(param= exporter.createExportedWidget2()) { // Error + } + constructor(param= exporter.createExportedWidget2(), private param1= exporter.createExportedWidget2(), public param2= exporter.createExportedWidget2()) { // Error + } +} +export class publicClassWithPrivateModuleParameterTypes2 { + static myPublicStaticMethod(param= exporter.createExportedWidget4()) { // Error + } + myPublicMethod(param= exporter.createExportedWidget4()) { // Error + } + constructor(param= exporter.createExportedWidget4(), private param1= exporter.createExportedWidget4(), public param2= exporter.createExportedWidget4()) { // Error + } +} +export function publicFunctionWithPrivateModuleParameterTypes(param= exporter.createExportedWidget2()) { // Error +} +export function publicFunctionWithPrivateModuleParameterTypes1(param= exporter.createExportedWidget4()) { // Error +} + + +class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param= exporter.createExportedWidget2()) { + } + myPublicMethod(param= exporter.createExportedWidget2()) { + } + constructor(param= exporter.createExportedWidget2(), private param1= exporter.createExportedWidget2(), public param2= exporter.createExportedWidget2()) { + } +} +class privateClassWithPrivateModuleParameterTypes1 { + static myPublicStaticMethod(param= exporter.createExportedWidget4()) { + } + myPublicMethod(param= exporter.createExportedWidget4()) { + } + constructor(param= exporter.createExportedWidget4(), private param1= exporter.createExportedWidget4(), public param2= exporter.createExportedWidget4()) { + } +} +function privateFunctionWithPrivateModuleParameterTypes(param= exporter.createExportedWidget2()) { +} +function privateFunctionWithPrivateModuleParameterTypes1(param= exporter.createExportedWidget4()) { +} + +//// [privacyFunctionCannotNameParameterTypeDeclFile_GlobalWidgets.js] +//// [privacyFunctionCannotNameParameterTypeDeclFile_Widgets.js] +var Widget1 = (function () { + function Widget1() { + this.name = 'one'; + } + return Widget1; +})(); +exports.Widget1 = Widget1; +function createWidget1() { + return new Widget1(); +} +exports.createWidget1 = createWidget1; +(function (SpecializedWidget) { + var Widget2 = (function () { + function Widget2() { + this.name = 'one'; + } + return Widget2; + })(); + SpecializedWidget.Widget2 = Widget2; + function createWidget2() { + return new Widget2(); + } + SpecializedWidget.createWidget2 = createWidget2; +})(exports.SpecializedWidget || (exports.SpecializedWidget = {})); +var SpecializedWidget = exports.SpecializedWidget; +//// [privacyFunctionCannotNameParameterTypeDeclFile_exporter.js] +var Widgets = require("privacyFunctionCannotNameParameterTypeDeclFile_Widgets"); +var Widgets1 = require("GlobalWidgets"); +function createExportedWidget1() { + return Widgets.createWidget1(); +} +exports.createExportedWidget1 = createExportedWidget1; +function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +exports.createExportedWidget2 = createExportedWidget2; +function createExportedWidget3() { + return Widgets1.createWidget3(); +} +exports.createExportedWidget3 = createExportedWidget3; +function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} +exports.createExportedWidget4 = createExportedWidget4; +//// [privacyFunctionCannotNameParameterTypeDeclFile_consumer.js] +var exporter = require("privacyFunctionCannotNameParameterTypeDeclFile_exporter"); +var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes(param, param1, param2) { + if (param === void 0) { param = exporter.createExportedWidget1(); } + if (param1 === void 0) { param1 = exporter.createExportedWidget1(); } + if (param2 === void 0) { param2 = exporter.createExportedWidget1(); } + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget1(); } + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget1(); } + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget1(); } + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget1(); } + }; + return publicClassWithWithPrivateParmeterTypes; +})(); +exports.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; +var publicClassWithWithPrivateParmeterTypes1 = (function () { + function publicClassWithWithPrivateParmeterTypes1(param, param1, param2) { + if (param === void 0) { param = exporter.createExportedWidget3(); } + if (param1 === void 0) { param1 = exporter.createExportedWidget3(); } + if (param2 === void 0) { param2 = exporter.createExportedWidget3(); } + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPrivateParmeterTypes1.myPublicStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget3(); } + }; + publicClassWithWithPrivateParmeterTypes1.myPrivateStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget3(); } + }; + publicClassWithWithPrivateParmeterTypes1.prototype.myPublicMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget3(); } + }; + publicClassWithWithPrivateParmeterTypes1.prototype.myPrivateMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget3(); } + }; + return publicClassWithWithPrivateParmeterTypes1; +})(); +exports.publicClassWithWithPrivateParmeterTypes1 = publicClassWithWithPrivateParmeterTypes1; +var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes(param, param1, param2) { + if (param === void 0) { param = exporter.createExportedWidget1(); } + if (param1 === void 0) { param1 = exporter.createExportedWidget1(); } + if (param2 === void 0) { param2 = exporter.createExportedWidget1(); } + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget1(); } + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget1(); } + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget1(); } + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget1(); } + }; + return privateClassWithWithPrivateParmeterTypes; +})(); +var privateClassWithWithPrivateParmeterTypes2 = (function () { + function privateClassWithWithPrivateParmeterTypes2(param, param1, param2) { + if (param === void 0) { param = exporter.createExportedWidget3(); } + if (param1 === void 0) { param1 = exporter.createExportedWidget3(); } + if (param2 === void 0) { param2 = exporter.createExportedWidget3(); } + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPrivateParmeterTypes2.myPublicStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget3(); } + }; + privateClassWithWithPrivateParmeterTypes2.myPrivateStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget3(); } + }; + privateClassWithWithPrivateParmeterTypes2.prototype.myPublicMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget3(); } + }; + privateClassWithWithPrivateParmeterTypes2.prototype.myPrivateMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget3(); } + }; + return privateClassWithWithPrivateParmeterTypes2; +})(); +function publicFunctionWithPrivateParmeterTypes(param) { + if (param === void 0) { param = exporter.createExportedWidget1(); } +} +exports.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; +function privateFunctionWithPrivateParmeterTypes(param) { + if (param === void 0) { param = exporter.createExportedWidget1(); } +} +function publicFunctionWithPrivateParmeterTypes1(param) { + if (param === void 0) { param = exporter.createExportedWidget3(); } +} +exports.publicFunctionWithPrivateParmeterTypes1 = publicFunctionWithPrivateParmeterTypes1; +function privateFunctionWithPrivateParmeterTypes1(param) { + if (param === void 0) { param = exporter.createExportedWidget3(); } +} +var publicClassWithPrivateModuleParameterTypes = (function () { + function publicClassWithPrivateModuleParameterTypes(param, param1, param2) { + if (param === void 0) { param = exporter.createExportedWidget2(); } + if (param1 === void 0) { param1 = exporter.createExportedWidget2(); } + if (param2 === void 0) { param2 = exporter.createExportedWidget2(); } + this.param1 = param1; + this.param2 = param2; + } + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget2(); } + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget2(); } + }; + return publicClassWithPrivateModuleParameterTypes; +})(); +exports.publicClassWithPrivateModuleParameterTypes = publicClassWithPrivateModuleParameterTypes; +var publicClassWithPrivateModuleParameterTypes2 = (function () { + function publicClassWithPrivateModuleParameterTypes2(param, param1, param2) { + if (param === void 0) { param = exporter.createExportedWidget4(); } + if (param1 === void 0) { param1 = exporter.createExportedWidget4(); } + if (param2 === void 0) { param2 = exporter.createExportedWidget4(); } + this.param1 = param1; + this.param2 = param2; + } + publicClassWithPrivateModuleParameterTypes2.myPublicStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget4(); } + }; + publicClassWithPrivateModuleParameterTypes2.prototype.myPublicMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget4(); } + }; + return publicClassWithPrivateModuleParameterTypes2; +})(); +exports.publicClassWithPrivateModuleParameterTypes2 = publicClassWithPrivateModuleParameterTypes2; +function publicFunctionWithPrivateModuleParameterTypes(param) { + if (param === void 0) { param = exporter.createExportedWidget2(); } +} +exports.publicFunctionWithPrivateModuleParameterTypes = publicFunctionWithPrivateModuleParameterTypes; +function publicFunctionWithPrivateModuleParameterTypes1(param) { + if (param === void 0) { param = exporter.createExportedWidget4(); } +} +exports.publicFunctionWithPrivateModuleParameterTypes1 = publicFunctionWithPrivateModuleParameterTypes1; +var privateClassWithPrivateModuleParameterTypes = (function () { + function privateClassWithPrivateModuleParameterTypes(param, param1, param2) { + if (param === void 0) { param = exporter.createExportedWidget2(); } + if (param1 === void 0) { param1 = exporter.createExportedWidget2(); } + if (param2 === void 0) { param2 = exporter.createExportedWidget2(); } + this.param1 = param1; + this.param2 = param2; + } + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget2(); } + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget2(); } + }; + return privateClassWithPrivateModuleParameterTypes; +})(); +var privateClassWithPrivateModuleParameterTypes1 = (function () { + function privateClassWithPrivateModuleParameterTypes1(param, param1, param2) { + if (param === void 0) { param = exporter.createExportedWidget4(); } + if (param1 === void 0) { param1 = exporter.createExportedWidget4(); } + if (param2 === void 0) { param2 = exporter.createExportedWidget4(); } + this.param1 = param1; + this.param2 = param2; + } + privateClassWithPrivateModuleParameterTypes1.myPublicStaticMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget4(); } + }; + privateClassWithPrivateModuleParameterTypes1.prototype.myPublicMethod = function (param) { + if (param === void 0) { param = exporter.createExportedWidget4(); } + }; + return privateClassWithPrivateModuleParameterTypes1; +})(); +function privateFunctionWithPrivateModuleParameterTypes(param) { + if (param === void 0) { param = exporter.createExportedWidget2(); } +} +function privateFunctionWithPrivateModuleParameterTypes1(param) { + if (param === void 0) { param = exporter.createExportedWidget4(); } +} + + +//// [privacyFunctionCannotNameParameterTypeDeclFile_GlobalWidgets.d.ts] +declare module "GlobalWidgets" { + class Widget3 { + name: string; + } + function createWidget3(): Widget3; + module SpecializedGlobalWidget { + class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} +//// [privacyFunctionCannotNameParameterTypeDeclFile_Widgets.d.ts] +export declare class Widget1 { + name: string; +} +export declare function createWidget1(): Widget1; +export declare module SpecializedWidget { + class Widget2 { + name: string; + } + function createWidget2(): Widget2; +} +//// [privacyFunctionCannotNameParameterTypeDeclFile_exporter.d.ts] +/// +import Widgets = require("privacyFunctionCannotNameParameterTypeDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export declare function createExportedWidget1(): Widgets.Widget1; +export declare function createExportedWidget2(): Widgets.SpecializedWidget.Widget2; +export declare function createExportedWidget3(): Widgets1.Widget3; +export declare function createExportedWidget4(): Widgets1.SpecializedGlobalWidget.Widget4; diff --git a/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.errors.txt b/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.errors.txt new file mode 100644 index 00000000000..834e3d783c6 --- /dev/null +++ b/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.errors.txt @@ -0,0 +1,186 @@ +==== tests/cases/compiler/privacyFunctionReturnTypeDeclFile_consumer.ts (12 errors) ==== + import exporter = require("privacyFunctionReturnTypeDeclFile_exporter"); + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod() { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using name 'Widget1' from external module "tests/cases/compiler/privacyFunctionReturnTypeDeclFile_Widgets" but cannot be named. + return exporter.createExportedWidget1(); + } + private static myPrivateStaticMethod() { + return exporter.createExportedWidget1();; + } + myPublicMethod() { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using name 'Widget1' from external module "tests/cases/compiler/privacyFunctionReturnTypeDeclFile_Widgets" but cannot be named. + return exporter.createExportedWidget1();; + } + private myPrivateMethod() { + return exporter.createExportedWidget1();; + } + static myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + return exporter.createExportedWidget3(); + } + private static myPrivateStaticMethod1() { + return exporter.createExportedWidget3();; + } + myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + return exporter.createExportedWidget3();; + } + private myPrivateMethod1() { + return exporter.createExportedWidget3();; + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod() { + return exporter.createExportedWidget1(); + } + private static myPrivateStaticMethod() { + return exporter.createExportedWidget1();; + } + myPublicMethod() { + return exporter.createExportedWidget1();; + } + private myPrivateMethod() { + return exporter.createExportedWidget1();; + } + static myPublicStaticMethod1() { + return exporter.createExportedWidget3(); + } + private static myPrivateStaticMethod1() { + return exporter.createExportedWidget3();; + } + myPublicMethod1() { + return exporter.createExportedWidget3();; + } + private myPrivateMethod1() { + return exporter.createExportedWidget3();; + } + } + + export function publicFunctionWithPrivateParmeterTypes() { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'Widget1' from external module "tests/cases/compiler/privacyFunctionReturnTypeDeclFile_Widgets" but cannot be named. + return exporter.createExportedWidget1(); + } + function privateFunctionWithPrivateParmeterTypes() { + return exporter.createExportedWidget1(); + } + export function publicFunctionWithPrivateParmeterTypes1() { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'Widget3' from external module "GlobalWidgets" but cannot be named. + return exporter.createExportedWidget3(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return exporter.createExportedWidget3(); + } + + export class publicClassWithPrivateModuleReturnTypes { + static myPublicStaticMethod() { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyFunctionReturnTypeDeclFile_Widgets" but cannot be named. + return exporter.createExportedWidget2(); + } + myPublicMethod() { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyFunctionReturnTypeDeclFile_Widgets" but cannot be named. + return exporter.createExportedWidget2(); + } + static myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + return exporter.createExportedWidget4(); + } + myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + return exporter.createExportedWidget4(); + } + } + export function publicFunctionWithPrivateModuleReturnTypes() { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'SpecializedWidget.Widget2' from external module "tests/cases/compiler/privacyFunctionReturnTypeDeclFile_Widgets" but cannot be named. + return exporter.createExportedWidget2(); + } + export function publicFunctionWithPrivateModuleReturnTypes1() { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'SpecializedGlobalWidget.Widget4' from external module "GlobalWidgets" but cannot be named. + return exporter.createExportedWidget4(); + } + + class privateClassWithPrivateModuleReturnTypes { + static myPublicStaticMethod() { + return exporter.createExportedWidget2(); + } + myPublicMethod() { + return exporter.createExportedWidget2(); + } + static myPublicStaticMethod1() { // Error + return exporter.createExportedWidget4(); + } + myPublicMethod1() { // Error + return exporter.createExportedWidget4(); + } + } + function privateFunctionWithPrivateModuleReturnTypes() { + return exporter.createExportedWidget2(); + } + function privateFunctionWithPrivateModuleReturnTypes1() { + return exporter.createExportedWidget4(); + } + +==== tests/cases/compiler/privacyFunctionReturnTypeDeclFile_GlobalWidgets.ts (0 errors) ==== + + + declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } + } + +==== tests/cases/compiler/privacyFunctionReturnTypeDeclFile_Widgets.ts (0 errors) ==== + export class Widget1 { + name = 'one'; + } + export function createWidget1() { + return new Widget1(); + } + + export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } + } + +==== tests/cases/compiler/privacyFunctionReturnTypeDeclFile_exporter.ts (0 errors) ==== + /// + import Widgets = require("privacyFunctionReturnTypeDeclFile_Widgets"); + import Widgets1 = require("GlobalWidgets"); + export function createExportedWidget1() { + return Widgets.createWidget1(); + } + export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); + } + export function createExportedWidget3() { + return Widgets1.createWidget3(); + } + export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); + } + \ No newline at end of file diff --git a/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.js b/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.js new file mode 100644 index 00000000000..603a51467e8 --- /dev/null +++ b/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.js @@ -0,0 +1,381 @@ +//// [tests/cases/compiler/privacyFunctionCannotNameReturnTypeDeclFile.ts] //// + +//// [privacyFunctionReturnTypeDeclFile_GlobalWidgets.ts] + + +declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} + +//// [privacyFunctionReturnTypeDeclFile_Widgets.ts] +export class Widget1 { + name = 'one'; +} +export function createWidget1() { + return new Widget1(); +} + +export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } +} + +//// [privacyFunctionReturnTypeDeclFile_exporter.ts] +/// +import Widgets = require("privacyFunctionReturnTypeDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export function createExportedWidget1() { + return Widgets.createWidget1(); +} +export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +export function createExportedWidget3() { + return Widgets1.createWidget3(); +} +export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} + +//// [privacyFunctionReturnTypeDeclFile_consumer.ts] +import exporter = require("privacyFunctionReturnTypeDeclFile_exporter"); +export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod() { // Error + return exporter.createExportedWidget1(); + } + private static myPrivateStaticMethod() { + return exporter.createExportedWidget1();; + } + myPublicMethod() { // Error + return exporter.createExportedWidget1();; + } + private myPrivateMethod() { + return exporter.createExportedWidget1();; + } + static myPublicStaticMethod1() { // Error + return exporter.createExportedWidget3(); + } + private static myPrivateStaticMethod1() { + return exporter.createExportedWidget3();; + } + myPublicMethod1() { // Error + return exporter.createExportedWidget3();; + } + private myPrivateMethod1() { + return exporter.createExportedWidget3();; + } +} + +class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod() { + return exporter.createExportedWidget1(); + } + private static myPrivateStaticMethod() { + return exporter.createExportedWidget1();; + } + myPublicMethod() { + return exporter.createExportedWidget1();; + } + private myPrivateMethod() { + return exporter.createExportedWidget1();; + } + static myPublicStaticMethod1() { + return exporter.createExportedWidget3(); + } + private static myPrivateStaticMethod1() { + return exporter.createExportedWidget3();; + } + myPublicMethod1() { + return exporter.createExportedWidget3();; + } + private myPrivateMethod1() { + return exporter.createExportedWidget3();; + } +} + +export function publicFunctionWithPrivateParmeterTypes() { // Error + return exporter.createExportedWidget1(); +} +function privateFunctionWithPrivateParmeterTypes() { + return exporter.createExportedWidget1(); +} +export function publicFunctionWithPrivateParmeterTypes1() { // Error + return exporter.createExportedWidget3(); +} +function privateFunctionWithPrivateParmeterTypes1() { + return exporter.createExportedWidget3(); +} + +export class publicClassWithPrivateModuleReturnTypes { + static myPublicStaticMethod() { // Error + return exporter.createExportedWidget2(); + } + myPublicMethod() { // Error + return exporter.createExportedWidget2(); + } + static myPublicStaticMethod1() { // Error + return exporter.createExportedWidget4(); + } + myPublicMethod1() { // Error + return exporter.createExportedWidget4(); + } +} +export function publicFunctionWithPrivateModuleReturnTypes() { // Error + return exporter.createExportedWidget2(); +} +export function publicFunctionWithPrivateModuleReturnTypes1() { // Error + return exporter.createExportedWidget4(); +} + +class privateClassWithPrivateModuleReturnTypes { + static myPublicStaticMethod() { + return exporter.createExportedWidget2(); + } + myPublicMethod() { + return exporter.createExportedWidget2(); + } + static myPublicStaticMethod1() { // Error + return exporter.createExportedWidget4(); + } + myPublicMethod1() { // Error + return exporter.createExportedWidget4(); + } +} +function privateFunctionWithPrivateModuleReturnTypes() { + return exporter.createExportedWidget2(); +} +function privateFunctionWithPrivateModuleReturnTypes1() { + return exporter.createExportedWidget4(); +} + + +//// [privacyFunctionReturnTypeDeclFile_GlobalWidgets.js] +//// [privacyFunctionReturnTypeDeclFile_Widgets.js] +var Widget1 = (function () { + function Widget1() { + this.name = 'one'; + } + return Widget1; +})(); +exports.Widget1 = Widget1; +function createWidget1() { + return new Widget1(); +} +exports.createWidget1 = createWidget1; +(function (SpecializedWidget) { + var Widget2 = (function () { + function Widget2() { + this.name = 'one'; + } + return Widget2; + })(); + SpecializedWidget.Widget2 = Widget2; + function createWidget2() { + return new Widget2(); + } + SpecializedWidget.createWidget2 = createWidget2; +})(exports.SpecializedWidget || (exports.SpecializedWidget = {})); +var SpecializedWidget = exports.SpecializedWidget; +//// [privacyFunctionReturnTypeDeclFile_exporter.js] +var Widgets = require("privacyFunctionReturnTypeDeclFile_Widgets"); +var Widgets1 = require("GlobalWidgets"); +function createExportedWidget1() { + return Widgets.createWidget1(); +} +exports.createExportedWidget1 = createExportedWidget1; +function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +exports.createExportedWidget2 = createExportedWidget2; +function createExportedWidget3() { + return Widgets1.createWidget3(); +} +exports.createExportedWidget3 = createExportedWidget3; +function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} +exports.createExportedWidget4 = createExportedWidget4; +//// [privacyFunctionReturnTypeDeclFile_consumer.js] +var exporter = require("privacyFunctionReturnTypeDeclFile_exporter"); +var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes() { + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return exporter.createExportedWidget1(); + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return exporter.createExportedWidget1(); + ; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return exporter.createExportedWidget1(); + ; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return exporter.createExportedWidget1(); + ; + }; + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return exporter.createExportedWidget3(); + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return exporter.createExportedWidget3(); + ; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return exporter.createExportedWidget3(); + ; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return exporter.createExportedWidget3(); + ; + }; + return publicClassWithWithPrivateParmeterTypes; +})(); +exports.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; +var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes() { + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return exporter.createExportedWidget1(); + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return exporter.createExportedWidget1(); + ; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return exporter.createExportedWidget1(); + ; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return exporter.createExportedWidget1(); + ; + }; + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return exporter.createExportedWidget3(); + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return exporter.createExportedWidget3(); + ; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return exporter.createExportedWidget3(); + ; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return exporter.createExportedWidget3(); + ; + }; + return privateClassWithWithPrivateParmeterTypes; +})(); +function publicFunctionWithPrivateParmeterTypes() { + return exporter.createExportedWidget1(); +} +exports.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; +function privateFunctionWithPrivateParmeterTypes() { + return exporter.createExportedWidget1(); +} +function publicFunctionWithPrivateParmeterTypes1() { + return exporter.createExportedWidget3(); +} +exports.publicFunctionWithPrivateParmeterTypes1 = publicFunctionWithPrivateParmeterTypes1; +function privateFunctionWithPrivateParmeterTypes1() { + return exporter.createExportedWidget3(); +} +var publicClassWithPrivateModuleReturnTypes = (function () { + function publicClassWithPrivateModuleReturnTypes() { + } + publicClassWithPrivateModuleReturnTypes.myPublicStaticMethod = function () { + return exporter.createExportedWidget2(); + }; + publicClassWithPrivateModuleReturnTypes.prototype.myPublicMethod = function () { + return exporter.createExportedWidget2(); + }; + publicClassWithPrivateModuleReturnTypes.myPublicStaticMethod1 = function () { + return exporter.createExportedWidget4(); + }; + publicClassWithPrivateModuleReturnTypes.prototype.myPublicMethod1 = function () { + return exporter.createExportedWidget4(); + }; + return publicClassWithPrivateModuleReturnTypes; +})(); +exports.publicClassWithPrivateModuleReturnTypes = publicClassWithPrivateModuleReturnTypes; +function publicFunctionWithPrivateModuleReturnTypes() { + return exporter.createExportedWidget2(); +} +exports.publicFunctionWithPrivateModuleReturnTypes = publicFunctionWithPrivateModuleReturnTypes; +function publicFunctionWithPrivateModuleReturnTypes1() { + return exporter.createExportedWidget4(); +} +exports.publicFunctionWithPrivateModuleReturnTypes1 = publicFunctionWithPrivateModuleReturnTypes1; +var privateClassWithPrivateModuleReturnTypes = (function () { + function privateClassWithPrivateModuleReturnTypes() { + } + privateClassWithPrivateModuleReturnTypes.myPublicStaticMethod = function () { + return exporter.createExportedWidget2(); + }; + privateClassWithPrivateModuleReturnTypes.prototype.myPublicMethod = function () { + return exporter.createExportedWidget2(); + }; + privateClassWithPrivateModuleReturnTypes.myPublicStaticMethod1 = function () { + return exporter.createExportedWidget4(); + }; + privateClassWithPrivateModuleReturnTypes.prototype.myPublicMethod1 = function () { + return exporter.createExportedWidget4(); + }; + return privateClassWithPrivateModuleReturnTypes; +})(); +function privateFunctionWithPrivateModuleReturnTypes() { + return exporter.createExportedWidget2(); +} +function privateFunctionWithPrivateModuleReturnTypes1() { + return exporter.createExportedWidget4(); +} + + +//// [privacyFunctionReturnTypeDeclFile_GlobalWidgets.d.ts] +declare module "GlobalWidgets" { + class Widget3 { + name: string; + } + function createWidget3(): Widget3; + module SpecializedGlobalWidget { + class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} +//// [privacyFunctionReturnTypeDeclFile_Widgets.d.ts] +export declare class Widget1 { + name: string; +} +export declare function createWidget1(): Widget1; +export declare module SpecializedWidget { + class Widget2 { + name: string; + } + function createWidget2(): Widget2; +} +//// [privacyFunctionReturnTypeDeclFile_exporter.d.ts] +/// +import Widgets = require("privacyFunctionReturnTypeDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export declare function createExportedWidget1(): Widgets.Widget1; +export declare function createExportedWidget2(): Widgets.SpecializedWidget.Widget2; +export declare function createExportedWidget3(): Widgets1.Widget3; +export declare function createExportedWidget4(): Widgets1.SpecializedGlobalWidget.Widget4; diff --git a/tests/baselines/reference/privacyFunctionParameterDeclFile.errors.txt b/tests/baselines/reference/privacyFunctionParameterDeclFile.errors.txt new file mode 100644 index 00000000000..e4d45caccba --- /dev/null +++ b/tests/baselines/reference/privacyFunctionParameterDeclFile.errors.txt @@ -0,0 +1,805 @@ +==== tests/cases/compiler/privacyFunctionParameterDeclFile_externalModule.ts (40 errors) ==== + + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor signature from exported interface has or is using private name 'privateClass'. + (param: privateClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of call signature from exported interface has or is using private name 'privateClass'. + myMethod(param: privateClass): void; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of method from exported interface has or is using private name 'privateClass'. + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public static method from exported class has or is using private name 'privateClass'. + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public method from exported class has or is using private name 'privateClass'. + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor from exported class has or is using private name 'privateClass'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param1' of constructor from exported class has or is using private name 'privateClass'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param2' of constructor from exported class has or is using private name 'privateClass'. + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using private name 'privateClass'. + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using private name 'privateClass'. + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + (param: privateModule.publicClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + myMethod(param: privateModule.publicClass): void; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public static method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + myPublicMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param1' of constructor from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param2' of constructor from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + + export module publicModule { + class privateClass { + } + + export class publicClass { + } + + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor signature from exported interface has or is using private name 'privateClass'. + (param: privateClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of call signature from exported interface has or is using private name 'privateClass'. + myMethod(param: privateClass): void; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of method from exported interface has or is using private name 'privateClass'. + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public static method from exported class has or is using private name 'privateClass'. + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public method from exported class has or is using private name 'privateClass'. + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor from exported class has or is using private name 'privateClass'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param1' of constructor from exported class has or is using private name 'privateClass'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param2' of constructor from exported class has or is using private name 'privateClass'. + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using private name 'privateClass'. + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using private name 'privateClass'. + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + (param: privateModule.publicClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + myMethod(param: privateModule.publicClass): void; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public static method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + myPublicMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param1' of constructor from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param2' of constructor from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; + (param: privateClass): publicClass; + myMethod(param: privateClass): void; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + } + +==== tests/cases/compiler/privacyFunctionParameterDeclFile_GlobalFile.ts (20 errors) ==== + class publicClassInGlobal { + } + interface publicInterfaceWithPublicParmeterTypesInGlobal { + new (param: publicClassInGlobal): publicClassInGlobal; + (param: publicClassInGlobal): publicClassInGlobal; + myMethod(param: publicClassInGlobal): void; + } + class publicClassWithWithPublicParmeterTypesInGlobal { + static myPublicStaticMethod(param: publicClassInGlobal) { + } + private static myPrivateStaticMethod(param: publicClassInGlobal) { + } + myPublicMethod(param: publicClassInGlobal) { + } + private myPrivateMethod(param: publicClassInGlobal) { + } + constructor(param: publicClassInGlobal, private param1: publicClassInGlobal, public param2: publicClassInGlobal) { + } + } + function publicFunctionWithPublicParmeterTypesInGlobal(param: publicClassInGlobal) { + } + declare function publicAmbientFunctionWithPublicParmeterTypesInGlobal(param: publicClassInGlobal): void; + + module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; + (param: privateClass): publicClass; + myMethod(param: privateClass): void; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor signature from exported interface has or is using private name 'privateClass'. + (param: privateClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of call signature from exported interface has or is using private name 'privateClass'. + myMethod(param: privateClass): void; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of method from exported interface has or is using private name 'privateClass'. + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public static method from exported class has or is using private name 'privateClass'. + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public method from exported class has or is using private name 'privateClass'. + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor from exported class has or is using private name 'privateClass'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param1' of constructor from exported class has or is using private name 'privateClass'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param2' of constructor from exported class has or is using private name 'privateClass'. + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using private name 'privateClass'. + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; // Error + ~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using private name 'privateClass'. + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + (param: privateModule.publicClass): publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + myMethod(param: privateModule.publicClass): void; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public static method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + myPublicMethod(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of public method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of constructor from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param1' of constructor from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param2' of constructor from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Parameter 'param' of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + } \ No newline at end of file diff --git a/tests/baselines/reference/privacyFunctionParameterDeclFile.js b/tests/baselines/reference/privacyFunctionParameterDeclFile.js new file mode 100644 index 00000000000..0e2f72ce3a6 --- /dev/null +++ b/tests/baselines/reference/privacyFunctionParameterDeclFile.js @@ -0,0 +1,1279 @@ +//// [tests/cases/compiler/privacyFunctionParameterDeclFile.ts] //// + +//// [privacyFunctionParameterDeclFile_externalModule.ts] + +class privateClass { +} + +export class publicClass { +} + +export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; // Error + (param: privateClass): publicClass; // Error + myMethod(param: privateClass): void; // Error +} + +export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; +} + +interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; +} + +interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; +} + +export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { // Error + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { // Error + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { // Error + } +} + +export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } +} + +class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } +} + +class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } +} + +export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { // Error +} +export function publicFunctionWithPublicParmeterTypes(param: publicClass) { +} +function privateFunctionWithPrivateParmeterTypes(param: privateClass) { +} +function privateFunctionWithPublicParmeterTypes(param: publicClass) { +} + +export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; // Error +export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; +declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; +declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + +export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; // Error + (param: privateModule.publicClass): publicClass; // Error + myMethod(param: privateModule.publicClass): void; // Error +} +export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + myPublicMethod(param: privateModule.publicClass) { // Error + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { // Error + } +} +export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { // Error +} +export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; // Error + +interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; +} +class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } +} +function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { +} +declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + +export module publicModule { + class privateClass { + } + + export class publicClass { + } + + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; // Error + (param: privateClass): publicClass; // Error + myMethod(param: privateClass): void; // Error + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { // Error + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { // Error + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { // Error + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { // Error + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; // Error + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; // Error + (param: privateModule.publicClass): publicClass; // Error + myMethod(param: privateModule.publicClass): void; // Error + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + myPublicMethod(param: privateModule.publicClass) { // Error + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { // Error + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { // Error + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; // Error + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + +} + +module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; + (param: privateClass): publicClass; + myMethod(param: privateClass): void; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; +} + +//// [privacyFunctionParameterDeclFile_GlobalFile.ts] +class publicClassInGlobal { +} +interface publicInterfaceWithPublicParmeterTypesInGlobal { + new (param: publicClassInGlobal): publicClassInGlobal; + (param: publicClassInGlobal): publicClassInGlobal; + myMethod(param: publicClassInGlobal): void; +} +class publicClassWithWithPublicParmeterTypesInGlobal { + static myPublicStaticMethod(param: publicClassInGlobal) { + } + private static myPrivateStaticMethod(param: publicClassInGlobal) { + } + myPublicMethod(param: publicClassInGlobal) { + } + private myPrivateMethod(param: publicClassInGlobal) { + } + constructor(param: publicClassInGlobal, private param1: publicClassInGlobal, public param2: publicClassInGlobal) { + } +} +function publicFunctionWithPublicParmeterTypesInGlobal(param: publicClassInGlobal) { +} +declare function publicAmbientFunctionWithPublicParmeterTypesInGlobal(param: publicClassInGlobal): void; + +module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; + (param: privateClass): publicClass; + myMethod(param: privateClass): void; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; // Error + (param: privateClass): publicClass; // Error + myMethod(param: privateClass): void; // Error + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { // Error + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { // Error + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { // Error + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { // Error + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; // Error + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; // Error + (param: privateModule.publicClass): publicClass; // Error + myMethod(param: privateModule.publicClass): void; // Error + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + myPublicMethod(param: privateModule.publicClass) { // Error + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { // Error + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { // Error + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; // Error + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; +} + +//// [privacyFunctionParameterDeclFile_externalModule.js] +var privateClass = (function () { + function privateClass() { + } + return privateClass; +})(); +var publicClass = (function () { + function publicClass() { + } + return publicClass; +})(); +exports.publicClass = publicClass; +var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return publicClassWithWithPrivateParmeterTypes; +})(); +exports.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; +var publicClassWithWithPublicParmeterTypes = (function () { + function publicClassWithWithPublicParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return publicClassWithWithPublicParmeterTypes; +})(); +exports.publicClassWithWithPublicParmeterTypes = publicClassWithWithPublicParmeterTypes; +var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return privateClassWithWithPrivateParmeterTypes; +})(); +var privateClassWithWithPublicParmeterTypes = (function () { + function privateClassWithWithPublicParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return privateClassWithWithPublicParmeterTypes; +})(); +function publicFunctionWithPrivateParmeterTypes(param) { +} +exports.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; +function publicFunctionWithPublicParmeterTypes(param) { +} +exports.publicFunctionWithPublicParmeterTypes = publicFunctionWithPublicParmeterTypes; +function privateFunctionWithPrivateParmeterTypes(param) { +} +function privateFunctionWithPublicParmeterTypes(param) { +} +var publicClassWithPrivateModuleParameterTypes = (function () { + function publicClassWithPrivateModuleParameterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + }; + return publicClassWithPrivateModuleParameterTypes; +})(); +exports.publicClassWithPrivateModuleParameterTypes = publicClassWithPrivateModuleParameterTypes; +function publicFunctionWithPrivateModuleParameterTypes(param) { +} +exports.publicFunctionWithPrivateModuleParameterTypes = publicFunctionWithPrivateModuleParameterTypes; +var privateClassWithPrivateModuleParameterTypes = (function () { + function privateClassWithPrivateModuleParameterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + }; + return privateClassWithPrivateModuleParameterTypes; +})(); +function privateFunctionWithPrivateModuleParameterTypes(param) { +} +(function (publicModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + publicModule.publicClass = publicClass; + var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return publicClassWithWithPrivateParmeterTypes; + })(); + publicModule.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; + var publicClassWithWithPublicParmeterTypes = (function () { + function publicClassWithWithPublicParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return publicClassWithWithPublicParmeterTypes; + })(); + publicModule.publicClassWithWithPublicParmeterTypes = publicClassWithWithPublicParmeterTypes; + var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return privateClassWithWithPrivateParmeterTypes; + })(); + var privateClassWithWithPublicParmeterTypes = (function () { + function privateClassWithWithPublicParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return privateClassWithWithPublicParmeterTypes; + })(); + function publicFunctionWithPrivateParmeterTypes(param) { + } + publicModule.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; + function publicFunctionWithPublicParmeterTypes(param) { + } + publicModule.publicFunctionWithPublicParmeterTypes = publicFunctionWithPublicParmeterTypes; + function privateFunctionWithPrivateParmeterTypes(param) { + } + function privateFunctionWithPublicParmeterTypes(param) { + } + var publicClassWithPrivateModuleParameterTypes = (function () { + function publicClassWithPrivateModuleParameterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + }; + return publicClassWithPrivateModuleParameterTypes; + })(); + publicModule.publicClassWithPrivateModuleParameterTypes = publicClassWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes(param) { + } + publicModule.publicFunctionWithPrivateModuleParameterTypes = publicFunctionWithPrivateModuleParameterTypes; + var privateClassWithPrivateModuleParameterTypes = (function () { + function privateClassWithPrivateModuleParameterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + }; + return privateClassWithPrivateModuleParameterTypes; + })(); + function privateFunctionWithPrivateModuleParameterTypes(param) { + } +})(exports.publicModule || (exports.publicModule = {})); +var publicModule = exports.publicModule; +var privateModule; +(function (privateModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + privateModule.publicClass = publicClass; + var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return publicClassWithWithPrivateParmeterTypes; + })(); + privateModule.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; + var publicClassWithWithPublicParmeterTypes = (function () { + function publicClassWithWithPublicParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return publicClassWithWithPublicParmeterTypes; + })(); + privateModule.publicClassWithWithPublicParmeterTypes = publicClassWithWithPublicParmeterTypes; + var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return privateClassWithWithPrivateParmeterTypes; + })(); + var privateClassWithWithPublicParmeterTypes = (function () { + function privateClassWithWithPublicParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return privateClassWithWithPublicParmeterTypes; + })(); + function publicFunctionWithPrivateParmeterTypes(param) { + } + privateModule.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; + function publicFunctionWithPublicParmeterTypes(param) { + } + privateModule.publicFunctionWithPublicParmeterTypes = publicFunctionWithPublicParmeterTypes; + function privateFunctionWithPrivateParmeterTypes(param) { + } + function privateFunctionWithPublicParmeterTypes(param) { + } + var publicClassWithPrivateModuleParameterTypes = (function () { + function publicClassWithPrivateModuleParameterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + }; + return publicClassWithPrivateModuleParameterTypes; + })(); + privateModule.publicClassWithPrivateModuleParameterTypes = publicClassWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes(param) { + } + privateModule.publicFunctionWithPrivateModuleParameterTypes = publicFunctionWithPrivateModuleParameterTypes; + var privateClassWithPrivateModuleParameterTypes = (function () { + function privateClassWithPrivateModuleParameterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + }; + return privateClassWithPrivateModuleParameterTypes; + })(); + function privateFunctionWithPrivateModuleParameterTypes(param) { + } +})(privateModule || (privateModule = {})); +//// [privacyFunctionParameterDeclFile_GlobalFile.js] +var publicClassInGlobal = (function () { + function publicClassInGlobal() { + } + return publicClassInGlobal; +})(); +var publicClassWithWithPublicParmeterTypesInGlobal = (function () { + function publicClassWithWithPublicParmeterTypesInGlobal(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPublicParmeterTypesInGlobal.myPublicStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypesInGlobal.myPrivateStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypesInGlobal.prototype.myPublicMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypesInGlobal.prototype.myPrivateMethod = function (param) { + }; + return publicClassWithWithPublicParmeterTypesInGlobal; +})(); +function publicFunctionWithPublicParmeterTypesInGlobal(param) { +} +var publicModuleInGlobal; +(function (publicModuleInGlobal) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + publicModuleInGlobal.publicClass = publicClass; + var privateModule; + (function (privateModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + privateModule.publicClass = publicClass; + var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return publicClassWithWithPrivateParmeterTypes; + })(); + privateModule.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; + var publicClassWithWithPublicParmeterTypes = (function () { + function publicClassWithWithPublicParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return publicClassWithWithPublicParmeterTypes; + })(); + privateModule.publicClassWithWithPublicParmeterTypes = publicClassWithWithPublicParmeterTypes; + var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return privateClassWithWithPrivateParmeterTypes; + })(); + var privateClassWithWithPublicParmeterTypes = (function () { + function privateClassWithWithPublicParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return privateClassWithWithPublicParmeterTypes; + })(); + function publicFunctionWithPrivateParmeterTypes(param) { + } + privateModule.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; + function publicFunctionWithPublicParmeterTypes(param) { + } + privateModule.publicFunctionWithPublicParmeterTypes = publicFunctionWithPublicParmeterTypes; + function privateFunctionWithPrivateParmeterTypes(param) { + } + function privateFunctionWithPublicParmeterTypes(param) { + } + var publicClassWithPrivateModuleParameterTypes = (function () { + function publicClassWithPrivateModuleParameterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + }; + return publicClassWithPrivateModuleParameterTypes; + })(); + privateModule.publicClassWithPrivateModuleParameterTypes = publicClassWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes(param) { + } + privateModule.publicFunctionWithPrivateModuleParameterTypes = publicFunctionWithPrivateModuleParameterTypes; + var privateClassWithPrivateModuleParameterTypes = (function () { + function privateClassWithPrivateModuleParameterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + }; + return privateClassWithPrivateModuleParameterTypes; + })(); + function privateFunctionWithPrivateModuleParameterTypes(param) { + } + })(privateModule || (privateModule = {})); + var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return publicClassWithWithPrivateParmeterTypes; + })(); + publicModuleInGlobal.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; + var publicClassWithWithPublicParmeterTypes = (function () { + function publicClassWithWithPublicParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function (param) { + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return publicClassWithWithPublicParmeterTypes; + })(); + publicModuleInGlobal.publicClassWithWithPublicParmeterTypes = publicClassWithWithPublicParmeterTypes; + var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function (param) { + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return privateClassWithWithPrivateParmeterTypes; + })(); + var privateClassWithWithPublicParmeterTypes = (function () { + function privateClassWithWithPublicParmeterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function (param) { + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function (param) { + }; + return privateClassWithWithPublicParmeterTypes; + })(); + function publicFunctionWithPrivateParmeterTypes(param) { + } + publicModuleInGlobal.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; + function publicFunctionWithPublicParmeterTypes(param) { + } + publicModuleInGlobal.publicFunctionWithPublicParmeterTypes = publicFunctionWithPublicParmeterTypes; + function privateFunctionWithPrivateParmeterTypes(param) { + } + function privateFunctionWithPublicParmeterTypes(param) { + } + var publicClassWithPrivateModuleParameterTypes = (function () { + function publicClassWithPrivateModuleParameterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + }; + return publicClassWithPrivateModuleParameterTypes; + })(); + publicModuleInGlobal.publicClassWithPrivateModuleParameterTypes = publicClassWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes(param) { + } + publicModuleInGlobal.publicFunctionWithPrivateModuleParameterTypes = publicFunctionWithPrivateModuleParameterTypes; + var privateClassWithPrivateModuleParameterTypes = (function () { + function privateClassWithPrivateModuleParameterTypes(param, param1, param2) { + this.param1 = param1; + this.param2 = param2; + } + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function (param) { + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function (param) { + }; + return privateClassWithPrivateModuleParameterTypes; + })(); + function privateFunctionWithPrivateModuleParameterTypes(param) { + } +})(publicModuleInGlobal || (publicModuleInGlobal = {})); diff --git a/tests/baselines/reference/privacyFunctionReturnTypeDeclFile.errors.txt b/tests/baselines/reference/privacyFunctionReturnTypeDeclFile.errors.txt new file mode 100644 index 00000000000..0fe9b40ea83 --- /dev/null +++ b/tests/baselines/reference/privacyFunctionReturnTypeDeclFile.errors.txt @@ -0,0 +1,1324 @@ +==== tests/cases/compiler/privacyFunctionReturnTypeDeclFile_externalModule.ts (44 errors) ==== + + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of constructor signature from exported interface has or is using private name 'privateClass'. + (): privateClass; // Error + ~~~~~~~~~~~~~~~~~ +!!! Return type of call signature from exported interface has or is using private name 'privateClass'. + [x: number]: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of index signature from exported interface has or is using private name 'privateClass'. + myMethod(): privateClass; // Error + ~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClass'. + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using private name 'privateClass'. + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using private name 'privateClass'. + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using private name 'privateClass'. + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using private name 'privateClass'. + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using private name 'privateClass'. + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + (): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + [x: number]: privateModule.publicClass // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of index signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + myMethod(): privateModule.publicClass; // Error + ~~~~~~~~ +!!! Return type of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + myPublicMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + static myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + + export module publicModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of constructor signature from exported interface has or is using private name 'privateClass'. + (): privateClass; // Error + ~~~~~~~~~~~~~~~~~ +!!! Return type of call signature from exported interface has or is using private name 'privateClass'. + [x: number]: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of index signature from exported interface has or is using private name 'privateClass'. + myMethod(): privateClass; // Error + ~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClass'. + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using private name 'privateClass'. + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using private name 'privateClass'. + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using private name 'privateClass'. + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using private name 'privateClass'. + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using private name 'privateClass'. + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + (): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + [x: number]: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of index signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + myMethod(): privateModule.publicClass; // Error + ~~~~~~~~ +!!! Return type of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + myPublicMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + static myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + } + +==== tests/cases/compiler/privacyFunctionReturnTypeDeclFile_GlobalFile.ts (22 errors) ==== + class publicClassInGlobal { + } + interface publicInterfaceWithPublicParmeterTypesInGlobal { + new (): publicClassInGlobal; + (): publicClassInGlobal; + [x: number]: publicClassInGlobal; + myMethod(): publicClassInGlobal; + } + class publicClassWithWithPublicParmeterTypesInGlobal { + static myPublicStaticMethod(): publicClassInGlobal { + return null; + } + private static myPrivateStaticMethod(): publicClassInGlobal { + return null; + } + myPublicMethod(): publicClassInGlobal { + return null; + } + private myPrivateMethod(): publicClassInGlobal { + return null; + } + static myPublicStaticMethod1() { + return new publicClassInGlobal(); + } + private static myPrivateStaticMethod1() { + return new publicClassInGlobal(); + } + myPublicMethod1() { + return new publicClassInGlobal(); + } + private myPrivateMethod1() { + return new publicClassInGlobal(); + } + } + function publicFunctionWithPublicParmeterTypesInGlobal(): publicClassInGlobal { + return null; + } + function publicFunctionWithPublicParmeterTypesInGlobal1() { + return new publicClassInGlobal(); + } + declare function publicAmbientFunctionWithPublicParmeterTypesInGlobal(): publicClassInGlobal; + + module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of constructor signature from exported interface has or is using private name 'privateClass'. + (): privateClass; // Error + ~~~~~~~~~~~~~~~~~ +!!! Return type of call signature from exported interface has or is using private name 'privateClass'. + [x: number]: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of index signature from exported interface has or is using private name 'privateClass'. + myMethod(): privateClass; // Error + ~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClass'. + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using private name 'privateClass'. + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using private name 'privateClass'. + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using private name 'privateClass'. + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using private name 'privateClass'. + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using private name 'privateClass'. + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using private name 'privateClass'. + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + (): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + [x: number]: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of index signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + myMethod(): privateModule.publicClass; // Error + ~~~~~~~~ +!!! Return type of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + myPublicMethod(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + static myPublicStaticMethod1() { // Error + ~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of public static method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + myPublicMethod1() { // Error + ~~~~~~~~~~~~~~~ +!!! Return type of public method from exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of exported function has or is using name 'privateModule.publicClass' from private module 'privateModule'. + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + } \ No newline at end of file diff --git a/tests/baselines/reference/privacyFunctionReturnTypeDeclFile.js b/tests/baselines/reference/privacyFunctionReturnTypeDeclFile.js new file mode 100644 index 00000000000..06a64104148 --- /dev/null +++ b/tests/baselines/reference/privacyFunctionReturnTypeDeclFile.js @@ -0,0 +1,2279 @@ +//// [tests/cases/compiler/privacyFunctionReturnTypeDeclFile.ts] //// + +//// [privacyFunctionReturnTypeDeclFile_externalModule.ts] + +class privateClass { +} + +export class publicClass { +} + +export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; // Error + (): privateClass; // Error + [x: number]: privateClass; // Error + myMethod(): privateClass; // Error +} + +export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; +} + +interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; +} + +interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; +} + +export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { // Error + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { // Error + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { // Error + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } +} + +export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } +} + +class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } +} + +class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } +} + +export function publicFunctionWithPrivateParmeterTypes(): privateClass { // Error + return null; +} +export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; +} +function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; +} +function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; +} +export function publicFunctionWithPrivateParmeterTypes1() { // Error + return new privateClass(); +} +export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); +} +function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); +} +function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); +} + +export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; // Error +export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; +declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; +declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + +export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; // Error + (): privateModule.publicClass; // Error + [x: number]: privateModule.publicClass // Error + myMethod(): privateModule.publicClass; // Error +} +export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + myPublicMethod1() { // Error + return new privateModule.publicClass(); + } +} +export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { // Error + return null; +} +export function publicFunctionWithPrivateModuleParameterTypes1() { // Error + return new privateModule.publicClass(); +} +export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; // Error + +interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass + myMethod(): privateModule.publicClass; +} +class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } +} +function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; +} +function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); +} +declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + +export module publicModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; // Error + (): privateClass; // Error + [x: number]: privateClass; // Error + myMethod(): privateClass; // Error + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { // Error + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { // Error + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { // Error + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { // Error + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { // Error + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; // Error + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; // Error + (): privateModule.publicClass; // Error + [x: number]: privateModule.publicClass; // Error + myMethod(): privateModule.publicClass; // Error + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + myPublicMethod1() { // Error + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { // Error + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { // Error + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; // Error + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; +} + +module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; +} + +//// [privacyFunctionReturnTypeDeclFile_GlobalFile.ts] +class publicClassInGlobal { +} +interface publicInterfaceWithPublicParmeterTypesInGlobal { + new (): publicClassInGlobal; + (): publicClassInGlobal; + [x: number]: publicClassInGlobal; + myMethod(): publicClassInGlobal; +} +class publicClassWithWithPublicParmeterTypesInGlobal { + static myPublicStaticMethod(): publicClassInGlobal { + return null; + } + private static myPrivateStaticMethod(): publicClassInGlobal { + return null; + } + myPublicMethod(): publicClassInGlobal { + return null; + } + private myPrivateMethod(): publicClassInGlobal { + return null; + } + static myPublicStaticMethod1() { + return new publicClassInGlobal(); + } + private static myPrivateStaticMethod1() { + return new publicClassInGlobal(); + } + myPublicMethod1() { + return new publicClassInGlobal(); + } + private myPrivateMethod1() { + return new publicClassInGlobal(); + } +} +function publicFunctionWithPublicParmeterTypesInGlobal(): publicClassInGlobal { + return null; +} +function publicFunctionWithPublicParmeterTypesInGlobal1() { + return new publicClassInGlobal(); +} +declare function publicAmbientFunctionWithPublicParmeterTypesInGlobal(): publicClassInGlobal; + +module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; // Error + (): privateClass; // Error + [x: number]: privateClass; // Error + myMethod(): privateClass; // Error + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { // Error + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { // Error + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { // Error + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { // Error + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { // Error + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; // Error + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; // Error + (): privateModule.publicClass; // Error + [x: number]: privateModule.publicClass; // Error + myMethod(): privateModule.publicClass; // Error + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + myPublicMethod1() { // Error + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { // Error + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { // Error + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; // Error + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; +} + +//// [privacyFunctionReturnTypeDeclFile_externalModule.js] +var privateClass = (function () { + function privateClass() { + } + return privateClass; +})(); +var publicClass = (function () { + function publicClass() { + } + return publicClass; +})(); +exports.publicClass = publicClass; +var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes() { + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return new privateClass(); + }; + return publicClassWithWithPrivateParmeterTypes; +})(); +exports.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; +var publicClassWithWithPublicParmeterTypes = (function () { + function publicClassWithWithPublicParmeterTypes() { + } + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod1 = function () { + return new publicClass(); + }; + return publicClassWithWithPublicParmeterTypes; +})(); +exports.publicClassWithWithPublicParmeterTypes = publicClassWithWithPublicParmeterTypes; +var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes() { + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return new privateClass(); + }; + return privateClassWithWithPrivateParmeterTypes; +})(); +var privateClassWithWithPublicParmeterTypes = (function () { + function privateClassWithWithPublicParmeterTypes() { + } + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod1 = function () { + return new publicClass(); + }; + return privateClassWithWithPublicParmeterTypes; +})(); +function publicFunctionWithPrivateParmeterTypes() { + return null; +} +exports.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; +function publicFunctionWithPublicParmeterTypes() { + return null; +} +exports.publicFunctionWithPublicParmeterTypes = publicFunctionWithPublicParmeterTypes; +function privateFunctionWithPrivateParmeterTypes() { + return null; +} +function privateFunctionWithPublicParmeterTypes() { + return null; +} +function publicFunctionWithPrivateParmeterTypes1() { + return new privateClass(); +} +exports.publicFunctionWithPrivateParmeterTypes1 = publicFunctionWithPrivateParmeterTypes1; +function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); +} +exports.publicFunctionWithPublicParmeterTypes1 = publicFunctionWithPublicParmeterTypes1; +function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); +} +function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); +} +var publicClassWithPrivateModuleParameterTypes = (function () { + function publicClassWithPrivateModuleParameterTypes() { + } + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod1 = function () { + return new privateModule.publicClass(); + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod1 = function () { + return new privateModule.publicClass(); + }; + return publicClassWithPrivateModuleParameterTypes; +})(); +exports.publicClassWithPrivateModuleParameterTypes = publicClassWithPrivateModuleParameterTypes; +function publicFunctionWithPrivateModuleParameterTypes() { + return null; +} +exports.publicFunctionWithPrivateModuleParameterTypes = publicFunctionWithPrivateModuleParameterTypes; +function publicFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); +} +exports.publicFunctionWithPrivateModuleParameterTypes1 = publicFunctionWithPrivateModuleParameterTypes1; +var privateClassWithPrivateModuleParameterTypes = (function () { + function privateClassWithPrivateModuleParameterTypes() { + } + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod1 = function () { + return new privateModule.publicClass(); + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod1 = function () { + return new privateModule.publicClass(); + }; + return privateClassWithPrivateModuleParameterTypes; +})(); +function privateFunctionWithPrivateModuleParameterTypes() { + return null; +} +function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); +} +(function (publicModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + publicModule.publicClass = publicClass; + var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes() { + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return new privateClass(); + }; + return publicClassWithWithPrivateParmeterTypes; + })(); + publicModule.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; + var publicClassWithWithPublicParmeterTypes = (function () { + function publicClassWithWithPublicParmeterTypes() { + } + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod1 = function () { + return new publicClass(); + }; + return publicClassWithWithPublicParmeterTypes; + })(); + publicModule.publicClassWithWithPublicParmeterTypes = publicClassWithWithPublicParmeterTypes; + var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes() { + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return new privateClass(); + }; + return privateClassWithWithPrivateParmeterTypes; + })(); + var privateClassWithWithPublicParmeterTypes = (function () { + function privateClassWithWithPublicParmeterTypes() { + } + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod1 = function () { + return new publicClass(); + }; + return privateClassWithWithPublicParmeterTypes; + })(); + function publicFunctionWithPrivateParmeterTypes() { + return null; + } + publicModule.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; + function publicFunctionWithPublicParmeterTypes() { + return null; + } + publicModule.publicFunctionWithPublicParmeterTypes = publicFunctionWithPublicParmeterTypes; + function privateFunctionWithPrivateParmeterTypes() { + return null; + } + function privateFunctionWithPublicParmeterTypes() { + return null; + } + function publicFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + publicModule.publicFunctionWithPrivateParmeterTypes1 = publicFunctionWithPrivateParmeterTypes1; + function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + publicModule.publicFunctionWithPublicParmeterTypes1 = publicFunctionWithPublicParmeterTypes1; + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + var publicClassWithPrivateModuleParameterTypes = (function () { + function publicClassWithPrivateModuleParameterTypes() { + } + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod1 = function () { + return new privateModule.publicClass(); + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod1 = function () { + return new privateModule.publicClass(); + }; + return publicClassWithPrivateModuleParameterTypes; + })(); + publicModule.publicClassWithPrivateModuleParameterTypes = publicClassWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes() { + return null; + } + publicModule.publicFunctionWithPrivateModuleParameterTypes = publicFunctionWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + publicModule.publicFunctionWithPrivateModuleParameterTypes1 = publicFunctionWithPrivateModuleParameterTypes1; + var privateClassWithPrivateModuleParameterTypes = (function () { + function privateClassWithPrivateModuleParameterTypes() { + } + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod1 = function () { + return new privateModule.publicClass(); + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod1 = function () { + return new privateModule.publicClass(); + }; + return privateClassWithPrivateModuleParameterTypes; + })(); + function privateFunctionWithPrivateModuleParameterTypes() { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } +})(exports.publicModule || (exports.publicModule = {})); +var publicModule = exports.publicModule; +var privateModule; +(function (privateModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + privateModule.publicClass = publicClass; + var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes() { + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return new privateClass(); + }; + return publicClassWithWithPrivateParmeterTypes; + })(); + privateModule.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; + var publicClassWithWithPublicParmeterTypes = (function () { + function publicClassWithWithPublicParmeterTypes() { + } + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod1 = function () { + return new publicClass(); + }; + return publicClassWithWithPublicParmeterTypes; + })(); + privateModule.publicClassWithWithPublicParmeterTypes = publicClassWithWithPublicParmeterTypes; + var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes() { + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return new privateClass(); + }; + return privateClassWithWithPrivateParmeterTypes; + })(); + var privateClassWithWithPublicParmeterTypes = (function () { + function privateClassWithWithPublicParmeterTypes() { + } + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod1 = function () { + return new publicClass(); + }; + return privateClassWithWithPublicParmeterTypes; + })(); + function publicFunctionWithPrivateParmeterTypes() { + return null; + } + privateModule.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; + function publicFunctionWithPublicParmeterTypes() { + return null; + } + privateModule.publicFunctionWithPublicParmeterTypes = publicFunctionWithPublicParmeterTypes; + function privateFunctionWithPrivateParmeterTypes() { + return null; + } + function privateFunctionWithPublicParmeterTypes() { + return null; + } + function publicFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + privateModule.publicFunctionWithPrivateParmeterTypes1 = publicFunctionWithPrivateParmeterTypes1; + function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + privateModule.publicFunctionWithPublicParmeterTypes1 = publicFunctionWithPublicParmeterTypes1; + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + var publicClassWithPrivateModuleParameterTypes = (function () { + function publicClassWithPrivateModuleParameterTypes() { + } + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod1 = function () { + return new privateModule.publicClass(); + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod1 = function () { + return new privateModule.publicClass(); + }; + return publicClassWithPrivateModuleParameterTypes; + })(); + privateModule.publicClassWithPrivateModuleParameterTypes = publicClassWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes() { + return null; + } + privateModule.publicFunctionWithPrivateModuleParameterTypes = publicFunctionWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + privateModule.publicFunctionWithPrivateModuleParameterTypes1 = publicFunctionWithPrivateModuleParameterTypes1; + var privateClassWithPrivateModuleParameterTypes = (function () { + function privateClassWithPrivateModuleParameterTypes() { + } + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod1 = function () { + return new privateModule.publicClass(); + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod1 = function () { + return new privateModule.publicClass(); + }; + return privateClassWithPrivateModuleParameterTypes; + })(); + function privateFunctionWithPrivateModuleParameterTypes() { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } +})(privateModule || (privateModule = {})); +//// [privacyFunctionReturnTypeDeclFile_GlobalFile.js] +var publicClassInGlobal = (function () { + function publicClassInGlobal() { + } + return publicClassInGlobal; +})(); +var publicClassWithWithPublicParmeterTypesInGlobal = (function () { + function publicClassWithWithPublicParmeterTypesInGlobal() { + } + publicClassWithWithPublicParmeterTypesInGlobal.myPublicStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypesInGlobal.myPrivateStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypesInGlobal.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypesInGlobal.prototype.myPrivateMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypesInGlobal.myPublicStaticMethod1 = function () { + return new publicClassInGlobal(); + }; + publicClassWithWithPublicParmeterTypesInGlobal.myPrivateStaticMethod1 = function () { + return new publicClassInGlobal(); + }; + publicClassWithWithPublicParmeterTypesInGlobal.prototype.myPublicMethod1 = function () { + return new publicClassInGlobal(); + }; + publicClassWithWithPublicParmeterTypesInGlobal.prototype.myPrivateMethod1 = function () { + return new publicClassInGlobal(); + }; + return publicClassWithWithPublicParmeterTypesInGlobal; +})(); +function publicFunctionWithPublicParmeterTypesInGlobal() { + return null; +} +function publicFunctionWithPublicParmeterTypesInGlobal1() { + return new publicClassInGlobal(); +} +var publicModuleInGlobal; +(function (publicModuleInGlobal) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + publicModuleInGlobal.publicClass = publicClass; + var privateModule; + (function (privateModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + privateModule.publicClass = publicClass; + var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes() { + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return new privateClass(); + }; + return publicClassWithWithPrivateParmeterTypes; + })(); + privateModule.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; + var publicClassWithWithPublicParmeterTypes = (function () { + function publicClassWithWithPublicParmeterTypes() { + } + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod1 = function () { + return new publicClass(); + }; + return publicClassWithWithPublicParmeterTypes; + })(); + privateModule.publicClassWithWithPublicParmeterTypes = publicClassWithWithPublicParmeterTypes; + var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes() { + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return new privateClass(); + }; + return privateClassWithWithPrivateParmeterTypes; + })(); + var privateClassWithWithPublicParmeterTypes = (function () { + function privateClassWithWithPublicParmeterTypes() { + } + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod1 = function () { + return new publicClass(); + }; + return privateClassWithWithPublicParmeterTypes; + })(); + function publicFunctionWithPrivateParmeterTypes() { + return null; + } + privateModule.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; + function publicFunctionWithPublicParmeterTypes() { + return null; + } + privateModule.publicFunctionWithPublicParmeterTypes = publicFunctionWithPublicParmeterTypes; + function privateFunctionWithPrivateParmeterTypes() { + return null; + } + function privateFunctionWithPublicParmeterTypes() { + return null; + } + function publicFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + privateModule.publicFunctionWithPrivateParmeterTypes1 = publicFunctionWithPrivateParmeterTypes1; + function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + privateModule.publicFunctionWithPublicParmeterTypes1 = publicFunctionWithPublicParmeterTypes1; + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + var publicClassWithPrivateModuleParameterTypes = (function () { + function publicClassWithPrivateModuleParameterTypes() { + } + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod1 = function () { + return new privateModule.publicClass(); + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod1 = function () { + return new privateModule.publicClass(); + }; + return publicClassWithPrivateModuleParameterTypes; + })(); + privateModule.publicClassWithPrivateModuleParameterTypes = publicClassWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes() { + return null; + } + privateModule.publicFunctionWithPrivateModuleParameterTypes = publicFunctionWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + privateModule.publicFunctionWithPrivateModuleParameterTypes1 = publicFunctionWithPrivateModuleParameterTypes1; + var privateClassWithPrivateModuleParameterTypes = (function () { + function privateClassWithPrivateModuleParameterTypes() { + } + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod1 = function () { + return new privateModule.publicClass(); + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod1 = function () { + return new privateModule.publicClass(); + }; + return privateClassWithPrivateModuleParameterTypes; + })(); + function privateFunctionWithPrivateModuleParameterTypes() { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + })(privateModule || (privateModule = {})); + var publicClassWithWithPrivateParmeterTypes = (function () { + function publicClassWithWithPrivateParmeterTypes() { + } + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + publicClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return new privateClass(); + }; + publicClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return new privateClass(); + }; + return publicClassWithWithPrivateParmeterTypes; + })(); + publicModuleInGlobal.publicClassWithWithPrivateParmeterTypes = publicClassWithWithPrivateParmeterTypes; + var publicClassWithWithPublicParmeterTypes = (function () { + function publicClassWithWithPublicParmeterTypes() { + } + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + publicClassWithWithPublicParmeterTypes.myPublicStaticMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.myPrivateStaticMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.prototype.myPublicMethod1 = function () { + return new publicClass(); + }; + publicClassWithWithPublicParmeterTypes.prototype.myPrivateMethod1 = function () { + return new publicClass(); + }; + return publicClassWithWithPublicParmeterTypes; + })(); + publicModuleInGlobal.publicClassWithWithPublicParmeterTypes = publicClassWithWithPublicParmeterTypes; + var privateClassWithWithPrivateParmeterTypes = (function () { + function privateClassWithWithPrivateParmeterTypes() { + } + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + privateClassWithWithPrivateParmeterTypes.myPublicStaticMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.myPrivateStaticMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPublicMethod1 = function () { + return new privateClass(); + }; + privateClassWithWithPrivateParmeterTypes.prototype.myPrivateMethod1 = function () { + return new privateClass(); + }; + return privateClassWithWithPrivateParmeterTypes; + })(); + var privateClassWithWithPublicParmeterTypes = (function () { + function privateClassWithWithPublicParmeterTypes() { + } + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod = function () { + return null; + }; + privateClassWithWithPublicParmeterTypes.myPublicStaticMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.myPrivateStaticMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.prototype.myPublicMethod1 = function () { + return new publicClass(); + }; + privateClassWithWithPublicParmeterTypes.prototype.myPrivateMethod1 = function () { + return new publicClass(); + }; + return privateClassWithWithPublicParmeterTypes; + })(); + function publicFunctionWithPrivateParmeterTypes() { + return null; + } + publicModuleInGlobal.publicFunctionWithPrivateParmeterTypes = publicFunctionWithPrivateParmeterTypes; + function publicFunctionWithPublicParmeterTypes() { + return null; + } + publicModuleInGlobal.publicFunctionWithPublicParmeterTypes = publicFunctionWithPublicParmeterTypes; + function privateFunctionWithPrivateParmeterTypes() { + return null; + } + function privateFunctionWithPublicParmeterTypes() { + return null; + } + function publicFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + publicModuleInGlobal.publicFunctionWithPrivateParmeterTypes1 = publicFunctionWithPrivateParmeterTypes1; + function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + publicModuleInGlobal.publicFunctionWithPublicParmeterTypes1 = publicFunctionWithPublicParmeterTypes1; + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + var publicClassWithPrivateModuleParameterTypes = (function () { + function publicClassWithPrivateModuleParameterTypes() { + } + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function () { + return null; + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function () { + return null; + }; + publicClassWithPrivateModuleParameterTypes.myPublicStaticMethod1 = function () { + return new privateModule.publicClass(); + }; + publicClassWithPrivateModuleParameterTypes.prototype.myPublicMethod1 = function () { + return new privateModule.publicClass(); + }; + return publicClassWithPrivateModuleParameterTypes; + })(); + publicModuleInGlobal.publicClassWithPrivateModuleParameterTypes = publicClassWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes() { + return null; + } + publicModuleInGlobal.publicFunctionWithPrivateModuleParameterTypes = publicFunctionWithPrivateModuleParameterTypes; + function publicFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + publicModuleInGlobal.publicFunctionWithPrivateModuleParameterTypes1 = publicFunctionWithPrivateModuleParameterTypes1; + var privateClassWithPrivateModuleParameterTypes = (function () { + function privateClassWithPrivateModuleParameterTypes() { + } + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod = function () { + return null; + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod = function () { + return null; + }; + privateClassWithPrivateModuleParameterTypes.myPublicStaticMethod1 = function () { + return new privateModule.publicClass(); + }; + privateClassWithPrivateModuleParameterTypes.prototype.myPublicMethod1 = function () { + return new privateModule.publicClass(); + }; + return privateClassWithPrivateModuleParameterTypes; + })(); + function privateFunctionWithPrivateModuleParameterTypes() { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } +})(publicModuleInGlobal || (publicModuleInGlobal = {})); diff --git a/tests/baselines/reference/privacyGetter.errors.txt b/tests/baselines/reference/privacyGetter.errors.txt deleted file mode 100644 index ea185031726..00000000000 --- a/tests/baselines/reference/privacyGetter.errors.txt +++ /dev/null @@ -1,304 +0,0 @@ -==== tests/cases/compiler/privacyGetter.ts (48 errors) ==== - export module m1 { - export class C1_public { - private f1() { - } - } - - class C2_private { - } - - export class C3_public { - private get p1_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C1_public(); - } - - private set p1_private(m1_c3_p1_arg: C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p2_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C1_public(); - } - - private set p2_private(m1_c3_p2_arg: C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p3_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C2_private(); - } - - private set p3_private(m1_c3_p3_arg: C2_private) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - public get p4_public(): C2_private { // error - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C2_private(); //error - } - - public set p4_public(m1_c3_p4_arg: C2_private) { // error - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - } - - class C4_private { - private get p1_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C1_public(); - } - - private set p1_private(m1_c3_p1_arg: C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p2_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C1_public(); - } - - private set p2_private(m1_c3_p2_arg: C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p3_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C2_private(); - } - - private set p3_private(m1_c3_p3_arg: C2_private) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - public get p4_public(): C2_private { - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C2_private(); - } - - public set p4_public(m1_c3_p4_arg: C2_private) { - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - } - } - - module m2 { - export class m2_C1_public { - private f1() { - } - } - - class m2_C2_private { - } - - export class m2_C3_public { - private get p1_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new m2_C1_public(); - } - - private set p1_private(m2_c3_p1_arg: m2_C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p2_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new m2_C1_public(); - } - - private set p2_private(m2_c3_p2_arg: m2_C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p3_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new m2_C2_private(); - } - - private set p3_private(m2_c3_p3_arg: m2_C2_private) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - public get p4_public(): m2_C2_private { - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new m2_C2_private(); - } - - public set p4_public(m2_c3_p4_arg: m2_C2_private) { - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - } - - class m2_C4_private { - private get p1_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new m2_C1_public(); - } - - private set p1_private(m2_c3_p1_arg: m2_C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p2_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new m2_C1_public(); - } - - private set p2_private(m2_c3_p2_arg: m2_C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p3_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new m2_C2_private(); - } - - private set p3_private(m2_c3_p3_arg: m2_C2_private) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - public get p4_public(): m2_C2_private { - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new m2_C2_private(); - } - - public set p4_public(m2_c3_p4_arg: m2_C2_private) { - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - } - } - - class C5_private { - private f() { - } - } - - export class C6_public { - } - - export class C7_public { - private get p1_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C6_public(); - } - - private set p1_private(m1_c3_p1_arg: C6_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p2_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C6_public(); - } - - private set p2_private(m1_c3_p2_arg: C6_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p3_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C5_private(); - } - - private set p3_private(m1_c3_p3_arg: C5_private) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - public get p4_public(): C5_private { // error - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C5_private(); //error - } - - public set p4_public(m1_c3_p4_arg: C5_private) { // error - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - } - - class C8_private { - private get p1_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C6_public(); - } - - private set p1_private(m1_c3_p1_arg: C6_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p2_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C6_public(); - } - - private set p2_private(m1_c3_p2_arg: C6_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p3_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C5_private(); - } - - private set p3_private(m1_c3_p3_arg: C5_private) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - public get p4_public(): C5_private { - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C5_private(); - } - - public set p4_public(m1_c3_p4_arg: C5_private) { - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - } \ No newline at end of file diff --git a/tests/baselines/reference/privacyGetter.js b/tests/baselines/reference/privacyGetter.js new file mode 100644 index 00000000000..d144836e744 --- /dev/null +++ b/tests/baselines/reference/privacyGetter.js @@ -0,0 +1,506 @@ +//// [privacyGetter.ts] +export module m1 { + export class C1_public { + private f1() { + } + } + + class C2_private { + } + + export class C3_public { + private get p1_private() { + return new C1_public(); + } + + private set p1_private(m1_c3_p1_arg: C1_public) { + } + + private get p2_private() { + return new C1_public(); + } + + private set p2_private(m1_c3_p2_arg: C1_public) { + } + + private get p3_private() { + return new C2_private(); + } + + private set p3_private(m1_c3_p3_arg: C2_private) { + } + + public get p4_public(): C2_private { // error + return new C2_private(); //error + } + + public set p4_public(m1_c3_p4_arg: C2_private) { // error + } + } + + class C4_private { + private get p1_private() { + return new C1_public(); + } + + private set p1_private(m1_c3_p1_arg: C1_public) { + } + + private get p2_private() { + return new C1_public(); + } + + private set p2_private(m1_c3_p2_arg: C1_public) { + } + + private get p3_private() { + return new C2_private(); + } + + private set p3_private(m1_c3_p3_arg: C2_private) { + } + + public get p4_public(): C2_private { + return new C2_private(); + } + + public set p4_public(m1_c3_p4_arg: C2_private) { + } + } +} + +module m2 { + export class m2_C1_public { + private f1() { + } + } + + class m2_C2_private { + } + + export class m2_C3_public { + private get p1_private() { + return new m2_C1_public(); + } + + private set p1_private(m2_c3_p1_arg: m2_C1_public) { + } + + private get p2_private() { + return new m2_C1_public(); + } + + private set p2_private(m2_c3_p2_arg: m2_C1_public) { + } + + private get p3_private() { + return new m2_C2_private(); + } + + private set p3_private(m2_c3_p3_arg: m2_C2_private) { + } + + public get p4_public(): m2_C2_private { + return new m2_C2_private(); + } + + public set p4_public(m2_c3_p4_arg: m2_C2_private) { + } + } + + class m2_C4_private { + private get p1_private() { + return new m2_C1_public(); + } + + private set p1_private(m2_c3_p1_arg: m2_C1_public) { + } + + private get p2_private() { + return new m2_C1_public(); + } + + private set p2_private(m2_c3_p2_arg: m2_C1_public) { + } + + private get p3_private() { + return new m2_C2_private(); + } + + private set p3_private(m2_c3_p3_arg: m2_C2_private) { + } + + public get p4_public(): m2_C2_private { + return new m2_C2_private(); + } + + public set p4_public(m2_c3_p4_arg: m2_C2_private) { + } + } +} + +class C5_private { + private f() { + } +} + +export class C6_public { +} + +export class C7_public { + private get p1_private() { + return new C6_public(); + } + + private set p1_private(m1_c3_p1_arg: C6_public) { + } + + private get p2_private() { + return new C6_public(); + } + + private set p2_private(m1_c3_p2_arg: C6_public) { + } + + private get p3_private() { + return new C5_private(); + } + + private set p3_private(m1_c3_p3_arg: C5_private) { + } + + public get p4_public(): C5_private { // error + return new C5_private(); //error + } + + public set p4_public(m1_c3_p4_arg: C5_private) { // error + } +} + +class C8_private { + private get p1_private() { + return new C6_public(); + } + + private set p1_private(m1_c3_p1_arg: C6_public) { + } + + private get p2_private() { + return new C6_public(); + } + + private set p2_private(m1_c3_p2_arg: C6_public) { + } + + private get p3_private() { + return new C5_private(); + } + + private set p3_private(m1_c3_p3_arg: C5_private) { + } + + public get p4_public(): C5_private { + return new C5_private(); + } + + public set p4_public(m1_c3_p4_arg: C5_private) { + } +} + +//// [privacyGetter.js] +define(["require", "exports"], function (require, exports) { + (function (m1) { + var C1_public = (function () { + function C1_public() { + } + C1_public.prototype.f1 = function () { + }; + return C1_public; + })(); + m1.C1_public = C1_public; + var C2_private = (function () { + function C2_private() { + } + return C2_private; + })(); + var C3_public = (function () { + function C3_public() { + } + Object.defineProperty(C3_public.prototype, "p1_private", { + get: function () { + return new C1_public(); + }, + set: function (m1_c3_p1_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C3_public.prototype, "p2_private", { + get: function () { + return new C1_public(); + }, + set: function (m1_c3_p2_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C3_public.prototype, "p3_private", { + get: function () { + return new C2_private(); + }, + set: function (m1_c3_p3_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C3_public.prototype, "p4_public", { + get: function () { + return new C2_private(); + }, + set: function (m1_c3_p4_arg) { + }, + enumerable: true, + configurable: true + }); + return C3_public; + })(); + m1.C3_public = C3_public; + var C4_private = (function () { + function C4_private() { + } + Object.defineProperty(C4_private.prototype, "p1_private", { + get: function () { + return new C1_public(); + }, + set: function (m1_c3_p1_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C4_private.prototype, "p2_private", { + get: function () { + return new C1_public(); + }, + set: function (m1_c3_p2_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C4_private.prototype, "p3_private", { + get: function () { + return new C2_private(); + }, + set: function (m1_c3_p3_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C4_private.prototype, "p4_public", { + get: function () { + return new C2_private(); + }, + set: function (m1_c3_p4_arg) { + }, + enumerable: true, + configurable: true + }); + return C4_private; + })(); + })(exports.m1 || (exports.m1 = {})); + var m1 = exports.m1; + var m2; + (function (m2) { + var m2_C1_public = (function () { + function m2_C1_public() { + } + m2_C1_public.prototype.f1 = function () { + }; + return m2_C1_public; + })(); + m2.m2_C1_public = m2_C1_public; + var m2_C2_private = (function () { + function m2_C2_private() { + } + return m2_C2_private; + })(); + var m2_C3_public = (function () { + function m2_C3_public() { + } + Object.defineProperty(m2_C3_public.prototype, "p1_private", { + get: function () { + return new m2_C1_public(); + }, + set: function (m2_c3_p1_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(m2_C3_public.prototype, "p2_private", { + get: function () { + return new m2_C1_public(); + }, + set: function (m2_c3_p2_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(m2_C3_public.prototype, "p3_private", { + get: function () { + return new m2_C2_private(); + }, + set: function (m2_c3_p3_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(m2_C3_public.prototype, "p4_public", { + get: function () { + return new m2_C2_private(); + }, + set: function (m2_c3_p4_arg) { + }, + enumerable: true, + configurable: true + }); + return m2_C3_public; + })(); + m2.m2_C3_public = m2_C3_public; + var m2_C4_private = (function () { + function m2_C4_private() { + } + Object.defineProperty(m2_C4_private.prototype, "p1_private", { + get: function () { + return new m2_C1_public(); + }, + set: function (m2_c3_p1_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(m2_C4_private.prototype, "p2_private", { + get: function () { + return new m2_C1_public(); + }, + set: function (m2_c3_p2_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(m2_C4_private.prototype, "p3_private", { + get: function () { + return new m2_C2_private(); + }, + set: function (m2_c3_p3_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(m2_C4_private.prototype, "p4_public", { + get: function () { + return new m2_C2_private(); + }, + set: function (m2_c3_p4_arg) { + }, + enumerable: true, + configurable: true + }); + return m2_C4_private; + })(); + })(m2 || (m2 = {})); + var C5_private = (function () { + function C5_private() { + } + C5_private.prototype.f = function () { + }; + return C5_private; + })(); + var C6_public = (function () { + function C6_public() { + } + return C6_public; + })(); + exports.C6_public = C6_public; + var C7_public = (function () { + function C7_public() { + } + Object.defineProperty(C7_public.prototype, "p1_private", { + get: function () { + return new C6_public(); + }, + set: function (m1_c3_p1_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C7_public.prototype, "p2_private", { + get: function () { + return new C6_public(); + }, + set: function (m1_c3_p2_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C7_public.prototype, "p3_private", { + get: function () { + return new C5_private(); + }, + set: function (m1_c3_p3_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C7_public.prototype, "p4_public", { + get: function () { + return new C5_private(); + }, + set: function (m1_c3_p4_arg) { + }, + enumerable: true, + configurable: true + }); + return C7_public; + })(); + exports.C7_public = C7_public; + var C8_private = (function () { + function C8_private() { + } + Object.defineProperty(C8_private.prototype, "p1_private", { + get: function () { + return new C6_public(); + }, + set: function (m1_c3_p1_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C8_private.prototype, "p2_private", { + get: function () { + return new C6_public(); + }, + set: function (m1_c3_p2_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C8_private.prototype, "p3_private", { + get: function () { + return new C5_private(); + }, + set: function (m1_c3_p3_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C8_private.prototype, "p4_public", { + get: function () { + return new C5_private(); + }, + set: function (m1_c3_p4_arg) { + }, + enumerable: true, + configurable: true + }); + return C8_private; + })(); +}); diff --git a/tests/baselines/reference/privacyGloGetter.errors.txt b/tests/baselines/reference/privacyGloGetter.errors.txt deleted file mode 100644 index d23ed7d1491..00000000000 --- a/tests/baselines/reference/privacyGloGetter.errors.txt +++ /dev/null @@ -1,129 +0,0 @@ -==== tests/cases/compiler/privacyGloGetter.ts (20 errors) ==== - module m1 { - export class C1_public { - private f1() { - } - } - - class C2_private { - } - - export class C3_public { - private get p1_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C1_public(); - } - - private set p1_private(m1_c3_p1_arg: C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p2_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C1_public(); - } - - private set p2_private(m1_c3_p2_arg: C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p3_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C2_private(); - } - - private set p3_private(m1_c3_p3_arg: C2_private) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - public get p4_public(): C2_private { // error - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C2_private(); //error - } - - public set p4_public(m1_c3_p4_arg: C2_private) { // error - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - } - - class C4_private { - private get p1_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C1_public(); - } - - private set p1_private(m1_c3_p1_arg: C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p2_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C1_public(); - } - - private set p2_private(m1_c3_p2_arg: C1_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p3_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C2_private(); - } - - private set p3_private(m1_c3_p3_arg: C2_private) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - public get p4_public(): C2_private { - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C2_private(); - } - - public set p4_public(m1_c3_p4_arg: C2_private) { - ~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - } - } - - class C6_public { - } - - class C7_public { - private get p1_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C6_public(); - } - - private set p1_private(m1_c3_p1_arg: C6_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - - private get p2_private() { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - return new C6_public(); - } - - private set p2_private(m1_c3_p2_arg: C6_public) { - ~~~~~~~~~~ -!!! Accessors are only available when targeting ECMAScript 5 and higher. - } - } \ No newline at end of file diff --git a/tests/baselines/reference/privacyGloGetter.js b/tests/baselines/reference/privacyGloGetter.js new file mode 100644 index 00000000000..9f65712805e --- /dev/null +++ b/tests/baselines/reference/privacyGloGetter.js @@ -0,0 +1,218 @@ +//// [privacyGloGetter.ts] +module m1 { + export class C1_public { + private f1() { + } + } + + class C2_private { + } + + export class C3_public { + private get p1_private() { + return new C1_public(); + } + + private set p1_private(m1_c3_p1_arg: C1_public) { + } + + private get p2_private() { + return new C1_public(); + } + + private set p2_private(m1_c3_p2_arg: C1_public) { + } + + private get p3_private() { + return new C2_private(); + } + + private set p3_private(m1_c3_p3_arg: C2_private) { + } + + public get p4_public(): C2_private { // error + return new C2_private(); //error + } + + public set p4_public(m1_c3_p4_arg: C2_private) { // error + } + } + + class C4_private { + private get p1_private() { + return new C1_public(); + } + + private set p1_private(m1_c3_p1_arg: C1_public) { + } + + private get p2_private() { + return new C1_public(); + } + + private set p2_private(m1_c3_p2_arg: C1_public) { + } + + private get p3_private() { + return new C2_private(); + } + + private set p3_private(m1_c3_p3_arg: C2_private) { + } + + public get p4_public(): C2_private { + return new C2_private(); + } + + public set p4_public(m1_c3_p4_arg: C2_private) { + } + } +} + +class C6_public { +} + +class C7_public { + private get p1_private() { + return new C6_public(); + } + + private set p1_private(m1_c3_p1_arg: C6_public) { + } + + private get p2_private() { + return new C6_public(); + } + + private set p2_private(m1_c3_p2_arg: C6_public) { + } +} + +//// [privacyGloGetter.js] +var m1; +(function (m1) { + var C1_public = (function () { + function C1_public() { + } + C1_public.prototype.f1 = function () { + }; + return C1_public; + })(); + m1.C1_public = C1_public; + var C2_private = (function () { + function C2_private() { + } + return C2_private; + })(); + var C3_public = (function () { + function C3_public() { + } + Object.defineProperty(C3_public.prototype, "p1_private", { + get: function () { + return new C1_public(); + }, + set: function (m1_c3_p1_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C3_public.prototype, "p2_private", { + get: function () { + return new C1_public(); + }, + set: function (m1_c3_p2_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C3_public.prototype, "p3_private", { + get: function () { + return new C2_private(); + }, + set: function (m1_c3_p3_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C3_public.prototype, "p4_public", { + get: function () { + return new C2_private(); + }, + set: function (m1_c3_p4_arg) { + }, + enumerable: true, + configurable: true + }); + return C3_public; + })(); + m1.C3_public = C3_public; + var C4_private = (function () { + function C4_private() { + } + Object.defineProperty(C4_private.prototype, "p1_private", { + get: function () { + return new C1_public(); + }, + set: function (m1_c3_p1_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C4_private.prototype, "p2_private", { + get: function () { + return new C1_public(); + }, + set: function (m1_c3_p2_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C4_private.prototype, "p3_private", { + get: function () { + return new C2_private(); + }, + set: function (m1_c3_p3_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C4_private.prototype, "p4_public", { + get: function () { + return new C2_private(); + }, + set: function (m1_c3_p4_arg) { + }, + enumerable: true, + configurable: true + }); + return C4_private; + })(); +})(m1 || (m1 = {})); +var C6_public = (function () { + function C6_public() { + } + return C6_public; +})(); +var C7_public = (function () { + function C7_public() { + } + Object.defineProperty(C7_public.prototype, "p1_private", { + get: function () { + return new C6_public(); + }, + set: function (m1_c3_p1_arg) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C7_public.prototype, "p2_private", { + get: function () { + return new C6_public(); + }, + set: function (m1_c3_p2_arg) { + }, + enumerable: true, + configurable: true + }); + return C7_public; +})(); diff --git a/tests/baselines/reference/privacyGloImport.errors.txt b/tests/baselines/reference/privacyGloImport.errors.txt index 38d31860a5b..cd5c19fa9d7 100644 --- a/tests/baselines/reference/privacyGloImport.errors.txt +++ b/tests/baselines/reference/privacyGloImport.errors.txt @@ -1,4 +1,4 @@ -==== tests/cases/compiler/privacyGloImport.ts (21 errors) ==== +==== tests/cases/compiler/privacyGloImport.ts (2 errors) ==== module m1 { export module m1_M1_public { export class c1 { @@ -20,27 +20,21 @@ export var v2: c1; } - declare export module "m1_M3_public" { - ~~~~~~ -!!! 'export' modifier must precede 'declare' modifier. - ~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //export declare module "m1_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} - declare module "m1_M4_private" { - ~~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //declare module "m1_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} import m1_im1_private = m1_M1_public; export var m1_im1_private_v1_public = m1_im1_private.c1; @@ -54,6 +48,8 @@ import m1_im2_private = m1_M2_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'm1_im2_private' is using private name 'm1_M2_private'. export var m1_im2_private_v1_public = m1_im2_private.c1; export var m1_im2_private_v2_public = new m1_im2_private.c1(); export var m1_im2_private_v3_public = m1_im2_private.f1; @@ -63,43 +59,32 @@ var m1_im2_private_v3_private = m1_im2_private.f1; var m1_im2_private_v4_private = m1_im2_private.f1(); - import m1_im3_private = require("m1_M3_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - ~~~~~~~~~~~~~~ -!!! Cannot find external module 'm1_M3_public'. - export var m1_im3_private_v1_public = m1_im3_private.c1; - export var m1_im3_private_v2_public = new m1_im3_private.c1(); - export var m1_im3_private_v3_public = m1_im3_private.f1; - export var m1_im3_private_v4_public = m1_im3_private.f1(); - var m1_im3_private_v1_private = m1_im3_private.c1; - var m1_im3_private_v2_private = new m1_im3_private.c1(); - var m1_im3_private_v3_private = m1_im3_private.f1; - var m1_im3_private_v4_private = m1_im3_private.f1(); + //import m1_im3_private = require("m1_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); - import m1_im4_private = require("m1_M4_private"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - ~~~~~~~~~~~~~~~ -!!! Cannot find external module 'm1_M4_private'. - export var m1_im4_private_v1_public = m1_im4_private.c1; - export var m1_im4_private_v2_public = new m1_im4_private.c1(); - export var m1_im4_private_v3_public = m1_im4_private.f1; - export var m1_im4_private_v4_public = m1_im4_private.f1(); - var m1_im4_private_v1_private = m1_im4_private.c1; - var m1_im4_private_v2_private = new m1_im4_private.c1(); - var m1_im4_private_v3_private = m1_im4_private.f1; - var m1_im4_private_v4_private = m1_im4_private.f1(); + //import m1_im4_private = require("m1_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); - // Parse error to export module export import m1_im1_public = m1_M1_public; export import m1_im2_public = m1_M2_private; - export import m1_im3_public = require("m1_M3_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - export import m1_im4_public = require("m1_M4_private"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'm1_im2_public' is using private name 'm1_M2_private'. + //export import m1_im3_public = require("m1_M3_public"); + //export import m1_im4_public = require("m1_M4_private"); } module glo_M1_public { @@ -123,38 +108,26 @@ declare module "use_glo_M1_public" { import use_glo_M1_public = glo_M1_public; export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; - export var use_glo_M1_public_v2_public: use_glo_M1_public; - ~~~~~~~~~~~~~~~~~ -!!! Cannot find name 'use_glo_M1_public'. + export var use_glo_M1_public_v2_public: typeof use_glo_M1_public; export var use_glo_M1_public_v3_public: ()=> use_glo_M1_public.c1; var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; - var use_glo_M1_public_v2_private: use_glo_M1_public; - ~~~~~~~~~~~~~~~~~ -!!! Cannot find name 'use_glo_M1_public'. + var use_glo_M1_public_v2_private: typeof use_glo_M1_public; var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; import use_glo_M2_public = require("glo_M2_public"); export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; - export var use_glo_M2_public_v2_public: use_glo_M2_public; - ~~~~~~~~~~~~~~~~~ -!!! Cannot find name 'use_glo_M2_public'. + export var use_glo_M2_public_v2_public: typeof use_glo_M2_public; export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; - var use_glo_M2_public_v2_private: use_glo_M2_public; - ~~~~~~~~~~~~~~~~~ -!!! Cannot find name 'use_glo_M2_public'. + var use_glo_M2_public_v2_private: typeof use_glo_M2_public; var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; module m2 { - import errorImport = require("glo_M2_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. + //import errorImport = require("glo_M2_public"); import nonerrorImport = glo_M1_public; module m5 { - import m5_errorImport = require("glo_M2_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. + //import m5_errorImport = require("glo_M2_public"); import m5_nonerrorImport = glo_M1_public; } } @@ -162,35 +135,23 @@ declare module "anotherParseError" { module m2 { - declare module "abc" { - ~~~~~~~ -!!! A 'declare' modifier cannot be used in an already ambient context. - ~~~~~ -!!! Ambient external modules cannot be nested in other modules. - } + //declare module "abc" { + //} } module m2 { - module "abc2" { - ~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - } - } - module "abc3" { - ~~~~~~ -!!! Ambient external modules cannot be nested in other modules. + //module "abc2" { + //} } + //module "abc3" { + //} } module m2 { - import m3 = require("use_glo_M1_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. + //import m3 = require("use_glo_M1_public"); module m4 { var a = 10; - import m2 = require("use_glo_M1_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. + //import m2 = require("use_glo_M1_public"); } } \ No newline at end of file diff --git a/tests/baselines/reference/privacyGloImport.js b/tests/baselines/reference/privacyGloImport.js new file mode 100644 index 00000000000..537e1eb43fa --- /dev/null +++ b/tests/baselines/reference/privacyGloImport.js @@ -0,0 +1,230 @@ +//// [privacyGloImport.ts] +module m1 { + export module m1_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + module m1_M2_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + //export declare module "m1_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} + + //declare module "m1_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} + + import m1_im1_private = m1_M1_public; + export var m1_im1_private_v1_public = m1_im1_private.c1; + export var m1_im1_private_v2_public = new m1_im1_private.c1(); + export var m1_im1_private_v3_public = m1_im1_private.f1; + export var m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + + + import m1_im2_private = m1_M2_private; + export var m1_im2_private_v1_public = m1_im2_private.c1; + export var m1_im2_private_v2_public = new m1_im2_private.c1(); + export var m1_im2_private_v3_public = m1_im2_private.f1; + export var m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + + //import m1_im3_private = require("m1_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); + + //import m1_im4_private = require("m1_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); + + export import m1_im1_public = m1_M1_public; + export import m1_im2_public = m1_M2_private; + //export import m1_im3_public = require("m1_M3_public"); + //export import m1_im4_public = require("m1_M4_private"); +} + +module glo_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; +} + +declare module "glo_M2_public" { + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; +} + +declare module "use_glo_M1_public" { + import use_glo_M1_public = glo_M1_public; + export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; + export var use_glo_M1_public_v2_public: typeof use_glo_M1_public; + export var use_glo_M1_public_v3_public: ()=> use_glo_M1_public.c1; + var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; + var use_glo_M1_public_v2_private: typeof use_glo_M1_public; + var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; + + import use_glo_M2_public = require("glo_M2_public"); + export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; + export var use_glo_M2_public_v2_public: typeof use_glo_M2_public; + export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; + var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; + var use_glo_M2_public_v2_private: typeof use_glo_M2_public; + var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; + + module m2 { + //import errorImport = require("glo_M2_public"); + import nonerrorImport = glo_M1_public; + + module m5 { + //import m5_errorImport = require("glo_M2_public"); + import m5_nonerrorImport = glo_M1_public; + } + } +} + +declare module "anotherParseError" { + module m2 { + //declare module "abc" { + //} + } + + module m2 { + //module "abc2" { + //} + } + //module "abc3" { + //} +} + +module m2 { + //import m3 = require("use_glo_M1_public"); + module m4 { + var a = 10; + //import m2 = require("use_glo_M1_public"); + } + +} + +//// [privacyGloImport.js] +var m1; +(function (m1) { + (function (m1_M1_public) { + var c1 = (function () { + function c1() { + } + return c1; + })(); + m1_M1_public.c1 = c1; + function f1() { + return new c1; + } + m1_M1_public.f1 = f1; + m1_M1_public.v1 = c1; + m1_M1_public.v2; + })(m1.m1_M1_public || (m1.m1_M1_public = {})); + var m1_M1_public = m1.m1_M1_public; + var m1_M2_private; + (function (m1_M2_private) { + var c1 = (function () { + function c1() { + } + return c1; + })(); + m1_M2_private.c1 = c1; + function f1() { + return new c1; + } + m1_M2_private.f1 = f1; + m1_M2_private.v1 = c1; + m1_M2_private.v2; + })(m1_M2_private || (m1_M2_private = {})); + var m1_im1_private = m1_M1_public; + m1.m1_im1_private_v1_public = m1_im1_private.c1; + m1.m1_im1_private_v2_public = new m1_im1_private.c1(); + m1.m1_im1_private_v3_public = m1_im1_private.f1; + m1.m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + var m1_im2_private = m1_M2_private; + m1.m1_im2_private_v1_public = m1_im2_private.c1; + m1.m1_im2_private_v2_public = new m1_im2_private.c1(); + m1.m1_im2_private_v3_public = m1_im2_private.f1; + m1.m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + m1.m1_im1_public = m1_M1_public; + m1.m1_im2_public = m1_M2_private; +})(m1 || (m1 = {})); +var glo_M1_public; +(function (glo_M1_public) { + var c1 = (function () { + function c1() { + } + return c1; + })(); + glo_M1_public.c1 = c1; + function f1() { + return new c1; + } + glo_M1_public.f1 = f1; + glo_M1_public.v1 = c1; + glo_M1_public.v2; +})(glo_M1_public || (glo_M1_public = {})); +var m2; +(function (m2) { + var m4; + (function (m4) { + var a = 10; + })(m4 || (m4 = {})); +})(m2 || (m2 = {})); diff --git a/tests/baselines/reference/privacyGloImportParseErrors.errors.txt b/tests/baselines/reference/privacyGloImportParseErrors.errors.txt new file mode 100644 index 00000000000..d681008e3b5 --- /dev/null +++ b/tests/baselines/reference/privacyGloImportParseErrors.errors.txt @@ -0,0 +1,185 @@ +==== tests/cases/compiler/privacyGloImportParseErrors.ts (16 errors) ==== + module m1 { + export module m1_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + module m1_M2_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + export declare module "m1_M3_public" { + ~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + declare module "m1_M4_private" { + ~~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + import m1_im1_private = m1_M1_public; + export var m1_im1_private_v1_public = m1_im1_private.c1; + export var m1_im1_private_v2_public = new m1_im1_private.c1(); + export var m1_im1_private_v3_public = m1_im1_private.f1; + export var m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + + + import m1_im2_private = m1_M2_private; + export var m1_im2_private_v1_public = m1_im2_private.c1; + export var m1_im2_private_v2_public = new m1_im2_private.c1(); + export var m1_im2_private_v3_public = m1_im2_private.f1; + export var m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + + import m1_im3_private = require("m1_M3_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + ~~~~~~~~~~~~~~ +!!! Cannot find external module 'm1_M3_public'. + export var m1_im3_private_v1_public = m1_im3_private.c1; + export var m1_im3_private_v2_public = new m1_im3_private.c1(); + export var m1_im3_private_v3_public = m1_im3_private.f1; + export var m1_im3_private_v4_public = m1_im3_private.f1(); + var m1_im3_private_v1_private = m1_im3_private.c1; + var m1_im3_private_v2_private = new m1_im3_private.c1(); + var m1_im3_private_v3_private = m1_im3_private.f1; + var m1_im3_private_v4_private = m1_im3_private.f1(); + + import m1_im4_private = require("m1_M4_private"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + ~~~~~~~~~~~~~~~ +!!! Cannot find external module 'm1_M4_private'. + export var m1_im4_private_v1_public = m1_im4_private.c1; + export var m1_im4_private_v2_public = new m1_im4_private.c1(); + export var m1_im4_private_v3_public = m1_im4_private.f1; + export var m1_im4_private_v4_public = m1_im4_private.f1(); + var m1_im4_private_v1_private = m1_im4_private.c1; + var m1_im4_private_v2_private = new m1_im4_private.c1(); + var m1_im4_private_v3_private = m1_im4_private.f1; + var m1_im4_private_v4_private = m1_im4_private.f1(); + + export import m1_im1_public = m1_M1_public; + export import m1_im2_public = m1_M2_private; + export import m1_im3_public = require("m1_M3_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export import m1_im4_public = require("m1_M4_private"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + } + + module glo_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + declare module "glo_M2_public" { + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + declare module "use_glo_M1_public" { + import use_glo_M1_public = glo_M1_public; + export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; + export var use_glo_M1_public_v2_public: typeof use_glo_M1_public; + export var use_glo_M1_public_v3_public: ()=> use_glo_M1_public.c1; + var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; + var use_glo_M1_public_v2_private: typeof use_glo_M1_public; + var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; + + import use_glo_M2_public = require("glo_M2_public"); + export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; + export var use_glo_M2_public_v2_public: typeof use_glo_M2_public; + export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; + var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; + var use_glo_M2_public_v2_private: typeof use_glo_M2_public; + var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; + + module m2 { + import errorImport = require("glo_M2_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + import nonerrorImport = glo_M1_public; + + module m5 { + import m5_errorImport = require("glo_M2_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + import m5_nonerrorImport = glo_M1_public; + } + } + } + + declare module "anotherParseError" { + module m2 { + declare module "abc" { + ~~~~~~~ +!!! A 'declare' modifier cannot be used in an already ambient context. + ~~~~~ +!!! Ambient external modules cannot be nested in other modules. + } + } + + module m2 { + module "abc2" { + ~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + } + } + module "abc3" { + ~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + } + } + + module m2 { + import m3 = require("use_glo_M1_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + module m4 { + var a = 10; + import m2 = require("use_glo_M1_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + } + + } \ No newline at end of file diff --git a/tests/baselines/reference/privacyImport.errors.txt b/tests/baselines/reference/privacyImport.errors.txt index bb22a0c398c..a4ea4776a12 100644 --- a/tests/baselines/reference/privacyImport.errors.txt +++ b/tests/baselines/reference/privacyImport.errors.txt @@ -1,4 +1,4 @@ -==== tests/cases/compiler/privacyImport.ts (49 errors) ==== +==== tests/cases/compiler/privacyImport.ts (2 errors) ==== export module m1 { export module m1_M1_public { export class c1 { @@ -20,25 +20,21 @@ export var v2: c1; } - export declare module "m1_M3_public" { - ~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //export declare module "m1_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} - declare module "m1_M4_private" { - ~~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //declare module "m1_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} import m1_im1_private = m1_M1_public; export var m1_im1_private_v1_public = m1_im1_private.c1; @@ -52,6 +48,8 @@ import m1_im2_private = m1_M2_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'm1_im2_private' is using private name 'm1_M2_private'. export var m1_im2_private_v1_public = m1_im2_private.c1; export var m1_im2_private_v2_public = new m1_im2_private.c1(); export var m1_im2_private_v3_public = m1_im2_private.f1; @@ -61,42 +59,32 @@ var m1_im2_private_v3_private = m1_im2_private.f1; var m1_im2_private_v4_private = m1_im2_private.f1(); - import m1_im3_private = require("m1_M3_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - ~~~~~~~~~~~~~~ -!!! Cannot find external module 'm1_M3_public'. - export var m1_im3_private_v1_public = m1_im3_private.c1; - export var m1_im3_private_v2_public = new m1_im3_private.c1(); - export var m1_im3_private_v3_public = m1_im3_private.f1; - export var m1_im3_private_v4_public = m1_im3_private.f1(); - var m1_im3_private_v1_private = m1_im3_private.c1; - var m1_im3_private_v2_private = new m1_im3_private.c1(); - var m1_im3_private_v3_private = m1_im3_private.f1; - var m1_im3_private_v4_private = m1_im3_private.f1(); + //import m1_im3_private = require("m1_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); - import m1_im4_private = require("m1_M4_private"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - ~~~~~~~~~~~~~~~ -!!! Cannot find external module 'm1_M4_private'. - export var m1_im4_private_v1_public = m1_im4_private.c1; - export var m1_im4_private_v2_public = new m1_im4_private.c1(); - export var m1_im4_private_v3_public = m1_im4_private.f1; - export var m1_im4_private_v4_public = m1_im4_private.f1(); - var m1_im4_private_v1_private = m1_im4_private.c1; - var m1_im4_private_v2_private = new m1_im4_private.c1(); - var m1_im4_private_v3_private = m1_im4_private.f1; - var m1_im4_private_v4_private = m1_im4_private.f1(); + //import m1_im4_private = require("m1_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); export import m1_im1_public = m1_M1_public; export import m1_im2_public = m1_M2_private; - export import m1_im3_public = require("m1_M3_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - export import m1_im4_public = require("m1_M4_private"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'm1_im2_public' is using private name 'm1_M2_private'. + //export import m1_im3_public = require("m1_M3_public"); + //export import m1_im4_public = require("m1_M4_private"); } module m2 { @@ -120,25 +108,21 @@ export var v2: c1; } - export declare module "m2_M3_public" { - ~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //export declare module "m2_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} - declare module "m2_M4_private" { - ~~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //declare module "m2_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} import m1_im1_private = m2_M1_public; export var m1_im1_private_v1_public = m1_im1_private.c1; @@ -161,43 +145,31 @@ var m1_im2_private_v3_private = m1_im2_private.f1; var m1_im2_private_v4_private = m1_im2_private.f1(); - import m1_im3_private = require("m2_M3_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - ~~~~~~~~~~~~~~ -!!! Cannot find external module 'm2_M3_public'. - export var m1_im3_private_v1_public = m1_im3_private.c1; - export var m1_im3_private_v2_public = new m1_im3_private.c1(); - export var m1_im3_private_v3_public = m1_im3_private.f1; - export var m1_im3_private_v4_public = m1_im3_private.f1(); - var m1_im3_private_v1_private = m1_im3_private.c1; - var m1_im3_private_v2_private = new m1_im3_private.c1(); - var m1_im3_private_v3_private = m1_im3_private.f1; - var m1_im3_private_v4_private = m1_im3_private.f1(); + //import m1_im3_private = require("m2_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); - import m1_im4_private = require("m2_M4_private"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - ~~~~~~~~~~~~~~~ -!!! Cannot find external module 'm2_M4_private'. - export var m1_im4_private_v1_public = m1_im4_private.c1; - export var m1_im4_private_v2_public = new m1_im4_private.c1(); - export var m1_im4_private_v3_public = m1_im4_private.f1; - export var m1_im4_private_v4_public = m1_im4_private.f1(); - var m1_im4_private_v1_private = m1_im4_private.c1; - var m1_im4_private_v2_private = new m1_im4_private.c1(); - var m1_im4_private_v3_private = m1_im4_private.f1; - var m1_im4_private_v4_private = m1_im4_private.f1(); + //import m1_im4_private = require("m2_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); // Parse error to export module export import m1_im1_public = m2_M1_public; export import m1_im2_public = m2_M2_private; - export import m1_im3_public = require("m2_M3_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - export import m1_im4_public = require("m2_M4_private"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. + //export import m1_im3_public = require("m2_M3_public"); + //export import m1_im4_public = require("m2_M4_private"); } export module glo_M1_public { @@ -210,15 +182,13 @@ export var v2: c1; } - export declare module "glo_M2_public" { - ~~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //export declare module "glo_M2_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} export module glo_M3_private { export class c1 { @@ -230,15 +200,13 @@ export var v2: c1; } - export declare module "glo_M4_private" { - ~~~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //export declare module "glo_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} import glo_im1_private = glo_M1_public; @@ -252,17 +220,15 @@ var glo_im1_private_v4_private = glo_im1_private.f1(); - import glo_im2_private = require("glo_M2_public"); - ~~~~~~~~~~~~~~~ -!!! Cannot find external module 'glo_M2_public'. - export var glo_im2_private_v1_public = glo_im2_private.c1; - export var glo_im2_private_v2_public = new glo_im2_private.c1(); - export var glo_im2_private_v3_public = glo_im2_private.f1; - export var glo_im2_private_v4_public = glo_im2_private.f1(); - var glo_im2_private_v1_private = glo_im2_private.c1; - var glo_im2_private_v2_private = new glo_im2_private.c1(); - var glo_im2_private_v3_private = glo_im2_private.f1; - var glo_im2_private_v4_private = glo_im2_private.f1(); + //import glo_im2_private = require("glo_M2_public"); + //export var glo_im2_private_v1_public = glo_im2_private.c1; + //export var glo_im2_private_v2_public = new glo_im2_private.c1(); + //export var glo_im2_private_v3_public = glo_im2_private.f1; + //export var glo_im2_private_v4_public = glo_im2_private.f1(); + //var glo_im2_private_v1_private = glo_im2_private.c1; + //var glo_im2_private_v2_private = new glo_im2_private.c1(); + //var glo_im2_private_v3_private = glo_im2_private.f1; + //var glo_im2_private_v4_private = glo_im2_private.f1(); import glo_im3_private = glo_M3_private; export var glo_im3_private_v1_public = glo_im3_private.c1; @@ -274,182 +240,122 @@ var glo_im3_private_v3_private = glo_im3_private.f1; var glo_im3_private_v4_private = glo_im3_private.f1(); - import glo_im4_private = require("glo_M4_private"); - ~~~~~~~~~~~~~~~~ -!!! Cannot find external module 'glo_M4_private'. - export var glo_im4_private_v1_public = glo_im4_private.c1; - export var glo_im4_private_v2_public = new glo_im4_private.c1(); - export var glo_im4_private_v3_public = glo_im4_private.f1; - export var glo_im4_private_v4_public = glo_im4_private.f1(); - var glo_im4_private_v1_private = glo_im4_private.c1; - var glo_im4_private_v2_private = new glo_im4_private.c1(); - var glo_im4_private_v3_private = glo_im4_private.f1; - var glo_im4_private_v4_private = glo_im4_private.f1(); + //import glo_im4_private = require("glo_M4_private"); + //export var glo_im4_private_v1_public = glo_im4_private.c1; + //export var glo_im4_private_v2_public = new glo_im4_private.c1(); + //export var glo_im4_private_v3_public = glo_im4_private.f1; + //export var glo_im4_private_v4_public = glo_im4_private.f1(); + //var glo_im4_private_v1_private = glo_im4_private.c1; + //var glo_im4_private_v2_private = new glo_im4_private.c1(); + //var glo_im4_private_v3_private = glo_im4_private.f1; + //var glo_im4_private_v4_private = glo_im4_private.f1(); // Parse error to export module export import glo_im1_public = glo_M1_public; export import glo_im2_public = glo_M3_private; - export import glo_im3_public = require("glo_M2_public"); - ~~~~~~~~~~~~~~~ -!!! Cannot find external module 'glo_M2_public'. - export import glo_im4_public = require("glo_M4_private"); - ~~~~~~~~~~~~~~~~ -!!! Cannot find external module 'glo_M4_private'. + //export import glo_im3_public = require("glo_M2_public"); + //export import glo_im4_public = require("glo_M4_private"); - export declare module "use_glo_M1_public" { - ~~~~~~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - import use_glo_M1_public = glo_M1_public; - export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; - export var use_glo_M1_public_v2_public: use_glo_M1_public; - ~~~~~~~~~~~~~~~~~ -!!! Cannot find name 'use_glo_M1_public'. - export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1; - var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; - var use_glo_M1_public_v2_private: use_glo_M1_public; - ~~~~~~~~~~~~~~~~~ -!!! Cannot find name 'use_glo_M1_public'. - var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; + //export declare module "use_glo_M1_public" { + // import use_glo_M1_public = glo_M1_public; + // export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; + // export var use_glo_M1_public_v2_public: use_glo_M1_public; + // export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1; + // var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; + // var use_glo_M1_public_v2_private: use_glo_M1_public; + // var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; - import use_glo_M2_public = require("glo_M2_public"); - ~~~~~~~~~~~~~~~ -!!! Cannot find external module 'glo_M2_public'. - export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; - export var use_glo_M2_public_v2_public: use_glo_M2_public; - export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; - var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; - var use_glo_M2_public_v2_private: use_glo_M2_public; - var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; + // import use_glo_M2_public = require("glo_M2_public"); + // export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; + // export var use_glo_M2_public_v2_public: use_glo_M2_public; + // export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; + // var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; + // var use_glo_M2_public_v2_private: use_glo_M2_public; + // var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; - module m2 { - import errorImport = require("glo_M2_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - import nonerrorImport = glo_M1_public; + // module m2 { + // import errorImport = require("glo_M2_public"); + // import nonerrorImport = glo_M1_public; - module m5 { - import m5_errorImport = require("glo_M2_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - import m5_nonerrorImport = glo_M1_public; - } - } - } + // module m5 { + // import m5_errorImport = require("glo_M2_public"); + // import m5_nonerrorImport = glo_M1_public; + // } + // } + //} - declare module "use_glo_M3_private" { - ~~~~~~~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - import use_glo_M3_private = glo_M3_private; - export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; }; - export var use_glo_M3_private_v2_public: use_glo_M3_private; - ~~~~~~~~~~~~~~~~~~ -!!! Cannot find name 'use_glo_M3_private'. - export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1; - var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; }; - var use_glo_M3_private_v2_private: use_glo_M3_private; - ~~~~~~~~~~~~~~~~~~ -!!! Cannot find name 'use_glo_M3_private'. - var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1; + //declare module "use_glo_M3_private" { + // import use_glo_M3_private = glo_M3_private; + // export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; }; + // export var use_glo_M3_private_v2_public: use_glo_M3_private; + // export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1; + // var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; }; + // var use_glo_M3_private_v2_private: use_glo_M3_private; + // var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1; - import use_glo_M4_private = require("glo_M4_private"); - ~~~~~~~~~~~~~~~~ -!!! Cannot find external module 'glo_M4_private'. - export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; }; - export var use_glo_M4_private_v2_public: use_glo_M4_private; - export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1; - var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; }; - var use_glo_M4_private_v2_private: use_glo_M4_private; - var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1; + // import use_glo_M4_private = require("glo_M4_private"); + // export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; }; + // export var use_glo_M4_private_v2_public: use_glo_M4_private; + // export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1; + // var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; }; + // var use_glo_M4_private_v2_private: use_glo_M4_private; + // var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1; - module m2 { - import errorImport = require("glo_M4_private"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - import nonerrorImport = glo_M3_private; + // module m2 { + // import errorImport = require("glo_M4_private"); + // import nonerrorImport = glo_M3_private; - module m5 { - import m5_errorImport = require("glo_M4_private"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. - import m5_nonerrorImport = glo_M3_private; - } - } - } + // module m5 { + // import m5_errorImport = require("glo_M4_private"); + // import m5_nonerrorImport = glo_M3_private; + // } + // } + //} - declare module "anotherParseError" { - ~~~~~~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - module m2 { - declare module "abc" { - ~~~~~~~ -!!! A 'declare' modifier cannot be used in an already ambient context. - ~~~~~ -!!! Ambient external modules cannot be nested in other modules. - } - } + //declare module "anotherParseError" { + // module m2 { + // declare module "abc" { + // } + // } - module m2 { - module "abc2" { - ~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - } - } - module "abc3" { - ~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - } - } + // module m2 { + // module "abc2" { + // } + // } + // module "abc3" { + // } + //} - declare export module "anotherParseError2" { - ~~~~~~ -!!! 'export' modifier must precede 'declare' modifier. - ~~~~~~~~~~~~~~~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - module m2 { - declare module "abc" { - ~~~~~~~ -!!! A 'declare' modifier cannot be used in an already ambient context. - ~~~~~ -!!! Ambient external modules cannot be nested in other modules. - } - } + //declare export module "anotherParseError2" { + // module m2 { + // declare module "abc" { + // } + // } - module m2 { - module "abc2" { - ~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - } - } - module "abc3" { - ~~~~~~ -!!! Ambient external modules cannot be nested in other modules. - } - } + // module m2 { + // module "abc2" { + // } + // } + // module "abc3" { + // } + //} module m2 { - import m3 = require("use_glo_M1_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. + //import m3 = require("use_glo_M1_public"); module m4 { var a = 10; - import m2 = require("use_glo_M1_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. + //import m2 = require("use_glo_M1_public"); } } export module m3 { - import m3 = require("use_glo_M1_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. + //import m3 = require("use_glo_M1_public"); module m4 { var a = 10; - import m2 = require("use_glo_M1_public"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! Import declarations in an internal module cannot reference an external module. + //import m2 = require("use_glo_M1_public"); } } \ No newline at end of file diff --git a/tests/baselines/reference/privacyImport.js b/tests/baselines/reference/privacyImport.js new file mode 100644 index 00000000000..7b7e4c4977f --- /dev/null +++ b/tests/baselines/reference/privacyImport.js @@ -0,0 +1,529 @@ +//// [privacyImport.ts] +export module m1 { + export module m1_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + module m1_M2_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + //export declare module "m1_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} + + //declare module "m1_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} + + import m1_im1_private = m1_M1_public; + export var m1_im1_private_v1_public = m1_im1_private.c1; + export var m1_im1_private_v2_public = new m1_im1_private.c1(); + export var m1_im1_private_v3_public = m1_im1_private.f1; + export var m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + + + import m1_im2_private = m1_M2_private; + export var m1_im2_private_v1_public = m1_im2_private.c1; + export var m1_im2_private_v2_public = new m1_im2_private.c1(); + export var m1_im2_private_v3_public = m1_im2_private.f1; + export var m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + + //import m1_im3_private = require("m1_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); + + //import m1_im4_private = require("m1_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); + + export import m1_im1_public = m1_M1_public; + export import m1_im2_public = m1_M2_private; + //export import m1_im3_public = require("m1_M3_public"); + //export import m1_im4_public = require("m1_M4_private"); +} + +module m2 { + export module m2_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + module m2_M2_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + //export declare module "m2_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} + + //declare module "m2_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} + + import m1_im1_private = m2_M1_public; + export var m1_im1_private_v1_public = m1_im1_private.c1; + export var m1_im1_private_v2_public = new m1_im1_private.c1(); + export var m1_im1_private_v3_public = m1_im1_private.f1; + export var m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + + + import m1_im2_private = m2_M2_private; + export var m1_im2_private_v1_public = m1_im2_private.c1; + export var m1_im2_private_v2_public = new m1_im2_private.c1(); + export var m1_im2_private_v3_public = m1_im2_private.f1; + export var m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + + //import m1_im3_private = require("m2_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); + + //import m1_im4_private = require("m2_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); + + // Parse error to export module + export import m1_im1_public = m2_M1_public; + export import m1_im2_public = m2_M2_private; + //export import m1_im3_public = require("m2_M3_public"); + //export import m1_im4_public = require("m2_M4_private"); +} + +export module glo_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; +} + +//export declare module "glo_M2_public" { +// export function f1(); +// export class c1 { +// } +// export var v1: { new (): c1; }; +// export var v2: c1; +//} + +export module glo_M3_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; +} + +//export declare module "glo_M4_private" { +// export function f1(); +// export class c1 { +// } +// export var v1: { new (): c1; }; +// export var v2: c1; +//} + + +import glo_im1_private = glo_M1_public; +export var glo_im1_private_v1_public = glo_im1_private.c1; +export var glo_im1_private_v2_public = new glo_im1_private.c1(); +export var glo_im1_private_v3_public = glo_im1_private.f1; +export var glo_im1_private_v4_public = glo_im1_private.f1(); +var glo_im1_private_v1_private = glo_im1_private.c1; +var glo_im1_private_v2_private = new glo_im1_private.c1(); +var glo_im1_private_v3_private = glo_im1_private.f1; +var glo_im1_private_v4_private = glo_im1_private.f1(); + + +//import glo_im2_private = require("glo_M2_public"); +//export var glo_im2_private_v1_public = glo_im2_private.c1; +//export var glo_im2_private_v2_public = new glo_im2_private.c1(); +//export var glo_im2_private_v3_public = glo_im2_private.f1; +//export var glo_im2_private_v4_public = glo_im2_private.f1(); +//var glo_im2_private_v1_private = glo_im2_private.c1; +//var glo_im2_private_v2_private = new glo_im2_private.c1(); +//var glo_im2_private_v3_private = glo_im2_private.f1; +//var glo_im2_private_v4_private = glo_im2_private.f1(); + +import glo_im3_private = glo_M3_private; +export var glo_im3_private_v1_public = glo_im3_private.c1; +export var glo_im3_private_v2_public = new glo_im3_private.c1(); +export var glo_im3_private_v3_public = glo_im3_private.f1; +export var glo_im3_private_v4_public = glo_im3_private.f1(); +var glo_im3_private_v1_private = glo_im3_private.c1; +var glo_im3_private_v2_private = new glo_im3_private.c1(); +var glo_im3_private_v3_private = glo_im3_private.f1; +var glo_im3_private_v4_private = glo_im3_private.f1(); + +//import glo_im4_private = require("glo_M4_private"); +//export var glo_im4_private_v1_public = glo_im4_private.c1; +//export var glo_im4_private_v2_public = new glo_im4_private.c1(); +//export var glo_im4_private_v3_public = glo_im4_private.f1; +//export var glo_im4_private_v4_public = glo_im4_private.f1(); +//var glo_im4_private_v1_private = glo_im4_private.c1; +//var glo_im4_private_v2_private = new glo_im4_private.c1(); +//var glo_im4_private_v3_private = glo_im4_private.f1; +//var glo_im4_private_v4_private = glo_im4_private.f1(); + +// Parse error to export module +export import glo_im1_public = glo_M1_public; +export import glo_im2_public = glo_M3_private; +//export import glo_im3_public = require("glo_M2_public"); +//export import glo_im4_public = require("glo_M4_private"); + + +//export declare module "use_glo_M1_public" { +// import use_glo_M1_public = glo_M1_public; +// export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; +// export var use_glo_M1_public_v2_public: use_glo_M1_public; +// export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1; +// var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; +// var use_glo_M1_public_v2_private: use_glo_M1_public; +// var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; + +// import use_glo_M2_public = require("glo_M2_public"); +// export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; +// export var use_glo_M2_public_v2_public: use_glo_M2_public; +// export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; +// var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; +// var use_glo_M2_public_v2_private: use_glo_M2_public; +// var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; + +// module m2 { +// import errorImport = require("glo_M2_public"); +// import nonerrorImport = glo_M1_public; + +// module m5 { +// import m5_errorImport = require("glo_M2_public"); +// import m5_nonerrorImport = glo_M1_public; +// } +// } +//} + + +//declare module "use_glo_M3_private" { +// import use_glo_M3_private = glo_M3_private; +// export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; }; +// export var use_glo_M3_private_v2_public: use_glo_M3_private; +// export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1; +// var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; }; +// var use_glo_M3_private_v2_private: use_glo_M3_private; +// var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1; + +// import use_glo_M4_private = require("glo_M4_private"); +// export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; }; +// export var use_glo_M4_private_v2_public: use_glo_M4_private; +// export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1; +// var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; }; +// var use_glo_M4_private_v2_private: use_glo_M4_private; +// var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1; + +// module m2 { +// import errorImport = require("glo_M4_private"); +// import nonerrorImport = glo_M3_private; + +// module m5 { +// import m5_errorImport = require("glo_M4_private"); +// import m5_nonerrorImport = glo_M3_private; +// } +// } +//} + +//declare module "anotherParseError" { +// module m2 { +// declare module "abc" { +// } +// } + +// module m2 { +// module "abc2" { +// } +// } +// module "abc3" { +// } +//} + +//declare export module "anotherParseError2" { +// module m2 { +// declare module "abc" { +// } +// } + +// module m2 { +// module "abc2" { +// } +// } +// module "abc3" { +// } +//} + +module m2 { + //import m3 = require("use_glo_M1_public"); + module m4 { + var a = 10; + //import m2 = require("use_glo_M1_public"); + } + +} + +export module m3 { + //import m3 = require("use_glo_M1_public"); + module m4 { + var a = 10; + //import m2 = require("use_glo_M1_public"); + } + +} + +//// [privacyImport.js] +(function (m1) { + (function (m1_M1_public) { + var c1 = (function () { + function c1() { + } + return c1; + })(); + m1_M1_public.c1 = c1; + function f1() { + return new c1; + } + m1_M1_public.f1 = f1; + m1_M1_public.v1 = c1; + m1_M1_public.v2; + })(m1.m1_M1_public || (m1.m1_M1_public = {})); + var m1_M1_public = m1.m1_M1_public; + var m1_M2_private; + (function (m1_M2_private) { + var c1 = (function () { + function c1() { + } + return c1; + })(); + m1_M2_private.c1 = c1; + function f1() { + return new c1; + } + m1_M2_private.f1 = f1; + m1_M2_private.v1 = c1; + m1_M2_private.v2; + })(m1_M2_private || (m1_M2_private = {})); + var m1_im1_private = m1_M1_public; + m1.m1_im1_private_v1_public = m1_im1_private.c1; + m1.m1_im1_private_v2_public = new m1_im1_private.c1(); + m1.m1_im1_private_v3_public = m1_im1_private.f1; + m1.m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + var m1_im2_private = m1_M2_private; + m1.m1_im2_private_v1_public = m1_im2_private.c1; + m1.m1_im2_private_v2_public = new m1_im2_private.c1(); + m1.m1_im2_private_v3_public = m1_im2_private.f1; + m1.m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + m1.m1_im1_public = m1_M1_public; + m1.m1_im2_public = m1_M2_private; +})(exports.m1 || (exports.m1 = {})); +var m1 = exports.m1; +var m2; +(function (m2) { + (function (m2_M1_public) { + var c1 = (function () { + function c1() { + } + return c1; + })(); + m2_M1_public.c1 = c1; + function f1() { + return new c1; + } + m2_M1_public.f1 = f1; + m2_M1_public.v1 = c1; + m2_M1_public.v2; + })(m2.m2_M1_public || (m2.m2_M1_public = {})); + var m2_M1_public = m2.m2_M1_public; + var m2_M2_private; + (function (m2_M2_private) { + var c1 = (function () { + function c1() { + } + return c1; + })(); + m2_M2_private.c1 = c1; + function f1() { + return new c1; + } + m2_M2_private.f1 = f1; + m2_M2_private.v1 = c1; + m2_M2_private.v2; + })(m2_M2_private || (m2_M2_private = {})); + var m1_im1_private = m2_M1_public; + m2.m1_im1_private_v1_public = m1_im1_private.c1; + m2.m1_im1_private_v2_public = new m1_im1_private.c1(); + m2.m1_im1_private_v3_public = m1_im1_private.f1; + m2.m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + var m1_im2_private = m2_M2_private; + m2.m1_im2_private_v1_public = m1_im2_private.c1; + m2.m1_im2_private_v2_public = new m1_im2_private.c1(); + m2.m1_im2_private_v3_public = m1_im2_private.f1; + m2.m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + m2.m1_im1_public = m2_M1_public; + m2.m1_im2_public = m2_M2_private; +})(m2 || (m2 = {})); +(function (glo_M1_public) { + var c1 = (function () { + function c1() { + } + return c1; + })(); + glo_M1_public.c1 = c1; + function f1() { + return new c1; + } + glo_M1_public.f1 = f1; + glo_M1_public.v1 = c1; + glo_M1_public.v2; +})(exports.glo_M1_public || (exports.glo_M1_public = {})); +var glo_M1_public = exports.glo_M1_public; +(function (glo_M3_private) { + var c1 = (function () { + function c1() { + } + return c1; + })(); + glo_M3_private.c1 = c1; + function f1() { + return new c1; + } + glo_M3_private.f1 = f1; + glo_M3_private.v1 = c1; + glo_M3_private.v2; +})(exports.glo_M3_private || (exports.glo_M3_private = {})); +var glo_M3_private = exports.glo_M3_private; +var glo_im1_private = glo_M1_public; +exports.glo_im1_private_v1_public = glo_im1_private.c1; +exports.glo_im1_private_v2_public = new glo_im1_private.c1(); +exports.glo_im1_private_v3_public = glo_im1_private.f1; +exports.glo_im1_private_v4_public = glo_im1_private.f1(); +var glo_im1_private_v1_private = glo_im1_private.c1; +var glo_im1_private_v2_private = new glo_im1_private.c1(); +var glo_im1_private_v3_private = glo_im1_private.f1; +var glo_im1_private_v4_private = glo_im1_private.f1(); +var glo_im3_private = glo_M3_private; +exports.glo_im3_private_v1_public = glo_im3_private.c1; +exports.glo_im3_private_v2_public = new glo_im3_private.c1(); +exports.glo_im3_private_v3_public = glo_im3_private.f1; +exports.glo_im3_private_v4_public = glo_im3_private.f1(); +var glo_im3_private_v1_private = glo_im3_private.c1; +var glo_im3_private_v2_private = new glo_im3_private.c1(); +var glo_im3_private_v3_private = glo_im3_private.f1; +var glo_im3_private_v4_private = glo_im3_private.f1(); +exports.glo_im1_public = glo_M1_public; +exports.glo_im2_public = glo_M3_private; +var m2; +(function (m2) { + var m4; + (function (m4) { + var a = 10; + })(m4 || (m4 = {})); +})(m2 || (m2 = {})); +(function (m3) { + var m4; + (function (m4) { + var a = 10; + })(m4 || (m4 = {})); +})(exports.m3 || (exports.m3 = {})); +var m3 = exports.m3; diff --git a/tests/baselines/reference/privacyImportParseErrors.errors.txt b/tests/baselines/reference/privacyImportParseErrors.errors.txt new file mode 100644 index 00000000000..6889ad85e1b --- /dev/null +++ b/tests/baselines/reference/privacyImportParseErrors.errors.txt @@ -0,0 +1,455 @@ +==== tests/cases/compiler/privacyImportParseErrors.ts (49 errors) ==== + export module m1 { + export module m1_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + module m1_M2_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + export declare module "m1_M3_public" { + ~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + declare module "m1_M4_private" { + ~~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + import m1_im1_private = m1_M1_public; + export var m1_im1_private_v1_public = m1_im1_private.c1; + export var m1_im1_private_v2_public = new m1_im1_private.c1(); + export var m1_im1_private_v3_public = m1_im1_private.f1; + export var m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + + + import m1_im2_private = m1_M2_private; + export var m1_im2_private_v1_public = m1_im2_private.c1; + export var m1_im2_private_v2_public = new m1_im2_private.c1(); + export var m1_im2_private_v3_public = m1_im2_private.f1; + export var m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + + import m1_im3_private = require("m1_M3_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + ~~~~~~~~~~~~~~ +!!! Cannot find external module 'm1_M3_public'. + export var m1_im3_private_v1_public = m1_im3_private.c1; + export var m1_im3_private_v2_public = new m1_im3_private.c1(); + export var m1_im3_private_v3_public = m1_im3_private.f1; + export var m1_im3_private_v4_public = m1_im3_private.f1(); + var m1_im3_private_v1_private = m1_im3_private.c1; + var m1_im3_private_v2_private = new m1_im3_private.c1(); + var m1_im3_private_v3_private = m1_im3_private.f1; + var m1_im3_private_v4_private = m1_im3_private.f1(); + + import m1_im4_private = require("m1_M4_private"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + ~~~~~~~~~~~~~~~ +!!! Cannot find external module 'm1_M4_private'. + export var m1_im4_private_v1_public = m1_im4_private.c1; + export var m1_im4_private_v2_public = new m1_im4_private.c1(); + export var m1_im4_private_v3_public = m1_im4_private.f1; + export var m1_im4_private_v4_public = m1_im4_private.f1(); + var m1_im4_private_v1_private = m1_im4_private.c1; + var m1_im4_private_v2_private = new m1_im4_private.c1(); + var m1_im4_private_v3_private = m1_im4_private.f1; + var m1_im4_private_v4_private = m1_im4_private.f1(); + + export import m1_im1_public = m1_M1_public; + export import m1_im2_public = m1_M2_private; + export import m1_im3_public = require("m1_M3_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export import m1_im4_public = require("m1_M4_private"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + } + + module m2 { + export module m2_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + module m2_M2_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + export declare module "m2_M3_public" { + ~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + declare module "m2_M4_private" { + ~~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + import m1_im1_private = m2_M1_public; + export var m1_im1_private_v1_public = m1_im1_private.c1; + export var m1_im1_private_v2_public = new m1_im1_private.c1(); + export var m1_im1_private_v3_public = m1_im1_private.f1; + export var m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + + + import m1_im2_private = m2_M2_private; + export var m1_im2_private_v1_public = m1_im2_private.c1; + export var m1_im2_private_v2_public = new m1_im2_private.c1(); + export var m1_im2_private_v3_public = m1_im2_private.f1; + export var m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + + import m1_im3_private = require("m2_M3_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + ~~~~~~~~~~~~~~ +!!! Cannot find external module 'm2_M3_public'. + export var m1_im3_private_v1_public = m1_im3_private.c1; + export var m1_im3_private_v2_public = new m1_im3_private.c1(); + export var m1_im3_private_v3_public = m1_im3_private.f1; + export var m1_im3_private_v4_public = m1_im3_private.f1(); + var m1_im3_private_v1_private = m1_im3_private.c1; + var m1_im3_private_v2_private = new m1_im3_private.c1(); + var m1_im3_private_v3_private = m1_im3_private.f1; + var m1_im3_private_v4_private = m1_im3_private.f1(); + + import m1_im4_private = require("m2_M4_private"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + ~~~~~~~~~~~~~~~ +!!! Cannot find external module 'm2_M4_private'. + export var m1_im4_private_v1_public = m1_im4_private.c1; + export var m1_im4_private_v2_public = new m1_im4_private.c1(); + export var m1_im4_private_v3_public = m1_im4_private.f1; + export var m1_im4_private_v4_public = m1_im4_private.f1(); + var m1_im4_private_v1_private = m1_im4_private.c1; + var m1_im4_private_v2_private = new m1_im4_private.c1(); + var m1_im4_private_v3_private = m1_im4_private.f1; + var m1_im4_private_v4_private = m1_im4_private.f1(); + + // Parse error to export module + export import m1_im1_public = m2_M1_public; + export import m1_im2_public = m2_M2_private; + export import m1_im3_public = require("m2_M3_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export import m1_im4_public = require("m2_M4_private"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + } + + export module glo_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + export declare module "glo_M2_public" { + ~~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + export module glo_M3_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + export declare module "glo_M4_private" { + ~~~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + + import glo_im1_private = glo_M1_public; + export var glo_im1_private_v1_public = glo_im1_private.c1; + export var glo_im1_private_v2_public = new glo_im1_private.c1(); + export var glo_im1_private_v3_public = glo_im1_private.f1; + export var glo_im1_private_v4_public = glo_im1_private.f1(); + var glo_im1_private_v1_private = glo_im1_private.c1; + var glo_im1_private_v2_private = new glo_im1_private.c1(); + var glo_im1_private_v3_private = glo_im1_private.f1; + var glo_im1_private_v4_private = glo_im1_private.f1(); + + + import glo_im2_private = require("glo_M2_public"); + ~~~~~~~~~~~~~~~ +!!! Cannot find external module 'glo_M2_public'. + export var glo_im2_private_v1_public = glo_im2_private.c1; + export var glo_im2_private_v2_public = new glo_im2_private.c1(); + export var glo_im2_private_v3_public = glo_im2_private.f1; + export var glo_im2_private_v4_public = glo_im2_private.f1(); + var glo_im2_private_v1_private = glo_im2_private.c1; + var glo_im2_private_v2_private = new glo_im2_private.c1(); + var glo_im2_private_v3_private = glo_im2_private.f1; + var glo_im2_private_v4_private = glo_im2_private.f1(); + + import glo_im3_private = glo_M3_private; + export var glo_im3_private_v1_public = glo_im3_private.c1; + export var glo_im3_private_v2_public = new glo_im3_private.c1(); + export var glo_im3_private_v3_public = glo_im3_private.f1; + export var glo_im3_private_v4_public = glo_im3_private.f1(); + var glo_im3_private_v1_private = glo_im3_private.c1; + var glo_im3_private_v2_private = new glo_im3_private.c1(); + var glo_im3_private_v3_private = glo_im3_private.f1; + var glo_im3_private_v4_private = glo_im3_private.f1(); + + import glo_im4_private = require("glo_M4_private"); + ~~~~~~~~~~~~~~~~ +!!! Cannot find external module 'glo_M4_private'. + export var glo_im4_private_v1_public = glo_im4_private.c1; + export var glo_im4_private_v2_public = new glo_im4_private.c1(); + export var glo_im4_private_v3_public = glo_im4_private.f1; + export var glo_im4_private_v4_public = glo_im4_private.f1(); + var glo_im4_private_v1_private = glo_im4_private.c1; + var glo_im4_private_v2_private = new glo_im4_private.c1(); + var glo_im4_private_v3_private = glo_im4_private.f1; + var glo_im4_private_v4_private = glo_im4_private.f1(); + + // Parse error to export module + export import glo_im1_public = glo_M1_public; + export import glo_im2_public = glo_M3_private; + export import glo_im3_public = require("glo_M2_public"); + ~~~~~~~~~~~~~~~ +!!! Cannot find external module 'glo_M2_public'. + export import glo_im4_public = require("glo_M4_private"); + ~~~~~~~~~~~~~~~~ +!!! Cannot find external module 'glo_M4_private'. + + + export declare module "use_glo_M1_public" { + ~~~~~~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + import use_glo_M1_public = glo_M1_public; + export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; + export var use_glo_M1_public_v2_public: use_glo_M1_public; + ~~~~~~~~~~~~~~~~~ +!!! Cannot find name 'use_glo_M1_public'. + export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1; + var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; + var use_glo_M1_public_v2_private: use_glo_M1_public; + ~~~~~~~~~~~~~~~~~ +!!! Cannot find name 'use_glo_M1_public'. + var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; + + import use_glo_M2_public = require("glo_M2_public"); + ~~~~~~~~~~~~~~~ +!!! Cannot find external module 'glo_M2_public'. + export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; + export var use_glo_M2_public_v2_public: use_glo_M2_public; + export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; + var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; + var use_glo_M2_public_v2_private: use_glo_M2_public; + var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; + + module m2 { + import errorImport = require("glo_M2_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + import nonerrorImport = glo_M1_public; + + module m5 { + import m5_errorImport = require("glo_M2_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + import m5_nonerrorImport = glo_M1_public; + } + } + } + + + declare module "use_glo_M3_private" { + ~~~~~~~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + import use_glo_M3_private = glo_M3_private; + export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; }; + export var use_glo_M3_private_v2_public: use_glo_M3_private; + ~~~~~~~~~~~~~~~~~~ +!!! Cannot find name 'use_glo_M3_private'. + export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1; + var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; }; + var use_glo_M3_private_v2_private: use_glo_M3_private; + ~~~~~~~~~~~~~~~~~~ +!!! Cannot find name 'use_glo_M3_private'. + var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1; + + import use_glo_M4_private = require("glo_M4_private"); + ~~~~~~~~~~~~~~~~ +!!! Cannot find external module 'glo_M4_private'. + export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; }; + export var use_glo_M4_private_v2_public: use_glo_M4_private; + export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1; + var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; }; + var use_glo_M4_private_v2_private: use_glo_M4_private; + var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1; + + module m2 { + import errorImport = require("glo_M4_private"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + import nonerrorImport = glo_M3_private; + + module m5 { + import m5_errorImport = require("glo_M4_private"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + import m5_nonerrorImport = glo_M3_private; + } + } + } + + declare module "anotherParseError" { + ~~~~~~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + module m2 { + declare module "abc" { + ~~~~~~~ +!!! A 'declare' modifier cannot be used in an already ambient context. + ~~~~~ +!!! Ambient external modules cannot be nested in other modules. + } + } + + module m2 { + module "abc2" { + ~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + } + } + module "abc3" { + ~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + } + } + + declare export module "anotherParseError2" { + ~~~~~~ +!!! 'export' modifier must precede 'declare' modifier. + ~~~~~~~~~~~~~~~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + module m2 { + declare module "abc" { + ~~~~~~~ +!!! A 'declare' modifier cannot be used in an already ambient context. + ~~~~~ +!!! Ambient external modules cannot be nested in other modules. + } + } + + module m2 { + module "abc2" { + ~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + } + } + module "abc3" { + ~~~~~~ +!!! Ambient external modules cannot be nested in other modules. + } + } + + module m2 { + import m3 = require("use_glo_M1_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + module m4 { + var a = 10; + import m2 = require("use_glo_M1_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + } + + } + + export module m3 { + import m3 = require("use_glo_M1_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + module m4 { + var a = 10; + import m2 = require("use_glo_M1_public"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + } + + } \ No newline at end of file diff --git a/tests/baselines/reference/privacyLocalInternalReferenceImportWithExport.errors.txt b/tests/baselines/reference/privacyLocalInternalReferenceImportWithExport.errors.txt new file mode 100644 index 00000000000..acbe63a21d7 --- /dev/null +++ b/tests/baselines/reference/privacyLocalInternalReferenceImportWithExport.errors.txt @@ -0,0 +1,167 @@ +==== tests/cases/compiler/privacyLocalInternalReferenceImportWithExport.ts (7 errors) ==== + // private elements + module m_private { + export class c_private { + } + export enum e_private { + Happy, + Grumpy + } + export function f_private() { + return new c_private(); + } + export var v_private = new c_private(); + export interface i_private { + } + export module mi_private { + export class c { + } + } + export module mu_private { + export interface i { + } + } + } + + // Public elements + export module m_public { + export class c_public { + } + export enum e_public { + Happy, + Grumpy + } + export function f_public() { + return new c_public(); + } + export var v_public = 10; + export interface i_public { + } + export module mi_public { + export class c { + } + } + export module mu_public { + export interface i { + } + } + } + + export module import_public { + // Privacy errors - importing private elements + export import im_public_c_private = m_private.c_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_c_private' is using private name 'm_private'. + export import im_public_e_private = m_private.e_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_e_private' is using private name 'm_private'. + export import im_public_f_private = m_private.f_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_f_private' is using private name 'm_private'. + export import im_public_v_private = m_private.v_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_v_private' is using private name 'm_private'. + export import im_public_i_private = m_private.i_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_i_private' is using private name 'm_private'. + export import im_public_mi_private = m_private.mi_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_mi_private' is using private name 'm_private'. + export import im_public_mu_private = m_private.mu_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_mu_private' is using private name 'm_private'. + + // Usage of privacy error imports + var privateUse_im_public_c_private = new im_public_c_private(); + export var publicUse_im_public_c_private = new im_public_c_private(); + var privateUse_im_public_e_private = im_public_e_private.Happy; + export var publicUse_im_public_e_private = im_public_e_private.Grumpy; + var privateUse_im_public_f_private = im_public_f_private(); + export var publicUse_im_public_f_private = im_public_f_private(); + var privateUse_im_public_v_private = im_public_v_private; + export var publicUse_im_public_v_private = im_public_v_private; + var privateUse_im_public_i_private: im_public_i_private; + export var publicUse_im_public_i_private: im_public_i_private; + var privateUse_im_public_mi_private = new im_public_mi_private.c(); + export var publicUse_im_public_mi_private = new im_public_mi_private.c(); + var privateUse_im_public_mu_private: im_public_mu_private.i; + export var publicUse_im_public_mu_private: im_public_mu_private.i; + + + // No Privacy errors - importing public elements + export import im_public_c_public = m_public.c_public; + export import im_public_e_public = m_public.e_public; + export import im_public_f_public = m_public.f_public; + export import im_public_v_public = m_public.v_public; + export import im_public_i_public = m_public.i_public; + export import im_public_mi_public = m_public.mi_public; + export import im_public_mu_public = m_public.mu_public; + + // Usage of above + var privateUse_im_public_c_public = new im_public_c_public(); + export var publicUse_im_public_c_public = new im_public_c_public(); + var privateUse_im_public_e_public = im_public_e_public.Happy; + export var publicUse_im_public_e_public = im_public_e_public.Grumpy; + var privateUse_im_public_f_public = im_public_f_public(); + export var publicUse_im_public_f_public = im_public_f_public(); + var privateUse_im_public_v_public = im_public_v_public; + export var publicUse_im_public_v_public = im_public_v_public; + var privateUse_im_public_i_public: im_public_i_public; + export var publicUse_im_public_i_public: im_public_i_public; + var privateUse_im_public_mi_public = new im_public_mi_public.c(); + export var publicUse_im_public_mi_public = new im_public_mi_public.c(); + var privateUse_im_public_mu_public: im_public_mu_public.i; + export var publicUse_im_public_mu_public: im_public_mu_public.i; + } + + module import_private { + // No Privacy errors - importing private elements + export import im_private_c_private = m_private.c_private; + export import im_private_e_private = m_private.e_private; + export import im_private_f_private = m_private.f_private; + export import im_private_v_private = m_private.v_private; + export import im_private_i_private = m_private.i_private; + export import im_private_mi_private = m_private.mi_private; + export import im_private_mu_private = m_private.mu_private; + + // Usage of above decls + var privateUse_im_private_c_private = new im_private_c_private(); + export var publicUse_im_private_c_private = new im_private_c_private(); + var privateUse_im_private_e_private = im_private_e_private.Happy; + export var publicUse_im_private_e_private = im_private_e_private.Grumpy; + var privateUse_im_private_f_private = im_private_f_private(); + export var publicUse_im_private_f_private = im_private_f_private(); + var privateUse_im_private_v_private = im_private_v_private; + export var publicUse_im_private_v_private = im_private_v_private; + var privateUse_im_private_i_private: im_private_i_private; + export var publicUse_im_private_i_private: im_private_i_private; + var privateUse_im_private_mi_private = new im_private_mi_private.c(); + export var publicUse_im_private_mi_private = new im_private_mi_private.c(); + var privateUse_im_private_mu_private: im_private_mu_private.i; + export var publicUse_im_private_mu_private: im_private_mu_private.i; + + // No privacy Error - importing public elements + export import im_private_c_public = m_public.c_public; + export import im_private_e_public = m_public.e_public; + export import im_private_f_public = m_public.f_public; + export import im_private_v_public = m_public.v_public; + export import im_private_i_public = m_public.i_public; + export import im_private_mi_public = m_public.mi_public; + export import im_private_mu_public = m_public.mu_public; + + // Usage of no privacy error imports + var privateUse_im_private_c_public = new im_private_c_public(); + export var publicUse_im_private_c_public = new im_private_c_public(); + var privateUse_im_private_e_public = im_private_e_public.Happy; + export var publicUse_im_private_e_public = im_private_e_public.Grumpy; + var privateUse_im_private_f_public = im_private_f_public(); + export var publicUse_im_private_f_public = im_private_f_public(); + var privateUse_im_private_v_public = im_private_v_public; + export var publicUse_im_private_v_public = im_private_v_public; + var privateUse_im_private_i_public: im_private_i_public; + export var publicUse_im_private_i_public: im_private_i_public; + var privateUse_im_private_mi_public = new im_private_mi_public.c(); + export var publicUse_im_private_mi_public = new im_private_mi_public.c(); + var privateUse_im_private_mu_public: im_private_mu_public.i; + export var publicUse_im_private_mu_public: im_private_mu_public.i; + } \ No newline at end of file diff --git a/tests/baselines/reference/privacyLocalInternalReferenceImportWithoutExport.errors.txt b/tests/baselines/reference/privacyLocalInternalReferenceImportWithoutExport.errors.txt new file mode 100644 index 00000000000..7872b2b0715 --- /dev/null +++ b/tests/baselines/reference/privacyLocalInternalReferenceImportWithoutExport.errors.txt @@ -0,0 +1,163 @@ +==== tests/cases/compiler/privacyLocalInternalReferenceImportWithoutExport.ts (5 errors) ==== + // private elements + module m_private { + export class c_private { + } + export enum e_private { + Happy, + Grumpy + } + export function f_private() { + return new c_private(); + } + export var v_private = new c_private(); + export interface i_private { + } + export module mi_private { + export class c { + } + } + export module mu_private { + export interface i { + } + } + } + + // Public elements + export module m_public { + export class c_public { + } + export enum e_public { + Happy, + Grumpy + } + export function f_public() { + return new c_public(); + } + export var v_public = 10; + export interface i_public { + } + export module mi_public { + export class c { + } + } + export module mu_public { + export interface i { + } + } + } + + export module import_public { + // No Privacy errors - importing private elements + import im_private_c_private = m_private.c_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_private_c_private' is using private name 'm_private'. + import im_private_e_private = m_private.e_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_private_e_private' is using private name 'm_private'. + import im_private_f_private = m_private.f_private; + import im_private_v_private = m_private.v_private; + import im_private_i_private = m_private.i_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_private_i_private' is using private name 'm_private'. + import im_private_mi_private = m_private.mi_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_private_mi_private' is using private name 'm_private'. + import im_private_mu_private = m_private.mu_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_private_mu_private' is using private name 'm_private'. + + // Usage of above decls + var privateUse_im_private_c_private = new im_private_c_private(); + export var publicUse_im_private_c_private = new im_private_c_private(); + var privateUse_im_private_e_private = im_private_e_private.Happy; + export var publicUse_im_private_e_private = im_private_e_private.Grumpy; + var privateUse_im_private_f_private = im_private_f_private(); + export var publicUse_im_private_f_private = im_private_f_private(); + var privateUse_im_private_v_private = im_private_v_private; + export var publicUse_im_private_v_private = im_private_v_private; + var privateUse_im_private_i_private: im_private_i_private; + export var publicUse_im_private_i_private: im_private_i_private; + var privateUse_im_private_mi_private = new im_private_mi_private.c(); + export var publicUse_im_private_mi_private = new im_private_mi_private.c(); + var privateUse_im_private_mu_private: im_private_mu_private.i; + export var publicUse_im_private_mu_private: im_private_mu_private.i; + + + // No Privacy errors - importing public elements + import im_private_c_public = m_public.c_public; + import im_private_e_public = m_public.e_public; + import im_private_f_public = m_public.f_public; + import im_private_v_public = m_public.v_public; + import im_private_i_public = m_public.i_public; + import im_private_mi_public = m_public.mi_public; + import im_private_mu_public = m_public.mu_public; + + // Usage of above decls + var privateUse_im_private_c_public = new im_private_c_public(); + export var publicUse_im_private_c_public = new im_private_c_public(); + var privateUse_im_private_e_public = im_private_e_public.Happy; + export var publicUse_im_private_e_public = im_private_e_public.Grumpy; + var privateUse_im_private_f_public = im_private_f_public(); + export var publicUse_im_private_f_public = im_private_f_public(); + var privateUse_im_private_v_public = im_private_v_public; + export var publicUse_im_private_v_public = im_private_v_public; + var privateUse_im_private_i_public: im_private_i_public; + export var publicUse_im_private_i_public: im_private_i_public; + var privateUse_im_private_mi_public = new im_private_mi_public.c(); + export var publicUse_im_private_mi_public = new im_private_mi_public.c(); + var privateUse_im_private_mu_public: im_private_mu_public.i; + export var publicUse_im_private_mu_public: im_private_mu_public.i; + } + + module import_private { + // No Privacy errors - importing private elements + import im_private_c_private = m_private.c_private; + import im_private_e_private = m_private.e_private; + import im_private_f_private = m_private.f_private; + import im_private_v_private = m_private.v_private; + import im_private_i_private = m_private.i_private; + import im_private_mi_private = m_private.mi_private; + import im_private_mu_private = m_private.mu_private; + + // Usage of above decls + var privateUse_im_private_c_private = new im_private_c_private(); + export var publicUse_im_private_c_private = new im_private_c_private(); + var privateUse_im_private_e_private = im_private_e_private.Happy; + export var publicUse_im_private_e_private = im_private_e_private.Grumpy; + var privateUse_im_private_f_private = im_private_f_private(); + export var publicUse_im_private_f_private = im_private_f_private(); + var privateUse_im_private_v_private = im_private_v_private; + export var publicUse_im_private_v_private = im_private_v_private; + var privateUse_im_private_i_private: im_private_i_private; + export var publicUse_im_private_i_private: im_private_i_private; + var privateUse_im_private_mi_private = new im_private_mi_private.c(); + export var publicUse_im_private_mi_private = new im_private_mi_private.c(); + var privateUse_im_private_mu_private: im_private_mu_private.i; + export var publicUse_im_private_mu_private: im_private_mu_private.i; + + // No privacy Error - importing public elements + import im_private_c_public = m_public.c_public; + import im_private_e_public = m_public.e_public; + import im_private_f_public = m_public.f_public; + import im_private_v_public = m_public.v_public; + import im_private_i_public = m_public.i_public; + import im_private_mi_public = m_public.mi_public; + import im_private_mu_public = m_public.mu_public; + + // Usage of above decls + var privateUse_im_private_c_public = new im_private_c_public(); + export var publicUse_im_private_c_public = new im_private_c_public(); + var privateUse_im_private_e_public = im_private_e_public.Happy; + export var publicUse_im_private_e_public = im_private_e_public.Grumpy; + var privateUse_im_private_f_public = im_private_f_public(); + export var publicUse_im_private_f_public = im_private_f_public(); + var privateUse_im_private_v_public = im_private_v_public; + export var publicUse_im_private_v_public = im_private_v_public; + var privateUse_im_private_i_public: im_private_i_public; + export var publicUse_im_private_i_public: im_private_i_public; + var privateUse_im_private_mi_public = new im_private_mi_public.c(); + export var publicUse_im_private_mi_public = new im_private_mi_public.c(); + var privateUse_im_private_mu_public: im_private_mu_public.i; + export var publicUse_im_private_mu_public: im_private_mu_public.i; + } \ No newline at end of file diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.errors.txt b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.errors.txt deleted file mode 100644 index 7a102fce1f2..00000000000 --- a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.errors.txt +++ /dev/null @@ -1,57 +0,0 @@ -==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_core.ts (6 errors) ==== - // Privacy errors - importing private elements - export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require"); - export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1"); - export import im_public_mi_public = require("m"); - ~~~ -!!! Cannot find external module 'm'. - export import im_public_mu_public = require("m2"); - ~~~~ -!!! Cannot find external module 'm2'. - - // Usage of privacy error imports - var privateUse_im_public_mi_private = new im_public_mi_private.c_private(); - ~~~~~~~~~ -!!! Property 'c_private' does not exist on type 'typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require"'. - export var publicUse_im_public_mi_private = new im_public_mi_private.c_private(); - ~~~~~~~~~ -!!! Property 'c_private' does not exist on type 'typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require"'. - var privateUse_im_public_mu_private = new im_public_mu_private.c_private(); - ~~~~~~~~~ -!!! Property 'c_private' does not exist on type 'typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1"'. - export var publicUse_im_public_mu_private = new im_public_mu_private.c_private(); - ~~~~~~~~~ -!!! Property 'c_private' does not exist on type 'typeof "tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1"'. - var privateUse_im_public_mi_public = new im_public_mi_public.c_public(); - export var publicUse_im_public_mi_public = new im_public_mi_public.c_public(); - var privateUse_im_public_mi_public = new im_public_mi_public.c_public(); - export var publicUse_im_public_mi_public = new im_public_mi_public.c_public(); - -==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require.ts (0 errors) ==== - // Public elements - export class c_public { - foo: string; - } - -==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require1.ts (0 errors) ==== - export class c_public { - bar: string; - } - -==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts (0 errors) ==== - // private elements - // Export - Error ambient modules allowed only in global - declare module 'm' { - export class c_private { - baz: string; - } - } - - -==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require3.ts (0 errors) ==== - declare module 'm2' { - export class c_private { - bing: string; - } - } - \ No newline at end of file diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js index af8681e7899..dac4c23eb81 100644 --- a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js +++ b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js @@ -29,6 +29,8 @@ declare module 'm2' { } //// [privacyTopLevelAmbientExternalModuleImportWithExport_core.ts] +/// +/// // Privacy errors - importing private elements export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require"); export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1"); @@ -36,16 +38,18 @@ export import im_public_mi_public = require("m"); export import im_public_mu_public = require("m2"); // Usage of privacy error imports -var privateUse_im_public_mi_private = new im_public_mi_private.c_private(); -export var publicUse_im_public_mi_private = new im_public_mi_private.c_private(); -var privateUse_im_public_mu_private = new im_public_mu_private.c_private(); -export var publicUse_im_public_mu_private = new im_public_mu_private.c_private(); -var privateUse_im_public_mi_public = new im_public_mi_public.c_public(); -export var publicUse_im_public_mi_public = new im_public_mi_public.c_public(); -var privateUse_im_public_mi_public = new im_public_mi_public.c_public(); -export var publicUse_im_public_mi_public = new im_public_mi_public.c_public(); +var privateUse_im_public_mi_private = new im_public_mi_private.c_public(); +export var publicUse_im_public_mi_private = new im_public_mi_private.c_public(); +var privateUse_im_public_mu_private = new im_public_mu_private.c_public(); +export var publicUse_im_public_mu_private = new im_public_mu_private.c_public(); +var privateUse_im_public_mi_public = new im_public_mi_public.c_private(); +export var publicUse_im_public_mi_public = new im_public_mi_public.c_private(); +var privateUse_im_public_mi_public = new im_public_mi_public.c_private(); +export var publicUse_im_public_mi_public = new im_public_mi_public.c_private(); +//// [privacyTopLevelAmbientExternalModuleImportWithExport_require2.js] +//// [privacyTopLevelAmbientExternalModuleImportWithExport_require3.js] //// [privacyTopLevelAmbientExternalModuleImportWithExport_require.js] var c_public = (function () { function c_public() { @@ -64,11 +68,45 @@ exports.c_public = c_public; exports.im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require"); exports.im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1"); exports.im_public_mi_public = require("m"); -var privateUse_im_public_mi_private = new exports.im_public_mi_private.c_private(); -exports.publicUse_im_public_mi_private = new exports.im_public_mi_private.c_private(); -var privateUse_im_public_mu_private = new exports.im_public_mu_private.c_private(); -exports.publicUse_im_public_mu_private = new exports.im_public_mu_private.c_private(); -var privateUse_im_public_mi_public = new exports.im_public_mi_public.c_public(); -exports.publicUse_im_public_mi_public = new exports.im_public_mi_public.c_public(); -var privateUse_im_public_mi_public = new exports.im_public_mi_public.c_public(); -exports.publicUse_im_public_mi_public = new exports.im_public_mi_public.c_public(); +exports.im_public_mu_public = require("m2"); +var privateUse_im_public_mi_private = new exports.im_public_mi_private.c_public(); +exports.publicUse_im_public_mi_private = new exports.im_public_mi_private.c_public(); +var privateUse_im_public_mu_private = new exports.im_public_mu_private.c_public(); +exports.publicUse_im_public_mu_private = new exports.im_public_mu_private.c_public(); +var privateUse_im_public_mi_public = new exports.im_public_mi_public.c_private(); +exports.publicUse_im_public_mi_public = new exports.im_public_mi_public.c_private(); +var privateUse_im_public_mi_public = new exports.im_public_mi_public.c_private(); +exports.publicUse_im_public_mi_public = new exports.im_public_mi_public.c_private(); + + +//// [privacyTopLevelAmbientExternalModuleImportWithExport_require2.d.ts] +declare module 'm' { + class c_private { + baz: string; + } +} +//// [privacyTopLevelAmbientExternalModuleImportWithExport_require3.d.ts] +declare module 'm2' { + class c_private { + bing: string; + } +} +//// [privacyTopLevelAmbientExternalModuleImportWithExport_require.d.ts] +export declare class c_public { + foo: string; +} +//// [privacyTopLevelAmbientExternalModuleImportWithExport_require1.d.ts] +export declare class c_public { + bar: string; +} +//// [privacyTopLevelAmbientExternalModuleImportWithExport_core.d.ts] +/// +/// +export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require"); +export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1"); +export import im_public_mi_public = require("m"); +export import im_public_mu_public = require("m2"); +export declare var publicUse_im_public_mi_private: im_public_mi_private.c_public; +export declare var publicUse_im_public_mu_private: im_public_mu_private.c_public; +export declare var publicUse_im_public_mi_public: im_public_mi_public.c_private; +export declare var publicUse_im_public_mi_public: im_public_mi_public.c_private; diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.errors.txt b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.errors.txt deleted file mode 100644 index 359ee29c2d7..00000000000 --- a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.errors.txt +++ /dev/null @@ -1,49 +0,0 @@ -==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_core.ts (2 errors) ==== - // Privacy errors - importing private elements - import im_private_mi_private = require("m"); - ~~~ -!!! Cannot find external module 'm'. - import im_private_mu_private = require("m2"); - ~~~~ -!!! Cannot find external module 'm2'. - import im_private_mi_public = require("privacyTopLevelAmbientExternalModuleImportWithoutExport_require"); - import im_private_mu_public = require("privacyTopLevelAmbientExternalModuleImportWithoutExport_require1"); - - // Usage of privacy error imports - var privateUse_im_private_mi_private = new im_private_mi_private.c_private(); - export var publicUse_im_private_mi_private = new im_private_mi_private.c_private(); - var privateUse_im_private_mu_private = new im_private_mu_private.c_private(); - export var publicUse_im_private_mu_private = new im_private_mu_private.c_private(); - var privateUse_im_private_mi_public = new im_private_mi_public.c_public(); - export var publicUse_im_private_mi_public = new im_private_mi_public.c_public(); - var privateUse_im_private_mi_public = new im_private_mi_public.c_public(); - export var publicUse_im_private_mi_public = new im_private_mi_public.c_public(); - -==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require.ts (0 errors) ==== - - // Public elements - export class c_public { - foo: string; - } - -==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require1.ts (0 errors) ==== - export class c_public { - bar: string; - } - -==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require2.ts (0 errors) ==== - // private elements - // Export - Error ambient modules allowed only in global - declare module 'm' { - export class c_private { - baz: string - } - } - -==== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport_require3.ts (0 errors) ==== - declare module 'm2' { - export class c_private { - bing: string; - } - } - \ No newline at end of file diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.js b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.js index 5aa6b762a02..2f7e0691317 100644 --- a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.js +++ b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.js @@ -29,6 +29,8 @@ declare module 'm2' { } //// [privacyTopLevelAmbientExternalModuleImportWithoutExport_core.ts] +/// +/// // Privacy errors - importing private elements import im_private_mi_private = require("m"); import im_private_mu_private = require("m2"); @@ -46,6 +48,8 @@ var privateUse_im_private_mi_public = new im_private_mi_public.c_public(); export var publicUse_im_private_mi_public = new im_private_mi_public.c_public(); +//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require2.js] +//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require3.js] //// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require.js] define(["require", "exports"], function (require, exports) { var c_public = (function () { @@ -75,3 +79,35 @@ define(["require", "exports", "m", "m2", "privacyTopLevelAmbientExternalModuleIm var privateUse_im_private_mi_public = new im_private_mi_public.c_public(); exports.publicUse_im_private_mi_public = new im_private_mi_public.c_public(); }); + + +//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require2.d.ts] +declare module 'm' { + class c_private { + baz: string; + } +} +//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require3.d.ts] +declare module 'm2' { + class c_private { + bing: string; + } +} +//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require.d.ts] +export declare class c_public { + foo: string; +} +//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_require1.d.ts] +export declare class c_public { + bar: string; +} +//// [privacyTopLevelAmbientExternalModuleImportWithoutExport_core.d.ts] +/// +/// +import im_private_mi_private = require("m"); +import im_private_mu_private = require("m2"); +import im_private_mi_public = require("privacyTopLevelAmbientExternalModuleImportWithoutExport_require"); +export declare var publicUse_im_private_mi_private: im_private_mi_private.c_private; +export declare var publicUse_im_private_mu_private: im_private_mu_private.c_private; +export declare var publicUse_im_private_mi_public: im_private_mi_public.c_public; +export declare var publicUse_im_private_mi_public: im_private_mi_public.c_public; diff --git a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithExport.errors.txt b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithExport.errors.txt new file mode 100644 index 00000000000..899832db215 --- /dev/null +++ b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithExport.errors.txt @@ -0,0 +1,114 @@ +==== tests/cases/compiler/privacyTopLevelInternalReferenceImportWithExport.ts (7 errors) ==== + // private elements + module m_private { + export class c_private { + } + export enum e_private { + Happy, + Grumpy + } + export function f_private() { + return new c_private(); + } + export var v_private = new c_private(); + export interface i_private { + } + export module mi_private { + export class c { + } + } + export module mu_private { + export interface i { + } + } + } + + // Public elements + export module m_public { + export class c_public { + } + export enum e_public { + Happy, + Grumpy + } + export function f_public() { + return new c_public(); + } + export var v_public = 10; + export interface i_public { + } + export module mi_public { + export class c { + } + } + export module mu_public { + export interface i { + } + } + } + + // Privacy errors - importing private elements + export import im_public_c_private = m_private.c_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_c_private' is using private name 'm_private'. + export import im_public_e_private = m_private.e_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_e_private' is using private name 'm_private'. + export import im_public_f_private = m_private.f_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_f_private' is using private name 'm_private'. + export import im_public_v_private = m_private.v_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_v_private' is using private name 'm_private'. + export import im_public_i_private = m_private.i_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_i_private' is using private name 'm_private'. + export import im_public_mi_private = m_private.mi_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_mi_private' is using private name 'm_private'. + export import im_public_mu_private = m_private.mu_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_public_mu_private' is using private name 'm_private'. + + // Usage of privacy error imports + var privateUse_im_public_c_private = new im_public_c_private(); + export var publicUse_im_public_c_private = new im_public_c_private(); + var privateUse_im_public_e_private = im_public_e_private.Happy; + export var publicUse_im_public_e_private = im_public_e_private.Grumpy; + var privateUse_im_public_f_private = im_public_f_private(); + export var publicUse_im_public_f_private = im_public_f_private(); + var privateUse_im_public_v_private = im_public_v_private; + export var publicUse_im_public_v_private = im_public_v_private; + var privateUse_im_public_i_private: im_public_i_private; + export var publicUse_im_public_i_private: im_public_i_private; + var privateUse_im_public_mi_private = new im_public_mi_private.c(); + export var publicUse_im_public_mi_private = new im_public_mi_private.c(); + var privateUse_im_public_mu_private: im_public_mu_private.i; + export var publicUse_im_public_mu_private: im_public_mu_private.i; + + + // No Privacy errors - importing public elements + export import im_public_c_public = m_public.c_public; + export import im_public_e_public = m_public.e_public; + export import im_public_f_public = m_public.f_public; + export import im_public_v_public = m_public.v_public; + export import im_public_i_public = m_public.i_public; + export import im_public_mi_public = m_public.mi_public; + export import im_public_mu_public = m_public.mu_public; + + // Usage of above decls + var privateUse_im_public_c_public = new im_public_c_public(); + export var publicUse_im_public_c_public = new im_public_c_public(); + var privateUse_im_public_e_public = im_public_e_public.Happy; + export var publicUse_im_public_e_public = im_public_e_public.Grumpy; + var privateUse_im_public_f_public = im_public_f_public(); + export var publicUse_im_public_f_public = im_public_f_public(); + var privateUse_im_public_v_public = im_public_v_public; + export var publicUse_im_public_v_public = im_public_v_public; + var privateUse_im_public_i_public: im_public_i_public; + export var publicUse_im_public_i_public: im_public_i_public; + var privateUse_im_public_mi_public = new im_public_mi_public.c(); + export var publicUse_im_public_mi_public = new im_public_mi_public.c(); + var privateUse_im_public_mu_public: im_public_mu_public.i; + export var publicUse_im_public_mu_public: im_public_mu_public.i; + \ No newline at end of file diff --git a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.errors.txt b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.errors.txt new file mode 100644 index 00000000000..b9791738e24 --- /dev/null +++ b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.errors.txt @@ -0,0 +1,111 @@ +==== tests/cases/compiler/privacyTopLevelInternalReferenceImportWithoutExport.ts (5 errors) ==== + + // private elements + module m_private { + export class c_private { + } + export enum e_private { + Happy, + Grumpy + } + export function f_private() { + return new c_private(); + } + export var v_private = new c_private(); + export interface i_private { + } + export module mi_private { + export class c { + } + } + export module mu_private { + export interface i { + } + } + } + + // Public elements + export module m_public { + export class c_public { + } + export enum e_public { + Happy, + Grumpy + } + export function f_public() { + return new c_public(); + } + export var v_public = 10; + export interface i_public { + } + export module mi_public { + export class c { + } + } + export module mu_public { + export interface i { + } + } + } + + // No Privacy errors - importing private elements + import im_private_c_private = m_private.c_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_private_c_private' is using private name 'm_private'. + import im_private_e_private = m_private.e_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_private_e_private' is using private name 'm_private'. + import im_private_f_private = m_private.f_private; + import im_private_v_private = m_private.v_private; + import im_private_i_private = m_private.i_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_private_i_private' is using private name 'm_private'. + import im_private_mi_private = m_private.mi_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_private_mi_private' is using private name 'm_private'. + import im_private_mu_private = m_private.mu_private; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declaration 'im_private_mu_private' is using private name 'm_private'. + + // Usage of above decls + var privateUse_im_private_c_private = new im_private_c_private(); + export var publicUse_im_private_c_private = new im_private_c_private(); + var privateUse_im_private_e_private = im_private_e_private.Happy; + export var publicUse_im_private_e_private = im_private_e_private.Grumpy; + var privateUse_im_private_f_private = im_private_f_private(); + export var publicUse_im_private_f_private = im_private_f_private(); + var privateUse_im_private_v_private = im_private_v_private; + export var publicUse_im_private_v_private = im_private_v_private; + var privateUse_im_private_i_private: im_private_i_private; + export var publicUse_im_private_i_private: im_private_i_private; + var privateUse_im_private_mi_private = new im_private_mi_private.c(); + export var publicUse_im_private_mi_private = new im_private_mi_private.c(); + var privateUse_im_private_mu_private: im_private_mu_private.i; + export var publicUse_im_private_mu_private: im_private_mu_private.i; + + + // No Privacy errors - importing public elements + import im_private_c_public = m_public.c_public; + import im_private_e_public = m_public.e_public; + import im_private_f_public = m_public.f_public; + import im_private_v_public = m_public.v_public; + import im_private_i_public = m_public.i_public; + import im_private_mi_public = m_public.mi_public; + import im_private_mu_public = m_public.mu_public; + + // Usage of above decls + var privateUse_im_private_c_public = new im_private_c_public(); + export var publicUse_im_private_c_public = new im_private_c_public(); + var privateUse_im_private_e_public = im_private_e_public.Happy; + export var publicUse_im_private_e_public = im_private_e_public.Grumpy; + var privateUse_im_private_f_public = im_private_f_public(); + export var publicUse_im_private_f_public = im_private_f_public(); + var privateUse_im_private_v_public = im_private_v_public; + export var publicUse_im_private_v_public = im_private_v_public; + var privateUse_im_private_i_public: im_private_i_public; + export var publicUse_im_private_i_public: im_private_i_public; + var privateUse_im_private_mi_public = new im_private_mi_public.c(); + export var publicUse_im_private_mi_public = new im_private_mi_public.c(); + var privateUse_im_private_mu_public: im_private_mu_public.i; + export var publicUse_im_private_mu_public: im_private_mu_public.i; + \ No newline at end of file diff --git a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.js b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.js index 2f435522438..bce0ad5c8f6 100644 --- a/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.js +++ b/tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.js @@ -1,4 +1,5 @@ //// [privacyTopLevelInternalReferenceImportWithoutExport.ts] + // private elements module m_private { export class c_private { diff --git a/tests/baselines/reference/privacyTypeParameterOfFunctionDeclFile.errors.txt b/tests/baselines/reference/privacyTypeParameterOfFunctionDeclFile.errors.txt index 8e892e57dee..3297ac7228d 100644 --- a/tests/baselines/reference/privacyTypeParameterOfFunctionDeclFile.errors.txt +++ b/tests/baselines/reference/privacyTypeParameterOfFunctionDeclFile.errors.txt @@ -1,4 +1,4 @@ -==== tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts (24 errors) ==== +==== tests/cases/compiler/privacyTypeParameterOfFunctionDeclFile.ts (36 errors) ==== class privateClass { } @@ -7,12 +7,18 @@ export interface publicInterfaceWithPrivateTypeParameters { new (): privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of constructor signature from exported interface has or is using private name 'privateClass'. ~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateClass'. (): privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of call signature from exported interface has or is using private name 'privateClass'. ~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of call signature from exported interface has or is using private name 'privateClass'. myMethod(): privateClass; // Error + ~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClass'. ~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of method from exported interface has or is using private name 'privateClass'. } @@ -138,12 +144,18 @@ export interface publicInterfaceWithPrivatModuleTypeParameters { new (): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. (): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. myMethod(): privateModule.publicClass; // Error + ~~~~~~~~ +!!! Return type of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. } @@ -187,12 +199,18 @@ export interface publicInterfaceWithPrivateTypeParameters { new (): privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of constructor signature from exported interface has or is using private name 'privateClass'. ~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of constructor signature from exported interface has or is using private name 'privateClass'. (): privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of call signature from exported interface has or is using private name 'privateClass'. ~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of call signature from exported interface has or is using private name 'privateClass'. myMethod(): privateClass; // Error + ~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClass'. ~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of method from exported interface has or is using private name 'privateClass'. } @@ -318,12 +336,18 @@ export interface publicInterfaceWithPrivatModuleTypeParameters { new (): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of constructor signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. (): privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Return type of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of call signature from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. myMethod(): privateModule.publicClass; // Error + ~~~~~~~~ +!!! Return type of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! Type parameter 'T' of method from exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. } diff --git a/tests/baselines/reference/privacyTypeParametersOfInterfaceDeclFile.errors.txt b/tests/baselines/reference/privacyTypeParametersOfInterfaceDeclFile.errors.txt index 92aa57bcef1..c4e9934ce8c 100644 --- a/tests/baselines/reference/privacyTypeParametersOfInterfaceDeclFile.errors.txt +++ b/tests/baselines/reference/privacyTypeParametersOfInterfaceDeclFile.errors.txt @@ -1,4 +1,4 @@ -==== tests/cases/compiler/privacyTypeParametersOfInterfaceDeclFile.ts (4 errors) ==== +==== tests/cases/compiler/privacyTypeParametersOfInterfaceDeclFile.ts (20 errors) ==== class privateClass { } @@ -17,8 +17,16 @@ myMethod(val: T): T; myMethod0(): publicClassT; myMethod1(): privateClassT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClass'. + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassT'. myMethod2(): privateClassT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassT'. myMethod3(): publicClassT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClass'. myMethod4(): publicClassT; } @@ -26,8 +34,16 @@ myMethod(val: T): T; myMethod0(): publicClassT myMethod1(): privateClassT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClass'. + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassT'. myMethod2(): privateClassT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassT'. myMethod3(): publicClassT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClass'. myMethod4(): publicClassT; } @@ -87,8 +103,16 @@ myMethod(val: T): T; myMethod0(): publicClassInPublicModuleT; myMethod1(): privateClassInPublicModuleT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassInPublicModule'. + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassInPublicModuleT'. myMethod2(): privateClassInPublicModuleT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassInPublicModuleT'. myMethod3(): publicClassInPublicModuleT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassInPublicModule'. myMethod4(): publicClassInPublicModuleT; } @@ -96,8 +120,16 @@ myMethod(val: T): T; myMethod0(): publicClassInPublicModuleT myMethod1(): privateClassInPublicModuleT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassInPublicModule'. + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassInPublicModuleT'. myMethod2(): privateClassInPublicModuleT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassInPublicModuleT'. myMethod3(): publicClassInPublicModuleT; + ~~~~~~~~~ +!!! Return type of method from exported interface has or is using private name 'privateClassInPublicModule'. myMethod4(): publicClassInPublicModuleT; } diff --git a/tests/baselines/reference/privacyVarDeclFile.errors.txt b/tests/baselines/reference/privacyVarDeclFile.errors.txt new file mode 100644 index 00000000000..7a0288f42df --- /dev/null +++ b/tests/baselines/reference/privacyVarDeclFile.errors.txt @@ -0,0 +1,484 @@ +==== tests/cases/compiler/privacyVarDeclFile_externalModule.ts (20 errors) ==== + + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Property 'myProperty' of exported interface has or is using private name 'privateClass'. + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public static property 'myPublicStaticProperty' of exported class has or is using private name 'privateClass'. + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public property 'myPublicProperty' of exported class has or is using private name 'privateClass'. + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicVarWithPrivatePropertyTypes' has or is using private name 'privateClass'. + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicAmbientVarWithPrivatePropertyTypes' has or is using private name 'privateClass'. + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Property 'myProperty' of exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public static property 'myPublicStaticProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + myPublicProperty: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public property 'myPublicProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'. + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicAmbientVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'. + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + + export module publicModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Property 'myProperty' of exported interface has or is using private name 'privateClass'. + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public static property 'myPublicStaticProperty' of exported class has or is using private name 'privateClass'. + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public property 'myPublicProperty' of exported class has or is using private name 'privateClass'. + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicVarWithPrivatePropertyTypes' has or is using private name 'privateClass'. + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicAmbientVarWithPrivatePropertyTypes' has or is using private name 'privateClass'. + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Property 'myProperty' of exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public static property 'myPublicStaticProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + myPublicProperty: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public property 'myPublicProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'. + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicAmbientVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'. + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + } + +==== tests/cases/compiler/privacyVarDeclFile_GlobalFile.ts (10 errors) ==== + class publicClassInGlobal { + } + interface publicInterfaceWithPublicPropertyTypesInGlobal { + myProperty: publicClassInGlobal; + } + class publicClassWithWithPublicPropertyTypesInGlobal { + static myPublicStaticProperty: publicClassInGlobal; + private static myPrivateStaticProperty: publicClassInGlobal; + myPublicProperty: publicClassInGlobal; + private myPrivateProperty: publicClassInGlobal; + } + var publicVarWithPublicPropertyTypesInGlobal: publicClassInGlobal; + declare var publicAmbientVarWithPublicPropertyTypesInGlobal: publicClassInGlobal; + + module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Property 'myProperty' of exported interface has or is using private name 'privateClass'. + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public static property 'myPublicStaticProperty' of exported class has or is using private name 'privateClass'. + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public property 'myPublicProperty' of exported class has or is using private name 'privateClass'. + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicVarWithPrivatePropertyTypes' has or is using private name 'privateClass'. + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicAmbientVarWithPrivatePropertyTypes' has or is using private name 'privateClass'. + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Property 'myProperty' of exported interface has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public static property 'myPublicStaticProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + myPublicProperty: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Public property 'myPublicProperty' of exported class has or is using name 'privateModule.publicClass' from private module 'privateModule'. + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'. + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Exported variable 'publicAmbientVarWithPrivateModulePropertyTypes' has or is using name 'privateModule.publicClass' from private module 'privateModule'. + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + } \ No newline at end of file diff --git a/tests/baselines/reference/privacyVarDeclFile.js b/tests/baselines/reference/privacyVarDeclFile.js new file mode 100644 index 00000000000..922c056b3a7 --- /dev/null +++ b/tests/baselines/reference/privacyVarDeclFile.js @@ -0,0 +1,702 @@ +//// [tests/cases/compiler/privacyVarDeclFile.ts] //// + +//// [privacyVarDeclFile_externalModule.ts] + +class privateClass { +} + +export class publicClass { +} + +export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; // Error +} + +export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; +} + +interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; +} + +interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; +} + +export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; // Error + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; // Error + private myPrivateProperty: privateClass; +} + +export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; +} + +class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; +} + +class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; +} + +export var publicVarWithPrivatePropertyTypes: privateClass; // Error +export var publicVarWithPublicPropertyTypes: publicClass; +var privateVarWithPrivatePropertyTypes: privateClass; +var privateVarWithPublicPropertyTypes: publicClass; + +export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error +export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; +declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; +declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + +export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; // Error +} +export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; // Error + myPublicProperty: privateModule.publicClass; // Error +} +export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error +export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + +interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; +} +class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; +} +var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; +declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + +export module publicModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; // Error + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; // Error + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; // Error + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; // Error + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; // Error + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; // Error + myPublicProperty: privateModule.publicClass; // Error + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; +} + +module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; +} + +//// [privacyVarDeclFile_GlobalFile.ts] +class publicClassInGlobal { +} +interface publicInterfaceWithPublicPropertyTypesInGlobal { + myProperty: publicClassInGlobal; +} +class publicClassWithWithPublicPropertyTypesInGlobal { + static myPublicStaticProperty: publicClassInGlobal; + private static myPrivateStaticProperty: publicClassInGlobal; + myPublicProperty: publicClassInGlobal; + private myPrivateProperty: publicClassInGlobal; +} +var publicVarWithPublicPropertyTypesInGlobal: publicClassInGlobal; +declare var publicAmbientVarWithPublicPropertyTypesInGlobal: publicClassInGlobal; + +module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; // Error + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; // Error + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; // Error + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; // Error + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; // Error + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; // Error + myPublicProperty: privateModule.publicClass; // Error + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; +} + +//// [privacyVarDeclFile_externalModule.js] +var privateClass = (function () { + function privateClass() { + } + return privateClass; +})(); +var publicClass = (function () { + function publicClass() { + } + return publicClass; +})(); +exports.publicClass = publicClass; +var publicClassWithWithPrivatePropertyTypes = (function () { + function publicClassWithWithPrivatePropertyTypes() { + } + return publicClassWithWithPrivatePropertyTypes; +})(); +exports.publicClassWithWithPrivatePropertyTypes = publicClassWithWithPrivatePropertyTypes; +var publicClassWithWithPublicPropertyTypes = (function () { + function publicClassWithWithPublicPropertyTypes() { + } + return publicClassWithWithPublicPropertyTypes; +})(); +exports.publicClassWithWithPublicPropertyTypes = publicClassWithWithPublicPropertyTypes; +var privateClassWithWithPrivatePropertyTypes = (function () { + function privateClassWithWithPrivatePropertyTypes() { + } + return privateClassWithWithPrivatePropertyTypes; +})(); +var privateClassWithWithPublicPropertyTypes = (function () { + function privateClassWithWithPublicPropertyTypes() { + } + return privateClassWithWithPublicPropertyTypes; +})(); +exports.publicVarWithPrivatePropertyTypes; +exports.publicVarWithPublicPropertyTypes; +var privateVarWithPrivatePropertyTypes; +var privateVarWithPublicPropertyTypes; +var publicClassWithPrivateModulePropertyTypes = (function () { + function publicClassWithPrivateModulePropertyTypes() { + } + return publicClassWithPrivateModulePropertyTypes; +})(); +exports.publicClassWithPrivateModulePropertyTypes = publicClassWithPrivateModulePropertyTypes; +exports.publicVarWithPrivateModulePropertyTypes; +var privateClassWithPrivateModulePropertyTypes = (function () { + function privateClassWithPrivateModulePropertyTypes() { + } + return privateClassWithPrivateModulePropertyTypes; +})(); +var privateVarWithPrivateModulePropertyTypes; +(function (publicModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + publicModule.publicClass = publicClass; + var publicClassWithWithPrivatePropertyTypes = (function () { + function publicClassWithWithPrivatePropertyTypes() { + } + return publicClassWithWithPrivatePropertyTypes; + })(); + publicModule.publicClassWithWithPrivatePropertyTypes = publicClassWithWithPrivatePropertyTypes; + var publicClassWithWithPublicPropertyTypes = (function () { + function publicClassWithWithPublicPropertyTypes() { + } + return publicClassWithWithPublicPropertyTypes; + })(); + publicModule.publicClassWithWithPublicPropertyTypes = publicClassWithWithPublicPropertyTypes; + var privateClassWithWithPrivatePropertyTypes = (function () { + function privateClassWithWithPrivatePropertyTypes() { + } + return privateClassWithWithPrivatePropertyTypes; + })(); + var privateClassWithWithPublicPropertyTypes = (function () { + function privateClassWithWithPublicPropertyTypes() { + } + return privateClassWithWithPublicPropertyTypes; + })(); + publicModule.publicVarWithPrivatePropertyTypes; + publicModule.publicVarWithPublicPropertyTypes; + var privateVarWithPrivatePropertyTypes; + var privateVarWithPublicPropertyTypes; + var publicClassWithPrivateModulePropertyTypes = (function () { + function publicClassWithPrivateModulePropertyTypes() { + } + return publicClassWithPrivateModulePropertyTypes; + })(); + publicModule.publicClassWithPrivateModulePropertyTypes = publicClassWithPrivateModulePropertyTypes; + publicModule.publicVarWithPrivateModulePropertyTypes; + var privateClassWithPrivateModulePropertyTypes = (function () { + function privateClassWithPrivateModulePropertyTypes() { + } + return privateClassWithPrivateModulePropertyTypes; + })(); + var privateVarWithPrivateModulePropertyTypes; +})(exports.publicModule || (exports.publicModule = {})); +var publicModule = exports.publicModule; +var privateModule; +(function (privateModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + privateModule.publicClass = publicClass; + var publicClassWithWithPrivatePropertyTypes = (function () { + function publicClassWithWithPrivatePropertyTypes() { + } + return publicClassWithWithPrivatePropertyTypes; + })(); + privateModule.publicClassWithWithPrivatePropertyTypes = publicClassWithWithPrivatePropertyTypes; + var publicClassWithWithPublicPropertyTypes = (function () { + function publicClassWithWithPublicPropertyTypes() { + } + return publicClassWithWithPublicPropertyTypes; + })(); + privateModule.publicClassWithWithPublicPropertyTypes = publicClassWithWithPublicPropertyTypes; + var privateClassWithWithPrivatePropertyTypes = (function () { + function privateClassWithWithPrivatePropertyTypes() { + } + return privateClassWithWithPrivatePropertyTypes; + })(); + var privateClassWithWithPublicPropertyTypes = (function () { + function privateClassWithWithPublicPropertyTypes() { + } + return privateClassWithWithPublicPropertyTypes; + })(); + privateModule.publicVarWithPrivatePropertyTypes; + privateModule.publicVarWithPublicPropertyTypes; + var privateVarWithPrivatePropertyTypes; + var privateVarWithPublicPropertyTypes; + var publicClassWithPrivateModulePropertyTypes = (function () { + function publicClassWithPrivateModulePropertyTypes() { + } + return publicClassWithPrivateModulePropertyTypes; + })(); + privateModule.publicClassWithPrivateModulePropertyTypes = publicClassWithPrivateModulePropertyTypes; + privateModule.publicVarWithPrivateModulePropertyTypes; + var privateClassWithPrivateModulePropertyTypes = (function () { + function privateClassWithPrivateModulePropertyTypes() { + } + return privateClassWithPrivateModulePropertyTypes; + })(); + var privateVarWithPrivateModulePropertyTypes; +})(privateModule || (privateModule = {})); +//// [privacyVarDeclFile_GlobalFile.js] +var publicClassInGlobal = (function () { + function publicClassInGlobal() { + } + return publicClassInGlobal; +})(); +var publicClassWithWithPublicPropertyTypesInGlobal = (function () { + function publicClassWithWithPublicPropertyTypesInGlobal() { + } + return publicClassWithWithPublicPropertyTypesInGlobal; +})(); +var publicVarWithPublicPropertyTypesInGlobal; +var publicModuleInGlobal; +(function (publicModuleInGlobal) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + publicModuleInGlobal.publicClass = publicClass; + var privateModule; + (function (privateModule) { + var privateClass = (function () { + function privateClass() { + } + return privateClass; + })(); + var publicClass = (function () { + function publicClass() { + } + return publicClass; + })(); + privateModule.publicClass = publicClass; + var publicClassWithWithPrivatePropertyTypes = (function () { + function publicClassWithWithPrivatePropertyTypes() { + } + return publicClassWithWithPrivatePropertyTypes; + })(); + privateModule.publicClassWithWithPrivatePropertyTypes = publicClassWithWithPrivatePropertyTypes; + var publicClassWithWithPublicPropertyTypes = (function () { + function publicClassWithWithPublicPropertyTypes() { + } + return publicClassWithWithPublicPropertyTypes; + })(); + privateModule.publicClassWithWithPublicPropertyTypes = publicClassWithWithPublicPropertyTypes; + var privateClassWithWithPrivatePropertyTypes = (function () { + function privateClassWithWithPrivatePropertyTypes() { + } + return privateClassWithWithPrivatePropertyTypes; + })(); + var privateClassWithWithPublicPropertyTypes = (function () { + function privateClassWithWithPublicPropertyTypes() { + } + return privateClassWithWithPublicPropertyTypes; + })(); + privateModule.publicVarWithPrivatePropertyTypes; + privateModule.publicVarWithPublicPropertyTypes; + var privateVarWithPrivatePropertyTypes; + var privateVarWithPublicPropertyTypes; + var publicClassWithPrivateModulePropertyTypes = (function () { + function publicClassWithPrivateModulePropertyTypes() { + } + return publicClassWithPrivateModulePropertyTypes; + })(); + privateModule.publicClassWithPrivateModulePropertyTypes = publicClassWithPrivateModulePropertyTypes; + privateModule.publicVarWithPrivateModulePropertyTypes; + var privateClassWithPrivateModulePropertyTypes = (function () { + function privateClassWithPrivateModulePropertyTypes() { + } + return privateClassWithPrivateModulePropertyTypes; + })(); + var privateVarWithPrivateModulePropertyTypes; + })(privateModule || (privateModule = {})); + var publicClassWithWithPrivatePropertyTypes = (function () { + function publicClassWithWithPrivatePropertyTypes() { + } + return publicClassWithWithPrivatePropertyTypes; + })(); + publicModuleInGlobal.publicClassWithWithPrivatePropertyTypes = publicClassWithWithPrivatePropertyTypes; + var publicClassWithWithPublicPropertyTypes = (function () { + function publicClassWithWithPublicPropertyTypes() { + } + return publicClassWithWithPublicPropertyTypes; + })(); + publicModuleInGlobal.publicClassWithWithPublicPropertyTypes = publicClassWithWithPublicPropertyTypes; + var privateClassWithWithPrivatePropertyTypes = (function () { + function privateClassWithWithPrivatePropertyTypes() { + } + return privateClassWithWithPrivatePropertyTypes; + })(); + var privateClassWithWithPublicPropertyTypes = (function () { + function privateClassWithWithPublicPropertyTypes() { + } + return privateClassWithWithPublicPropertyTypes; + })(); + publicModuleInGlobal.publicVarWithPrivatePropertyTypes; + publicModuleInGlobal.publicVarWithPublicPropertyTypes; + var privateVarWithPrivatePropertyTypes; + var privateVarWithPublicPropertyTypes; + var publicClassWithPrivateModulePropertyTypes = (function () { + function publicClassWithPrivateModulePropertyTypes() { + } + return publicClassWithPrivateModulePropertyTypes; + })(); + publicModuleInGlobal.publicClassWithPrivateModulePropertyTypes = publicClassWithPrivateModulePropertyTypes; + publicModuleInGlobal.publicVarWithPrivateModulePropertyTypes; + var privateClassWithPrivateModulePropertyTypes = (function () { + function privateClassWithPrivateModulePropertyTypes() { + } + return privateClassWithPrivateModulePropertyTypes; + })(); + var privateVarWithPrivateModulePropertyTypes; +})(publicModuleInGlobal || (publicModuleInGlobal = {})); diff --git a/tests/baselines/reference/project/baseline/amd/baseline.json b/tests/baselines/reference/project/baseline/amd/baseline.json index 18a5cfbebaf..434ed4f9f09 100644 --- a/tests/baselines/reference/project/baseline/amd/baseline.json +++ b/tests/baselines/reference/project/baseline/amd/baseline.json @@ -7,9 +7,9 @@ "baselineCheck": true, "runTest": true, "resolvedInputFiles": [ - "emit.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "emit.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/baseline/node/baseline.json b/tests/baselines/reference/project/baseline/node/baseline.json index 18a5cfbebaf..434ed4f9f09 100644 --- a/tests/baselines/reference/project/baseline/node/baseline.json +++ b/tests/baselines/reference/project/baseline/node/baseline.json @@ -7,9 +7,9 @@ "baselineCheck": true, "runTest": true, "resolvedInputFiles": [ - "emit.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "emit.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/baseline2/amd/baseline2.json b/tests/baselines/reference/project/baseline2/amd/baseline2.json index 4a14da23589..c9bbe169f14 100644 --- a/tests/baselines/reference/project/baseline2/amd/baseline2.json +++ b/tests/baselines/reference/project/baseline2/amd/baseline2.json @@ -7,9 +7,9 @@ "baselineCheck": true, "runTest": true, "resolvedInputFiles": [ - "dont_emit.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "dont_emit.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/baseline2/node/baseline2.json b/tests/baselines/reference/project/baseline2/node/baseline2.json index 4a14da23589..c9bbe169f14 100644 --- a/tests/baselines/reference/project/baseline2/node/baseline2.json +++ b/tests/baselines/reference/project/baseline2/node/baseline2.json @@ -7,9 +7,9 @@ "baselineCheck": true, "runTest": true, "resolvedInputFiles": [ - "dont_emit.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "dont_emit.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/baseline3/amd/baseline3.json b/tests/baselines/reference/project/baseline3/amd/baseline3.json index 7c178ee16be..7eba4ec8287 100644 --- a/tests/baselines/reference/project/baseline3/amd/baseline3.json +++ b/tests/baselines/reference/project/baseline3/amd/baseline3.json @@ -7,8 +7,8 @@ "baselineCheck": true, "runTest": true, "resolvedInputFiles": [ - "nestedModule.ts", - "lib.d.ts" + "lib.d.ts", + "nestedModule.ts" ], "emittedFiles": [ "nestedModule.js" diff --git a/tests/baselines/reference/project/baseline3/node/baseline3.json b/tests/baselines/reference/project/baseline3/node/baseline3.json index 7c178ee16be..7eba4ec8287 100644 --- a/tests/baselines/reference/project/baseline3/node/baseline3.json +++ b/tests/baselines/reference/project/baseline3/node/baseline3.json @@ -7,8 +7,8 @@ "baselineCheck": true, "runTest": true, "resolvedInputFiles": [ - "nestedModule.ts", - "lib.d.ts" + "lib.d.ts", + "nestedModule.ts" ], "emittedFiles": [ "nestedModule.js" diff --git a/tests/baselines/reference/project/cantFindTheModule/amd/cantFindTheModule.errors.txt b/tests/baselines/reference/project/cantFindTheModule/amd/cantFindTheModule.errors.txt index 2978ef073b5..360c00b51aa 100644 --- a/tests/baselines/reference/project/cantFindTheModule/amd/cantFindTheModule.errors.txt +++ b/tests/baselines/reference/project/cantFindTheModule/amd/cantFindTheModule.errors.txt @@ -1,3 +1,23 @@ decl.ts(1,26): Cannot find external module './foo/bar.js'. decl.ts(2,26): Cannot find external module 'baz'. decl.ts(3,26): Cannot find external module './baz'. + + +==== decl.ts (3 errors) ==== + import modErr = require("./foo/bar.js"); + ~~~~~~~~~~~~~~ +!!! Cannot find external module './foo/bar.js'. + import modErr1 = require("baz"); + ~~~~~ +!!! Cannot find external module 'baz'. + import modErr2 = require("./baz"); + ~~~~~~~ +!!! Cannot find external module './baz'. + + //import modErr1 = require("\bar"); + + //import mod = require("./foo/bar"); + //import mod1 = require("../module paths/foo/bar"); + //import mod2 = require("foo/bar"); + + \ No newline at end of file diff --git a/tests/baselines/reference/project/cantFindTheModule/amd/cantFindTheModule.json b/tests/baselines/reference/project/cantFindTheModule/amd/cantFindTheModule.json index 05a85481e7b..1d2f8d56e5a 100644 --- a/tests/baselines/reference/project/cantFindTheModule/amd/cantFindTheModule.json +++ b/tests/baselines/reference/project/cantFindTheModule/amd/cantFindTheModule.json @@ -5,8 +5,8 @@ "decl.ts" ], "resolvedInputFiles": [ - "decl.ts", - "lib.d.ts" + "lib.d.ts", + "decl.ts" ], "emittedFiles": [ "decl.js" diff --git a/tests/baselines/reference/project/cantFindTheModule/node/cantFindTheModule.errors.txt b/tests/baselines/reference/project/cantFindTheModule/node/cantFindTheModule.errors.txt index 2978ef073b5..360c00b51aa 100644 --- a/tests/baselines/reference/project/cantFindTheModule/node/cantFindTheModule.errors.txt +++ b/tests/baselines/reference/project/cantFindTheModule/node/cantFindTheModule.errors.txt @@ -1,3 +1,23 @@ decl.ts(1,26): Cannot find external module './foo/bar.js'. decl.ts(2,26): Cannot find external module 'baz'. decl.ts(3,26): Cannot find external module './baz'. + + +==== decl.ts (3 errors) ==== + import modErr = require("./foo/bar.js"); + ~~~~~~~~~~~~~~ +!!! Cannot find external module './foo/bar.js'. + import modErr1 = require("baz"); + ~~~~~ +!!! Cannot find external module 'baz'. + import modErr2 = require("./baz"); + ~~~~~~~ +!!! Cannot find external module './baz'. + + //import modErr1 = require("\bar"); + + //import mod = require("./foo/bar"); + //import mod1 = require("../module paths/foo/bar"); + //import mod2 = require("foo/bar"); + + \ No newline at end of file diff --git a/tests/baselines/reference/project/cantFindTheModule/node/cantFindTheModule.json b/tests/baselines/reference/project/cantFindTheModule/node/cantFindTheModule.json index 05a85481e7b..1d2f8d56e5a 100644 --- a/tests/baselines/reference/project/cantFindTheModule/node/cantFindTheModule.json +++ b/tests/baselines/reference/project/cantFindTheModule/node/cantFindTheModule.json @@ -5,8 +5,8 @@ "decl.ts" ], "resolvedInputFiles": [ - "decl.ts", - "lib.d.ts" + "lib.d.ts", + "decl.ts" ], "emittedFiles": [ "decl.js" diff --git a/tests/baselines/reference/project/circularReferencing/amd/circularReferencing.json b/tests/baselines/reference/project/circularReferencing/amd/circularReferencing.json index 418891627ba..56acd20c288 100644 --- a/tests/baselines/reference/project/circularReferencing/amd/circularReferencing.json +++ b/tests/baselines/reference/project/circularReferencing/amd/circularReferencing.json @@ -5,9 +5,9 @@ "consume.ts" ], "resolvedInputFiles": [ - "consume.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "consume.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/circularReferencing/node/circularReferencing.json b/tests/baselines/reference/project/circularReferencing/node/circularReferencing.json index 418891627ba..56acd20c288 100644 --- a/tests/baselines/reference/project/circularReferencing/node/circularReferencing.json +++ b/tests/baselines/reference/project/circularReferencing/node/circularReferencing.json @@ -5,9 +5,9 @@ "consume.ts" ], "resolvedInputFiles": [ - "consume.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "consume.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/circularReferencing2/amd/circularReferencing2.json b/tests/baselines/reference/project/circularReferencing2/amd/circularReferencing2.json index 162d3d51c0b..04838cd9445 100644 --- a/tests/baselines/reference/project/circularReferencing2/amd/circularReferencing2.json +++ b/tests/baselines/reference/project/circularReferencing2/amd/circularReferencing2.json @@ -6,10 +6,10 @@ ], "runTest": true, "resolvedInputFiles": [ - "a.ts", - "c.ts", + "lib.d.ts", "b.ts", - "lib.d.ts" + "c.ts", + "a.ts" ], "emittedFiles": [ "b.js", diff --git a/tests/baselines/reference/project/circularReferencing2/node/circularReferencing2.json b/tests/baselines/reference/project/circularReferencing2/node/circularReferencing2.json index 162d3d51c0b..04838cd9445 100644 --- a/tests/baselines/reference/project/circularReferencing2/node/circularReferencing2.json +++ b/tests/baselines/reference/project/circularReferencing2/node/circularReferencing2.json @@ -6,10 +6,10 @@ ], "runTest": true, "resolvedInputFiles": [ - "a.ts", - "c.ts", + "lib.d.ts", "b.ts", - "lib.d.ts" + "c.ts", + "a.ts" ], "emittedFiles": [ "b.js", diff --git a/tests/baselines/reference/project/declarationsCascadingImports/amd/declarationsCascadingImports.json b/tests/baselines/reference/project/declarationsCascadingImports/amd/declarationsCascadingImports.json index 158d3048989..12c70b9ee2c 100644 --- a/tests/baselines/reference/project/declarationsCascadingImports/amd/declarationsCascadingImports.json +++ b/tests/baselines/reference/project/declarationsCascadingImports/amd/declarationsCascadingImports.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "m4.js", diff --git a/tests/baselines/reference/project/declarationsCascadingImports/amd/useModule.d.ts b/tests/baselines/reference/project/declarationsCascadingImports/amd/useModule.d.ts index 1ffac0d4931..c766ad8c441 100644 --- a/tests/baselines/reference/project/declarationsCascadingImports/amd/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsCascadingImports/amd/useModule.d.ts @@ -1,8 +1,10 @@ declare module "quotedm1" { + import m4 = require("m4"); class v { c: m4.d; } } declare module "quotedm2" { + import m1 = require("quotedm1"); var c: m1.v; } diff --git a/tests/baselines/reference/project/declarationsCascadingImports/node/declarationsCascadingImports.json b/tests/baselines/reference/project/declarationsCascadingImports/node/declarationsCascadingImports.json index 158d3048989..12c70b9ee2c 100644 --- a/tests/baselines/reference/project/declarationsCascadingImports/node/declarationsCascadingImports.json +++ b/tests/baselines/reference/project/declarationsCascadingImports/node/declarationsCascadingImports.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "m4.js", diff --git a/tests/baselines/reference/project/declarationsCascadingImports/node/useModule.d.ts b/tests/baselines/reference/project/declarationsCascadingImports/node/useModule.d.ts index 1ffac0d4931..c766ad8c441 100644 --- a/tests/baselines/reference/project/declarationsCascadingImports/node/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsCascadingImports/node/useModule.d.ts @@ -1,8 +1,10 @@ declare module "quotedm1" { + import m4 = require("m4"); class v { c: m4.d; } } declare module "quotedm2" { + import m1 = require("quotedm1"); var c: m1.v; } diff --git a/tests/baselines/reference/project/declarationsGlobalImport/amd/declarationsGlobalImport.json b/tests/baselines/reference/project/declarationsGlobalImport/amd/declarationsGlobalImport.json index c7f0232f2a4..78bf819430e 100644 --- a/tests/baselines/reference/project/declarationsGlobalImport/amd/declarationsGlobalImport.json +++ b/tests/baselines/reference/project/declarationsGlobalImport/amd/declarationsGlobalImport.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "glo_m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "glo_m4.js", diff --git a/tests/baselines/reference/project/declarationsGlobalImport/amd/useModule.d.ts b/tests/baselines/reference/project/declarationsGlobalImport/amd/useModule.d.ts index b3f3616bb50..f9388238202 100644 --- a/tests/baselines/reference/project/declarationsGlobalImport/amd/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsGlobalImport/amd/useModule.d.ts @@ -1,3 +1,4 @@ +import glo_m4 = require("glo_m4"); export declare var useGlo_m4_x4: glo_m4.d; export declare var useGlo_m4_d4: typeof glo_m4.d; export declare var useGlo_m4_f4: glo_m4.d; diff --git a/tests/baselines/reference/project/declarationsGlobalImport/node/declarationsGlobalImport.json b/tests/baselines/reference/project/declarationsGlobalImport/node/declarationsGlobalImport.json index c7f0232f2a4..78bf819430e 100644 --- a/tests/baselines/reference/project/declarationsGlobalImport/node/declarationsGlobalImport.json +++ b/tests/baselines/reference/project/declarationsGlobalImport/node/declarationsGlobalImport.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "glo_m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "glo_m4.js", diff --git a/tests/baselines/reference/project/declarationsGlobalImport/node/useModule.d.ts b/tests/baselines/reference/project/declarationsGlobalImport/node/useModule.d.ts index b3f3616bb50..f9388238202 100644 --- a/tests/baselines/reference/project/declarationsGlobalImport/node/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsGlobalImport/node/useModule.d.ts @@ -1,3 +1,4 @@ +import glo_m4 = require("glo_m4"); export declare var useGlo_m4_x4: glo_m4.d; export declare var useGlo_m4_d4: typeof glo_m4.d; export declare var useGlo_m4_f4: glo_m4.d; diff --git a/tests/baselines/reference/project/declarationsImportedInPrivate/amd/declarationsImportedInPrivate.json b/tests/baselines/reference/project/declarationsImportedInPrivate/amd/declarationsImportedInPrivate.json index 61e3ee739ef..c6e51b9fc3b 100644 --- a/tests/baselines/reference/project/declarationsImportedInPrivate/amd/declarationsImportedInPrivate.json +++ b/tests/baselines/reference/project/declarationsImportedInPrivate/amd/declarationsImportedInPrivate.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "private_m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "private_m4.js", diff --git a/tests/baselines/reference/project/declarationsImportedInPrivate/node/declarationsImportedInPrivate.json b/tests/baselines/reference/project/declarationsImportedInPrivate/node/declarationsImportedInPrivate.json index 61e3ee739ef..c6e51b9fc3b 100644 --- a/tests/baselines/reference/project/declarationsImportedInPrivate/node/declarationsImportedInPrivate.json +++ b/tests/baselines/reference/project/declarationsImportedInPrivate/node/declarationsImportedInPrivate.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "private_m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "private_m4.js", diff --git a/tests/baselines/reference/project/declarationsImportedUseInFunction/amd/declarationsImportedUseInFunction.json b/tests/baselines/reference/project/declarationsImportedUseInFunction/amd/declarationsImportedUseInFunction.json index c695a7c7cfd..71dc130b83d 100644 --- a/tests/baselines/reference/project/declarationsImportedUseInFunction/amd/declarationsImportedUseInFunction.json +++ b/tests/baselines/reference/project/declarationsImportedUseInFunction/amd/declarationsImportedUseInFunction.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "fncOnly_m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "fncOnly_m4.js", diff --git a/tests/baselines/reference/project/declarationsImportedUseInFunction/amd/useModule.d.ts b/tests/baselines/reference/project/declarationsImportedUseInFunction/amd/useModule.d.ts index 65fe7458a3e..68bda5279ee 100644 --- a/tests/baselines/reference/project/declarationsImportedUseInFunction/amd/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsImportedUseInFunction/amd/useModule.d.ts @@ -1 +1,2 @@ +import fncOnly_m4 = require("fncOnly_m4"); export declare var useFncOnly_m4_f4: fncOnly_m4.d; diff --git a/tests/baselines/reference/project/declarationsImportedUseInFunction/node/declarationsImportedUseInFunction.json b/tests/baselines/reference/project/declarationsImportedUseInFunction/node/declarationsImportedUseInFunction.json index c695a7c7cfd..71dc130b83d 100644 --- a/tests/baselines/reference/project/declarationsImportedUseInFunction/node/declarationsImportedUseInFunction.json +++ b/tests/baselines/reference/project/declarationsImportedUseInFunction/node/declarationsImportedUseInFunction.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "fncOnly_m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "fncOnly_m4.js", diff --git a/tests/baselines/reference/project/declarationsImportedUseInFunction/node/useModule.d.ts b/tests/baselines/reference/project/declarationsImportedUseInFunction/node/useModule.d.ts index 65fe7458a3e..68bda5279ee 100644 --- a/tests/baselines/reference/project/declarationsImportedUseInFunction/node/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsImportedUseInFunction/node/useModule.d.ts @@ -1 +1,2 @@ +import fncOnly_m4 = require("fncOnly_m4"); export declare var useFncOnly_m4_f4: fncOnly_m4.d; diff --git a/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/amd/declarationsIndirectImportShouldResultInError.json b/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/amd/declarationsIndirectImportShouldResultInError.json index 2662f28161d..bb463aa43e8 100644 --- a/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/amd/declarationsIndirectImportShouldResultInError.json +++ b/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/amd/declarationsIndirectImportShouldResultInError.json @@ -6,10 +6,10 @@ ], "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", - "m5.ts", + "lib.d.ts", "m4.ts", - "lib.d.ts" + "m5.ts", + "useModule.ts" ], "emittedFiles": [ "m4.js", diff --git a/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/declarationsIndirectImportShouldResultInError.json b/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/declarationsIndirectImportShouldResultInError.json index 2662f28161d..bb463aa43e8 100644 --- a/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/declarationsIndirectImportShouldResultInError.json +++ b/tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/declarationsIndirectImportShouldResultInError.json @@ -6,10 +6,10 @@ ], "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", - "m5.ts", + "lib.d.ts", "m4.ts", - "lib.d.ts" + "m5.ts", + "useModule.ts" ], "emittedFiles": [ "m4.js", diff --git a/tests/baselines/reference/project/declarationsMultipleTimesImport/amd/declarationsMultipleTimesImport.json b/tests/baselines/reference/project/declarationsMultipleTimesImport/amd/declarationsMultipleTimesImport.json index 7d52e1fc8b3..5f5cd70b619 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesImport/amd/declarationsMultipleTimesImport.json +++ b/tests/baselines/reference/project/declarationsMultipleTimesImport/amd/declarationsMultipleTimesImport.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "m4.js", diff --git a/tests/baselines/reference/project/declarationsMultipleTimesImport/amd/useModule.d.ts b/tests/baselines/reference/project/declarationsMultipleTimesImport/amd/useModule.d.ts index 492616037df..508c764d153 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesImport/amd/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsMultipleTimesImport/amd/useModule.d.ts @@ -1,3 +1,4 @@ +import m4 = require("m4"); export declare var x4: m4.d; export declare var d4: typeof m4.d; export declare var f4: m4.d; diff --git a/tests/baselines/reference/project/declarationsMultipleTimesImport/node/declarationsMultipleTimesImport.json b/tests/baselines/reference/project/declarationsMultipleTimesImport/node/declarationsMultipleTimesImport.json index 7d52e1fc8b3..5f5cd70b619 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesImport/node/declarationsMultipleTimesImport.json +++ b/tests/baselines/reference/project/declarationsMultipleTimesImport/node/declarationsMultipleTimesImport.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "m4.js", diff --git a/tests/baselines/reference/project/declarationsMultipleTimesImport/node/useModule.d.ts b/tests/baselines/reference/project/declarationsMultipleTimesImport/node/useModule.d.ts index 492616037df..508c764d153 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesImport/node/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsMultipleTimesImport/node/useModule.d.ts @@ -1,3 +1,4 @@ +import m4 = require("m4"); export declare var x4: m4.d; export declare var d4: typeof m4.d; export declare var f4: m4.d; diff --git a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/declarationsMultipleTimesMultipleImport.json b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/declarationsMultipleTimesMultipleImport.json index 7b92f7321cd..c5f28aeb3c4 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/declarationsMultipleTimesMultipleImport.json +++ b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/declarationsMultipleTimesMultipleImport.json @@ -7,10 +7,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "m4.ts", "m5.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "m4.js", diff --git a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/m5.d.ts b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/m5.d.ts index be50f5ad4a3..8f3e96bb9da 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/m5.d.ts +++ b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/m5.d.ts @@ -1 +1,2 @@ +import m4 = require("m4"); export declare function foo2(): m4.d; diff --git a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/useModule.d.ts b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/useModule.d.ts index e7c6ad2f836..f2ba92bca9e 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/useModule.d.ts @@ -1,3 +1,4 @@ +import m4 = require("m4"); export declare var x4: m4.d; export declare var d4: typeof m4.d; export declare var f4: m4.d; diff --git a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/declarationsMultipleTimesMultipleImport.json b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/declarationsMultipleTimesMultipleImport.json index 7b92f7321cd..c5f28aeb3c4 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/declarationsMultipleTimesMultipleImport.json +++ b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/declarationsMultipleTimesMultipleImport.json @@ -7,10 +7,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "m4.ts", "m5.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "m4.js", diff --git a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/m5.d.ts b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/m5.d.ts index be50f5ad4a3..8f3e96bb9da 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/m5.d.ts +++ b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/m5.d.ts @@ -1 +1,2 @@ +import m4 = require("m4"); export declare function foo2(): m4.d; diff --git a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/useModule.d.ts b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/useModule.d.ts index e7c6ad2f836..f2ba92bca9e 100644 --- a/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/useModule.d.ts @@ -1,3 +1,4 @@ +import m4 = require("m4"); export declare var x4: m4.d; export declare var d4: typeof m4.d; export declare var f4: m4.d; diff --git a/tests/baselines/reference/project/declarationsSimpleImport/amd/declarationsSimpleImport.json b/tests/baselines/reference/project/declarationsSimpleImport/amd/declarationsSimpleImport.json index 2497ac9b8d0..41a5dcb845b 100644 --- a/tests/baselines/reference/project/declarationsSimpleImport/amd/declarationsSimpleImport.json +++ b/tests/baselines/reference/project/declarationsSimpleImport/amd/declarationsSimpleImport.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "m4.js", diff --git a/tests/baselines/reference/project/declarationsSimpleImport/amd/useModule.d.ts b/tests/baselines/reference/project/declarationsSimpleImport/amd/useModule.d.ts index 664759ceeef..c5355f22ef5 100644 --- a/tests/baselines/reference/project/declarationsSimpleImport/amd/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsSimpleImport/amd/useModule.d.ts @@ -1,3 +1,4 @@ +import m4 = require("m4"); export declare var x4: m4.d; export declare var d4: typeof m4.d; export declare var f4: m4.d; diff --git a/tests/baselines/reference/project/declarationsSimpleImport/node/declarationsSimpleImport.json b/tests/baselines/reference/project/declarationsSimpleImport/node/declarationsSimpleImport.json index 2497ac9b8d0..41a5dcb845b 100644 --- a/tests/baselines/reference/project/declarationsSimpleImport/node/declarationsSimpleImport.json +++ b/tests/baselines/reference/project/declarationsSimpleImport/node/declarationsSimpleImport.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "useModule.ts", + "lib.d.ts", "m4.ts", - "lib.d.ts" + "useModule.ts" ], "emittedFiles": [ "m4.js", diff --git a/tests/baselines/reference/project/declarationsSimpleImport/node/useModule.d.ts b/tests/baselines/reference/project/declarationsSimpleImport/node/useModule.d.ts index 664759ceeef..c5355f22ef5 100644 --- a/tests/baselines/reference/project/declarationsSimpleImport/node/useModule.d.ts +++ b/tests/baselines/reference/project/declarationsSimpleImport/node/useModule.d.ts @@ -1,3 +1,4 @@ +import m4 = require("m4"); export declare var x4: m4.d; export declare var d4: typeof m4.d; export declare var f4: m4.d; diff --git a/tests/baselines/reference/project/declareExportAdded/amd/declareExportAdded.json b/tests/baselines/reference/project/declareExportAdded/amd/declareExportAdded.json index b8657c85b44..5f1f8e737bb 100644 --- a/tests/baselines/reference/project/declareExportAdded/amd/declareExportAdded.json +++ b/tests/baselines/reference/project/declareExportAdded/amd/declareExportAdded.json @@ -6,9 +6,9 @@ ], "baselineCheck": true, "resolvedInputFiles": [ - "consumer.ts", + "lib.d.ts", "ref.d.ts", - "lib.d.ts" + "consumer.ts" ], "emittedFiles": [ "consumer.js" diff --git a/tests/baselines/reference/project/declareExportAdded/node/declareExportAdded.json b/tests/baselines/reference/project/declareExportAdded/node/declareExportAdded.json index b8657c85b44..5f1f8e737bb 100644 --- a/tests/baselines/reference/project/declareExportAdded/node/declareExportAdded.json +++ b/tests/baselines/reference/project/declareExportAdded/node/declareExportAdded.json @@ -6,9 +6,9 @@ ], "baselineCheck": true, "resolvedInputFiles": [ - "consumer.ts", + "lib.d.ts", "ref.d.ts", - "lib.d.ts" + "consumer.ts" ], "emittedFiles": [ "consumer.js" diff --git a/tests/baselines/reference/project/declareVariableCollision/amd/declareVariableCollision.errors.txt b/tests/baselines/reference/project/declareVariableCollision/amd/declareVariableCollision.errors.txt index 9d595fad4a5..ec37b813a92 100644 --- a/tests/baselines/reference/project/declareVariableCollision/amd/declareVariableCollision.errors.txt +++ b/tests/baselines/reference/project/declareVariableCollision/amd/declareVariableCollision.errors.txt @@ -1 +1,22 @@ in2.d.ts(1,8): Duplicate identifier 'a'. + + +==== decl.d.ts (0 errors) ==== + // bug 535531: duplicate identifier error reported for "import" declarations in separate files + + declare module A + { + + class MyRoot { } + + export module B + { + class MyClass{ } + } + } +==== in1.d.ts (0 errors) ==== + import a = A; +==== in2.d.ts (1 errors) ==== + import a = A; + ~ +!!! Duplicate identifier 'a'. \ No newline at end of file diff --git a/tests/baselines/reference/project/declareVariableCollision/amd/declareVariableCollision.json b/tests/baselines/reference/project/declareVariableCollision/amd/declareVariableCollision.json index a32841c0b1c..f0360e53d7f 100644 --- a/tests/baselines/reference/project/declareVariableCollision/amd/declareVariableCollision.json +++ b/tests/baselines/reference/project/declareVariableCollision/amd/declareVariableCollision.json @@ -7,10 +7,10 @@ "in2.d.ts" ], "resolvedInputFiles": [ + "lib.d.ts", "decl.d.ts", "in1.d.ts", - "in2.d.ts", - "lib.d.ts" + "in2.d.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/declareVariableCollision/node/declareVariableCollision.errors.txt b/tests/baselines/reference/project/declareVariableCollision/node/declareVariableCollision.errors.txt index 9d595fad4a5..ec37b813a92 100644 --- a/tests/baselines/reference/project/declareVariableCollision/node/declareVariableCollision.errors.txt +++ b/tests/baselines/reference/project/declareVariableCollision/node/declareVariableCollision.errors.txt @@ -1 +1,22 @@ in2.d.ts(1,8): Duplicate identifier 'a'. + + +==== decl.d.ts (0 errors) ==== + // bug 535531: duplicate identifier error reported for "import" declarations in separate files + + declare module A + { + + class MyRoot { } + + export module B + { + class MyClass{ } + } + } +==== in1.d.ts (0 errors) ==== + import a = A; +==== in2.d.ts (1 errors) ==== + import a = A; + ~ +!!! Duplicate identifier 'a'. \ No newline at end of file diff --git a/tests/baselines/reference/project/declareVariableCollision/node/declareVariableCollision.json b/tests/baselines/reference/project/declareVariableCollision/node/declareVariableCollision.json index a32841c0b1c..f0360e53d7f 100644 --- a/tests/baselines/reference/project/declareVariableCollision/node/declareVariableCollision.json +++ b/tests/baselines/reference/project/declareVariableCollision/node/declareVariableCollision.json @@ -7,10 +7,10 @@ "in2.d.ts" ], "resolvedInputFiles": [ + "lib.d.ts", "decl.d.ts", "in1.d.ts", - "in2.d.ts", - "lib.d.ts" + "in2.d.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/extReferencingExtAndInt/amd/extReferencingExtAndInt.json b/tests/baselines/reference/project/extReferencingExtAndInt/amd/extReferencingExtAndInt.json index c3722f9581e..610adfd2934 100644 --- a/tests/baselines/reference/project/extReferencingExtAndInt/amd/extReferencingExtAndInt.json +++ b/tests/baselines/reference/project/extReferencingExtAndInt/amd/extReferencingExtAndInt.json @@ -5,10 +5,10 @@ "external.ts" ], "resolvedInputFiles": [ - "external.ts", + "lib.d.ts", "internal.ts", "external2.ts", - "lib.d.ts" + "external.ts" ], "emittedFiles": [ "internal.js", diff --git a/tests/baselines/reference/project/extReferencingExtAndInt/node/extReferencingExtAndInt.json b/tests/baselines/reference/project/extReferencingExtAndInt/node/extReferencingExtAndInt.json index c3722f9581e..610adfd2934 100644 --- a/tests/baselines/reference/project/extReferencingExtAndInt/node/extReferencingExtAndInt.json +++ b/tests/baselines/reference/project/extReferencingExtAndInt/node/extReferencingExtAndInt.json @@ -5,10 +5,10 @@ "external.ts" ], "resolvedInputFiles": [ - "external.ts", + "lib.d.ts", "internal.ts", "external2.ts", - "lib.d.ts" + "external.ts" ], "emittedFiles": [ "internal.js", diff --git a/tests/baselines/reference/project/intReferencingExtAndInt/amd/intReferencingExtAndInt.errors.txt b/tests/baselines/reference/project/intReferencingExtAndInt/amd/intReferencingExtAndInt.errors.txt index d0786cec0a5..09a97c1bdc2 100644 --- a/tests/baselines/reference/project/intReferencingExtAndInt/amd/intReferencingExtAndInt.errors.txt +++ b/tests/baselines/reference/project/intReferencingExtAndInt/amd/intReferencingExtAndInt.errors.txt @@ -1 +1,11 @@ internal2.ts(2,2): Import declarations in an internal module cannot reference an external module. + + +==== internal2.ts (1 errors) ==== + module outer { + import g = require("external2") + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export var a = g.square(5); + export var b = "foo"; + } \ No newline at end of file diff --git a/tests/baselines/reference/project/intReferencingExtAndInt/amd/intReferencingExtAndInt.json b/tests/baselines/reference/project/intReferencingExtAndInt/amd/intReferencingExtAndInt.json index 5eef712b09f..0f1a27234f6 100644 --- a/tests/baselines/reference/project/intReferencingExtAndInt/amd/intReferencingExtAndInt.json +++ b/tests/baselines/reference/project/intReferencingExtAndInt/amd/intReferencingExtAndInt.json @@ -5,8 +5,8 @@ "internal2.ts" ], "resolvedInputFiles": [ - "internal2.ts", - "lib.d.ts" + "lib.d.ts", + "internal2.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/intReferencingExtAndInt/node/intReferencingExtAndInt.errors.txt b/tests/baselines/reference/project/intReferencingExtAndInt/node/intReferencingExtAndInt.errors.txt index d0786cec0a5..09a97c1bdc2 100644 --- a/tests/baselines/reference/project/intReferencingExtAndInt/node/intReferencingExtAndInt.errors.txt +++ b/tests/baselines/reference/project/intReferencingExtAndInt/node/intReferencingExtAndInt.errors.txt @@ -1 +1,11 @@ internal2.ts(2,2): Import declarations in an internal module cannot reference an external module. + + +==== internal2.ts (1 errors) ==== + module outer { + import g = require("external2") + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export var a = g.square(5); + export var b = "foo"; + } \ No newline at end of file diff --git a/tests/baselines/reference/project/intReferencingExtAndInt/node/intReferencingExtAndInt.json b/tests/baselines/reference/project/intReferencingExtAndInt/node/intReferencingExtAndInt.json index 5eef712b09f..0f1a27234f6 100644 --- a/tests/baselines/reference/project/intReferencingExtAndInt/node/intReferencingExtAndInt.json +++ b/tests/baselines/reference/project/intReferencingExtAndInt/node/intReferencingExtAndInt.json @@ -5,8 +5,8 @@ "internal2.ts" ], "resolvedInputFiles": [ - "internal2.ts", - "lib.d.ts" + "lib.d.ts", + "internal2.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/mapRootAbsolutePathMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/mapRootAbsolutePathMixedSubfolderNoOutdir.json index 864fffa894a..fa9e0b566a9 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/mapRootAbsolutePathMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/mapRootAbsolutePathMixedSubfolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/mapRootAbsolutePathMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/mapRootAbsolutePathMixedSubfolderNoOutdir.json index 864fffa894a..fa9e0b566a9 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/mapRootAbsolutePathMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/mapRootAbsolutePathMixedSubfolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json index e0540132e7e..ebaec46d1e3 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json index e0540132e7e..ebaec46d1e3 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json index f0348aeee31..ee020b0ff80 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json index f0348aeee31..ee020b0ff80 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 06de8fc379f..ed7bcd289e7 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -12,10 +12,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 06de8fc379f..ed7bcd289e7 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -12,10 +12,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/mapRootAbsolutePathModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/mapRootAbsolutePathModuleMultifolderNoOutdir.json index 345abfeadf8..8f512dcc98c 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/mapRootAbsolutePathModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/mapRootAbsolutePathModuleMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/mapRootAbsolutePathModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/mapRootAbsolutePathModuleMultifolderNoOutdir.json index 345abfeadf8..8f512dcc98c 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/mapRootAbsolutePathModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/mapRootAbsolutePathModuleMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json index cba8c8d1b64..4f65daf7560 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json index cba8c8d1b64..4f65daf7560 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json index 4f15a75b8d9..6432d5ae91e 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json index 4f15a75b8d9..6432d5ae91e 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/mapRootAbsolutePathModuleSimpleNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/mapRootAbsolutePathModuleSimpleNoOutdir.json index b7beffd7609..31a0fb89c50 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/mapRootAbsolutePathModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/mapRootAbsolutePathModuleSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/mapRootAbsolutePathModuleSimpleNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/mapRootAbsolutePathModuleSimpleNoOutdir.json index b7beffd7609..31a0fb89c50 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/mapRootAbsolutePathModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/mapRootAbsolutePathModuleSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json index 6615ea576e3..355458526bc 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json index 6615ea576e3..355458526bc 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json index 07e886edeba..f703a63b71f 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json index 07e886edeba..f703a63b71f 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/mapRootAbsolutePathModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/mapRootAbsolutePathModuleSubfolderNoOutdir.json index aab45205df5..a6bc71dd664 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/mapRootAbsolutePathModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/mapRootAbsolutePathModuleSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/mapRootAbsolutePathModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/mapRootAbsolutePathModuleSubfolderNoOutdir.json index aab45205df5..a6bc71dd664 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/mapRootAbsolutePathModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/mapRootAbsolutePathModuleSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json index 08d543fdd33..e873c8fc472 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json index 08d543fdd33..e873c8fc472 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json index 85f503c6b94..d8f4cc74008 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json index 85f503c6b94..d8f4cc74008 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/mapRootAbsolutePathMultifolderNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/mapRootAbsolutePathMultifolderNoOutdir.json index 725572edc89..49018ee5973 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/mapRootAbsolutePathMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/mapRootAbsolutePathMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/mapRootAbsolutePathMultifolderNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/mapRootAbsolutePathMultifolderNoOutdir.json index 725572edc89..49018ee5973 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/mapRootAbsolutePathMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/mapRootAbsolutePathMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.json index fe0849476c9..097c9bbf209 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.json index fe0849476c9..097c9bbf209 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathMultifolderSpecifyOutputFile.json index d0d8958a721..bcf3a4400aa 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/node/mapRootAbsolutePathMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/node/mapRootAbsolutePathMultifolderSpecifyOutputFile.json index d0d8958a721..bcf3a4400aa 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/node/mapRootAbsolutePathMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/node/mapRootAbsolutePathMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/mapRootAbsolutePathSimpleNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/mapRootAbsolutePathSimpleNoOutdir.json index 30c240dd45e..d5914d92950 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/mapRootAbsolutePathSimpleNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/mapRootAbsolutePathSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/mapRootAbsolutePathSimpleNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/mapRootAbsolutePathSimpleNoOutdir.json index 30c240dd45e..d5914d92950 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/mapRootAbsolutePathSimpleNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/mapRootAbsolutePathSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathSimpleSpecifyOutputDirectory.json index 42ca7c875d2..2c5e1dae38a 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathSimpleSpecifyOutputDirectory.json index 42ca7c875d2..2c5e1dae38a 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/amd/mapRootAbsolutePathSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/amd/mapRootAbsolutePathSimpleSpecifyOutputFile.json index 03700f41451..8431a99c800 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/amd/mapRootAbsolutePathSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/amd/mapRootAbsolutePathSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/node/mapRootAbsolutePathSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/node/mapRootAbsolutePathSimpleSpecifyOutputFile.json index 03700f41451..8431a99c800 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/node/mapRootAbsolutePathSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/node/mapRootAbsolutePathSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/amd/mapRootAbsolutePathSingleFileNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/amd/mapRootAbsolutePathSingleFileNoOutdir.json index f2c2c11d40e..4a180368e20 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/amd/mapRootAbsolutePathSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/amd/mapRootAbsolutePathSingleFileNoOutdir.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/node/mapRootAbsolutePathSingleFileNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/node/mapRootAbsolutePathSingleFileNoOutdir.json index f2c2c11d40e..4a180368e20 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/node/mapRootAbsolutePathSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/node/mapRootAbsolutePathSingleFileNoOutdir.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.json index 4cbb9837b4e..a44a569a0a6 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/node/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/node/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.json index 4cbb9837b4e..a44a569a0a6 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/node/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/node/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/amd/mapRootAbsolutePathSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/amd/mapRootAbsolutePathSingleFileSpecifyOutputFile.json index 7adae3efc6d..7c0069605da 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/amd/mapRootAbsolutePathSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/amd/mapRootAbsolutePathSingleFileSpecifyOutputFile.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/node/mapRootAbsolutePathSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/node/mapRootAbsolutePathSingleFileSpecifyOutputFile.json index 7adae3efc6d..7c0069605da 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/node/mapRootAbsolutePathSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/node/mapRootAbsolutePathSingleFileSpecifyOutputFile.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/mapRootAbsolutePathSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/mapRootAbsolutePathSubfolderNoOutdir.json index 2a9e9211d1f..1b09decc58d 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/mapRootAbsolutePathSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/mapRootAbsolutePathSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/mapRootAbsolutePathSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/mapRootAbsolutePathSubfolderNoOutdir.json index 2a9e9211d1f..1b09decc58d 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/mapRootAbsolutePathSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/mapRootAbsolutePathSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.json index 0b7bb40e246..a02eb484aa2 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.json index 0b7bb40e246..a02eb484aa2 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathSubfolderSpecifyOutputFile.json index bc2925bf6f5..ec516baecfe 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/node/mapRootAbsolutePathSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/node/mapRootAbsolutePathSubfolderSpecifyOutputFile.json index bc2925bf6f5..ec516baecfe 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/node/mapRootAbsolutePathSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/node/mapRootAbsolutePathSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/mapRootRelativePathMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/mapRootRelativePathMixedSubfolderNoOutdir.json index 6e76d83b7f2..5352fd8a988 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/mapRootRelativePathMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/mapRootRelativePathMixedSubfolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/mapRootRelativePathMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/mapRootRelativePathMixedSubfolderNoOutdir.json index 6e76d83b7f2..5352fd8a988 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/mapRootRelativePathMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/mapRootRelativePathMixedSubfolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.json index 495a74523ef..0a0d68e300a 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.json index 495a74523ef..0a0d68e300a 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFile.json index bb6df8c1692..8e87f61b8df 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/mapRootRelativePathMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/mapRootRelativePathMixedSubfolderSpecifyOutputFile.json index bb6df8c1692..8e87f61b8df 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/mapRootRelativePathMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/mapRootRelativePathMixedSubfolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 9411b60b0e8..4ed441e2552 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 9411b60b0e8..4ed441e2552 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/mapRootRelativePathModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/mapRootRelativePathModuleMultifolderNoOutdir.json index fa1ee9b3187..8ec143b2dce 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/mapRootRelativePathModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/mapRootRelativePathModuleMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/mapRootRelativePathModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/mapRootRelativePathModuleMultifolderNoOutdir.json index fa1ee9b3187..8ec143b2dce 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/mapRootRelativePathModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/mapRootRelativePathModuleMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.json index d2779418490..96777b6f502 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.json index d2779418490..96777b6f502 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json index 3d3dfd46820..f3c86f22eb7 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json index 3d3dfd46820..f3c86f22eb7 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/mapRootRelativePathModuleSimpleNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/mapRootRelativePathModuleSimpleNoOutdir.json index 01dea65ccdd..a4e8c09b004 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/mapRootRelativePathModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/mapRootRelativePathModuleSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/mapRootRelativePathModuleSimpleNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/mapRootRelativePathModuleSimpleNoOutdir.json index 01dea65ccdd..a4e8c09b004 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/mapRootRelativePathModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/mapRootRelativePathModuleSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.json index 4d4614ead25..f4a8884b58e 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.json index 4d4614ead25..f4a8884b58e 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/mapRootRelativePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/mapRootRelativePathModuleSimpleSpecifyOutputFile.json index 4a86f6aed52..fe0b8045a5c 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/mapRootRelativePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/mapRootRelativePathModuleSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.json index 4a86f6aed52..fe0b8045a5c 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/mapRootRelativePathModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/mapRootRelativePathModuleSubfolderNoOutdir.json index cbcb519f6e0..a2779060068 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/mapRootRelativePathModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/mapRootRelativePathModuleSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/mapRootRelativePathModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/mapRootRelativePathModuleSubfolderNoOutdir.json index cbcb519f6e0..a2779060068 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/mapRootRelativePathModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/mapRootRelativePathModuleSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.json index 2ee495e24c4..120bb5afbb6 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.json index 2ee495e24c4..120bb5afbb6 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json index 77aacc6e0cf..a87c7d36d8e 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json index 77aacc6e0cf..a87c7d36d8e 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/mapRootRelativePathMultifolderNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/mapRootRelativePathMultifolderNoOutdir.json index 86d530522ec..718cfdabf0f 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/mapRootRelativePathMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/mapRootRelativePathMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/mapRootRelativePathMultifolderNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/mapRootRelativePathMultifolderNoOutdir.json index 86d530522ec..718cfdabf0f 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/mapRootRelativePathMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/mapRootRelativePathMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathMultifolderSpecifyOutputDirectory.json index efc5d6f6df2..f51e53f02f6 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/mapRootRelativePathMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/mapRootRelativePathMultifolderSpecifyOutputDirectory.json index efc5d6f6df2..f51e53f02f6 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/mapRootRelativePathMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/mapRootRelativePathMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/amd/mapRootRelativePathMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/amd/mapRootRelativePathMultifolderSpecifyOutputFile.json index 69615f0648a..0d3f3ad02d5 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/amd/mapRootRelativePathMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/amd/mapRootRelativePathMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/node/mapRootRelativePathMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/node/mapRootRelativePathMultifolderSpecifyOutputFile.json index 69615f0648a..0d3f3ad02d5 100644 --- a/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/node/mapRootRelativePathMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/node/mapRootRelativePathMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/mapRootRelativePathSimpleNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/mapRootRelativePathSimpleNoOutdir.json index d1bd1e71752..d4d500a397e 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/mapRootRelativePathSimpleNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/mapRootRelativePathSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/mapRootRelativePathSimpleNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/mapRootRelativePathSimpleNoOutdir.json index d1bd1e71752..d4d500a397e 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/mapRootRelativePathSimpleNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/mapRootRelativePathSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/mapRootRelativePathSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/mapRootRelativePathSimpleSpecifyOutputDirectory.json index 797faccce7f..12801537d2b 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/mapRootRelativePathSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/mapRootRelativePathSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/mapRootRelativePathSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/mapRootRelativePathSimpleSpecifyOutputDirectory.json index 797faccce7f..12801537d2b 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/mapRootRelativePathSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/mapRootRelativePathSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/amd/mapRootRelativePathSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/amd/mapRootRelativePathSimpleSpecifyOutputFile.json index 065d4a4c017..d6bbe96a7e0 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/amd/mapRootRelativePathSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/amd/mapRootRelativePathSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/node/mapRootRelativePathSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/node/mapRootRelativePathSimpleSpecifyOutputFile.json index 065d4a4c017..d6bbe96a7e0 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/node/mapRootRelativePathSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/node/mapRootRelativePathSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/amd/mapRootRelativePathSingleFileNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/amd/mapRootRelativePathSingleFileNoOutdir.json index b625cc5d15b..bb7ccbf453b 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/amd/mapRootRelativePathSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/amd/mapRootRelativePathSingleFileNoOutdir.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/node/mapRootRelativePathSingleFileNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/node/mapRootRelativePathSingleFileNoOutdir.json index b625cc5d15b..bb7ccbf453b 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/node/mapRootRelativePathSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/node/mapRootRelativePathSingleFileNoOutdir.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/amd/mapRootRelativePathSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/amd/mapRootRelativePathSingleFileSpecifyOutputDirectory.json index a5177812b6c..f654dbc3fac 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/amd/mapRootRelativePathSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/amd/mapRootRelativePathSingleFileSpecifyOutputDirectory.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/node/mapRootRelativePathSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/node/mapRootRelativePathSingleFileSpecifyOutputDirectory.json index a5177812b6c..f654dbc3fac 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/node/mapRootRelativePathSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/node/mapRootRelativePathSingleFileSpecifyOutputDirectory.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/amd/mapRootRelativePathSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/amd/mapRootRelativePathSingleFileSpecifyOutputFile.json index ce0125908e9..fc285030e8f 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/amd/mapRootRelativePathSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/amd/mapRootRelativePathSingleFileSpecifyOutputFile.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/node/mapRootRelativePathSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/node/mapRootRelativePathSingleFileSpecifyOutputFile.json index ce0125908e9..fc285030e8f 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/node/mapRootRelativePathSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/node/mapRootRelativePathSingleFileSpecifyOutputFile.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/mapRootRelativePathSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/mapRootRelativePathSubfolderNoOutdir.json index 32209f1565b..b5b1dfba62e 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/mapRootRelativePathSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/mapRootRelativePathSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/mapRootRelativePathSubfolderNoOutdir.json b/tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/mapRootRelativePathSubfolderNoOutdir.json index 32209f1565b..b5b1dfba62e 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/mapRootRelativePathSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/mapRootRelativePathSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathSubfolderSpecifyOutputDirectory.json index 44c4ec3f004..a06e2f34d5a 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/mapRootRelativePathSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/mapRootRelativePathSubfolderSpecifyOutputDirectory.json index 44c4ec3f004..a06e2f34d5a 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/mapRootRelativePathSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/mapRootRelativePathSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/amd/mapRootRelativePathSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/amd/mapRootRelativePathSubfolderSpecifyOutputFile.json index 44b644014a6..77243118702 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/amd/mapRootRelativePathSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/amd/mapRootRelativePathSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/node/mapRootRelativePathSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/node/mapRootRelativePathSubfolderSpecifyOutputFile.json index 44b644014a6..77243118702 100644 --- a/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/node/mapRootRelativePathSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/node/mapRootRelativePathSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/amd/mapRootSourceRootWithNoSourceMapOption.errors.txt b/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/amd/mapRootSourceRootWithNoSourceMapOption.errors.txt index e6f53596e2e..56186a7c597 100644 --- a/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/amd/mapRootSourceRootWithNoSourceMapOption.errors.txt +++ b/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/amd/mapRootSourceRootWithNoSourceMapOption.errors.txt @@ -1,2 +1,27 @@ Option mapRoot cannot be specified without specifying sourcemap option. Option sourceRoot cannot be specified without specifying sourcemap option. + + +!!! Option mapRoot cannot be specified without specifying sourcemap option. +!!! Option sourceRoot cannot be specified without specifying sourcemap option. +==== m1.ts (0 errors) ==== + var m1_a1 = 10; + class m1_c1 { + public m1_c1_p1: number; + } + + var m1_instance1 = new m1_c1(); + function m1_f1() { + return m1_instance1; + } +==== test.ts (0 errors) ==== + /// + var a1 = 10; + class c1 { + public p1: number; + } + + var instance1 = new c1(); + function f1() { + return instance1; + } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/amd/mapRootSourceRootWithNoSourceMapOption.json b/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/amd/mapRootSourceRootWithNoSourceMapOption.json index 7d54f007b94..9aefd24fb37 100644 --- a/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/amd/mapRootSourceRootWithNoSourceMapOption.json +++ b/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/amd/mapRootSourceRootWithNoSourceMapOption.json @@ -7,9 +7,9 @@ "mapRoot": "../mapFiles", "sourceRoot": "../src", "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/node/mapRootSourceRootWithNoSourceMapOption.errors.txt b/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/node/mapRootSourceRootWithNoSourceMapOption.errors.txt index e6f53596e2e..56186a7c597 100644 --- a/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/node/mapRootSourceRootWithNoSourceMapOption.errors.txt +++ b/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/node/mapRootSourceRootWithNoSourceMapOption.errors.txt @@ -1,2 +1,27 @@ Option mapRoot cannot be specified without specifying sourcemap option. Option sourceRoot cannot be specified without specifying sourcemap option. + + +!!! Option mapRoot cannot be specified without specifying sourcemap option. +!!! Option sourceRoot cannot be specified without specifying sourcemap option. +==== m1.ts (0 errors) ==== + var m1_a1 = 10; + class m1_c1 { + public m1_c1_p1: number; + } + + var m1_instance1 = new m1_c1(); + function m1_f1() { + return m1_instance1; + } +==== test.ts (0 errors) ==== + /// + var a1 = 10; + class c1 { + public p1: number; + } + + var instance1 = new c1(); + function f1() { + return instance1; + } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/node/mapRootSourceRootWithNoSourceMapOption.json b/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/node/mapRootSourceRootWithNoSourceMapOption.json index 7d54f007b94..9aefd24fb37 100644 --- a/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/node/mapRootSourceRootWithNoSourceMapOption.json +++ b/tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/node/mapRootSourceRootWithNoSourceMapOption.json @@ -7,9 +7,9 @@ "mapRoot": "../mapFiles", "sourceRoot": "../src", "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootWithNoSourceMapOption/amd/mapRootWithNoSourceMapOption.errors.txt b/tests/baselines/reference/project/mapRootWithNoSourceMapOption/amd/mapRootWithNoSourceMapOption.errors.txt index 842372fce5d..6b7bce4c280 100644 --- a/tests/baselines/reference/project/mapRootWithNoSourceMapOption/amd/mapRootWithNoSourceMapOption.errors.txt +++ b/tests/baselines/reference/project/mapRootWithNoSourceMapOption/amd/mapRootWithNoSourceMapOption.errors.txt @@ -1 +1,25 @@ Option mapRoot cannot be specified without specifying sourcemap option. + + +!!! Option mapRoot cannot be specified without specifying sourcemap option. +==== m1.ts (0 errors) ==== + var m1_a1 = 10; + class m1_c1 { + public m1_c1_p1: number; + } + + var m1_instance1 = new m1_c1(); + function m1_f1() { + return m1_instance1; + } +==== test.ts (0 errors) ==== + /// + var a1 = 10; + class c1 { + public p1: number; + } + + var instance1 = new c1(); + function f1() { + return instance1; + } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootWithNoSourceMapOption/amd/mapRootWithNoSourceMapOption.json b/tests/baselines/reference/project/mapRootWithNoSourceMapOption/amd/mapRootWithNoSourceMapOption.json index 1f92658ffb5..f9d00318f8c 100644 --- a/tests/baselines/reference/project/mapRootWithNoSourceMapOption/amd/mapRootWithNoSourceMapOption.json +++ b/tests/baselines/reference/project/mapRootWithNoSourceMapOption/amd/mapRootWithNoSourceMapOption.json @@ -6,9 +6,9 @@ ], "mapRoot": "../mapFiles", "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootWithNoSourceMapOption/node/mapRootWithNoSourceMapOption.errors.txt b/tests/baselines/reference/project/mapRootWithNoSourceMapOption/node/mapRootWithNoSourceMapOption.errors.txt index 842372fce5d..6b7bce4c280 100644 --- a/tests/baselines/reference/project/mapRootWithNoSourceMapOption/node/mapRootWithNoSourceMapOption.errors.txt +++ b/tests/baselines/reference/project/mapRootWithNoSourceMapOption/node/mapRootWithNoSourceMapOption.errors.txt @@ -1 +1,25 @@ Option mapRoot cannot be specified without specifying sourcemap option. + + +!!! Option mapRoot cannot be specified without specifying sourcemap option. +==== m1.ts (0 errors) ==== + var m1_a1 = 10; + class m1_c1 { + public m1_c1_p1: number; + } + + var m1_instance1 = new m1_c1(); + function m1_f1() { + return m1_instance1; + } +==== test.ts (0 errors) ==== + /// + var a1 = 10; + class c1 { + public p1: number; + } + + var instance1 = new c1(); + function f1() { + return instance1; + } \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootWithNoSourceMapOption/node/mapRootWithNoSourceMapOption.json b/tests/baselines/reference/project/mapRootWithNoSourceMapOption/node/mapRootWithNoSourceMapOption.json index 1f92658ffb5..f9d00318f8c 100644 --- a/tests/baselines/reference/project/mapRootWithNoSourceMapOption/node/mapRootWithNoSourceMapOption.json +++ b/tests/baselines/reference/project/mapRootWithNoSourceMapOption/node/mapRootWithNoSourceMapOption.json @@ -6,9 +6,9 @@ ], "mapRoot": "../mapFiles", "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/maprootUrlMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/maprootUrlMixedSubfolderNoOutdir.json index 1ab3e27d443..c6612841210 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/maprootUrlMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/maprootUrlMixedSubfolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/maprootUrlMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/maprootUrlMixedSubfolderNoOutdir.json index 1ab3e27d443..c6612841210 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/maprootUrlMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/maprootUrlMixedSubfolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputDirectory.json index 9edcfc2c208..b225c4e408f 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputDirectory.json index 9edcfc2c208..b225c4e408f 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlMixedSubfolderSpecifyOutputFile.json index 18ba8246750..f987aa49ffe 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlMixedSubfolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlMixedSubfolderSpecifyOutputFile.json index 18ba8246750..f987aa49ffe 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlMixedSubfolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index cb6ad2ef380..2bb23cdc610 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index cb6ad2ef380..2bb23cdc610 100644 --- a/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/maprootUrlModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/maprootUrlModuleMultifolderNoOutdir.json index 016119a336e..6ecdc26ccd4 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/maprootUrlModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/maprootUrlModuleMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/maprootUrlModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/maprootUrlModuleMultifolderNoOutdir.json index 016119a336e..6ecdc26ccd4 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/maprootUrlModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/maprootUrlModuleMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlModuleMultifolderSpecifyOutputDirectory.json index 41127aa8f69..9884550745c 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlModuleMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlModuleMultifolderSpecifyOutputDirectory.json index 41127aa8f69..9884550745c 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlModuleMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.json index 89d5a87ce13..e061982b32f 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.json index 89d5a87ce13..e061982b32f 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/maprootUrlModuleSimpleNoOutdir.json b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/maprootUrlModuleSimpleNoOutdir.json index 7521dcd510c..f9f02dcf789 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/maprootUrlModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/maprootUrlModuleSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/maprootUrlModuleSimpleNoOutdir.json b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/maprootUrlModuleSimpleNoOutdir.json index 7521dcd510c..f9f02dcf789 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/maprootUrlModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/maprootUrlModuleSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlModuleSimpleSpecifyOutputDirectory.json index 13a30a3b681..db2995acf69 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlModuleSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlModuleSimpleSpecifyOutputDirectory.json index 13a30a3b681..db2995acf69 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlModuleSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlModuleSimpleSpecifyOutputFile.json index 03769a184ff..e636ce61f7e 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlModuleSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.json index 03769a184ff..e636ce61f7e 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/maprootUrlModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/maprootUrlModuleSubfolderNoOutdir.json index 8df66978336..2c7699ff0fa 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/maprootUrlModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/maprootUrlModuleSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/maprootUrlModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/maprootUrlModuleSubfolderNoOutdir.json index 8df66978336..2c7699ff0fa 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/maprootUrlModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/maprootUrlModuleSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlModuleSubfolderSpecifyOutputDirectory.json index dc6fdfdfc03..a61a50a760d 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlModuleSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlModuleSubfolderSpecifyOutputDirectory.json index dc6fdfdfc03..a61a50a760d 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlModuleSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlModuleSubfolderSpecifyOutputFile.json index 763adf95468..05da8c15292 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlModuleSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.json index 763adf95468..05da8c15292 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/maprootUrlMultifolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/maprootUrlMultifolderNoOutdir.json index c4dca1e7405..5ea7aa80665 100644 --- a/tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/maprootUrlMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/maprootUrlMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/maprootUrlMultifolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/maprootUrlMultifolderNoOutdir.json index c4dca1e7405..5ea7aa80665 100644 --- a/tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/maprootUrlMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/maprootUrlMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlMultifolderSpecifyOutputDirectory.json index 2c2405592d5..0d16b53af66 100644 --- a/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlMultifolderSpecifyOutputDirectory.json index 2c2405592d5..0d16b53af66 100644 --- a/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/amd/maprootUrlMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/amd/maprootUrlMultifolderSpecifyOutputFile.json index d3a8f66663c..8fb63eb43b0 100644 --- a/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/amd/maprootUrlMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/amd/maprootUrlMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/node/maprootUrlMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/node/maprootUrlMultifolderSpecifyOutputFile.json index d3a8f66663c..8fb63eb43b0 100644 --- a/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/node/maprootUrlMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/node/maprootUrlMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/maprootUrlSimpleNoOutdir.json b/tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/maprootUrlSimpleNoOutdir.json index 90c096ac3a6..6f141f81511 100644 --- a/tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/maprootUrlSimpleNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/maprootUrlSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/maprootUrlSimpleNoOutdir.json b/tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/maprootUrlSimpleNoOutdir.json index 90c096ac3a6..6f141f81511 100644 --- a/tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/maprootUrlSimpleNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/maprootUrlSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlSimpleSpecifyOutputDirectory.json index fc9cc534316..1f73a2a33d6 100644 --- a/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/maprootUrlSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/maprootUrlSimpleSpecifyOutputDirectory.json index fc9cc534316..1f73a2a33d6 100644 --- a/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/maprootUrlSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/maprootUrlSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/amd/maprootUrlSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/amd/maprootUrlSimpleSpecifyOutputFile.json index 918c5434e23..dcd18f3e946 100644 --- a/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/amd/maprootUrlSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/amd/maprootUrlSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/node/maprootUrlSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/node/maprootUrlSimpleSpecifyOutputFile.json index 918c5434e23..dcd18f3e946 100644 --- a/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/node/maprootUrlSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/node/maprootUrlSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/amd/maprootUrlSingleFileNoOutdir.json b/tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/amd/maprootUrlSingleFileNoOutdir.json index 6425dee144e..689739aedce 100644 --- a/tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/amd/maprootUrlSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/amd/maprootUrlSingleFileNoOutdir.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/node/maprootUrlSingleFileNoOutdir.json b/tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/node/maprootUrlSingleFileNoOutdir.json index 6425dee144e..689739aedce 100644 --- a/tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/node/maprootUrlSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/node/maprootUrlSingleFileNoOutdir.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlSingleFileSpecifyOutputDirectory.json index 71b35945283..bbd1c10f320 100644 --- a/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlSingleFileSpecifyOutputDirectory.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlSingleFileSpecifyOutputDirectory.json index 71b35945283..bbd1c10f320 100644 --- a/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlSingleFileSpecifyOutputDirectory.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/amd/maprootUrlSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/amd/maprootUrlSingleFileSpecifyOutputFile.json index 5326a8fad1a..634d80d7ff0 100644 --- a/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/amd/maprootUrlSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/amd/maprootUrlSingleFileSpecifyOutputFile.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/node/maprootUrlSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/node/maprootUrlSingleFileSpecifyOutputFile.json index 5326a8fad1a..634d80d7ff0 100644 --- a/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/node/maprootUrlSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/node/maprootUrlSingleFileSpecifyOutputFile.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/maprootUrlSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/maprootUrlSubfolderNoOutdir.json index 0e04095152b..edd08fbfe10 100644 --- a/tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/maprootUrlSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/maprootUrlSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/maprootUrlSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/maprootUrlSubfolderNoOutdir.json index 0e04095152b..edd08fbfe10 100644 --- a/tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/maprootUrlSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/maprootUrlSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlSubfolderSpecifyOutputDirectory.json index 2f03d61fa83..0b2ea473029 100644 --- a/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlSubfolderSpecifyOutputDirectory.json index 2f03d61fa83..0b2ea473029 100644 --- a/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/amd/maprootUrlSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/amd/maprootUrlSubfolderSpecifyOutputFile.json index 3d2bd9aa1b9..d4965ed4e74 100644 --- a/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/amd/maprootUrlSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/amd/maprootUrlSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/node/maprootUrlSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/node/maprootUrlSubfolderSpecifyOutputFile.json index 3d2bd9aa1b9..d4965ed4e74 100644 --- a/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/node/maprootUrlSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/node/maprootUrlSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.json index c5e3dd755e0..2f2a4280abf 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.json index c5e3dd755e0..2f2a4280abf 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.json index 3ad99b40aaf..006720b1cc3 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.json index 3ad99b40aaf..006720b1cc3 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.json index d7dcede10a0..c36f3ade5e0 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.json index d7dcede10a0..c36f3ade5e0 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 7e301b423dd..4741b9cf9e1 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -12,10 +12,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 7e301b423dd..4741b9cf9e1 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -12,10 +12,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.json index 41d79f88b60..ec6313ac50c 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.json index 41d79f88b60..ec6313ac50c 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.json index 42cc264023d..9a0d0258ca4 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.json index 42cc264023d..9a0d0258ca4 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json index 893995c55db..3ecf4bc4cc4 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json index 893995c55db..3ecf4bc4cc4 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/maprootUrlsourcerootUrlModuleSimpleNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/maprootUrlsourcerootUrlModuleSimpleNoOutdir.json index 5fad929ea27..d901eb0a790 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/maprootUrlsourcerootUrlModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/maprootUrlsourcerootUrlModuleSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/maprootUrlsourcerootUrlModuleSimpleNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/maprootUrlsourcerootUrlModuleSimpleNoOutdir.json index 5fad929ea27..d901eb0a790 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/maprootUrlsourcerootUrlModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/maprootUrlsourcerootUrlModuleSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.json index 4847f63c181..278bc2c86e5 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.json index 4847f63c181..278bc2c86e5 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json index 73905b3b715..2cfc9aebda2 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json index 73905b3b715..2cfc9aebda2 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.json index b504cf1df62..fc4e8b7c9db 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.json index b504cf1df62..fc4e8b7c9db 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.json index 177d546a171..a20ecf2d6c9 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.json index 177d546a171..a20ecf2d6c9 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json index f4086fd4cd1..cfa0ec5cb81 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json index f4086fd4cd1..cfa0ec5cb81 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/maprootUrlsourcerootUrlMultifolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/maprootUrlsourcerootUrlMultifolderNoOutdir.json index 5ce2eb8da34..ddfa8259401 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/maprootUrlsourcerootUrlMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/maprootUrlsourcerootUrlMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/maprootUrlsourcerootUrlMultifolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/maprootUrlsourcerootUrlMultifolderNoOutdir.json index 5ce2eb8da34..ddfa8259401 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/maprootUrlsourcerootUrlMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/maprootUrlsourcerootUrlMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.json index 76157de568b..6e6c3e73c03 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.json index 76157de568b..6e6c3e73c03 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.json index 5f507666f42..f6aa3055f76 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.json index 5f507666f42..f6aa3055f76 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/maprootUrlsourcerootUrlSimpleNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/maprootUrlsourcerootUrlSimpleNoOutdir.json index ef4cb8b6c8a..c85db0226a2 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/maprootUrlsourcerootUrlSimpleNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/maprootUrlsourcerootUrlSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/maprootUrlsourcerootUrlSimpleNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/maprootUrlsourcerootUrlSimpleNoOutdir.json index ef4cb8b6c8a..c85db0226a2 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/maprootUrlsourcerootUrlSimpleNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/maprootUrlsourcerootUrlSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.json index 939021ac4a9..ceda4546fce 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.json index 939021ac4a9..ceda4546fce 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.json index 860db910518..2bdff3a64be 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.json index 860db910518..2bdff3a64be 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/amd/maprootUrlsourcerootUrlSingleFileNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/amd/maprootUrlsourcerootUrlSingleFileNoOutdir.json index 7d817b3714d..2c66c2dc3a3 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/amd/maprootUrlsourcerootUrlSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/amd/maprootUrlsourcerootUrlSingleFileNoOutdir.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/node/maprootUrlsourcerootUrlSingleFileNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/node/maprootUrlsourcerootUrlSingleFileNoOutdir.json index 7d817b3714d..2c66c2dc3a3 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/node/maprootUrlsourcerootUrlSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/node/maprootUrlsourcerootUrlSingleFileNoOutdir.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.json index 9cbaf6d7b18..4d7e0f659ef 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.json index 9cbaf6d7b18..4d7e0f659ef 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.json index 38afdad70d4..f68a658cc8b 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.json index 38afdad70d4..f68a658cc8b 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/maprootUrlsourcerootUrlSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/maprootUrlsourcerootUrlSubfolderNoOutdir.json index 3fc979b31bd..5f6d0ccd74b 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/maprootUrlsourcerootUrlSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/maprootUrlsourcerootUrlSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/maprootUrlsourcerootUrlSubfolderNoOutdir.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/maprootUrlsourcerootUrlSubfolderNoOutdir.json index 3fc979b31bd..5f6d0ccd74b 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/maprootUrlsourcerootUrlSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/maprootUrlsourcerootUrlSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.json index ff04d621a85..9dca1ba6d4b 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.json index ff04d621a85..9dca1ba6d4b 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.json index 5b32b0114ef..d3d7588f1ca 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.json index 5b32b0114ef..d3d7588f1ca 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/moduleIdentifier/amd/moduleIdentifier.json b/tests/baselines/reference/project/moduleIdentifier/amd/moduleIdentifier.json index faad46b4cc6..d936636ac89 100644 --- a/tests/baselines/reference/project/moduleIdentifier/amd/moduleIdentifier.json +++ b/tests/baselines/reference/project/moduleIdentifier/amd/moduleIdentifier.json @@ -6,9 +6,9 @@ ], "runTest": true, "resolvedInputFiles": [ - "consume.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "consume.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/moduleIdentifier/node/moduleIdentifier.json b/tests/baselines/reference/project/moduleIdentifier/node/moduleIdentifier.json index faad46b4cc6..d936636ac89 100644 --- a/tests/baselines/reference/project/moduleIdentifier/node/moduleIdentifier.json +++ b/tests/baselines/reference/project/moduleIdentifier/node/moduleIdentifier.json @@ -6,9 +6,9 @@ ], "runTest": true, "resolvedInputFiles": [ - "consume.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "consume.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/moduleMergingOrdering1/amd/moduleMergingOrdering1.json b/tests/baselines/reference/project/moduleMergingOrdering1/amd/moduleMergingOrdering1.json index 3a9b5abf8b0..b0d5abf6c61 100644 --- a/tests/baselines/reference/project/moduleMergingOrdering1/amd/moduleMergingOrdering1.json +++ b/tests/baselines/reference/project/moduleMergingOrdering1/amd/moduleMergingOrdering1.json @@ -6,9 +6,9 @@ "b.ts" ], "resolvedInputFiles": [ + "lib.d.ts", "a.ts", - "b.ts", - "lib.d.ts" + "b.ts" ], "emittedFiles": [ "a.js", diff --git a/tests/baselines/reference/project/moduleMergingOrdering1/node/moduleMergingOrdering1.json b/tests/baselines/reference/project/moduleMergingOrdering1/node/moduleMergingOrdering1.json index 3a9b5abf8b0..b0d5abf6c61 100644 --- a/tests/baselines/reference/project/moduleMergingOrdering1/node/moduleMergingOrdering1.json +++ b/tests/baselines/reference/project/moduleMergingOrdering1/node/moduleMergingOrdering1.json @@ -6,9 +6,9 @@ "b.ts" ], "resolvedInputFiles": [ + "lib.d.ts", "a.ts", - "b.ts", - "lib.d.ts" + "b.ts" ], "emittedFiles": [ "a.js", diff --git a/tests/baselines/reference/project/moduleMergingOrdering2/amd/moduleMergingOrdering2.json b/tests/baselines/reference/project/moduleMergingOrdering2/amd/moduleMergingOrdering2.json index 3b537273106..bde7418c37b 100644 --- a/tests/baselines/reference/project/moduleMergingOrdering2/amd/moduleMergingOrdering2.json +++ b/tests/baselines/reference/project/moduleMergingOrdering2/amd/moduleMergingOrdering2.json @@ -6,9 +6,9 @@ "a.ts" ], "resolvedInputFiles": [ + "lib.d.ts", "b.ts", - "a.ts", - "lib.d.ts" + "a.ts" ], "emittedFiles": [ "b.js", diff --git a/tests/baselines/reference/project/moduleMergingOrdering2/node/moduleMergingOrdering2.json b/tests/baselines/reference/project/moduleMergingOrdering2/node/moduleMergingOrdering2.json index 3b537273106..bde7418c37b 100644 --- a/tests/baselines/reference/project/moduleMergingOrdering2/node/moduleMergingOrdering2.json +++ b/tests/baselines/reference/project/moduleMergingOrdering2/node/moduleMergingOrdering2.json @@ -6,9 +6,9 @@ "a.ts" ], "resolvedInputFiles": [ + "lib.d.ts", "b.ts", - "a.ts", - "lib.d.ts" + "a.ts" ], "emittedFiles": [ "b.js", diff --git a/tests/baselines/reference/project/multipleLevelsModuleResolution/amd/multipleLevelsModuleResolution.json b/tests/baselines/reference/project/multipleLevelsModuleResolution/amd/multipleLevelsModuleResolution.json index 5d311932ecd..7d575172af3 100644 --- a/tests/baselines/reference/project/multipleLevelsModuleResolution/amd/multipleLevelsModuleResolution.json +++ b/tests/baselines/reference/project/multipleLevelsModuleResolution/amd/multipleLevelsModuleResolution.json @@ -5,11 +5,11 @@ "root.ts" ], "resolvedInputFiles": [ - "root.ts", - "B/B.ts", + "lib.d.ts", "A/A.ts", "A/AA/AA.ts", - "lib.d.ts" + "B/B.ts", + "root.ts" ], "emittedFiles": [ "A/A.js", diff --git a/tests/baselines/reference/project/multipleLevelsModuleResolution/node/multipleLevelsModuleResolution.json b/tests/baselines/reference/project/multipleLevelsModuleResolution/node/multipleLevelsModuleResolution.json index 5d311932ecd..7d575172af3 100644 --- a/tests/baselines/reference/project/multipleLevelsModuleResolution/node/multipleLevelsModuleResolution.json +++ b/tests/baselines/reference/project/multipleLevelsModuleResolution/node/multipleLevelsModuleResolution.json @@ -5,11 +5,11 @@ "root.ts" ], "resolvedInputFiles": [ - "root.ts", - "B/B.ts", + "lib.d.ts", "A/A.ts", "A/AA/AA.ts", - "lib.d.ts" + "B/B.ts", + "root.ts" ], "emittedFiles": [ "A/A.js", diff --git a/tests/baselines/reference/project/nestedDeclare/amd/nestedDeclare.json b/tests/baselines/reference/project/nestedDeclare/amd/nestedDeclare.json index 8b49ec265f7..94acbbd4162 100644 --- a/tests/baselines/reference/project/nestedDeclare/amd/nestedDeclare.json +++ b/tests/baselines/reference/project/nestedDeclare/amd/nestedDeclare.json @@ -5,8 +5,8 @@ "consume.ts" ], "resolvedInputFiles": [ - "consume.ts", - "lib.d.ts" + "lib.d.ts", + "consume.ts" ], "emittedFiles": [ "consume.js" diff --git a/tests/baselines/reference/project/nestedDeclare/node/nestedDeclare.json b/tests/baselines/reference/project/nestedDeclare/node/nestedDeclare.json index 8b49ec265f7..94acbbd4162 100644 --- a/tests/baselines/reference/project/nestedDeclare/node/nestedDeclare.json +++ b/tests/baselines/reference/project/nestedDeclare/node/nestedDeclare.json @@ -5,8 +5,8 @@ "consume.ts" ], "resolvedInputFiles": [ - "consume.ts", - "lib.d.ts" + "lib.d.ts", + "consume.ts" ], "emittedFiles": [ "consume.js" diff --git a/tests/baselines/reference/project/nestedLocalModuleSimpleCase/amd/nestedLocalModuleSimpleCase.errors.txt b/tests/baselines/reference/project/nestedLocalModuleSimpleCase/amd/nestedLocalModuleSimpleCase.errors.txt index 41a6db7bf0f..64f8d9be095 100644 --- a/tests/baselines/reference/project/nestedLocalModuleSimpleCase/amd/nestedLocalModuleSimpleCase.errors.txt +++ b/tests/baselines/reference/project/nestedLocalModuleSimpleCase/amd/nestedLocalModuleSimpleCase.errors.txt @@ -1 +1,13 @@ test1.ts(2,2): Import declarations in an internal module cannot reference an external module. + + +==== test1.ts (1 errors) ==== + export module myModule { + import foo = require("test2"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + //console.log(foo.$); + } + + + \ No newline at end of file diff --git a/tests/baselines/reference/project/nestedLocalModuleSimpleCase/amd/nestedLocalModuleSimpleCase.json b/tests/baselines/reference/project/nestedLocalModuleSimpleCase/amd/nestedLocalModuleSimpleCase.json index aa4aaa0bec7..7dfcd59ac7b 100644 --- a/tests/baselines/reference/project/nestedLocalModuleSimpleCase/amd/nestedLocalModuleSimpleCase.json +++ b/tests/baselines/reference/project/nestedLocalModuleSimpleCase/amd/nestedLocalModuleSimpleCase.json @@ -5,8 +5,8 @@ "test1.ts" ], "resolvedInputFiles": [ - "test1.ts", - "lib.d.ts" + "lib.d.ts", + "test1.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/nestedLocalModuleSimpleCase/node/nestedLocalModuleSimpleCase.errors.txt b/tests/baselines/reference/project/nestedLocalModuleSimpleCase/node/nestedLocalModuleSimpleCase.errors.txt index 41a6db7bf0f..64f8d9be095 100644 --- a/tests/baselines/reference/project/nestedLocalModuleSimpleCase/node/nestedLocalModuleSimpleCase.errors.txt +++ b/tests/baselines/reference/project/nestedLocalModuleSimpleCase/node/nestedLocalModuleSimpleCase.errors.txt @@ -1 +1,13 @@ test1.ts(2,2): Import declarations in an internal module cannot reference an external module. + + +==== test1.ts (1 errors) ==== + export module myModule { + import foo = require("test2"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + //console.log(foo.$); + } + + + \ No newline at end of file diff --git a/tests/baselines/reference/project/nestedLocalModuleSimpleCase/node/nestedLocalModuleSimpleCase.json b/tests/baselines/reference/project/nestedLocalModuleSimpleCase/node/nestedLocalModuleSimpleCase.json index aa4aaa0bec7..7dfcd59ac7b 100644 --- a/tests/baselines/reference/project/nestedLocalModuleSimpleCase/node/nestedLocalModuleSimpleCase.json +++ b/tests/baselines/reference/project/nestedLocalModuleSimpleCase/node/nestedLocalModuleSimpleCase.json @@ -5,8 +5,8 @@ "test1.ts" ], "resolvedInputFiles": [ - "test1.ts", - "lib.d.ts" + "lib.d.ts", + "test1.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/amd/nestedLocalModuleWithRecursiveTypecheck.errors.txt b/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/amd/nestedLocalModuleWithRecursiveTypecheck.errors.txt index 872145ccbc3..c293fecff5c 100644 --- a/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/amd/nestedLocalModuleWithRecursiveTypecheck.errors.txt +++ b/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/amd/nestedLocalModuleWithRecursiveTypecheck.errors.txt @@ -1 +1,18 @@ test1.ts(3,2): Import declarations in an internal module cannot reference an external module. + + +==== test1.ts (1 errors) ==== + module myModule { + + import foo = require("test2"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + + //console.log(foo.$); + + var z = foo.Yo.y(); + + } + + export var x = 0; + \ No newline at end of file diff --git a/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/amd/nestedLocalModuleWithRecursiveTypecheck.json b/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/amd/nestedLocalModuleWithRecursiveTypecheck.json index c5cf2740c07..f871a22eae3 100644 --- a/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/amd/nestedLocalModuleWithRecursiveTypecheck.json +++ b/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/amd/nestedLocalModuleWithRecursiveTypecheck.json @@ -5,8 +5,8 @@ "test1.ts" ], "resolvedInputFiles": [ - "test1.ts", - "lib.d.ts" + "lib.d.ts", + "test1.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/node/nestedLocalModuleWithRecursiveTypecheck.errors.txt b/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/node/nestedLocalModuleWithRecursiveTypecheck.errors.txt index 872145ccbc3..c293fecff5c 100644 --- a/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/node/nestedLocalModuleWithRecursiveTypecheck.errors.txt +++ b/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/node/nestedLocalModuleWithRecursiveTypecheck.errors.txt @@ -1 +1,18 @@ test1.ts(3,2): Import declarations in an internal module cannot reference an external module. + + +==== test1.ts (1 errors) ==== + module myModule { + + import foo = require("test2"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + + //console.log(foo.$); + + var z = foo.Yo.y(); + + } + + export var x = 0; + \ No newline at end of file diff --git a/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/node/nestedLocalModuleWithRecursiveTypecheck.json b/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/node/nestedLocalModuleWithRecursiveTypecheck.json index c5cf2740c07..f871a22eae3 100644 --- a/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/node/nestedLocalModuleWithRecursiveTypecheck.json +++ b/tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/node/nestedLocalModuleWithRecursiveTypecheck.json @@ -5,8 +5,8 @@ "test1.ts" ], "resolvedInputFiles": [ - "test1.ts", - "lib.d.ts" + "lib.d.ts", + "test1.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/nestedReferenceTags/amd/nestedReferenceTags.json b/tests/baselines/reference/project/nestedReferenceTags/amd/nestedReferenceTags.json index 2f8b981ff4d..3d4216fe6a6 100644 --- a/tests/baselines/reference/project/nestedReferenceTags/amd/nestedReferenceTags.json +++ b/tests/baselines/reference/project/nestedReferenceTags/amd/nestedReferenceTags.json @@ -5,10 +5,10 @@ "main.ts" ], "resolvedInputFiles": [ - "main.ts", + "lib.d.ts", "lib/classA.ts", "lib/classB.ts", - "lib.d.ts" + "main.ts" ], "emittedFiles": [ "lib/classA.js", diff --git a/tests/baselines/reference/project/nestedReferenceTags/node/nestedReferenceTags.json b/tests/baselines/reference/project/nestedReferenceTags/node/nestedReferenceTags.json index 2f8b981ff4d..3d4216fe6a6 100644 --- a/tests/baselines/reference/project/nestedReferenceTags/node/nestedReferenceTags.json +++ b/tests/baselines/reference/project/nestedReferenceTags/node/nestedReferenceTags.json @@ -5,10 +5,10 @@ "main.ts" ], "resolvedInputFiles": [ - "main.ts", + "lib.d.ts", "lib/classA.ts", "lib/classB.ts", - "lib.d.ts" + "main.ts" ], "emittedFiles": [ "lib/classA.js", diff --git a/tests/baselines/reference/project/noDefaultLib/amd/noDefaultLib.errors.txt b/tests/baselines/reference/project/noDefaultLib/amd/noDefaultLib.errors.txt index 658a479621c..1bc7dd431f7 100644 --- a/tests/baselines/reference/project/noDefaultLib/amd/noDefaultLib.errors.txt +++ b/tests/baselines/reference/project/noDefaultLib/amd/noDefaultLib.errors.txt @@ -7,3 +7,21 @@ Cannot find global type 'Object'. Cannot find global type 'RegExp'. Cannot find global type 'String'. test.ts(3,8): Cannot find name 'Array'. + + +!!! Cannot find global type 'Array'. +!!! Cannot find global type 'Boolean'. +!!! Cannot find global type 'Function'. +!!! Cannot find global type 'IArguments'. +!!! Cannot find global type 'Number'. +!!! Cannot find global type 'Object'. +!!! Cannot find global type 'RegExp'. +!!! Cannot find global type 'String'. +==== test.ts (1 errors) ==== + /// + + var x: Array; + ~~~~~~~~~~~~~ +!!! Cannot find name 'Array'. + + \ No newline at end of file diff --git a/tests/baselines/reference/project/noDefaultLib/node/noDefaultLib.errors.txt b/tests/baselines/reference/project/noDefaultLib/node/noDefaultLib.errors.txt index 658a479621c..1bc7dd431f7 100644 --- a/tests/baselines/reference/project/noDefaultLib/node/noDefaultLib.errors.txt +++ b/tests/baselines/reference/project/noDefaultLib/node/noDefaultLib.errors.txt @@ -7,3 +7,21 @@ Cannot find global type 'Object'. Cannot find global type 'RegExp'. Cannot find global type 'String'. test.ts(3,8): Cannot find name 'Array'. + + +!!! Cannot find global type 'Array'. +!!! Cannot find global type 'Boolean'. +!!! Cannot find global type 'Function'. +!!! Cannot find global type 'IArguments'. +!!! Cannot find global type 'Number'. +!!! Cannot find global type 'Object'. +!!! Cannot find global type 'RegExp'. +!!! Cannot find global type 'String'. +==== test.ts (1 errors) ==== + /// + + var x: Array; + ~~~~~~~~~~~~~ +!!! Cannot find name 'Array'. + + \ No newline at end of file diff --git a/tests/baselines/reference/project/nonRelative/amd/nonRelative.json b/tests/baselines/reference/project/nonRelative/amd/nonRelative.json index aea90910be5..5d04a85daca 100644 --- a/tests/baselines/reference/project/nonRelative/amd/nonRelative.json +++ b/tests/baselines/reference/project/nonRelative/amd/nonRelative.json @@ -6,12 +6,12 @@ ], "baselineCheck": true, "resolvedInputFiles": [ - "consume.ts", + "lib.d.ts", "decl.ts", - "lib/foo/a.ts", "lib/foo/b.ts", + "lib/foo/a.ts", "lib/bar/a.ts", - "lib.d.ts" + "consume.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/nonRelative/node/nonRelative.json b/tests/baselines/reference/project/nonRelative/node/nonRelative.json index aea90910be5..5d04a85daca 100644 --- a/tests/baselines/reference/project/nonRelative/node/nonRelative.json +++ b/tests/baselines/reference/project/nonRelative/node/nonRelative.json @@ -6,12 +6,12 @@ ], "baselineCheck": true, "resolvedInputFiles": [ - "consume.ts", + "lib.d.ts", "decl.ts", - "lib/foo/a.ts", "lib/foo/b.ts", + "lib/foo/a.ts", "lib/bar/a.ts", - "lib.d.ts" + "consume.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/outMixedSubfolderNoOutdir/amd/outMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/outMixedSubfolderNoOutdir/amd/outMixedSubfolderNoOutdir.json index b817d2281d1..82eaf9fdb38 100644 --- a/tests/baselines/reference/project/outMixedSubfolderNoOutdir/amd/outMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/outMixedSubfolderNoOutdir/amd/outMixedSubfolderNoOutdir.json @@ -7,10 +7,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outMixedSubfolderNoOutdir/node/outMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/outMixedSubfolderNoOutdir/node/outMixedSubfolderNoOutdir.json index b817d2281d1..82eaf9fdb38 100644 --- a/tests/baselines/reference/project/outMixedSubfolderNoOutdir/node/outMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/outMixedSubfolderNoOutdir/node/outMixedSubfolderNoOutdir.json @@ -7,10 +7,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/amd/outMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/amd/outMixedSubfolderSpecifyOutputDirectory.json index bc58b333904..9fc077c55ca 100644 --- a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/amd/outMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/amd/outMixedSubfolderSpecifyOutputDirectory.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js", diff --git a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/node/outMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/node/outMixedSubfolderSpecifyOutputDirectory.json index bc58b333904..9fc077c55ca 100644 --- a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/node/outMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/node/outMixedSubfolderSpecifyOutputDirectory.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js", diff --git a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/amd/outMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/amd/outMixedSubfolderSpecifyOutputFile.json index fc1aebc2df1..975fcf59ca9 100644 --- a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/amd/outMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/amd/outMixedSubfolderSpecifyOutputFile.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js", diff --git a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/outMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/outMixedSubfolderSpecifyOutputFile.json index fc1aebc2df1..975fcf59ca9 100644 --- a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/outMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/outMixedSubfolderSpecifyOutputFile.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js", diff --git a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 704395bd09b..2b0a20e739a 100644 --- a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js", diff --git a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 704395bd09b..2b0a20e739a 100644 --- a/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js", diff --git a/tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/outModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/outModuleMultifolderNoOutdir.json index 372b84b2bf8..2cbfa1a6c6e 100644 --- a/tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/outModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/outModuleMultifolderNoOutdir.json @@ -7,10 +7,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/outModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/outModuleMultifolderNoOutdir.json index 372b84b2bf8..2cbfa1a6c6e 100644 --- a/tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/outModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/outModuleMultifolderNoOutdir.json @@ -7,10 +7,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outModuleMultifolderSpecifyOutputDirectory.json index 10dcd3db784..a65215b0814 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outModuleMultifolderSpecifyOutputDirectory.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outModuleMultifolderSpecifyOutputDirectory.json index 10dcd3db784..a65215b0814 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outModuleMultifolderSpecifyOutputDirectory.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/outModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/outModuleMultifolderSpecifyOutputFile.json index e536625c43c..66eced5cc01 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/outModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/outModuleMultifolderSpecifyOutputFile.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/outModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/outModuleMultifolderSpecifyOutputFile.json index e536625c43c..66eced5cc01 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/outModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/outModuleMultifolderSpecifyOutputFile.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/outModuleSimpleNoOutdir.json b/tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/outModuleSimpleNoOutdir.json index 44bdd308933..01945c9b970 100644 --- a/tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/outModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/outModuleSimpleNoOutdir.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js", diff --git a/tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSimpleNoOutdir/node/outModuleSimpleNoOutdir.json b/tests/baselines/reference/project/outModuleSimpleNoOutdir/node/outModuleSimpleNoOutdir.json index 44bdd308933..01945c9b970 100644 --- a/tests/baselines/reference/project/outModuleSimpleNoOutdir/node/outModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/outModuleSimpleNoOutdir/node/outModuleSimpleNoOutdir.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js", diff --git a/tests/baselines/reference/project/outModuleSimpleNoOutdir/node/test.d.ts b/tests/baselines/reference/project/outModuleSimpleNoOutdir/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/outModuleSimpleNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/outModuleSimpleNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outModuleSimpleSpecifyOutputDirectory.json index 8e5e21179ae..d285d2f0952 100644 --- a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outModuleSimpleSpecifyOutputDirectory.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js", diff --git a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outModuleSimpleSpecifyOutputDirectory.json index 8e5e21179ae..d285d2f0952 100644 --- a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outModuleSimpleSpecifyOutputDirectory.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js", diff --git a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/outModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/outModuleSimpleSpecifyOutputFile.json index d6059283e95..166aaa982e7 100644 --- a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/outModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/outModuleSimpleSpecifyOutputFile.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js", diff --git a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/outModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/outModuleSimpleSpecifyOutputFile.json index d6059283e95..166aaa982e7 100644 --- a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/outModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/outModuleSimpleSpecifyOutputFile.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js", diff --git a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/outModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/outModuleSubfolderNoOutdir.json index cd7370bcf13..af995f80965 100644 --- a/tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/outModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/outModuleSubfolderNoOutdir.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/outModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/outModuleSubfolderNoOutdir.json index cd7370bcf13..af995f80965 100644 --- a/tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/outModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/outModuleSubfolderNoOutdir.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outModuleSubfolderSpecifyOutputDirectory.json index 5c5da20e23f..2688aeab193 100644 --- a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outModuleSubfolderSpecifyOutputDirectory.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outModuleSubfolderSpecifyOutputDirectory.json index 5c5da20e23f..2688aeab193 100644 --- a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outModuleSubfolderSpecifyOutputDirectory.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/outModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/outModuleSubfolderSpecifyOutputFile.json index ddb82ba580c..f11b95edde9 100644 --- a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/outModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/outModuleSubfolderSpecifyOutputFile.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/outModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/outModuleSubfolderSpecifyOutputFile.json index ddb82ba580c..f11b95edde9 100644 --- a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/outModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/outModuleSubfolderSpecifyOutputFile.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/outMultifolderNoOutdir/amd/outMultifolderNoOutdir.json b/tests/baselines/reference/project/outMultifolderNoOutdir/amd/outMultifolderNoOutdir.json index a538cbb3306..2b3760733c7 100644 --- a/tests/baselines/reference/project/outMultifolderNoOutdir/amd/outMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/outMultifolderNoOutdir/amd/outMultifolderNoOutdir.json @@ -7,10 +7,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outMultifolderNoOutdir/node/outMultifolderNoOutdir.json b/tests/baselines/reference/project/outMultifolderNoOutdir/node/outMultifolderNoOutdir.json index a538cbb3306..2b3760733c7 100644 --- a/tests/baselines/reference/project/outMultifolderNoOutdir/node/outMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/outMultifolderNoOutdir/node/outMultifolderNoOutdir.json @@ -7,10 +7,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/amd/outMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/amd/outMultifolderSpecifyOutputDirectory.json index dd1afacb02f..9e77628b368 100644 --- a/tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/amd/outMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/amd/outMultifolderSpecifyOutputDirectory.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js", diff --git a/tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/node/outMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/node/outMultifolderSpecifyOutputDirectory.json index dd1afacb02f..9e77628b368 100644 --- a/tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/node/outMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/node/outMultifolderSpecifyOutputDirectory.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js", diff --git a/tests/baselines/reference/project/outMultifolderSpecifyOutputFile/amd/outMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/outMultifolderSpecifyOutputFile/amd/outMultifolderSpecifyOutputFile.json index 1031549074d..d9e109518b1 100644 --- a/tests/baselines/reference/project/outMultifolderSpecifyOutputFile/amd/outMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outMultifolderSpecifyOutputFile/amd/outMultifolderSpecifyOutputFile.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js", diff --git a/tests/baselines/reference/project/outMultifolderSpecifyOutputFile/node/outMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/outMultifolderSpecifyOutputFile/node/outMultifolderSpecifyOutputFile.json index 1031549074d..d9e109518b1 100644 --- a/tests/baselines/reference/project/outMultifolderSpecifyOutputFile/node/outMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outMultifolderSpecifyOutputFile/node/outMultifolderSpecifyOutputFile.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js", diff --git a/tests/baselines/reference/project/outSimpleNoOutdir/amd/outSimpleNoOutdir.json b/tests/baselines/reference/project/outSimpleNoOutdir/amd/outSimpleNoOutdir.json index 4950859f404..0e35df542d2 100644 --- a/tests/baselines/reference/project/outSimpleNoOutdir/amd/outSimpleNoOutdir.json +++ b/tests/baselines/reference/project/outSimpleNoOutdir/amd/outSimpleNoOutdir.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js", diff --git a/tests/baselines/reference/project/outSimpleNoOutdir/node/outSimpleNoOutdir.json b/tests/baselines/reference/project/outSimpleNoOutdir/node/outSimpleNoOutdir.json index 4950859f404..0e35df542d2 100644 --- a/tests/baselines/reference/project/outSimpleNoOutdir/node/outSimpleNoOutdir.json +++ b/tests/baselines/reference/project/outSimpleNoOutdir/node/outSimpleNoOutdir.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js", diff --git a/tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/amd/outSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/amd/outSimpleSpecifyOutputDirectory.json index 01dd9a3578d..26795d9489e 100644 --- a/tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/amd/outSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/amd/outSimpleSpecifyOutputDirectory.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js", diff --git a/tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/node/outSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/node/outSimpleSpecifyOutputDirectory.json index 01dd9a3578d..26795d9489e 100644 --- a/tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/node/outSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/node/outSimpleSpecifyOutputDirectory.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js", diff --git a/tests/baselines/reference/project/outSimpleSpecifyOutputFile/amd/outSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/outSimpleSpecifyOutputFile/amd/outSimpleSpecifyOutputFile.json index d11bfbcf860..c5db5d7895a 100644 --- a/tests/baselines/reference/project/outSimpleSpecifyOutputFile/amd/outSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outSimpleSpecifyOutputFile/amd/outSimpleSpecifyOutputFile.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js", diff --git a/tests/baselines/reference/project/outSimpleSpecifyOutputFile/node/outSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/outSimpleSpecifyOutputFile/node/outSimpleSpecifyOutputFile.json index d11bfbcf860..c5db5d7895a 100644 --- a/tests/baselines/reference/project/outSimpleSpecifyOutputFile/node/outSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outSimpleSpecifyOutputFile/node/outSimpleSpecifyOutputFile.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js", diff --git a/tests/baselines/reference/project/outSingleFileNoOutdir/amd/outSingleFileNoOutdir.json b/tests/baselines/reference/project/outSingleFileNoOutdir/amd/outSingleFileNoOutdir.json index 1ac2dcd1c8d..acd419a4280 100644 --- a/tests/baselines/reference/project/outSingleFileNoOutdir/amd/outSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/outSingleFileNoOutdir/amd/outSingleFileNoOutdir.json @@ -7,8 +7,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js", diff --git a/tests/baselines/reference/project/outSingleFileNoOutdir/node/outSingleFileNoOutdir.json b/tests/baselines/reference/project/outSingleFileNoOutdir/node/outSingleFileNoOutdir.json index 1ac2dcd1c8d..acd419a4280 100644 --- a/tests/baselines/reference/project/outSingleFileNoOutdir/node/outSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/outSingleFileNoOutdir/node/outSingleFileNoOutdir.json @@ -7,8 +7,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js", diff --git a/tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/amd/outSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/amd/outSingleFileSpecifyOutputDirectory.json index 10436ca502f..249967847a3 100644 --- a/tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/amd/outSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/amd/outSingleFileSpecifyOutputDirectory.json @@ -8,8 +8,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js", diff --git a/tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/node/outSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/node/outSingleFileSpecifyOutputDirectory.json index 10436ca502f..249967847a3 100644 --- a/tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/node/outSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/node/outSingleFileSpecifyOutputDirectory.json @@ -8,8 +8,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js", diff --git a/tests/baselines/reference/project/outSingleFileSpecifyOutputFile/amd/outSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/outSingleFileSpecifyOutputFile/amd/outSingleFileSpecifyOutputFile.json index 02693625187..3810a065492 100644 --- a/tests/baselines/reference/project/outSingleFileSpecifyOutputFile/amd/outSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outSingleFileSpecifyOutputFile/amd/outSingleFileSpecifyOutputFile.json @@ -8,8 +8,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js", diff --git a/tests/baselines/reference/project/outSingleFileSpecifyOutputFile/node/outSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/outSingleFileSpecifyOutputFile/node/outSingleFileSpecifyOutputFile.json index 02693625187..3810a065492 100644 --- a/tests/baselines/reference/project/outSingleFileSpecifyOutputFile/node/outSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outSingleFileSpecifyOutputFile/node/outSingleFileSpecifyOutputFile.json @@ -8,8 +8,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js", diff --git a/tests/baselines/reference/project/outSubfolderNoOutdir/amd/outSubfolderNoOutdir.json b/tests/baselines/reference/project/outSubfolderNoOutdir/amd/outSubfolderNoOutdir.json index 5dc96cfb1ce..33dae01c2e5 100644 --- a/tests/baselines/reference/project/outSubfolderNoOutdir/amd/outSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/outSubfolderNoOutdir/amd/outSubfolderNoOutdir.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outSubfolderNoOutdir/node/outSubfolderNoOutdir.json b/tests/baselines/reference/project/outSubfolderNoOutdir/node/outSubfolderNoOutdir.json index 5dc96cfb1ce..33dae01c2e5 100644 --- a/tests/baselines/reference/project/outSubfolderNoOutdir/node/outSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/outSubfolderNoOutdir/node/outSubfolderNoOutdir.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js", diff --git a/tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/amd/outSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/amd/outSubfolderSpecifyOutputDirectory.json index c827dc4a291..f1deedfb0e5 100644 --- a/tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/amd/outSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/amd/outSubfolderSpecifyOutputDirectory.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js", diff --git a/tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/node/outSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/node/outSubfolderSpecifyOutputDirectory.json index c827dc4a291..f1deedfb0e5 100644 --- a/tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/node/outSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/node/outSubfolderSpecifyOutputDirectory.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js", diff --git a/tests/baselines/reference/project/outSubfolderSpecifyOutputFile/amd/outSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/outSubfolderSpecifyOutputFile/amd/outSubfolderSpecifyOutputFile.json index c9dde6e9ec2..f508fb2e3bf 100644 --- a/tests/baselines/reference/project/outSubfolderSpecifyOutputFile/amd/outSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outSubfolderSpecifyOutputFile/amd/outSubfolderSpecifyOutputFile.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js", diff --git a/tests/baselines/reference/project/outSubfolderSpecifyOutputFile/node/outSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/outSubfolderSpecifyOutputFile/node/outSubfolderSpecifyOutputFile.json index c9dde6e9ec2..f508fb2e3bf 100644 --- a/tests/baselines/reference/project/outSubfolderSpecifyOutputFile/node/outSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/outSubfolderSpecifyOutputFile/node/outSubfolderSpecifyOutputFile.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js", diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/amd/privacyCheckOnImportedModuleDeclarationsInsideModule.errors.txt b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/amd/privacyCheckOnImportedModuleDeclarationsInsideModule.errors.txt index ff86b0ebeb2..864029e4118 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/amd/privacyCheckOnImportedModuleDeclarationsInsideModule.errors.txt +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/amd/privacyCheckOnImportedModuleDeclarationsInsideModule.errors.txt @@ -1,2 +1,48 @@ testGlo.ts(2,5): Import declarations in an internal module cannot reference an external module. testGlo.ts(21,5): Import declarations in an internal module cannot reference an external module. + + +==== testGlo.ts (2 errors) ==== + module m2 { + export import mExported = require("mExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export var c1 = new mExported.me.class1; + export function f1() { + return new mExported.me.class1(); + } + export var x1 = mExported.me.x; + + export class class1 extends mExported.me.class1 { + } + + var c2 = new mExported.me.class1; + function f2() { + return new mExported.me.class1(); + } + var x2 = mExported.me.x; + + class class2 extends mExported.me.class1 { + } + + import mNonExported = require("mNonExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export var c3 = new mNonExported.mne.class1; + export function f3() { + return new mNonExported.mne.class1(); + } + export var x3 = mNonExported.mne.x; + + export class class3 extends mNonExported.mne.class1 { + } + + var c4 = new mNonExported.mne.class1; + function f4() { + return new mNonExported.mne.class1(); + } + var x4 = mNonExported.mne.x; + + class class4 extends mNonExported.mne.class1 { + } + } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/amd/privacyCheckOnImportedModuleDeclarationsInsideModule.json b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/amd/privacyCheckOnImportedModuleDeclarationsInsideModule.json index 446a05ed7a7..b706c856acf 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/amd/privacyCheckOnImportedModuleDeclarationsInsideModule.json +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/amd/privacyCheckOnImportedModuleDeclarationsInsideModule.json @@ -6,8 +6,8 @@ ], "baselineCheck": true, "resolvedInputFiles": [ - "testGlo.ts", - "lib.d.ts" + "lib.d.ts", + "testGlo.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/node/privacyCheckOnImportedModuleDeclarationsInsideModule.errors.txt b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/node/privacyCheckOnImportedModuleDeclarationsInsideModule.errors.txt index ff86b0ebeb2..864029e4118 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/node/privacyCheckOnImportedModuleDeclarationsInsideModule.errors.txt +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/node/privacyCheckOnImportedModuleDeclarationsInsideModule.errors.txt @@ -1,2 +1,48 @@ testGlo.ts(2,5): Import declarations in an internal module cannot reference an external module. testGlo.ts(21,5): Import declarations in an internal module cannot reference an external module. + + +==== testGlo.ts (2 errors) ==== + module m2 { + export import mExported = require("mExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export var c1 = new mExported.me.class1; + export function f1() { + return new mExported.me.class1(); + } + export var x1 = mExported.me.x; + + export class class1 extends mExported.me.class1 { + } + + var c2 = new mExported.me.class1; + function f2() { + return new mExported.me.class1(); + } + var x2 = mExported.me.x; + + class class2 extends mExported.me.class1 { + } + + import mNonExported = require("mNonExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export var c3 = new mNonExported.mne.class1; + export function f3() { + return new mNonExported.mne.class1(); + } + export var x3 = mNonExported.mne.x; + + export class class3 extends mNonExported.mne.class1 { + } + + var c4 = new mNonExported.mne.class1; + function f4() { + return new mNonExported.mne.class1(); + } + var x4 = mNonExported.mne.x; + + class class4 extends mNonExported.mne.class1 { + } + } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/node/privacyCheckOnImportedModuleDeclarationsInsideModule.json b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/node/privacyCheckOnImportedModuleDeclarationsInsideModule.json index 446a05ed7a7..b706c856acf 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/node/privacyCheckOnImportedModuleDeclarationsInsideModule.json +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/node/privacyCheckOnImportedModuleDeclarationsInsideModule.json @@ -6,8 +6,8 @@ ], "baselineCheck": true, "resolvedInputFiles": [ - "testGlo.ts", - "lib.d.ts" + "lib.d.ts", + "testGlo.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/amd/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.errors.txt b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/amd/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.errors.txt index 373aaa946e9..a8a97aa9b18 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/amd/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.errors.txt +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/amd/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.errors.txt @@ -1,2 +1,51 @@ test.ts(5,5): Import declarations in an internal module cannot reference an external module. test.ts(24,5): Import declarations in an internal module cannot reference an external module. + + +==== test.ts (2 errors) ==== + export module m1 { + } + + module m2 { + export import mExported = require("mExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export var c1 = new mExported.me.class1; + export function f1() { + return new mExported.me.class1(); + } + export var x1 = mExported.me.x; + + export class class1 extends mExported.me.class1 { + } + + var c2 = new mExported.me.class1; + function f2() { + return new mExported.me.class1(); + } + var x2 = mExported.me.x; + + class class2 extends mExported.me.class1 { + } + + import mNonExported = require("mNonExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export var c3 = new mNonExported.mne.class1; + export function f3() { + return new mNonExported.mne.class1(); + } + export var x3 = mNonExported.mne.x; + + export class class3 extends mNonExported.mne.class1 { + } + + var c4 = new mNonExported.mne.class1; + function f4() { + return new mNonExported.mne.class1(); + } + var x4 = mNonExported.mne.x; + + class class4 extends mNonExported.mne.class1 { + } + } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/amd/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.json b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/amd/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.json index a59350e4f3b..a82fe1088ef 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/amd/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.json +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/amd/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.json @@ -5,8 +5,8 @@ "test.ts" ], "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/node/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.errors.txt b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/node/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.errors.txt index 373aaa946e9..a8a97aa9b18 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/node/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.errors.txt +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/node/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.errors.txt @@ -1,2 +1,51 @@ test.ts(5,5): Import declarations in an internal module cannot reference an external module. test.ts(24,5): Import declarations in an internal module cannot reference an external module. + + +==== test.ts (2 errors) ==== + export module m1 { + } + + module m2 { + export import mExported = require("mExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export var c1 = new mExported.me.class1; + export function f1() { + return new mExported.me.class1(); + } + export var x1 = mExported.me.x; + + export class class1 extends mExported.me.class1 { + } + + var c2 = new mExported.me.class1; + function f2() { + return new mExported.me.class1(); + } + var x2 = mExported.me.x; + + class class2 extends mExported.me.class1 { + } + + import mNonExported = require("mNonExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + export var c3 = new mNonExported.mne.class1; + export function f3() { + return new mNonExported.mne.class1(); + } + export var x3 = mNonExported.mne.x; + + export class class3 extends mNonExported.mne.class1 { + } + + var c4 = new mNonExported.mne.class1; + function f4() { + return new mNonExported.mne.class1(); + } + var x4 = mNonExported.mne.x; + + class class4 extends mNonExported.mne.class1 { + } + } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/node/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.json b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/node/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.json index a59350e4f3b..a82fe1088ef 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/node/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.json +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/node/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.json @@ -5,8 +5,8 @@ "test.ts" ], "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/amd/privacyCheckOnImportedModuleImportStatementInParentModule.errors.txt b/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/amd/privacyCheckOnImportedModuleImportStatementInParentModule.errors.txt index 5a5d1421855..6e14da66ec5 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/amd/privacyCheckOnImportedModuleImportStatementInParentModule.errors.txt +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/amd/privacyCheckOnImportedModuleImportStatementInParentModule.errors.txt @@ -1,2 +1,91 @@ test.ts(2,5): Import declarations in an internal module cannot reference an external module. test.ts(42,5): Import declarations in an internal module cannot reference an external module. + + +==== test.ts (2 errors) ==== + export module m2 { + export import mExported = require("mExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + + module Internal_M1 { + export var c1 = new mExported.me.class1; + export function f1() { + return new mExported.me.class1(); + } + export var x1 = mExported.me.x; + + export class class1 extends mExported.me.class1 { + } + + var c2 = new mExported.me.class1; + function f2() { + return new mExported.me.class1(); + } + var x2 = mExported.me.x; + class class2 extends mExported.me.class1 { + } + } + + export module Internal_M2 { + export var c1 = new mExported.me.class1; + export function f1() { + return new mExported.me.class1(); + } + export var x1 = mExported.me.x; + + export class class1 extends mExported.me.class1 { + } + + var c2 = new mExported.me.class1; + function f2() { + return new mExported.me.class1(); + } + var x2 = mExported.me.x; + class class2 extends mExported.me.class1 { + } + } + + import mNonExported = require("mNonExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + module Internal_M3 { + export var c3 = new mNonExported.mne.class1; + export function f3() { + return new mNonExported.mne.class1(); + } + export var x3 = mNonExported.mne.x; + + export class class3 extends mNonExported.mne.class1 { + } + + var c4 = new mNonExported.mne.class1; + function f4() { + return new mNonExported.mne.class1(); + } + var x4 = mNonExported.mne.x; + + class class4 extends mNonExported.mne.class1 { + } + } + + export module Internal_M4 { + export var c3 = new mNonExported.mne.class1; + export function f3() { + return new mNonExported.mne.class1(); + } + export var x3 = mNonExported.mne.x; + + export class class3 extends mNonExported.mne.class1 { + } + + var c4 = new mNonExported.mne.class1; + function f4() { + return new mNonExported.mne.class1(); + } + var x4 = mNonExported.mne.x; + + class class4 extends mNonExported.mne.class1 { + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/amd/privacyCheckOnImportedModuleImportStatementInParentModule.json b/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/amd/privacyCheckOnImportedModuleImportStatementInParentModule.json index 6b445d2d381..7da6f764326 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/amd/privacyCheckOnImportedModuleImportStatementInParentModule.json +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/amd/privacyCheckOnImportedModuleImportStatementInParentModule.json @@ -5,8 +5,8 @@ "test.ts" ], "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/node/privacyCheckOnImportedModuleImportStatementInParentModule.errors.txt b/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/node/privacyCheckOnImportedModuleImportStatementInParentModule.errors.txt index 5a5d1421855..6e14da66ec5 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/node/privacyCheckOnImportedModuleImportStatementInParentModule.errors.txt +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/node/privacyCheckOnImportedModuleImportStatementInParentModule.errors.txt @@ -1,2 +1,91 @@ test.ts(2,5): Import declarations in an internal module cannot reference an external module. test.ts(42,5): Import declarations in an internal module cannot reference an external module. + + +==== test.ts (2 errors) ==== + export module m2 { + export import mExported = require("mExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + + module Internal_M1 { + export var c1 = new mExported.me.class1; + export function f1() { + return new mExported.me.class1(); + } + export var x1 = mExported.me.x; + + export class class1 extends mExported.me.class1 { + } + + var c2 = new mExported.me.class1; + function f2() { + return new mExported.me.class1(); + } + var x2 = mExported.me.x; + class class2 extends mExported.me.class1 { + } + } + + export module Internal_M2 { + export var c1 = new mExported.me.class1; + export function f1() { + return new mExported.me.class1(); + } + export var x1 = mExported.me.x; + + export class class1 extends mExported.me.class1 { + } + + var c2 = new mExported.me.class1; + function f2() { + return new mExported.me.class1(); + } + var x2 = mExported.me.x; + class class2 extends mExported.me.class1 { + } + } + + import mNonExported = require("mNonExported"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! Import declarations in an internal module cannot reference an external module. + module Internal_M3 { + export var c3 = new mNonExported.mne.class1; + export function f3() { + return new mNonExported.mne.class1(); + } + export var x3 = mNonExported.mne.x; + + export class class3 extends mNonExported.mne.class1 { + } + + var c4 = new mNonExported.mne.class1; + function f4() { + return new mNonExported.mne.class1(); + } + var x4 = mNonExported.mne.x; + + class class4 extends mNonExported.mne.class1 { + } + } + + export module Internal_M4 { + export var c3 = new mNonExported.mne.class1; + export function f3() { + return new mNonExported.mne.class1(); + } + export var x3 = mNonExported.mne.x; + + export class class3 extends mNonExported.mne.class1 { + } + + var c4 = new mNonExported.mne.class1; + function f4() { + return new mNonExported.mne.class1(); + } + var x4 = mNonExported.mne.x; + + class class4 extends mNonExported.mne.class1 { + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/node/privacyCheckOnImportedModuleImportStatementInParentModule.json b/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/node/privacyCheckOnImportedModuleImportStatementInParentModule.json index 6b445d2d381..7da6f764326 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/node/privacyCheckOnImportedModuleImportStatementInParentModule.json +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/node/privacyCheckOnImportedModuleImportStatementInParentModule.json @@ -5,8 +5,8 @@ "test.ts" ], "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleSimpleReference/amd/privacyCheckOnImportedModuleSimpleReference.json b/tests/baselines/reference/project/privacyCheckOnImportedModuleSimpleReference/amd/privacyCheckOnImportedModuleSimpleReference.json index 473025c416d..5219f373543 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleSimpleReference/amd/privacyCheckOnImportedModuleSimpleReference.json +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleSimpleReference/amd/privacyCheckOnImportedModuleSimpleReference.json @@ -5,10 +5,10 @@ "test.ts" ], "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "mExported.ts", "mNonExported.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "mExported.js", diff --git a/tests/baselines/reference/project/privacyCheckOnImportedModuleSimpleReference/node/privacyCheckOnImportedModuleSimpleReference.json b/tests/baselines/reference/project/privacyCheckOnImportedModuleSimpleReference/node/privacyCheckOnImportedModuleSimpleReference.json index 473025c416d..5219f373543 100644 --- a/tests/baselines/reference/project/privacyCheckOnImportedModuleSimpleReference/node/privacyCheckOnImportedModuleSimpleReference.json +++ b/tests/baselines/reference/project/privacyCheckOnImportedModuleSimpleReference/node/privacyCheckOnImportedModuleSimpleReference.json @@ -5,10 +5,10 @@ "test.ts" ], "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "mExported.ts", "mNonExported.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "mExported.js", diff --git a/tests/baselines/reference/project/privacyCheckOnIndirectTypeFromTheExternalType/amd/privacyCheckOnIndirectTypeFromTheExternalType.json b/tests/baselines/reference/project/privacyCheckOnIndirectTypeFromTheExternalType/amd/privacyCheckOnIndirectTypeFromTheExternalType.json index cc52060ed50..10b06c58377 100644 --- a/tests/baselines/reference/project/privacyCheckOnIndirectTypeFromTheExternalType/amd/privacyCheckOnIndirectTypeFromTheExternalType.json +++ b/tests/baselines/reference/project/privacyCheckOnIndirectTypeFromTheExternalType/amd/privacyCheckOnIndirectTypeFromTheExternalType.json @@ -5,10 +5,10 @@ "test.ts" ], "resolvedInputFiles": [ - "test.ts", - "externalModule.ts", + "lib.d.ts", "indirectExternalModule.ts", - "lib.d.ts" + "externalModule.ts", + "test.ts" ], "emittedFiles": [ "indirectExternalModule.js", diff --git a/tests/baselines/reference/project/privacyCheckOnIndirectTypeFromTheExternalType/node/privacyCheckOnIndirectTypeFromTheExternalType.json b/tests/baselines/reference/project/privacyCheckOnIndirectTypeFromTheExternalType/node/privacyCheckOnIndirectTypeFromTheExternalType.json index cc52060ed50..10b06c58377 100644 --- a/tests/baselines/reference/project/privacyCheckOnIndirectTypeFromTheExternalType/node/privacyCheckOnIndirectTypeFromTheExternalType.json +++ b/tests/baselines/reference/project/privacyCheckOnIndirectTypeFromTheExternalType/node/privacyCheckOnIndirectTypeFromTheExternalType.json @@ -5,10 +5,10 @@ "test.ts" ], "resolvedInputFiles": [ - "test.ts", - "externalModule.ts", + "lib.d.ts", "indirectExternalModule.ts", - "lib.d.ts" + "externalModule.ts", + "test.ts" ], "emittedFiles": [ "indirectExternalModule.js", diff --git a/tests/baselines/reference/project/prologueEmit/amd/prologueEmit.json b/tests/baselines/reference/project/prologueEmit/amd/prologueEmit.json index f74f4d66816..189c246f7bf 100644 --- a/tests/baselines/reference/project/prologueEmit/amd/prologueEmit.json +++ b/tests/baselines/reference/project/prologueEmit/amd/prologueEmit.json @@ -8,9 +8,9 @@ "out": "out.js", "baselineCheck": true, "resolvedInputFiles": [ + "lib.d.ts", "globalThisCapture.ts", - "__extends.ts", - "lib.d.ts" + "__extends.ts" ], "emittedFiles": [ "out.js" diff --git a/tests/baselines/reference/project/prologueEmit/node/prologueEmit.json b/tests/baselines/reference/project/prologueEmit/node/prologueEmit.json index f74f4d66816..189c246f7bf 100644 --- a/tests/baselines/reference/project/prologueEmit/node/prologueEmit.json +++ b/tests/baselines/reference/project/prologueEmit/node/prologueEmit.json @@ -8,9 +8,9 @@ "out": "out.js", "baselineCheck": true, "resolvedInputFiles": [ + "lib.d.ts", "globalThisCapture.ts", - "__extends.ts", - "lib.d.ts" + "__extends.ts" ], "emittedFiles": [ "out.js" diff --git a/tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/quotesInFileAndDirectoryNames.dts.errors.txt b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/quotesInFileAndDirectoryNames.dts.errors.txt new file mode 100644 index 00000000000..a49a0810d2f --- /dev/null +++ b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/quotesInFileAndDirectoryNames.dts.errors.txt @@ -0,0 +1,17 @@ +m'ain.d.ts(1,1): File 'li.ts' not found. + + +==== li'b/class'A.d.ts (0 errors) ==== + declare module test { + class ClassA { + method(): void; + } + } + +==== m'ain.d.ts (1 errors) ==== + /// + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! File 'li.ts' not found. + declare class ClassC extends test.ClassA { + } + \ No newline at end of file diff --git a/tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/quotesInFileAndDirectoryNames.json b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/quotesInFileAndDirectoryNames.json index 333ef78ad74..b18b813804d 100644 --- a/tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/quotesInFileAndDirectoryNames.json +++ b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/quotesInFileAndDirectoryNames.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "m'ain.ts", + "lib.d.ts", "li'b/class'A.ts", - "lib.d.ts" + "m'ain.ts" ], "emittedFiles": [ "li'b/class'A.js", diff --git a/tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/quotesInFileAndDirectoryNames.dts.errors.txt b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/quotesInFileAndDirectoryNames.dts.errors.txt new file mode 100644 index 00000000000..a49a0810d2f --- /dev/null +++ b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/quotesInFileAndDirectoryNames.dts.errors.txt @@ -0,0 +1,17 @@ +m'ain.d.ts(1,1): File 'li.ts' not found. + + +==== li'b/class'A.d.ts (0 errors) ==== + declare module test { + class ClassA { + method(): void; + } + } + +==== m'ain.d.ts (1 errors) ==== + /// + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! File 'li.ts' not found. + declare class ClassC extends test.ClassA { + } + \ No newline at end of file diff --git a/tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/quotesInFileAndDirectoryNames.json b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/quotesInFileAndDirectoryNames.json index 333ef78ad74..b18b813804d 100644 --- a/tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/quotesInFileAndDirectoryNames.json +++ b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/quotesInFileAndDirectoryNames.json @@ -7,9 +7,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "m'ain.ts", + "lib.d.ts", "li'b/class'A.ts", - "lib.d.ts" + "m'ain.ts" ], "emittedFiles": [ "li'b/class'A.js", diff --git a/tests/baselines/reference/project/referencePathStatic/amd/referencePathStatic.json b/tests/baselines/reference/project/referencePathStatic/amd/referencePathStatic.json new file mode 100644 index 00000000000..975d18eba6b --- /dev/null +++ b/tests/baselines/reference/project/referencePathStatic/amd/referencePathStatic.json @@ -0,0 +1,16 @@ +{ + "scenario": "Reference-path-static", + "projectRoot": "tests/cases/projects/reference-path-static", + "inputFiles": [ + "test.ts" + ], + "resolvedInputFiles": [ + "lib.d.ts", + "lib.ts", + "test.ts" + ], + "emittedFiles": [ + "lib.js", + "test.js" + ] +} \ No newline at end of file diff --git a/tests/baselines/reference/project/referencePathStatic/node/referencePathStatic.json b/tests/baselines/reference/project/referencePathStatic/node/referencePathStatic.json new file mode 100644 index 00000000000..975d18eba6b --- /dev/null +++ b/tests/baselines/reference/project/referencePathStatic/node/referencePathStatic.json @@ -0,0 +1,16 @@ +{ + "scenario": "Reference-path-static", + "projectRoot": "tests/cases/projects/reference-path-static", + "inputFiles": [ + "test.ts" + ], + "resolvedInputFiles": [ + "lib.d.ts", + "lib.ts", + "test.ts" + ], + "emittedFiles": [ + "lib.js", + "test.js" + ] +} \ No newline at end of file diff --git a/tests/baselines/reference/project/relativeGlobal/amd/relativeGlobal.json b/tests/baselines/reference/project/relativeGlobal/amd/relativeGlobal.json index 7a232d5246e..316374bad4e 100644 --- a/tests/baselines/reference/project/relativeGlobal/amd/relativeGlobal.json +++ b/tests/baselines/reference/project/relativeGlobal/amd/relativeGlobal.json @@ -6,9 +6,9 @@ ], "runTest": true, "resolvedInputFiles": [ - "consume.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "consume.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/relativeGlobal/node/relativeGlobal.json b/tests/baselines/reference/project/relativeGlobal/node/relativeGlobal.json index 7a232d5246e..316374bad4e 100644 --- a/tests/baselines/reference/project/relativeGlobal/node/relativeGlobal.json +++ b/tests/baselines/reference/project/relativeGlobal/node/relativeGlobal.json @@ -6,9 +6,9 @@ ], "runTest": true, "resolvedInputFiles": [ - "consume.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "consume.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/relativeGlobalRef/amd/relativeGlobalRef.json b/tests/baselines/reference/project/relativeGlobalRef/amd/relativeGlobalRef.json index b1b6f19b6c2..5352f1b4f00 100644 --- a/tests/baselines/reference/project/relativeGlobalRef/amd/relativeGlobalRef.json +++ b/tests/baselines/reference/project/relativeGlobalRef/amd/relativeGlobalRef.json @@ -5,9 +5,9 @@ "consume.ts" ], "resolvedInputFiles": [ - "consume.ts", + "lib.d.ts", "decl.d.ts", - "lib.d.ts" + "consume.ts" ], "emittedFiles": [ "consume.js" diff --git a/tests/baselines/reference/project/relativeGlobalRef/node/relativeGlobalRef.json b/tests/baselines/reference/project/relativeGlobalRef/node/relativeGlobalRef.json index b1b6f19b6c2..5352f1b4f00 100644 --- a/tests/baselines/reference/project/relativeGlobalRef/node/relativeGlobalRef.json +++ b/tests/baselines/reference/project/relativeGlobalRef/node/relativeGlobalRef.json @@ -5,9 +5,9 @@ "consume.ts" ], "resolvedInputFiles": [ - "consume.ts", + "lib.d.ts", "decl.d.ts", - "lib.d.ts" + "consume.ts" ], "emittedFiles": [ "consume.js" diff --git a/tests/baselines/reference/project/relativeNested/amd/relativeNested.json b/tests/baselines/reference/project/relativeNested/amd/relativeNested.json index c1cf91e5060..9211df07763 100644 --- a/tests/baselines/reference/project/relativeNested/amd/relativeNested.json +++ b/tests/baselines/reference/project/relativeNested/amd/relativeNested.json @@ -6,10 +6,10 @@ ], "runTest": true, "resolvedInputFiles": [ - "app.ts", - "main/consume.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "main/consume.ts", + "app.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/relativeNested/node/relativeNested.json b/tests/baselines/reference/project/relativeNested/node/relativeNested.json index c1cf91e5060..9211df07763 100644 --- a/tests/baselines/reference/project/relativeNested/node/relativeNested.json +++ b/tests/baselines/reference/project/relativeNested/node/relativeNested.json @@ -6,10 +6,10 @@ ], "runTest": true, "resolvedInputFiles": [ - "app.ts", - "main/consume.ts", + "lib.d.ts", "decl.ts", - "lib.d.ts" + "main/consume.ts", + "app.ts" ], "emittedFiles": [ "decl.js", diff --git a/tests/baselines/reference/project/relativeNestedRef/amd/relativeNestedRef.json b/tests/baselines/reference/project/relativeNestedRef/amd/relativeNestedRef.json index 8dfaf3a3092..465430a8390 100644 --- a/tests/baselines/reference/project/relativeNestedRef/amd/relativeNestedRef.json +++ b/tests/baselines/reference/project/relativeNestedRef/amd/relativeNestedRef.json @@ -5,9 +5,9 @@ "main/consume.ts" ], "resolvedInputFiles": [ - "main/consume.ts", + "lib.d.ts", "decl.d.ts", - "lib.d.ts" + "main/consume.ts" ], "emittedFiles": [ "main/consume.js" diff --git a/tests/baselines/reference/project/relativeNestedRef/node/relativeNestedRef.json b/tests/baselines/reference/project/relativeNestedRef/node/relativeNestedRef.json index 8dfaf3a3092..465430a8390 100644 --- a/tests/baselines/reference/project/relativeNestedRef/node/relativeNestedRef.json +++ b/tests/baselines/reference/project/relativeNestedRef/node/relativeNestedRef.json @@ -5,9 +5,9 @@ "main/consume.ts" ], "resolvedInputFiles": [ - "main/consume.ts", + "lib.d.ts", "decl.d.ts", - "lib.d.ts" + "main/consume.ts" ], "emittedFiles": [ "main/consume.js" diff --git a/tests/baselines/reference/project/relativePaths/amd/relativePaths.json b/tests/baselines/reference/project/relativePaths/amd/relativePaths.json index a4036a2163d..0f1f4d5b69e 100644 --- a/tests/baselines/reference/project/relativePaths/amd/relativePaths.json +++ b/tests/baselines/reference/project/relativePaths/amd/relativePaths.json @@ -5,10 +5,10 @@ "app.ts" ], "resolvedInputFiles": [ - "app.ts", - "A/a.ts", + "lib.d.ts", "A/b.ts", - "lib.d.ts" + "A/a.ts", + "app.ts" ], "emittedFiles": [ "A/b.js", diff --git a/tests/baselines/reference/project/relativePaths/node/relativePaths.json b/tests/baselines/reference/project/relativePaths/node/relativePaths.json index a4036a2163d..0f1f4d5b69e 100644 --- a/tests/baselines/reference/project/relativePaths/node/relativePaths.json +++ b/tests/baselines/reference/project/relativePaths/node/relativePaths.json @@ -5,10 +5,10 @@ "app.ts" ], "resolvedInputFiles": [ - "app.ts", - "A/a.ts", + "lib.d.ts", "A/b.ts", - "lib.d.ts" + "A/a.ts", + "app.ts" ], "emittedFiles": [ "A/b.js", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/sourceRootAbsolutePathMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/sourceRootAbsolutePathMixedSubfolderNoOutdir.json index a987e68b2ba..43059eaa5c6 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/sourceRootAbsolutePathMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/sourceRootAbsolutePathMixedSubfolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/sourceRootAbsolutePathMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/sourceRootAbsolutePathMixedSubfolderNoOutdir.json index a987e68b2ba..43059eaa5c6 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/sourceRootAbsolutePathMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/sourceRootAbsolutePathMixedSubfolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json index 19af8ccca67..6d9cf2998a8 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json index 19af8ccca67..6d9cf2998a8 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.json index d4a467aff20..09c6092f164 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.json index d4a467aff20..09c6092f164 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 996a50a99f3..6fb17fa06b8 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -12,10 +12,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 996a50a99f3..6fb17fa06b8 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -12,10 +12,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/sourceRootAbsolutePathModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/sourceRootAbsolutePathModuleMultifolderNoOutdir.json index 0ff48f4e065..9e98d46666f 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/sourceRootAbsolutePathModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/sourceRootAbsolutePathModuleMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/sourceRootAbsolutePathModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/sourceRootAbsolutePathModuleMultifolderNoOutdir.json index 0ff48f4e065..9e98d46666f 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/sourceRootAbsolutePathModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/sourceRootAbsolutePathModuleMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json index 559c5886be2..d96a3e5f832 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json index 559c5886be2..d96a3e5f832 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json index 825fa0246a4..b3e80123c04 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json index 825fa0246a4..b3e80123c04 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/sourceRootAbsolutePathModuleSimpleNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/sourceRootAbsolutePathModuleSimpleNoOutdir.json index a364062ade4..6e1f133ef64 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/sourceRootAbsolutePathModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/sourceRootAbsolutePathModuleSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/sourceRootAbsolutePathModuleSimpleNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/sourceRootAbsolutePathModuleSimpleNoOutdir.json index a364062ade4..6e1f133ef64 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/sourceRootAbsolutePathModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/sourceRootAbsolutePathModuleSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json index ae5126b66e2..c15e91877ae 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json index ae5126b66e2..c15e91877ae 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json index 0901591ee71..e2621b2fa52 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json index 0901591ee71..e2621b2fa52 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/sourceRootAbsolutePathModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/sourceRootAbsolutePathModuleSubfolderNoOutdir.json index 01c4b70cebd..b65bed61979 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/sourceRootAbsolutePathModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/sourceRootAbsolutePathModuleSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/sourceRootAbsolutePathModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/sourceRootAbsolutePathModuleSubfolderNoOutdir.json index 01c4b70cebd..b65bed61979 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/sourceRootAbsolutePathModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/sourceRootAbsolutePathModuleSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json index 84000af31b4..a8662e09bf6 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json index 84000af31b4..a8662e09bf6 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json index f568adfaacf..a43e0f69172 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json index f568adfaacf..a43e0f69172 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/sourceRootAbsolutePathMultifolderNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/sourceRootAbsolutePathMultifolderNoOutdir.json index 4f0f4e7e3e5..b84ccc2bc23 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/sourceRootAbsolutePathMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/sourceRootAbsolutePathMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/sourceRootAbsolutePathMultifolderNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/sourceRootAbsolutePathMultifolderNoOutdir.json index 4f0f4e7e3e5..b84ccc2bc23 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/sourceRootAbsolutePathMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/sourceRootAbsolutePathMultifolderNoOutdir.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.json index e22d59562c8..43d3db291ff 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.json index e22d59562c8..43d3db291ff 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathMultifolderSpecifyOutputFile.json index d6823e0eba8..6bd6db427c4 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathMultifolderSpecifyOutputFile.json index d6823e0eba8..6bd6db427c4 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathMultifolderSpecifyOutputFile.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/sourceRootAbsolutePathSimpleNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/sourceRootAbsolutePathSimpleNoOutdir.json index 2d211a7180c..f57c8110827 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/sourceRootAbsolutePathSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/sourceRootAbsolutePathSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/sourceRootAbsolutePathSimpleNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/sourceRootAbsolutePathSimpleNoOutdir.json index 2d211a7180c..f57c8110827 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/sourceRootAbsolutePathSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/sourceRootAbsolutePathSimpleNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.json index 4a5d8436f01..02981610092 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.json index 4a5d8436f01..02981610092 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathSimpleSpecifyOutputFile.json index fd9f5e5446c..74add9e8d7b 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/node/sourceRootAbsolutePathSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/node/sourceRootAbsolutePathSimpleSpecifyOutputFile.json index fd9f5e5446c..74add9e8d7b 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/node/sourceRootAbsolutePathSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/node/sourceRootAbsolutePathSimpleSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/amd/sourceRootAbsolutePathSingleFileNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/amd/sourceRootAbsolutePathSingleFileNoOutdir.json index 3d063f65272..772190b4851 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/amd/sourceRootAbsolutePathSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/amd/sourceRootAbsolutePathSingleFileNoOutdir.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/node/sourceRootAbsolutePathSingleFileNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/node/sourceRootAbsolutePathSingleFileNoOutdir.json index 3d063f65272..772190b4851 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/node/sourceRootAbsolutePathSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/node/sourceRootAbsolutePathSingleFileNoOutdir.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.json index 95a16bbc6f3..8a6eb54b789 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/node/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/node/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.json index 95a16bbc6f3..8a6eb54b789 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/node/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/node/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/amd/sourceRootAbsolutePathSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/amd/sourceRootAbsolutePathSingleFileSpecifyOutputFile.json index d0c60f2d1ab..ec9d13d68de 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/amd/sourceRootAbsolutePathSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/amd/sourceRootAbsolutePathSingleFileSpecifyOutputFile.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/node/sourceRootAbsolutePathSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/node/sourceRootAbsolutePathSingleFileSpecifyOutputFile.json index d0c60f2d1ab..ec9d13d68de 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/node/sourceRootAbsolutePathSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/node/sourceRootAbsolutePathSingleFileSpecifyOutputFile.json @@ -11,8 +11,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/sourceRootAbsolutePathSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/sourceRootAbsolutePathSubfolderNoOutdir.json index b9982d55390..03f06090742 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/sourceRootAbsolutePathSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/sourceRootAbsolutePathSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/sourceRootAbsolutePathSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/sourceRootAbsolutePathSubfolderNoOutdir.json index b9982d55390..03f06090742 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/sourceRootAbsolutePathSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/sourceRootAbsolutePathSubfolderNoOutdir.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.json index 03814b982db..08bdabb1c6e 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.json index 03814b982db..08bdabb1c6e 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathSubfolderSpecifyOutputFile.json index 4563bdc2fb3..a6c034775ce 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathSubfolderSpecifyOutputFile.json index 4563bdc2fb3..a6c034775ce 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathSubfolderSpecifyOutputFile.json @@ -11,9 +11,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/sourceRootRelativePathMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/sourceRootRelativePathMixedSubfolderNoOutdir.json index 7ed2fefc624..0e73f218462 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/sourceRootRelativePathMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/sourceRootRelativePathMixedSubfolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/sourceRootRelativePathMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/sourceRootRelativePathMixedSubfolderNoOutdir.json index 7ed2fefc624..0e73f218462 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/sourceRootRelativePathMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/sourceRootRelativePathMixedSubfolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.json index 0b841e3e450..99815d52661 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.json index 0b841e3e450..99815d52661 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.json index 889d00b36ca..82ef1c7d882 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.json index 889d00b36ca..82ef1c7d882 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index e26e9887a57..d5f4fd9c654 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index e26e9887a57..d5f4fd9c654 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/sourceRootRelativePathModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/sourceRootRelativePathModuleMultifolderNoOutdir.json index 46072879874..2acbea1cc8d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/sourceRootRelativePathModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/sourceRootRelativePathModuleMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/sourceRootRelativePathModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/sourceRootRelativePathModuleMultifolderNoOutdir.json index 46072879874..2acbea1cc8d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/sourceRootRelativePathModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/sourceRootRelativePathModuleMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.json index 4637b89f1c0..6603e36c281 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.json index 4637b89f1c0..6603e36c281 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json index b2a57c0e316..69a577baffd 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json index b2a57c0e316..69a577baffd 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/sourceRootRelativePathModuleSimpleNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/sourceRootRelativePathModuleSimpleNoOutdir.json index 233e03c02ad..f28c784480f 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/sourceRootRelativePathModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/sourceRootRelativePathModuleSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/sourceRootRelativePathModuleSimpleNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/sourceRootRelativePathModuleSimpleNoOutdir.json index 233e03c02ad..f28c784480f 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/sourceRootRelativePathModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/sourceRootRelativePathModuleSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.json index 3fabf096150..77fa77f5fb0 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.json index 3fabf096150..77fa77f5fb0 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json index c867f08a27b..a4a6698d3ca 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json index c867f08a27b..a4a6698d3ca 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/sourceRootRelativePathModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/sourceRootRelativePathModuleSubfolderNoOutdir.json index 841f8e17deb..8a3035f3632 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/sourceRootRelativePathModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/sourceRootRelativePathModuleSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/sourceRootRelativePathModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/sourceRootRelativePathModuleSubfolderNoOutdir.json index 841f8e17deb..8a3035f3632 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/sourceRootRelativePathModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/sourceRootRelativePathModuleSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.json index 83035951973..9f10fc5e7e0 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.json index 83035951973..9f10fc5e7e0 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json index 7336b1493f3..71896f202b2 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json index 7336b1493f3..71896f202b2 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/sourceRootRelativePathMultifolderNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/sourceRootRelativePathMultifolderNoOutdir.json index 41314d25efe..e7dfb0beff3 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/sourceRootRelativePathMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/sourceRootRelativePathMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/sourceRootRelativePathMultifolderNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/sourceRootRelativePathMultifolderNoOutdir.json index 41314d25efe..e7dfb0beff3 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/sourceRootRelativePathMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/sourceRootRelativePathMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathMultifolderSpecifyOutputDirectory.json index 56e89b292b3..bfb74003401 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathMultifolderSpecifyOutputDirectory.json index 56e89b292b3..bfb74003401 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/amd/sourceRootRelativePathMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/amd/sourceRootRelativePathMultifolderSpecifyOutputFile.json index 4251bd655c5..1f2e577b0b3 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/amd/sourceRootRelativePathMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/amd/sourceRootRelativePathMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/node/sourceRootRelativePathMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/node/sourceRootRelativePathMultifolderSpecifyOutputFile.json index 4251bd655c5..1f2e577b0b3 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/node/sourceRootRelativePathMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/node/sourceRootRelativePathMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/sourceRootRelativePathSimpleNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/sourceRootRelativePathSimpleNoOutdir.json index fc56bd98ee5..4d33e85e2ba 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/sourceRootRelativePathSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/sourceRootRelativePathSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/sourceRootRelativePathSimpleNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/sourceRootRelativePathSimpleNoOutdir.json index fc56bd98ee5..4d33e85e2ba 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/sourceRootRelativePathSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/sourceRootRelativePathSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathSimpleSpecifyOutputDirectory.json index a10f853c315..bf86309b59a 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/sourceRootRelativePathSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/sourceRootRelativePathSimpleSpecifyOutputDirectory.json index a10f853c315..bf86309b59a 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/sourceRootRelativePathSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/sourceRootRelativePathSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/amd/sourceRootRelativePathSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/amd/sourceRootRelativePathSimpleSpecifyOutputFile.json index 270b56acab5..4b371bf5924 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/amd/sourceRootRelativePathSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/amd/sourceRootRelativePathSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/node/sourceRootRelativePathSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/node/sourceRootRelativePathSimpleSpecifyOutputFile.json index 270b56acab5..4b371bf5924 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/node/sourceRootRelativePathSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/node/sourceRootRelativePathSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/amd/sourceRootRelativePathSingleFileNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/amd/sourceRootRelativePathSingleFileNoOutdir.json index 828e6492094..06a55d4a7cc 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/amd/sourceRootRelativePathSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/amd/sourceRootRelativePathSingleFileNoOutdir.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/node/sourceRootRelativePathSingleFileNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/node/sourceRootRelativePathSingleFileNoOutdir.json index 828e6492094..06a55d4a7cc 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/node/sourceRootRelativePathSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/node/sourceRootRelativePathSingleFileNoOutdir.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/amd/sourceRootRelativePathSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/amd/sourceRootRelativePathSingleFileSpecifyOutputDirectory.json index 5df4278d9d7..d87b6b22829 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/amd/sourceRootRelativePathSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/amd/sourceRootRelativePathSingleFileSpecifyOutputDirectory.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/node/sourceRootRelativePathSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/node/sourceRootRelativePathSingleFileSpecifyOutputDirectory.json index 5df4278d9d7..d87b6b22829 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/node/sourceRootRelativePathSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/node/sourceRootRelativePathSingleFileSpecifyOutputDirectory.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/amd/sourceRootRelativePathSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/amd/sourceRootRelativePathSingleFileSpecifyOutputFile.json index 9869ad50de5..c80db3f739c 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/amd/sourceRootRelativePathSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/amd/sourceRootRelativePathSingleFileSpecifyOutputFile.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/node/sourceRootRelativePathSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/node/sourceRootRelativePathSingleFileSpecifyOutputFile.json index 9869ad50de5..c80db3f739c 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/node/sourceRootRelativePathSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/node/sourceRootRelativePathSingleFileSpecifyOutputFile.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/sourceRootRelativePathSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/sourceRootRelativePathSubfolderNoOutdir.json index ffed58e93e1..ff189067e67 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/sourceRootRelativePathSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/sourceRootRelativePathSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/sourceRootRelativePathSubfolderNoOutdir.json b/tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/sourceRootRelativePathSubfolderNoOutdir.json index ffed58e93e1..ff189067e67 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/sourceRootRelativePathSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/sourceRootRelativePathSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathSubfolderSpecifyOutputDirectory.json index 4f273495fc1..8896f911a99 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathSubfolderSpecifyOutputDirectory.json index 4f273495fc1..8896f911a99 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/amd/sourceRootRelativePathSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/amd/sourceRootRelativePathSubfolderSpecifyOutputFile.json index d231d7bd8d4..ddcfbd2ff9c 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/amd/sourceRootRelativePathSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/amd/sourceRootRelativePathSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/node/sourceRootRelativePathSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/node/sourceRootRelativePathSubfolderSpecifyOutputFile.json index d231d7bd8d4..ddcfbd2ff9c 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/node/sourceRootRelativePathSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/node/sourceRootRelativePathSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/amd/sourceRootWithNoSourceMapOption.errors.txt b/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/amd/sourceRootWithNoSourceMapOption.errors.txt index 9fc5aa1bcb1..3816144f19c 100644 --- a/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/amd/sourceRootWithNoSourceMapOption.errors.txt +++ b/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/amd/sourceRootWithNoSourceMapOption.errors.txt @@ -1 +1,25 @@ Option sourceRoot cannot be specified without specifying sourcemap option. + + +!!! Option sourceRoot cannot be specified without specifying sourcemap option. +==== m1.ts (0 errors) ==== + var m1_a1 = 10; + class m1_c1 { + public m1_c1_p1: number; + } + + var m1_instance1 = new m1_c1(); + function m1_f1() { + return m1_instance1; + } +==== test.ts (0 errors) ==== + /// + var a1 = 10; + class c1 { + public p1: number; + } + + var instance1 = new c1(); + function f1() { + return instance1; + } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/amd/sourceRootWithNoSourceMapOption.json b/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/amd/sourceRootWithNoSourceMapOption.json index 427c074ca26..7cf066f15c4 100644 --- a/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/amd/sourceRootWithNoSourceMapOption.json +++ b/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/amd/sourceRootWithNoSourceMapOption.json @@ -6,9 +6,9 @@ ], "sourceRoot": "../src", "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/node/sourceRootWithNoSourceMapOption.errors.txt b/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/node/sourceRootWithNoSourceMapOption.errors.txt index 9fc5aa1bcb1..3816144f19c 100644 --- a/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/node/sourceRootWithNoSourceMapOption.errors.txt +++ b/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/node/sourceRootWithNoSourceMapOption.errors.txt @@ -1 +1,25 @@ Option sourceRoot cannot be specified without specifying sourcemap option. + + +!!! Option sourceRoot cannot be specified without specifying sourcemap option. +==== m1.ts (0 errors) ==== + var m1_a1 = 10; + class m1_c1 { + public m1_c1_p1: number; + } + + var m1_instance1 = new m1_c1(); + function m1_f1() { + return m1_instance1; + } +==== test.ts (0 errors) ==== + /// + var a1 = 10; + class c1 { + public p1: number; + } + + var instance1 = new c1(); + function f1() { + return instance1; + } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/node/sourceRootWithNoSourceMapOption.json b/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/node/sourceRootWithNoSourceMapOption.json index 427c074ca26..7cf066f15c4 100644 --- a/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/node/sourceRootWithNoSourceMapOption.json +++ b/tests/baselines/reference/project/sourceRootWithNoSourceMapOption/node/sourceRootWithNoSourceMapOption.json @@ -6,9 +6,9 @@ ], "sourceRoot": "../src", "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/sourcemapMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/sourcemapMixedSubfolderNoOutdir.json index b7f3a98e324..570d129ce2e 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/sourcemapMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/sourcemapMixedSubfolderNoOutdir.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/sourcemapMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/sourcemapMixedSubfolderNoOutdir.json index b7f3a98e324..570d129ce2e 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/sourcemapMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/sourcemapMixedSubfolderNoOutdir.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputDirectory.json index 2dd919e2e64..3d39d4b9bf2 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputDirectory.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputDirectory.json index 2dd919e2e64..3d39d4b9bf2 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputDirectory.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/sourcemapMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/sourcemapMixedSubfolderSpecifyOutputFile.json index 6b15ed58078..3270fe610aa 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/sourcemapMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/sourcemapMixedSubfolderSpecifyOutputFile.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/sourcemapMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/sourcemapMixedSubfolderSpecifyOutputFile.json index 6b15ed58078..3270fe610aa 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/sourcemapMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/sourcemapMixedSubfolderSpecifyOutputFile.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 4c044f4b10c..3a260af84a0 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index 4c044f4b10c..3a260af84a0 100644 --- a/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/sourcemapModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/sourcemapModuleMultifolderNoOutdir.json index 4a10056ed63..9dcc6a90da3 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/sourcemapModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/sourcemapModuleMultifolderNoOutdir.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/sourcemapModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/sourcemapModuleMultifolderNoOutdir.json index 4a10056ed63..9dcc6a90da3 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/sourcemapModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/sourcemapModuleMultifolderNoOutdir.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/sourcemapModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/sourcemapModuleMultifolderSpecifyOutputDirectory.json index 3f29686a3ac..b63faddd4c7 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/sourcemapModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/sourcemapModuleMultifolderSpecifyOutputDirectory.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/sourcemapModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/sourcemapModuleMultifolderSpecifyOutputDirectory.json index 3f29686a3ac..b63faddd4c7 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/sourcemapModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/sourcemapModuleMultifolderSpecifyOutputDirectory.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.json index 567b7a1e786..3d2df95ad66 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.json index 567b7a1e786..3d2df95ad66 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/sourcemapModuleSimpleNoOutdir.json b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/sourcemapModuleSimpleNoOutdir.json index bd688f16eb6..348605adb33 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/sourcemapModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/sourcemapModuleSimpleNoOutdir.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/sourcemapModuleSimpleNoOutdir.json b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/sourcemapModuleSimpleNoOutdir.json index bd688f16eb6..348605adb33 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/sourcemapModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/sourcemapModuleSimpleNoOutdir.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/sourcemapModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/sourcemapModuleSimpleSpecifyOutputDirectory.json index ec8c618947e..2316c35bde9 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/sourcemapModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/sourcemapModuleSimpleSpecifyOutputDirectory.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/sourcemapModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/sourcemapModuleSimpleSpecifyOutputDirectory.json index ec8c618947e..2316c35bde9 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/sourcemapModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/sourcemapModuleSimpleSpecifyOutputDirectory.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/sourcemapModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/sourcemapModuleSimpleSpecifyOutputFile.json index 9982ec93360..9ff29662d40 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/sourcemapModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/sourcemapModuleSimpleSpecifyOutputFile.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.json index 9982ec93360..9ff29662d40 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/sourcemapModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/sourcemapModuleSubfolderNoOutdir.json index a04d23e9d2d..49ebfda1567 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/sourcemapModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/sourcemapModuleSubfolderNoOutdir.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/sourcemapModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/sourcemapModuleSubfolderNoOutdir.json index a04d23e9d2d..49ebfda1567 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/sourcemapModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/sourcemapModuleSubfolderNoOutdir.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/sourcemapModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/sourcemapModuleSubfolderSpecifyOutputDirectory.json index c987c067175..391942643f5 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/sourcemapModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/sourcemapModuleSubfolderSpecifyOutputDirectory.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/sourcemapModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/sourcemapModuleSubfolderSpecifyOutputDirectory.json index c987c067175..391942643f5 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/sourcemapModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/sourcemapModuleSubfolderSpecifyOutputDirectory.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/sourcemapModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/sourcemapModuleSubfolderSpecifyOutputFile.json index c765d8a704d..9d200ef685d 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/sourcemapModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/sourcemapModuleSubfolderSpecifyOutputFile.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.json index c765d8a704d..9d200ef685d 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/sourcemapMultifolderNoOutdir.json b/tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/sourcemapMultifolderNoOutdir.json index 1b32429f5b5..3d4f5d74f44 100644 --- a/tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/sourcemapMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/sourcemapMultifolderNoOutdir.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/sourcemapMultifolderNoOutdir.json b/tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/sourcemapMultifolderNoOutdir.json index 1b32429f5b5..3d4f5d74f44 100644 --- a/tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/sourcemapMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/sourcemapMultifolderNoOutdir.json @@ -8,10 +8,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/sourcemapMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/sourcemapMultifolderSpecifyOutputDirectory.json index fea0549613f..1882477e518 100644 --- a/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/sourcemapMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/sourcemapMultifolderSpecifyOutputDirectory.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/sourcemapMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/sourcemapMultifolderSpecifyOutputDirectory.json index fea0549613f..1882477e518 100644 --- a/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/sourcemapMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/sourcemapMultifolderSpecifyOutputDirectory.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/amd/sourcemapMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/amd/sourcemapMultifolderSpecifyOutputFile.json index 67b351dbf5c..83c96776d4e 100644 --- a/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/amd/sourcemapMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/amd/sourcemapMultifolderSpecifyOutputFile.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/node/sourcemapMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/node/sourcemapMultifolderSpecifyOutputFile.json index 67b351dbf5c..83c96776d4e 100644 --- a/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/node/sourcemapMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/node/sourcemapMultifolderSpecifyOutputFile.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/sourcemapSimpleNoOutdir.json b/tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/sourcemapSimpleNoOutdir.json index 0d7ae28a899..ad8ebd06370 100644 --- a/tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/sourcemapSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/sourcemapSimpleNoOutdir.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/sourcemapSimpleNoOutdir.json b/tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/sourcemapSimpleNoOutdir.json index 0d7ae28a899..ad8ebd06370 100644 --- a/tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/sourcemapSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/sourcemapSimpleNoOutdir.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/sourcemapSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/sourcemapSimpleSpecifyOutputDirectory.json index c6ab0f21da2..8f78a5682d6 100644 --- a/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/sourcemapSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/sourcemapSimpleSpecifyOutputDirectory.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/sourcemapSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/sourcemapSimpleSpecifyOutputDirectory.json index c6ab0f21da2..8f78a5682d6 100644 --- a/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/sourcemapSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/sourcemapSimpleSpecifyOutputDirectory.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/amd/sourcemapSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/amd/sourcemapSimpleSpecifyOutputFile.json index 3bd0b02dac3..43e39c57faf 100644 --- a/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/amd/sourcemapSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/amd/sourcemapSimpleSpecifyOutputFile.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/node/sourcemapSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/node/sourcemapSimpleSpecifyOutputFile.json index 3bd0b02dac3..43e39c57faf 100644 --- a/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/node/sourcemapSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/node/sourcemapSimpleSpecifyOutputFile.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcemapSingleFileNoOutdir/amd/sourcemapSingleFileNoOutdir.json b/tests/baselines/reference/project/sourcemapSingleFileNoOutdir/amd/sourcemapSingleFileNoOutdir.json index 611577b1366..47617ac2166 100644 --- a/tests/baselines/reference/project/sourcemapSingleFileNoOutdir/amd/sourcemapSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapSingleFileNoOutdir/amd/sourcemapSingleFileNoOutdir.json @@ -8,8 +8,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/sourcemapSingleFileNoOutdir/node/sourcemapSingleFileNoOutdir.json b/tests/baselines/reference/project/sourcemapSingleFileNoOutdir/node/sourcemapSingleFileNoOutdir.json index 611577b1366..47617ac2166 100644 --- a/tests/baselines/reference/project/sourcemapSingleFileNoOutdir/node/sourcemapSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapSingleFileNoOutdir/node/sourcemapSingleFileNoOutdir.json @@ -8,8 +8,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/amd/sourcemapSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/amd/sourcemapSingleFileSpecifyOutputDirectory.json index 97fd606dd6b..d541a333f81 100644 --- a/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/amd/sourcemapSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/amd/sourcemapSingleFileSpecifyOutputDirectory.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/node/sourcemapSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/node/sourcemapSingleFileSpecifyOutputDirectory.json index 97fd606dd6b..d541a333f81 100644 --- a/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/node/sourcemapSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/node/sourcemapSingleFileSpecifyOutputDirectory.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/amd/sourcemapSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/amd/sourcemapSingleFileSpecifyOutputFile.json index d032c047394..2f14386bc5a 100644 --- a/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/amd/sourcemapSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/amd/sourcemapSingleFileSpecifyOutputFile.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/node/sourcemapSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/node/sourcemapSingleFileSpecifyOutputFile.json index d032c047394..2f14386bc5a 100644 --- a/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/node/sourcemapSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/node/sourcemapSingleFileSpecifyOutputFile.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/sourcemapSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/sourcemapSubfolderNoOutdir.json index ca46c684c68..2884f385bb5 100644 --- a/tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/sourcemapSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/sourcemapSubfolderNoOutdir.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/sourcemapSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/sourcemapSubfolderNoOutdir.json index ca46c684c68..2884f385bb5 100644 --- a/tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/sourcemapSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/sourcemapSubfolderNoOutdir.json @@ -8,9 +8,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/sourcemapSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/sourcemapSubfolderSpecifyOutputDirectory.json index 556e78b25ae..632d7118904 100644 --- a/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/sourcemapSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/sourcemapSubfolderSpecifyOutputDirectory.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/sourcemapSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/sourcemapSubfolderSpecifyOutputDirectory.json index 556e78b25ae..632d7118904 100644 --- a/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/sourcemapSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/sourcemapSubfolderSpecifyOutputDirectory.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/amd/sourcemapSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/amd/sourcemapSubfolderSpecifyOutputFile.json index ca647679879..13ef95f1052 100644 --- a/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/amd/sourcemapSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/amd/sourcemapSubfolderSpecifyOutputFile.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/node/sourcemapSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/node/sourcemapSubfolderSpecifyOutputFile.json index ca647679879..13ef95f1052 100644 --- a/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/node/sourcemapSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/node/sourcemapSubfolderSpecifyOutputFile.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/sourcerootUrlMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/sourcerootUrlMixedSubfolderNoOutdir.json index 535efaaf338..ef5cb2df633 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/sourcerootUrlMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/sourcerootUrlMixedSubfolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/sourcerootUrlMixedSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/sourcerootUrlMixedSubfolderNoOutdir.json index 535efaaf338..ef5cb2df633 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/sourcerootUrlMixedSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/sourcerootUrlMixedSubfolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.json index 3a4a85dfc1d..a46fe845710 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.json index 3a4a85dfc1d..a46fe845710 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/sourcerootUrlMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/sourcerootUrlMixedSubfolderSpecifyOutputFile.json index 38a554a4f16..50a4518a1b0 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/sourcerootUrlMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/sourcerootUrlMixedSubfolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/sourcerootUrlMixedSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/sourcerootUrlMixedSubfolderSpecifyOutputFile.json index 38a554a4f16..50a4518a1b0 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/sourcerootUrlMixedSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/sourcerootUrlMixedSubfolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index de2bb0c94b8..b6ef6b5bd51 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json index de2bb0c94b8..b6ef6b5bd51 100644 --- a/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json @@ -11,10 +11,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/outAndOutDirFolder/ref/m2.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/sourcerootUrlModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/sourcerootUrlModuleMultifolderNoOutdir.json index ea1d9fb4616..c2594c0093c 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/sourcerootUrlModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/sourcerootUrlModuleMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/sourcerootUrlModuleMultifolderNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/sourcerootUrlModuleMultifolderNoOutdir.json index ea1d9fb4616..c2594c0093c 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/sourcerootUrlModuleMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/sourcerootUrlModuleMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.json index da0435180fa..d2c6956bf80 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.json index da0435180fa..d2c6956bf80 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_module_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.json index 53b5c2cb219..cc2a6c9b1aa 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.json index 53b5c2cb219..cc2a6c9b1aa 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_module_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts index 6a5ff1574cf..4afd4e69f2d 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,5 @@ +import m1 = require("ref/m1"); +import m2 = require("../outputdir_module_multifolder_ref/m2"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/sourcerootUrlModuleSimpleNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/sourcerootUrlModuleSimpleNoOutdir.json index 84ed0deab9e..4a7cc668a6a 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/sourcerootUrlModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/sourcerootUrlModuleSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/sourcerootUrlModuleSimpleNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/sourcerootUrlModuleSimpleNoOutdir.json index 84ed0deab9e..4a7cc668a6a 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/sourcerootUrlModuleSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/sourcerootUrlModuleSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/sourcerootUrlModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/sourcerootUrlModuleSimpleSpecifyOutputDirectory.json index 4ed540f416f..6766f67eab0 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/sourcerootUrlModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/sourcerootUrlModuleSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/sourcerootUrlModuleSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/sourcerootUrlModuleSimpleSpecifyOutputDirectory.json index 4ed540f416f..6766f67eab0 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/sourcerootUrlModuleSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/sourcerootUrlModuleSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/sourcerootUrlModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/sourcerootUrlModuleSimpleSpecifyOutputFile.json index 01d06957298..5419c5a8225 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/sourcerootUrlModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/sourcerootUrlModuleSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.json index 01d06957298..5419c5a8225 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts index 8535f388ae7..250d2615a79 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/sourcerootUrlModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/sourcerootUrlModuleSubfolderNoOutdir.json index 2dd5114c63e..d7f99610bab 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/sourcerootUrlModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/sourcerootUrlModuleSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/sourcerootUrlModuleSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/sourcerootUrlModuleSubfolderNoOutdir.json index 2dd5114c63e..d7f99610bab 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/sourcerootUrlModuleSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/sourcerootUrlModuleSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.json index be3e6d5c38c..1e722cb852e 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.json index be3e6d5c38c..1e722cb852e 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/sourcerootUrlModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/sourcerootUrlModuleSubfolderSpecifyOutputFile.json index 4dda0858377..d80dacb3444 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/sourcerootUrlModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/sourcerootUrlModuleSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.json index 4dda0858377..d80dacb3444 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts index 8535f388ae7..a61d8541048 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts @@ -1,3 +1,4 @@ +import m1 = require("ref/m1"); export declare var a1: number; export declare class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/sourcerootUrlMultifolderNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/sourcerootUrlMultifolderNoOutdir.json index 8df6436f2d6..a68d507bdf3 100644 --- a/tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/sourcerootUrlMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/sourcerootUrlMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/sourcerootUrlMultifolderNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/sourcerootUrlMultifolderNoOutdir.json index 8df6436f2d6..a68d507bdf3 100644 --- a/tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/sourcerootUrlMultifolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/sourcerootUrlMultifolderNoOutdir.json @@ -9,10 +9,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/sourcerootUrlMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/sourcerootUrlMultifolderSpecifyOutputDirectory.json index 07f5c5548c5..1641625569c 100644 --- a/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/sourcerootUrlMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/sourcerootUrlMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/sourcerootUrlMultifolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/sourcerootUrlMultifolderSpecifyOutputDirectory.json index 07f5c5548c5..1641625569c 100644 --- a/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/sourcerootUrlMultifolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/sourcerootUrlMultifolderSpecifyOutputDirectory.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/outputdir_multifolder/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/amd/sourcerootUrlMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/amd/sourcerootUrlMultifolderSpecifyOutputFile.json index 314069f83fb..085ef5e8f19 100644 --- a/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/amd/sourcerootUrlMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/amd/sourcerootUrlMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/node/sourcerootUrlMultifolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/node/sourcerootUrlMultifolderSpecifyOutputFile.json index 314069f83fb..085ef5e8f19 100644 --- a/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/node/sourcerootUrlMultifolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/node/sourcerootUrlMultifolderSpecifyOutputFile.json @@ -10,10 +10,10 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", "../outputdir_multifolder_ref/m2.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/sourcerootUrlSimpleNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/sourcerootUrlSimpleNoOutdir.json index 38dc6f36854..9df1fd3922e 100644 --- a/tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/sourcerootUrlSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/sourcerootUrlSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/sourcerootUrlSimpleNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/sourcerootUrlSimpleNoOutdir.json index 38dc6f36854..9df1fd3922e 100644 --- a/tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/sourcerootUrlSimpleNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/sourcerootUrlSimpleNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/sourcerootUrlSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/sourcerootUrlSimpleSpecifyOutputDirectory.json index 4dec5466b57..1a472ca17ee 100644 --- a/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/sourcerootUrlSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/sourcerootUrlSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/sourcerootUrlSimpleSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/sourcerootUrlSimpleSpecifyOutputDirectory.json index 4dec5466b57..1a472ca17ee 100644 --- a/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/sourcerootUrlSimpleSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/sourcerootUrlSimpleSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/amd/sourcerootUrlSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/amd/sourcerootUrlSimpleSpecifyOutputFile.json index ccc633991ca..98a2dea2484 100644 --- a/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/amd/sourcerootUrlSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/amd/sourcerootUrlSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/node/sourcerootUrlSimpleSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/node/sourcerootUrlSimpleSpecifyOutputFile.json index ccc633991ca..98a2dea2484 100644 --- a/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/node/sourcerootUrlSimpleSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/node/sourcerootUrlSimpleSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/amd/sourcerootUrlSingleFileNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/amd/sourcerootUrlSingleFileNoOutdir.json index c6ffec7a0de..dbef889efec 100644 --- a/tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/amd/sourcerootUrlSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/amd/sourcerootUrlSingleFileNoOutdir.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/node/sourcerootUrlSingleFileNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/node/sourcerootUrlSingleFileNoOutdir.json index c6ffec7a0de..dbef889efec 100644 --- a/tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/node/sourcerootUrlSingleFileNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/node/sourcerootUrlSingleFileNoOutdir.json @@ -9,8 +9,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/amd/sourcerootUrlSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/amd/sourcerootUrlSingleFileSpecifyOutputDirectory.json index 8d96cfb6729..afc78006729 100644 --- a/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/amd/sourcerootUrlSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/amd/sourcerootUrlSingleFileSpecifyOutputDirectory.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/node/sourcerootUrlSingleFileSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/node/sourcerootUrlSingleFileSpecifyOutputDirectory.json index 8d96cfb6729..afc78006729 100644 --- a/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/node/sourcerootUrlSingleFileSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/node/sourcerootUrlSingleFileSpecifyOutputDirectory.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "outdir/simple/test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/amd/sourcerootUrlSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/amd/sourcerootUrlSingleFileSpecifyOutputFile.json index 30ed2151ff1..53e86654ad1 100644 --- a/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/amd/sourcerootUrlSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/amd/sourcerootUrlSingleFileSpecifyOutputFile.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/node/sourcerootUrlSingleFileSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/node/sourcerootUrlSingleFileSpecifyOutputFile.json index 30ed2151ff1..53e86654ad1 100644 --- a/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/node/sourcerootUrlSingleFileSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/node/sourcerootUrlSingleFileSpecifyOutputFile.json @@ -10,8 +10,8 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", - "lib.d.ts" + "lib.d.ts", + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/sourcerootUrlSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/sourcerootUrlSubfolderNoOutdir.json index aedbf848742..77912e79790 100644 --- a/tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/sourcerootUrlSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/sourcerootUrlSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/sourcerootUrlSubfolderNoOutdir.json b/tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/sourcerootUrlSubfolderNoOutdir.json index aedbf848742..77912e79790 100644 --- a/tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/sourcerootUrlSubfolderNoOutdir.json +++ b/tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/sourcerootUrlSubfolderNoOutdir.json @@ -9,9 +9,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/sourcerootUrlSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/sourcerootUrlSubfolderSpecifyOutputDirectory.json index 1ac6f60f7d5..362af3ded05 100644 --- a/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/sourcerootUrlSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/sourcerootUrlSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/sourcerootUrlSubfolderSpecifyOutputDirectory.json b/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/sourcerootUrlSubfolderSpecifyOutputDirectory.json index 1ac6f60f7d5..362af3ded05 100644 --- a/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/sourcerootUrlSubfolderSpecifyOutputDirectory.json +++ b/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/sourcerootUrlSubfolderSpecifyOutputDirectory.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "outdir/simple/ref/m1.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/amd/sourcerootUrlSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/amd/sourcerootUrlSubfolderSpecifyOutputFile.json index 29d344a4801..7c4bb20e942 100644 --- a/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/amd/sourcerootUrlSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/amd/sourcerootUrlSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/node/sourcerootUrlSubfolderSpecifyOutputFile.json b/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/node/sourcerootUrlSubfolderSpecifyOutputFile.json index 29d344a4801..7c4bb20e942 100644 --- a/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/node/sourcerootUrlSubfolderSpecifyOutputFile.json +++ b/tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/node/sourcerootUrlSubfolderSpecifyOutputFile.json @@ -10,9 +10,9 @@ "declaration": true, "baselineCheck": true, "resolvedInputFiles": [ - "test.ts", + "lib.d.ts", "ref/m1.ts", - "lib.d.ts" + "test.ts" ], "emittedFiles": [ "bin/test.js.map", diff --git a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/amd/visibilityOfTypeUsedAcrossModules.json b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/amd/visibilityOfTypeUsedAcrossModules.json index 5181dc783c0..f59122e9b21 100644 --- a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/amd/visibilityOfTypeUsedAcrossModules.json +++ b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/amd/visibilityOfTypeUsedAcrossModules.json @@ -6,10 +6,10 @@ ], "baselineCheck": true, "resolvedInputFiles": [ - "commands.ts", + "lib.d.ts", "fs.ts", "server.ts", - "lib.d.ts" + "commands.ts" ], "emittedFiles": [ "fs.js", diff --git a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/node/visibilityOfTypeUsedAcrossModules.json b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/node/visibilityOfTypeUsedAcrossModules.json index 5181dc783c0..f59122e9b21 100644 --- a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/node/visibilityOfTypeUsedAcrossModules.json +++ b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/node/visibilityOfTypeUsedAcrossModules.json @@ -6,10 +6,10 @@ ], "baselineCheck": true, "resolvedInputFiles": [ - "commands.ts", + "lib.d.ts", "fs.ts", "server.ts", - "lib.d.ts" + "commands.ts" ], "emittedFiles": [ "fs.js", diff --git a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/amd/visibilityOfTypeUsedAcrossModules2.errors.txt b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/amd/visibilityOfTypeUsedAcrossModules2.errors.txt index 3883050bdca..147a949d968 100644 --- a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/amd/visibilityOfTypeUsedAcrossModules2.errors.txt +++ b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/amd/visibilityOfTypeUsedAcrossModules2.errors.txt @@ -1,2 +1,12 @@ main.ts(2,1): File 'nonExistingFile1.ts' not found. main.ts(3,1): File 'nonExistingFile2.ts' not found. + + +==== main.ts (2 errors) ==== + /// + /// + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! File 'nonExistingFile1.ts' not found. + /// + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! File 'nonExistingFile2.ts' not found. \ No newline at end of file diff --git a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/amd/visibilityOfTypeUsedAcrossModules2.json b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/amd/visibilityOfTypeUsedAcrossModules2.json index 51547244570..5fb6100024f 100644 --- a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/amd/visibilityOfTypeUsedAcrossModules2.json +++ b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/amd/visibilityOfTypeUsedAcrossModules2.json @@ -5,8 +5,8 @@ "main.ts" ], "resolvedInputFiles": [ - "main.ts", - "lib.d.ts" + "lib.d.ts", + "main.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/node/visibilityOfTypeUsedAcrossModules2.errors.txt b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/node/visibilityOfTypeUsedAcrossModules2.errors.txt index 3883050bdca..147a949d968 100644 --- a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/node/visibilityOfTypeUsedAcrossModules2.errors.txt +++ b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/node/visibilityOfTypeUsedAcrossModules2.errors.txt @@ -1,2 +1,12 @@ main.ts(2,1): File 'nonExistingFile1.ts' not found. main.ts(3,1): File 'nonExistingFile2.ts' not found. + + +==== main.ts (2 errors) ==== + /// + /// + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! File 'nonExistingFile1.ts' not found. + /// + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! File 'nonExistingFile2.ts' not found. \ No newline at end of file diff --git a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/node/visibilityOfTypeUsedAcrossModules2.json b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/node/visibilityOfTypeUsedAcrossModules2.json index 51547244570..5fb6100024f 100644 --- a/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/node/visibilityOfTypeUsedAcrossModules2.json +++ b/tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/node/visibilityOfTypeUsedAcrossModules2.json @@ -5,8 +5,8 @@ "main.ts" ], "resolvedInputFiles": [ - "main.ts", - "lib.d.ts" + "lib.d.ts", + "main.ts" ], "emittedFiles": [] } \ No newline at end of file diff --git a/tests/baselines/reference/qualify.errors.txt b/tests/baselines/reference/qualify.errors.txt index 4cd1368dc0e..c957822849a 100644 --- a/tests/baselines/reference/qualify.errors.txt +++ b/tests/baselines/reference/qualify.errors.txt @@ -56,7 +56,7 @@ var v3:K1.I3[]=v1; ~~ !!! Type 'I4' is not assignable to type 'I3[]': -!!! Property 'concat' is missing in type 'I4'. +!!! Property 'length' is missing in type 'I4'. var v4:()=>K1.I3=v1; ~~ !!! Type 'I4' is not assignable to type '() => I3'. diff --git a/tests/baselines/reference/restArgAssignmentCompat.errors.txt b/tests/baselines/reference/restArgAssignmentCompat.errors.txt index f97fc724134..66723128a2d 100644 --- a/tests/baselines/reference/restArgAssignmentCompat.errors.txt +++ b/tests/baselines/reference/restArgAssignmentCompat.errors.txt @@ -10,6 +10,6 @@ !!! Type '(...x: number[]) => void' is not assignable to type '(x: number[], y: string) => void': !!! Types of parameters 'x' and 'x' are incompatible: !!! Type 'number' is not assignable to type 'number[]': -!!! Property 'concat' is missing in type 'Number'. +!!! Property 'length' is missing in type 'Number'. n([4], 'foo'); \ No newline at end of file diff --git a/tests/baselines/reference/typeName1.errors.txt b/tests/baselines/reference/typeName1.errors.txt index ac729f4724a..9c2b8c3797f 100644 --- a/tests/baselines/reference/typeName1.errors.txt +++ b/tests/baselines/reference/typeName1.errors.txt @@ -46,15 +46,15 @@ var x10:I[][][][]=3; ~~~ !!! Type 'number' is not assignable to type 'I[][][][]': -!!! Property 'concat' is missing in type 'Number'. +!!! Property 'length' is missing in type 'Number'. var x11:{z:I;x:boolean;}[][]=3; ~~~ !!! Type 'number' is not assignable to type '{ z: I; x: boolean; }[][]': -!!! Property 'concat' is missing in type 'Number'. +!!! Property 'length' is missing in type 'Number'. var x12:{z:I;x:boolean;y:(s:string)=>boolean;w:{ z:I;[s:string]:{ x; y; };[n:number]:{x; y;};():boolean; };}[][]=3; ~~~ !!! Type 'number' is not assignable to type '{ z: I; x: boolean; y: (s: string) => boolean; w: { (): boolean; [x: string]: { x: any; y: any; }; [x: number]: { x: any; y: any; }; z: I; }; }[][]': -!!! Property 'concat' is missing in type 'Number'. +!!! Property 'length' is missing in type 'Number'. ~~~~ !!! Property 'z' of type 'I' is not assignable to string index type '{ x: any; y: any; }'. var x13:{ new(): number; new(n:number):number; x: string; w: {y: number;}; (): {}; } = 3; diff --git a/tests/baselines/reference/unusedImportDeclaration.js b/tests/baselines/reference/unusedImportDeclaration.js index 1faff01d197..54885f09e36 100644 --- a/tests/baselines/reference/unusedImportDeclaration.js +++ b/tests/baselines/reference/unusedImportDeclaration.js @@ -27,3 +27,11 @@ var thingy = { me: "A" }; foo("IN " + thingy.me + "!"); + + +//// [unusedImportDeclaration_testerB.d.ts] +declare class TesterB { + me: string; +} +export = TesterB; +//// [unusedImportDeclaration_testerA.d.ts] diff --git a/tests/cases/compiler/aliasInaccessibleModule.ts b/tests/cases/compiler/aliasInaccessibleModule.ts index f1037fb7652..91f36d9d118 100644 --- a/tests/cases/compiler/aliasInaccessibleModule.ts +++ b/tests/cases/compiler/aliasInaccessibleModule.ts @@ -1,3 +1,4 @@ +// @declaration: true module M { module N { } diff --git a/tests/cases/compiler/aliasInaccessibleModule2.ts b/tests/cases/compiler/aliasInaccessibleModule2.ts index 7932d775d27..d970db79538 100644 --- a/tests/cases/compiler/aliasInaccessibleModule2.ts +++ b/tests/cases/compiler/aliasInaccessibleModule2.ts @@ -1,3 +1,4 @@ +// @declaration: true module M { module N { class C { diff --git a/tests/cases/compiler/aliasUsageInAccessorsOfClass.ts b/tests/cases/compiler/aliasUsageInAccessorsOfClass.ts index fc86451358a..2aeddbad947 100644 --- a/tests/cases/compiler/aliasUsageInAccessorsOfClass.ts +++ b/tests/cases/compiler/aliasUsageInAccessorsOfClass.ts @@ -1,4 +1,5 @@ //@module: commonjs +// @target: ES5 // @Filename: aliasUsage1_backbone.ts export class Model { public someData: string; diff --git a/tests/cases/compiler/cyclicModuleImport.ts b/tests/cases/compiler/cyclicModuleImport.ts index 88cb378c9c9..1a17860805e 100644 --- a/tests/cases/compiler/cyclicModuleImport.ts +++ b/tests/cases/compiler/cyclicModuleImport.ts @@ -1,3 +1,4 @@ +// @declaration: true declare module "SubModule" { import MainModule = require('MainModule'); class SubModule { diff --git a/tests/cases/compiler/declFileImportChainInExportAssignment.ts b/tests/cases/compiler/declFileImportChainInExportAssignment.ts new file mode 100644 index 00000000000..da18e81a6c6 --- /dev/null +++ b/tests/cases/compiler/declFileImportChainInExportAssignment.ts @@ -0,0 +1,11 @@ +// @declaration: true +// @module: commonjs +module m { + export module c { + export class c { + } + } +} +import a = m.c; +import b = a; +export = b; \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmit_nameConflicts.ts b/tests/cases/compiler/declarationEmit_nameConflicts.ts index 49218d2ef1e..66eb732ddae 100644 --- a/tests/cases/compiler/declarationEmit_nameConflicts.ts +++ b/tests/cases/compiler/declarationEmit_nameConflicts.ts @@ -28,7 +28,6 @@ export module M.P { export interface I { } } export import im = M.P.f; - // Bug 887180: Invalid .d.ts when an aliased entity is referenced, and a different entity is closer in scope export var a = M.a; // emitted incorrectly as typeof f export var b = M.b; // ok export var c = M.c; // ok diff --git a/tests/cases/compiler/declarationEmit_nameConflicts2.ts b/tests/cases/compiler/declarationEmit_nameConflicts2.ts index d7dd5134e96..f0112fa9501 100644 --- a/tests/cases/compiler/declarationEmit_nameConflicts2.ts +++ b/tests/cases/compiler/declarationEmit_nameConflicts2.ts @@ -9,7 +9,6 @@ module X.Y.base { } module X.Y.base.Z { - // Bug 887180 export var f = X.Y.base.f; // Should be base.f export var C = X.Y.base.C; // Should be base.C export var M = X.Y.base.M; // Should be base.M diff --git a/tests/cases/compiler/declarationEmit_nameConflicts3.ts b/tests/cases/compiler/declarationEmit_nameConflicts3.ts index b854841b4b4..6edc1056fa2 100644 --- a/tests/cases/compiler/declarationEmit_nameConflicts3.ts +++ b/tests/cases/compiler/declarationEmit_nameConflicts3.ts @@ -21,7 +21,6 @@ module M.P { export enum D { f } - // Bug 887180 export var v: M.D; // ok export var w = M.D.f; // error, should be typeof M.D.f export var x = M.C.f; // error, should be typeof M.C.f diff --git a/tests/cases/compiler/declarationEmit_nameConflictsWithAlias.ts b/tests/cases/compiler/declarationEmit_nameConflictsWithAlias.ts index 87cdca3fd41..50fc2484a4a 100644 --- a/tests/cases/compiler/declarationEmit_nameConflictsWithAlias.ts +++ b/tests/cases/compiler/declarationEmit_nameConflictsWithAlias.ts @@ -1,6 +1,5 @@ // @declaration: true // @module: commonjs -// Bug 887180 export module C { export interface I { } } export import v = C; export module M { diff --git a/tests/cases/compiler/importDecl.ts b/tests/cases/compiler/importDecl.ts index 9efbc50f0b2..c28b332eb43 100644 --- a/tests/cases/compiler/importDecl.ts +++ b/tests/cases/compiler/importDecl.ts @@ -55,7 +55,6 @@ export module m1 { //Emit global only usage import glo_m4 = require("importDecl_require1"); -export var useGlo_m4_x4 = glo_m4.x; export var useGlo_m4_d4 = glo_m4.d; export var useGlo_m4_f4 = glo_m4.foo(); diff --git a/tests/cases/compiler/internalAliasWithDottedNameEmit.ts b/tests/cases/compiler/internalAliasWithDottedNameEmit.ts index a906259715c..23192257125 100644 --- a/tests/cases/compiler/internalAliasWithDottedNameEmit.ts +++ b/tests/cases/compiler/internalAliasWithDottedNameEmit.ts @@ -1,3 +1,4 @@ +// @declaration: true module a.b.c { export var d; } diff --git a/tests/cases/compiler/multiImportExport.ts b/tests/cases/compiler/multiImportExport.ts index 33f0f5eb17f..939a6e1061e 100644 --- a/tests/cases/compiler/multiImportExport.ts +++ b/tests/cases/compiler/multiImportExport.ts @@ -1,3 +1,5 @@ +// @module: commonjs +// @declaration: true // @Filename: consumer.ts import Drawing = require('./Drawing'); var addr = new Drawing.Math.Adder(); diff --git a/tests/cases/compiler/privacyAccessorDeclFile.ts b/tests/cases/compiler/privacyAccessorDeclFile.ts new file mode 100644 index 00000000000..25d590c0d37 --- /dev/null +++ b/tests/cases/compiler/privacyAccessorDeclFile.ts @@ -0,0 +1,1061 @@ +// @target: ES5 +// @module: commonjs +// @declaration: true + +// @Filename:privacyAccessorDeclFile_externalModule.ts +class privateClass { +} + +export class publicClass { +} + +export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { // Error + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { // Error + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { // Error + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } +} + +export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } +} + +class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } +} + +class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } +} + +export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { // Error + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { // Error + } + private set myPrivateMethod(param: privateClass) { + } +} + +export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } +} + +class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } +} + +class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } +} + +export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + get myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + get myPublicMethod1() { // Error + return new privateModule.publicClass(); + } +} + +export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + set myPublicMethod(param: privateModule.publicClass) { // Error + } +} + +class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } +} + +class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } +} + +export module publicModule { + class privateClass { + } + + export class publicClass { + } + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { // Error + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { // Error + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { // Error + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { // Error + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { // Error + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + get myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + get myPublicMethod1() { // Error + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + set myPublicMethod(param: privateModule.publicClass) { // Error + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } +} + +module privateModule { + class privateClass { + } + + export class publicClass { + } + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } +} + +// @Filename: privacyAccessorDeclFile_GlobalFile.ts +class publicClassInGlobal { +} + +class publicClassInGlobalWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClassInGlobal { + return null; + } + private static get myPrivateStaticMethod(): publicClassInGlobal { + return null; + } + get myPublicMethod(): publicClassInGlobal { + return null; + } + private get myPrivateMethod(): publicClassInGlobal { + return null; + } + static get myPublicStaticMethod1() { + return new publicClassInGlobal(); + } + private static get myPrivateStaticMethod1() { + return new publicClassInGlobal(); + } + get myPublicMethod1() { + return new publicClassInGlobal(); + } + private get myPrivateMethod1() { + return new publicClassInGlobal(); + } +} + +class publicClassInGlobalWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClassInGlobal) { + } + private static set myPrivateStaticMethod(param: publicClassInGlobal) { + } + set myPublicMethod(param: publicClassInGlobal) { + } + private set myPrivateMethod(param: publicClassInGlobal) { + } +} + +module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } + } + + export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { // Error + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { // Error + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { // Error + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod(): privateClass { + return null; + } + private static get myPrivateStaticMethod(): privateClass { + return null; + } + get myPublicMethod(): privateClass { + return null; + } + private get myPrivateMethod(): privateClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateClass(); + } + private static get myPrivateStaticMethod1() { + return new privateClass(); + } + get myPublicMethod1() { + return new privateClass(); + } + private get myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicGetAccessorTypes { + static get myPublicStaticMethod(): publicClass { + return null; + } + private static get myPrivateStaticMethod(): publicClass { + return null; + } + get myPublicMethod(): publicClass { + return null; + } + private get myPrivateMethod(): publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new publicClass(); + } + private static get myPrivateStaticMethod1() { + return new publicClass(); + } + get myPublicMethod1() { + return new publicClass(); + } + private get myPrivateMethod1() { + return new publicClass(); + } + } + + export class publicClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { // Error + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { // Error + } + private set myPrivateMethod(param: privateClass) { + } + } + + export class publicClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + class privateClassWithWithPrivateSetAccessorTypes { + static set myPublicStaticMethod(param: privateClass) { + } + private static set myPrivateStaticMethod(param: privateClass) { + } + set myPublicMethod(param: privateClass) { + } + private set myPrivateMethod(param: privateClass) { + } + } + + class privateClassWithWithPublicSetAccessorTypes { + static set myPublicStaticMethod(param: publicClass) { + } + private static set myPrivateStaticMethod(param: publicClass) { + } + set myPublicMethod(param: publicClass) { + } + private set myPrivateMethod(param: publicClass) { + } + } + + export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + get myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static get myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + get myPublicMethod1() { // Error + return new privateModule.publicClass(); + } + } + + export class publicClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + set myPublicMethod(param: privateModule.publicClass) { // Error + } + } + + class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod(): privateModule.publicClass { + return null; + } + get myPublicMethod(): privateModule.publicClass { + return null; + } + static get myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + get myPublicMethod1() { + return new privateModule.publicClass(); + } + } + + class privateClassWithPrivateModuleSetAccessorTypes { + static set myPublicStaticMethod(param: privateModule.publicClass) { + } + set myPublicMethod(param: privateModule.publicClass) { + } + } +} \ No newline at end of file diff --git a/tests/cases/compiler/privacyCannotNameAccessorDeclFile.ts b/tests/cases/compiler/privacyCannotNameAccessorDeclFile.ts new file mode 100644 index 00000000000..1150cf963bf --- /dev/null +++ b/tests/cases/compiler/privacyCannotNameAccessorDeclFile.ts @@ -0,0 +1,138 @@ +// @target: ES5 +// @module: commonjs +// @declaration: true + +// @Filename: privacyCannotNameAccessorDeclFile_GlobalWidgets.ts +declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} + +// @Filename: privacyCannotNameAccessorDeclFile_Widgets.ts +export class Widget1 { + name = 'one'; +} +export function createWidget1() { + return new Widget1(); +} + +export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } +} + +// @Filename:privacyCannotNameAccessorDeclFile_exporter.ts +/// +import Widgets = require("privacyCannotNameAccessorDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export function createExportedWidget1() { + return Widgets.createWidget1(); +} +export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +export function createExportedWidget3() { + return Widgets1.createWidget3(); +} +export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} + +// @Filename:privacyCannotNameAccessorDeclFile_consumer.ts +import exporter = require("privacyCannotNameAccessorDeclFile_exporter"); +export class publicClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod() { // Error + return exporter.createExportedWidget1(); + } + private static get myPrivateStaticMethod() { + return exporter.createExportedWidget1(); + } + get myPublicMethod() { // Error + return exporter.createExportedWidget1(); + } + private get myPrivateMethod() { + return exporter.createExportedWidget1(); + } + static get myPublicStaticMethod1() { // Error + return exporter.createExportedWidget3(); + } + private static get myPrivateStaticMethod1() { + return exporter.createExportedWidget3(); + } + get myPublicMethod1() { // Error + return exporter.createExportedWidget3(); + } + private get myPrivateMethod1() { + return exporter.createExportedWidget3(); + } +} + +class privateClassWithWithPrivateGetAccessorTypes { + static get myPublicStaticMethod() { + return exporter.createExportedWidget1(); + } + private static get myPrivateStaticMethod() { + return exporter.createExportedWidget1(); + } + get myPublicMethod() { + return exporter.createExportedWidget1(); + } + private get myPrivateMethod() { + return exporter.createExportedWidget1(); + } + static get myPublicStaticMethod1() { + return exporter.createExportedWidget3(); + } + private static get myPrivateStaticMethod1() { + return exporter.createExportedWidget3(); + } + get myPublicMethod1() { + return exporter.createExportedWidget3(); + } + private get myPrivateMethod1() { + return exporter.createExportedWidget3(); + } +} + +export class publicClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod() { // Error + return exporter.createExportedWidget2(); + } + get myPublicMethod() { // Error + return exporter.createExportedWidget2(); + } + static get myPublicStaticMethod1() { // Error + return exporter.createExportedWidget4(); + } + get myPublicMethod1() { // Error + return exporter.createExportedWidget4(); + } +} + +class privateClassWithPrivateModuleGetAccessorTypes { + static get myPublicStaticMethod() { + return exporter.createExportedWidget2(); + } + get myPublicMethod() { + return exporter.createExportedWidget2(); + } + static get myPublicStaticMethod1() { + return exporter.createExportedWidget4(); + } + get myPublicMethod1() { + return exporter.createExportedWidget4(); + } +} \ No newline at end of file diff --git a/tests/cases/compiler/privacyCannotNameVarTypeDeclFile.ts b/tests/cases/compiler/privacyCannotNameVarTypeDeclFile.ts new file mode 100644 index 00000000000..e49d31946c6 --- /dev/null +++ b/tests/cases/compiler/privacyCannotNameVarTypeDeclFile.ts @@ -0,0 +1,101 @@ +// @module: commonjs +// @declaration: true + + +// @Filename: privacyCannotNameVarTypeDeclFile_GlobalWidgets.ts +declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} + +// @Filename: privacyCannotNameVarTypeDeclFile_Widgets.ts +export class Widget1 { + name = 'one'; +} +export function createWidget1() { + return new Widget1(); +} + +export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } +} + +// @Filename:privacyCannotNameVarTypeDeclFile_exporter.ts +/// +import Widgets = require("privacyCannotNameVarTypeDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export function createExportedWidget1() { + return Widgets.createWidget1(); +} +export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +export function createExportedWidget3() { + return Widgets1.createWidget3(); +} +export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} + +// @Filename:privacyCannotNameVarTypeDeclFile_consumer.ts +import exporter = require("privacyCannotNameVarTypeDeclFile_exporter"); +export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty = exporter.createExportedWidget1(); // Error + private static myPrivateStaticProperty = exporter.createExportedWidget1(); + myPublicProperty = exporter.createExportedWidget1(); // Error + private myPrivateProperty = exporter.createExportedWidget1(); + + static myPublicStaticProperty1 = exporter.createExportedWidget3(); // Error + private static myPrivateStaticProperty1 = exporter.createExportedWidget3(); + myPublicProperty1 = exporter.createExportedWidget3(); // Error + private myPrivateProperty1 = exporter.createExportedWidget3(); +} + +class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty = exporter.createExportedWidget1(); + private static myPrivateStaticProperty = exporter.createExportedWidget1(); + myPublicProperty = exporter.createExportedWidget1(); + private myPrivateProperty = exporter.createExportedWidget1(); + + static myPublicStaticProperty1 = exporter.createExportedWidget3(); + private static myPrivateStaticProperty1 = exporter.createExportedWidget3(); + myPublicProperty1 = exporter.createExportedWidget3(); + private myPrivateProperty1 = exporter.createExportedWidget3(); +} + +export var publicVarWithPrivatePropertyTypes= exporter.createExportedWidget1(); // Error +var privateVarWithPrivatePropertyTypes= exporter.createExportedWidget1(); +export var publicVarWithPrivatePropertyTypes1 = exporter.createExportedWidget3(); // Error +var privateVarWithPrivatePropertyTypes1 = exporter.createExportedWidget3(); + +export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty= exporter.createExportedWidget2(); // Error + myPublicProperty = exporter.createExportedWidget2(); // Error + static myPublicStaticProperty1 = exporter.createExportedWidget4(); // Error + myPublicProperty1 = exporter.createExportedWidget4(); // Error +} +export var publicVarWithPrivateModulePropertyTypes= exporter.createExportedWidget2(); // Error +export var publicVarWithPrivateModulePropertyTypes1 = exporter.createExportedWidget4(); // Error + +class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty= exporter.createExportedWidget2(); + myPublicProperty= exporter.createExportedWidget2(); + static myPublicStaticProperty1 = exporter.createExportedWidget4(); + myPublicProperty1 = exporter.createExportedWidget4(); +} +var privateVarWithPrivateModulePropertyTypes= exporter.createExportedWidget2(); +var privateVarWithPrivateModulePropertyTypes1 = exporter.createExportedWidget4(); \ No newline at end of file diff --git a/tests/cases/compiler/privacyCheckAnonymousFunctionParameter.ts b/tests/cases/compiler/privacyCheckAnonymousFunctionParameter.ts index d4ce6c675f5..c867a664520 100644 --- a/tests/cases/compiler/privacyCheckAnonymousFunctionParameter.ts +++ b/tests/cases/compiler/privacyCheckAnonymousFunctionParameter.ts @@ -1,4 +1,5 @@ //@module: commonjs +//@declaration: true export var x = 1; // Makes this an external module interface Iterator { } diff --git a/tests/cases/compiler/privacyCheckAnonymousFunctionParameter2.ts b/tests/cases/compiler/privacyCheckAnonymousFunctionParameter2.ts index 6aa0761d8d7..1aea1a17e98 100644 --- a/tests/cases/compiler/privacyCheckAnonymousFunctionParameter2.ts +++ b/tests/cases/compiler/privacyCheckAnonymousFunctionParameter2.ts @@ -1,4 +1,5 @@ //@module: amd +//@declaration: true export var x = 1; // Makes this an external module interface Iterator { x: T } diff --git a/tests/cases/compiler/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.ts b/tests/cases/compiler/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.ts index 98e11a37e66..e9fda583a14 100644 --- a/tests/cases/compiler/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.ts +++ b/tests/cases/compiler/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.ts @@ -1,4 +1,5 @@ //@module: amd +//@declaration: true export interface A { f1(callback: (p: T) => any); } diff --git a/tests/cases/compiler/privacyCheckExportAssignmentOnExportedGenericInterface1.ts b/tests/cases/compiler/privacyCheckExportAssignmentOnExportedGenericInterface1.ts index 6014c8bb041..b2a5e374f48 100644 --- a/tests/cases/compiler/privacyCheckExportAssignmentOnExportedGenericInterface1.ts +++ b/tests/cases/compiler/privacyCheckExportAssignmentOnExportedGenericInterface1.ts @@ -1,4 +1,5 @@ //@module: commonjs +//@declaration: true module Foo { export interface A { } diff --git a/tests/cases/compiler/privacyCheckExportAssignmentOnExportedGenericInterface2.ts b/tests/cases/compiler/privacyCheckExportAssignmentOnExportedGenericInterface2.ts index 5d150e2f5e7..42c121ac80e 100644 --- a/tests/cases/compiler/privacyCheckExportAssignmentOnExportedGenericInterface2.ts +++ b/tests/cases/compiler/privacyCheckExportAssignmentOnExportedGenericInterface2.ts @@ -1,4 +1,5 @@ //@module: amd +//@declaration: true export = Foo; interface Foo { diff --git a/tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass.ts b/tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass.ts index e43e4dc6d93..b412622ad40 100644 --- a/tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass.ts +++ b/tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass.ts @@ -1,4 +1,5 @@ //@module: commonjs +//@declaration: true // @Filename: privacyCheckExternalModuleExportAssignmentOfGenericClass_0.ts export = Foo; class Foo { diff --git a/tests/cases/compiler/privacyCheckOnTypeParameterReferenceInConstructorParameter.ts b/tests/cases/compiler/privacyCheckOnTypeParameterReferenceInConstructorParameter.ts index cf73b3626ee..01ecd8c1ebd 100644 --- a/tests/cases/compiler/privacyCheckOnTypeParameterReferenceInConstructorParameter.ts +++ b/tests/cases/compiler/privacyCheckOnTypeParameterReferenceInConstructorParameter.ts @@ -1,4 +1,5 @@ //@module: amd +//@declaration: true export class A{ constructor(callback: (self: A) => void) { var child = new B(this); diff --git a/tests/cases/compiler/privacyCheckTypeOfFunction.ts b/tests/cases/compiler/privacyCheckTypeOfFunction.ts index a4980fe6229..80bab76dc26 100644 --- a/tests/cases/compiler/privacyCheckTypeOfFunction.ts +++ b/tests/cases/compiler/privacyCheckTypeOfFunction.ts @@ -1,3 +1,5 @@ +//@module: commonjs +//@declaration: true function foo() { } export var x: typeof foo; diff --git a/tests/cases/compiler/privacyCheckTypeOfInvisibleModuleError.ts b/tests/cases/compiler/privacyCheckTypeOfInvisibleModuleError.ts index e439cae861e..b37fb72677b 100644 --- a/tests/cases/compiler/privacyCheckTypeOfInvisibleModuleError.ts +++ b/tests/cases/compiler/privacyCheckTypeOfInvisibleModuleError.ts @@ -1,3 +1,4 @@ +//@declaration: true module Outer { module Inner { export var m: typeof Inner; diff --git a/tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile.ts b/tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile.ts new file mode 100644 index 00000000000..f24ed8ea32b --- /dev/null +++ b/tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile.ts @@ -0,0 +1,157 @@ +// @module: commonjs +// @declaration: true + + +// @Filename: privacyFunctionCannotNameParameterTypeDeclFile_GlobalWidgets.ts +declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} + +// @Filename: privacyFunctionCannotNameParameterTypeDeclFile_Widgets.ts +export class Widget1 { + name = 'one'; +} +export function createWidget1() { + return new Widget1(); +} + +export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } +} + +// @Filename:privacyFunctionCannotNameParameterTypeDeclFile_exporter.ts +/// +import Widgets = require("privacyFunctionCannotNameParameterTypeDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export function createExportedWidget1() { + return Widgets.createWidget1(); +} +export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +export function createExportedWidget3() { + return Widgets1.createWidget3(); +} +export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} + +// @Filename:privacyFunctionCannotNameParameterTypeDeclFile_consumer.ts +import exporter = require("privacyFunctionCannotNameParameterTypeDeclFile_exporter"); +export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param = exporter.createExportedWidget1()) { // Error + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget1()) { + } + myPublicMethod(param = exporter.createExportedWidget1()) { // Error + } + private myPrivateMethod(param = exporter.createExportedWidget1()) { + } + constructor(param = exporter.createExportedWidget1(), private param1 = exporter.createExportedWidget1(), public param2 = exporter.createExportedWidget1()) { // Error + } +} +export class publicClassWithWithPrivateParmeterTypes1 { + static myPublicStaticMethod(param = exporter.createExportedWidget3()) { // Error + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget3()) { + } + myPublicMethod(param = exporter.createExportedWidget3()) { // Error + } + private myPrivateMethod(param = exporter.createExportedWidget3()) { + } + constructor(param = exporter.createExportedWidget3(), private param1 = exporter.createExportedWidget3(), public param2 = exporter.createExportedWidget3()) { // Error + } +} + +class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param = exporter.createExportedWidget1()) { + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget1()) { + } + myPublicMethod(param = exporter.createExportedWidget1()) { + } + private myPrivateMethod(param = exporter.createExportedWidget1()) { + } + constructor(param = exporter.createExportedWidget1(), private param1 = exporter.createExportedWidget1(), public param2 = exporter.createExportedWidget1()) { + } +} +class privateClassWithWithPrivateParmeterTypes2 { + static myPublicStaticMethod(param = exporter.createExportedWidget3()) { + } + private static myPrivateStaticMethod(param = exporter.createExportedWidget3()) { + } + myPublicMethod(param = exporter.createExportedWidget3()) { + } + private myPrivateMethod(param = exporter.createExportedWidget3()) { + } + constructor(param = exporter.createExportedWidget3(), private param1 = exporter.createExportedWidget3(), public param2 = exporter.createExportedWidget3()) { + } +} + +export function publicFunctionWithPrivateParmeterTypes(param = exporter.createExportedWidget1()) { // Error +} +function privateFunctionWithPrivateParmeterTypes(param = exporter.createExportedWidget1()) { +} +export function publicFunctionWithPrivateParmeterTypes1(param = exporter.createExportedWidget3()) { // Error +} +function privateFunctionWithPrivateParmeterTypes1(param = exporter.createExportedWidget3()) { +} + + +export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param= exporter.createExportedWidget2()) { // Error + } + myPublicMethod(param= exporter.createExportedWidget2()) { // Error + } + constructor(param= exporter.createExportedWidget2(), private param1= exporter.createExportedWidget2(), public param2= exporter.createExportedWidget2()) { // Error + } +} +export class publicClassWithPrivateModuleParameterTypes2 { + static myPublicStaticMethod(param= exporter.createExportedWidget4()) { // Error + } + myPublicMethod(param= exporter.createExportedWidget4()) { // Error + } + constructor(param= exporter.createExportedWidget4(), private param1= exporter.createExportedWidget4(), public param2= exporter.createExportedWidget4()) { // Error + } +} +export function publicFunctionWithPrivateModuleParameterTypes(param= exporter.createExportedWidget2()) { // Error +} +export function publicFunctionWithPrivateModuleParameterTypes1(param= exporter.createExportedWidget4()) { // Error +} + + +class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param= exporter.createExportedWidget2()) { + } + myPublicMethod(param= exporter.createExportedWidget2()) { + } + constructor(param= exporter.createExportedWidget2(), private param1= exporter.createExportedWidget2(), public param2= exporter.createExportedWidget2()) { + } +} +class privateClassWithPrivateModuleParameterTypes1 { + static myPublicStaticMethod(param= exporter.createExportedWidget4()) { + } + myPublicMethod(param= exporter.createExportedWidget4()) { + } + constructor(param= exporter.createExportedWidget4(), private param1= exporter.createExportedWidget4(), public param2= exporter.createExportedWidget4()) { + } +} +function privateFunctionWithPrivateModuleParameterTypes(param= exporter.createExportedWidget2()) { +} +function privateFunctionWithPrivateModuleParameterTypes1(param= exporter.createExportedWidget4()) { +} \ No newline at end of file diff --git a/tests/cases/compiler/privacyFunctionCannotNameReturnTypeDeclFile.ts b/tests/cases/compiler/privacyFunctionCannotNameReturnTypeDeclFile.ts new file mode 100644 index 00000000000..2eff22327b5 --- /dev/null +++ b/tests/cases/compiler/privacyFunctionCannotNameReturnTypeDeclFile.ts @@ -0,0 +1,163 @@ +// @module: commonjs +// @declaration: true + + +// @Filename: privacyFunctionReturnTypeDeclFile_GlobalWidgets.ts +declare module "GlobalWidgets" { + export class Widget3 { + name: string; + } + export function createWidget3(): Widget3; + + export module SpecializedGlobalWidget { + export class Widget4 { + name: string; + } + function createWidget4(): Widget4; + } +} + +// @Filename: privacyFunctionReturnTypeDeclFile_Widgets.ts +export class Widget1 { + name = 'one'; +} +export function createWidget1() { + return new Widget1(); +} + +export module SpecializedWidget { + export class Widget2 { + name = 'one'; + } + export function createWidget2() { + return new Widget2(); + } +} + +// @Filename:privacyFunctionReturnTypeDeclFile_exporter.ts +/// +import Widgets = require("privacyFunctionReturnTypeDeclFile_Widgets"); +import Widgets1 = require("GlobalWidgets"); +export function createExportedWidget1() { + return Widgets.createWidget1(); +} +export function createExportedWidget2() { + return Widgets.SpecializedWidget.createWidget2(); +} +export function createExportedWidget3() { + return Widgets1.createWidget3(); +} +export function createExportedWidget4() { + return Widgets1.SpecializedGlobalWidget.createWidget4(); +} + +// @Filename:privacyFunctionReturnTypeDeclFile_consumer.ts +import exporter = require("privacyFunctionReturnTypeDeclFile_exporter"); +export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod() { // Error + return exporter.createExportedWidget1(); + } + private static myPrivateStaticMethod() { + return exporter.createExportedWidget1();; + } + myPublicMethod() { // Error + return exporter.createExportedWidget1();; + } + private myPrivateMethod() { + return exporter.createExportedWidget1();; + } + static myPublicStaticMethod1() { // Error + return exporter.createExportedWidget3(); + } + private static myPrivateStaticMethod1() { + return exporter.createExportedWidget3();; + } + myPublicMethod1() { // Error + return exporter.createExportedWidget3();; + } + private myPrivateMethod1() { + return exporter.createExportedWidget3();; + } +} + +class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod() { + return exporter.createExportedWidget1(); + } + private static myPrivateStaticMethod() { + return exporter.createExportedWidget1();; + } + myPublicMethod() { + return exporter.createExportedWidget1();; + } + private myPrivateMethod() { + return exporter.createExportedWidget1();; + } + static myPublicStaticMethod1() { + return exporter.createExportedWidget3(); + } + private static myPrivateStaticMethod1() { + return exporter.createExportedWidget3();; + } + myPublicMethod1() { + return exporter.createExportedWidget3();; + } + private myPrivateMethod1() { + return exporter.createExportedWidget3();; + } +} + +export function publicFunctionWithPrivateParmeterTypes() { // Error + return exporter.createExportedWidget1(); +} +function privateFunctionWithPrivateParmeterTypes() { + return exporter.createExportedWidget1(); +} +export function publicFunctionWithPrivateParmeterTypes1() { // Error + return exporter.createExportedWidget3(); +} +function privateFunctionWithPrivateParmeterTypes1() { + return exporter.createExportedWidget3(); +} + +export class publicClassWithPrivateModuleReturnTypes { + static myPublicStaticMethod() { // Error + return exporter.createExportedWidget2(); + } + myPublicMethod() { // Error + return exporter.createExportedWidget2(); + } + static myPublicStaticMethod1() { // Error + return exporter.createExportedWidget4(); + } + myPublicMethod1() { // Error + return exporter.createExportedWidget4(); + } +} +export function publicFunctionWithPrivateModuleReturnTypes() { // Error + return exporter.createExportedWidget2(); +} +export function publicFunctionWithPrivateModuleReturnTypes1() { // Error + return exporter.createExportedWidget4(); +} + +class privateClassWithPrivateModuleReturnTypes { + static myPublicStaticMethod() { + return exporter.createExportedWidget2(); + } + myPublicMethod() { + return exporter.createExportedWidget2(); + } + static myPublicStaticMethod1() { // Error + return exporter.createExportedWidget4(); + } + myPublicMethod1() { // Error + return exporter.createExportedWidget4(); + } +} +function privateFunctionWithPrivateModuleReturnTypes() { + return exporter.createExportedWidget2(); +} +function privateFunctionWithPrivateModuleReturnTypes1() { + return exporter.createExportedWidget4(); +} diff --git a/tests/cases/compiler/privacyFunctionParameterDeclFile.ts b/tests/cases/compiler/privacyFunctionParameterDeclFile.ts new file mode 100644 index 00000000000..baa2ed4bee6 --- /dev/null +++ b/tests/cases/compiler/privacyFunctionParameterDeclFile.ts @@ -0,0 +1,687 @@ +// @module: commonjs +// @declaration: true + +// @Filename:privacyFunctionParameterDeclFile_externalModule.ts +class privateClass { +} + +export class publicClass { +} + +export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; // Error + (param: privateClass): publicClass; // Error + myMethod(param: privateClass): void; // Error +} + +export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; +} + +interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; +} + +interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; +} + +export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { // Error + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { // Error + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { // Error + } +} + +export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } +} + +class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } +} + +class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } +} + +export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { // Error +} +export function publicFunctionWithPublicParmeterTypes(param: publicClass) { +} +function privateFunctionWithPrivateParmeterTypes(param: privateClass) { +} +function privateFunctionWithPublicParmeterTypes(param: publicClass) { +} + +export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; // Error +export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; +declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; +declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + +export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; // Error + (param: privateModule.publicClass): publicClass; // Error + myMethod(param: privateModule.publicClass): void; // Error +} +export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + myPublicMethod(param: privateModule.publicClass) { // Error + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { // Error + } +} +export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { // Error +} +export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; // Error + +interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; +} +class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } +} +function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { +} +declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + +export module publicModule { + class privateClass { + } + + export class publicClass { + } + + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; // Error + (param: privateClass): publicClass; // Error + myMethod(param: privateClass): void; // Error + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { // Error + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { // Error + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { // Error + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { // Error + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; // Error + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; // Error + (param: privateModule.publicClass): publicClass; // Error + myMethod(param: privateModule.publicClass): void; // Error + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + myPublicMethod(param: privateModule.publicClass) { // Error + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { // Error + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { // Error + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; // Error + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + +} + +module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; + (param: privateClass): publicClass; + myMethod(param: privateClass): void; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; +} + +// @Filename: privacyFunctionParameterDeclFile_GlobalFile.ts +class publicClassInGlobal { +} +interface publicInterfaceWithPublicParmeterTypesInGlobal { + new (param: publicClassInGlobal): publicClassInGlobal; + (param: publicClassInGlobal): publicClassInGlobal; + myMethod(param: publicClassInGlobal): void; +} +class publicClassWithWithPublicParmeterTypesInGlobal { + static myPublicStaticMethod(param: publicClassInGlobal) { + } + private static myPrivateStaticMethod(param: publicClassInGlobal) { + } + myPublicMethod(param: publicClassInGlobal) { + } + private myPrivateMethod(param: publicClassInGlobal) { + } + constructor(param: publicClassInGlobal, private param1: publicClassInGlobal, public param2: publicClassInGlobal) { + } +} +function publicFunctionWithPublicParmeterTypesInGlobal(param: publicClassInGlobal) { +} +declare function publicAmbientFunctionWithPublicParmeterTypesInGlobal(param: publicClassInGlobal): void; + +module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; + (param: privateClass): publicClass; + myMethod(param: privateClass): void; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (param: privateClass): publicClass; // Error + (param: privateClass): publicClass; // Error + myMethod(param: privateClass): void; // Error + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (param: privateClass): privateClass; + (param: privateClass): privateClass; + myMethod(param: privateClass): void; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (param: publicClass): publicClass; + (param: publicClass): publicClass; + myMethod(param: publicClass): void; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { // Error + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { // Error + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { // Error + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(param: privateClass) { + } + private static myPrivateStaticMethod(param: privateClass) { + } + myPublicMethod(param: privateClass) { + } + private myPrivateMethod(param: privateClass) { + } + constructor(param: privateClass, private param1: privateClass, public param2: privateClass) { + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(param: publicClass) { + } + private static myPrivateStaticMethod(param: publicClass) { + } + myPublicMethod(param: publicClass) { + } + private myPrivateMethod(param: publicClass) { + } + constructor(param: publicClass, private param1: publicClass, public param2: publicClass) { + } + } + + export function publicFunctionWithPrivateParmeterTypes(param: privateClass) { // Error + } + export function publicFunctionWithPublicParmeterTypes(param: publicClass) { + } + function privateFunctionWithPrivateParmeterTypes(param: privateClass) { + } + function privateFunctionWithPublicParmeterTypes(param: publicClass) { + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; // Error + export declare function publicAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + declare function privateAmbientFunctionWithPrivateParmeterTypes(param: privateClass): void; + declare function privateAmbientFunctionWithPublicParmeterTypes(param: publicClass): void; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; // Error + (param: privateModule.publicClass): publicClass; // Error + myMethod(param: privateModule.publicClass): void; // Error + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { // Error + } + myPublicMethod(param: privateModule.publicClass) { // Error + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { // Error + } + } + export function publicFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { // Error + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; // Error + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (param: privateModule.publicClass): publicClass; + (param: privateModule.publicClass): publicClass; + myMethod(param: privateModule.publicClass): void; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(param: privateModule.publicClass) { + } + myPublicMethod(param: privateModule.publicClass) { + } + constructor(param: privateModule.publicClass, private param1: privateModule.publicClass, public param2: privateModule.publicClass) { + } + } + function privateFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass) { + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(param: privateModule.publicClass): void; +} \ No newline at end of file diff --git a/tests/cases/compiler/privacyFunctionReturnTypeDeclFile.ts b/tests/cases/compiler/privacyFunctionReturnTypeDeclFile.ts new file mode 100644 index 00000000000..c09c4b123f2 --- /dev/null +++ b/tests/cases/compiler/privacyFunctionReturnTypeDeclFile.ts @@ -0,0 +1,1194 @@ +// @module: commonjs +// @declaration: true + +// @Filename:privacyFunctionReturnTypeDeclFile_externalModule.ts +class privateClass { +} + +export class publicClass { +} + +export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; // Error + (): privateClass; // Error + [x: number]: privateClass; // Error + myMethod(): privateClass; // Error +} + +export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; +} + +interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; +} + +interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; +} + +export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { // Error + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { // Error + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { // Error + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } +} + +export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } +} + +class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } +} + +class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } +} + +export function publicFunctionWithPrivateParmeterTypes(): privateClass { // Error + return null; +} +export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; +} +function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; +} +function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; +} +export function publicFunctionWithPrivateParmeterTypes1() { // Error + return new privateClass(); +} +export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); +} +function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); +} +function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); +} + +export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; // Error +export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; +declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; +declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + +export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; // Error + (): privateModule.publicClass; // Error + [x: number]: privateModule.publicClass // Error + myMethod(): privateModule.publicClass; // Error +} +export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + myPublicMethod1() { // Error + return new privateModule.publicClass(); + } +} +export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { // Error + return null; +} +export function publicFunctionWithPrivateModuleParameterTypes1() { // Error + return new privateModule.publicClass(); +} +export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; // Error + +interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass + myMethod(): privateModule.publicClass; +} +class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } +} +function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; +} +function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); +} +declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + +export module publicModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; // Error + (): privateClass; // Error + [x: number]: privateClass; // Error + myMethod(): privateClass; // Error + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { // Error + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { // Error + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { // Error + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { // Error + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { // Error + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; // Error + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; // Error + (): privateModule.publicClass; // Error + [x: number]: privateModule.publicClass; // Error + myMethod(): privateModule.publicClass; // Error + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + myPublicMethod1() { // Error + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { // Error + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { // Error + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; // Error + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; +} + +module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; +} + +// @Filename: privacyFunctionReturnTypeDeclFile_GlobalFile.ts +class publicClassInGlobal { +} +interface publicInterfaceWithPublicParmeterTypesInGlobal { + new (): publicClassInGlobal; + (): publicClassInGlobal; + [x: number]: publicClassInGlobal; + myMethod(): publicClassInGlobal; +} +class publicClassWithWithPublicParmeterTypesInGlobal { + static myPublicStaticMethod(): publicClassInGlobal { + return null; + } + private static myPrivateStaticMethod(): publicClassInGlobal { + return null; + } + myPublicMethod(): publicClassInGlobal { + return null; + } + private myPrivateMethod(): publicClassInGlobal { + return null; + } + static myPublicStaticMethod1() { + return new publicClassInGlobal(); + } + private static myPrivateStaticMethod1() { + return new publicClassInGlobal(); + } + myPublicMethod1() { + return new publicClassInGlobal(); + } + private myPrivateMethod1() { + return new publicClassInGlobal(); + } +} +function publicFunctionWithPublicParmeterTypesInGlobal(): publicClassInGlobal { + return null; +} +function publicFunctionWithPublicParmeterTypesInGlobal1() { + return new publicClassInGlobal(); +} +declare function publicAmbientFunctionWithPublicParmeterTypesInGlobal(): publicClassInGlobal; + +module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; + } + + export interface publicInterfaceWithPrivateParmeterTypes { + new (): privateClass; // Error + (): privateClass; // Error + [x: number]: privateClass; // Error + myMethod(): privateClass; // Error + } + + export interface publicInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + interface privateInterfaceWithPrivateParmeterTypes { + new (): privateClass; + (): privateClass; + [x: number]: privateClass; + myMethod(): privateClass; + } + + interface privateInterfaceWithPublicParmeterTypes { + new (): publicClass; + (): publicClass; + [x: number]: publicClass; + myMethod(): publicClass; + } + + export class publicClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { // Error + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { // Error + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { // Error + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { // Error + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + export class publicClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + class privateClassWithWithPrivateParmeterTypes { + static myPublicStaticMethod(): privateClass { + return null; + } + private static myPrivateStaticMethod(): privateClass { + return null; + } + myPublicMethod(): privateClass { + return null; + } + private myPrivateMethod(): privateClass { + return null; + } + static myPublicStaticMethod1() { + return new privateClass(); + } + private static myPrivateStaticMethod1() { + return new privateClass(); + } + myPublicMethod1() { + return new privateClass(); + } + private myPrivateMethod1() { + return new privateClass(); + } + } + + class privateClassWithWithPublicParmeterTypes { + static myPublicStaticMethod(): publicClass { + return null; + } + private static myPrivateStaticMethod(): publicClass { + return null; + } + myPublicMethod(): publicClass { + return null; + } + private myPrivateMethod(): publicClass { + return null; + } + static myPublicStaticMethod1() { + return new publicClass(); + } + private static myPrivateStaticMethod1() { + return new publicClass(); + } + myPublicMethod1() { + return new publicClass(); + } + private myPrivateMethod1() { + return new publicClass(); + } + } + + export function publicFunctionWithPrivateParmeterTypes(): privateClass { // Error + return null; + } + export function publicFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + function privateFunctionWithPrivateParmeterTypes(): privateClass { + return null; + } + function privateFunctionWithPublicParmeterTypes(): publicClass { + return null; + } + export function publicFunctionWithPrivateParmeterTypes1() { // Error + return new privateClass(); + } + export function publicFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + function privateFunctionWithPrivateParmeterTypes1() { + return new privateClass(); + } + function privateFunctionWithPublicParmeterTypes1() { + return new publicClass(); + } + + export declare function publicAmbientFunctionWithPrivateParmeterTypes(): privateClass; // Error + export declare function publicAmbientFunctionWithPublicParmeterTypes(): publicClass; + declare function privateAmbientFunctionWithPrivateParmeterTypes(): privateClass; + declare function privateAmbientFunctionWithPublicParmeterTypes(): publicClass; + + export interface publicInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; // Error + (): privateModule.publicClass; // Error + [x: number]: privateModule.publicClass; // Error + myMethod(): privateModule.publicClass; // Error + } + export class publicClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { // Error + return null; + } + myPublicMethod(): privateModule.publicClass { // Error + return null; + } + static myPublicStaticMethod1() { // Error + return new privateModule.publicClass(); + } + myPublicMethod1() { // Error + return new privateModule.publicClass(); + } + } + export function publicFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { // Error + return null; + } + export function publicFunctionWithPrivateModuleParameterTypes1() { // Error + return new privateModule.publicClass(); + } + export declare function publicAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; // Error + + interface privateInterfaceWithPrivateModuleParameterTypes { + new (): privateModule.publicClass; + (): privateModule.publicClass; + [x: number]: privateModule.publicClass; + myMethod(): privateModule.publicClass; + } + class privateClassWithPrivateModuleParameterTypes { + static myPublicStaticMethod(): privateModule.publicClass { + return null; + } + myPublicMethod(): privateModule.publicClass { + return null; + } + static myPublicStaticMethod1() { + return new privateModule.publicClass(); + } + myPublicMethod1() { + return new privateModule.publicClass(); + } + } + function privateFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass { + return null; + } + function privateFunctionWithPrivateModuleParameterTypes1() { + return new privateModule.publicClass(); + } + declare function privateAmbientFunctionWithPrivateModuleParameterTypes(): privateModule.publicClass; +} \ No newline at end of file diff --git a/tests/cases/compiler/privacyGetter.ts b/tests/cases/compiler/privacyGetter.ts index 65b6303833c..aab0cb22a0e 100644 --- a/tests/cases/compiler/privacyGetter.ts +++ b/tests/cases/compiler/privacyGetter.ts @@ -1,3 +1,4 @@ +// @target: ES5 //@module: amd export module m1 { export class C1_public { diff --git a/tests/cases/compiler/privacyGloGetter.ts b/tests/cases/compiler/privacyGloGetter.ts index 5ebca909ad9..c892c2e75da 100644 --- a/tests/cases/compiler/privacyGloGetter.ts +++ b/tests/cases/compiler/privacyGloGetter.ts @@ -1,3 +1,4 @@ +// @target: ES5 module m1 { export class C1_public { private f1() { diff --git a/tests/cases/compiler/privacyGloImport.ts b/tests/cases/compiler/privacyGloImport.ts index 68b67f42d89..19bf1009867 100644 --- a/tests/cases/compiler/privacyGloImport.ts +++ b/tests/cases/compiler/privacyGloImport.ts @@ -1,3 +1,4 @@ +//@declaration: true module m1 { export module m1_M1_public { export class c1 { @@ -19,21 +20,21 @@ module m1 { export var v2: c1; } - declare export module "m1_M3_public" { - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //export declare module "m1_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} - declare module "m1_M4_private" { - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //declare module "m1_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} import m1_im1_private = m1_M1_public; export var m1_im1_private_v1_public = m1_im1_private.c1; @@ -56,31 +57,30 @@ module m1 { var m1_im2_private_v3_private = m1_im2_private.f1; var m1_im2_private_v4_private = m1_im2_private.f1(); - import m1_im3_private = require("m1_M3_public"); - export var m1_im3_private_v1_public = m1_im3_private.c1; - export var m1_im3_private_v2_public = new m1_im3_private.c1(); - export var m1_im3_private_v3_public = m1_im3_private.f1; - export var m1_im3_private_v4_public = m1_im3_private.f1(); - var m1_im3_private_v1_private = m1_im3_private.c1; - var m1_im3_private_v2_private = new m1_im3_private.c1(); - var m1_im3_private_v3_private = m1_im3_private.f1; - var m1_im3_private_v4_private = m1_im3_private.f1(); + //import m1_im3_private = require("m1_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); - import m1_im4_private = require("m1_M4_private"); - export var m1_im4_private_v1_public = m1_im4_private.c1; - export var m1_im4_private_v2_public = new m1_im4_private.c1(); - export var m1_im4_private_v3_public = m1_im4_private.f1; - export var m1_im4_private_v4_public = m1_im4_private.f1(); - var m1_im4_private_v1_private = m1_im4_private.c1; - var m1_im4_private_v2_private = new m1_im4_private.c1(); - var m1_im4_private_v3_private = m1_im4_private.f1; - var m1_im4_private_v4_private = m1_im4_private.f1(); + //import m1_im4_private = require("m1_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); - // Parse error to export module export import m1_im1_public = m1_M1_public; export import m1_im2_public = m1_M2_private; - export import m1_im3_public = require("m1_M3_public"); - export import m1_im4_public = require("m1_M4_private"); + //export import m1_im3_public = require("m1_M3_public"); + //export import m1_im4_public = require("m1_M4_private"); } module glo_M1_public { @@ -104,26 +104,26 @@ declare module "glo_M2_public" { declare module "use_glo_M1_public" { import use_glo_M1_public = glo_M1_public; export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; - export var use_glo_M1_public_v2_public: use_glo_M1_public; + export var use_glo_M1_public_v2_public: typeof use_glo_M1_public; export var use_glo_M1_public_v3_public: ()=> use_glo_M1_public.c1; var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; - var use_glo_M1_public_v2_private: use_glo_M1_public; + var use_glo_M1_public_v2_private: typeof use_glo_M1_public; var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; import use_glo_M2_public = require("glo_M2_public"); export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; - export var use_glo_M2_public_v2_public: use_glo_M2_public; + export var use_glo_M2_public_v2_public: typeof use_glo_M2_public; export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; - var use_glo_M2_public_v2_private: use_glo_M2_public; + var use_glo_M2_public_v2_private: typeof use_glo_M2_public; var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; module m2 { - import errorImport = require("glo_M2_public"); + //import errorImport = require("glo_M2_public"); import nonerrorImport = glo_M1_public; module m5 { - import m5_errorImport = require("glo_M2_public"); + //import m5_errorImport = require("glo_M2_public"); import m5_nonerrorImport = glo_M1_public; } } @@ -131,23 +131,23 @@ declare module "use_glo_M1_public" { declare module "anotherParseError" { module m2 { - declare module "abc" { - } + //declare module "abc" { + //} } module m2 { - module "abc2" { - } - } - module "abc3" { + //module "abc2" { + //} } + //module "abc3" { + //} } module m2 { - import m3 = require("use_glo_M1_public"); + //import m3 = require("use_glo_M1_public"); module m4 { var a = 10; - import m2 = require("use_glo_M1_public"); + //import m2 = require("use_glo_M1_public"); } } \ No newline at end of file diff --git a/tests/cases/compiler/privacyGloImportParseErrors.ts b/tests/cases/compiler/privacyGloImportParseErrors.ts new file mode 100644 index 00000000000..8419f6737ea --- /dev/null +++ b/tests/cases/compiler/privacyGloImportParseErrors.ts @@ -0,0 +1,153 @@ +//@declaration: true +module m1 { + export module m1_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + module m1_M2_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + export declare module "m1_M3_public" { + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + declare module "m1_M4_private" { + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + import m1_im1_private = m1_M1_public; + export var m1_im1_private_v1_public = m1_im1_private.c1; + export var m1_im1_private_v2_public = new m1_im1_private.c1(); + export var m1_im1_private_v3_public = m1_im1_private.f1; + export var m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + + + import m1_im2_private = m1_M2_private; + export var m1_im2_private_v1_public = m1_im2_private.c1; + export var m1_im2_private_v2_public = new m1_im2_private.c1(); + export var m1_im2_private_v3_public = m1_im2_private.f1; + export var m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + + import m1_im3_private = require("m1_M3_public"); + export var m1_im3_private_v1_public = m1_im3_private.c1; + export var m1_im3_private_v2_public = new m1_im3_private.c1(); + export var m1_im3_private_v3_public = m1_im3_private.f1; + export var m1_im3_private_v4_public = m1_im3_private.f1(); + var m1_im3_private_v1_private = m1_im3_private.c1; + var m1_im3_private_v2_private = new m1_im3_private.c1(); + var m1_im3_private_v3_private = m1_im3_private.f1; + var m1_im3_private_v4_private = m1_im3_private.f1(); + + import m1_im4_private = require("m1_M4_private"); + export var m1_im4_private_v1_public = m1_im4_private.c1; + export var m1_im4_private_v2_public = new m1_im4_private.c1(); + export var m1_im4_private_v3_public = m1_im4_private.f1; + export var m1_im4_private_v4_public = m1_im4_private.f1(); + var m1_im4_private_v1_private = m1_im4_private.c1; + var m1_im4_private_v2_private = new m1_im4_private.c1(); + var m1_im4_private_v3_private = m1_im4_private.f1; + var m1_im4_private_v4_private = m1_im4_private.f1(); + + export import m1_im1_public = m1_M1_public; + export import m1_im2_public = m1_M2_private; + export import m1_im3_public = require("m1_M3_public"); + export import m1_im4_public = require("m1_M4_private"); +} + +module glo_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; +} + +declare module "glo_M2_public" { + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; +} + +declare module "use_glo_M1_public" { + import use_glo_M1_public = glo_M1_public; + export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; + export var use_glo_M1_public_v2_public: typeof use_glo_M1_public; + export var use_glo_M1_public_v3_public: ()=> use_glo_M1_public.c1; + var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; + var use_glo_M1_public_v2_private: typeof use_glo_M1_public; + var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; + + import use_glo_M2_public = require("glo_M2_public"); + export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; + export var use_glo_M2_public_v2_public: typeof use_glo_M2_public; + export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; + var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; + var use_glo_M2_public_v2_private: typeof use_glo_M2_public; + var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; + + module m2 { + import errorImport = require("glo_M2_public"); + import nonerrorImport = glo_M1_public; + + module m5 { + import m5_errorImport = require("glo_M2_public"); + import m5_nonerrorImport = glo_M1_public; + } + } +} + +declare module "anotherParseError" { + module m2 { + declare module "abc" { + } + } + + module m2 { + module "abc2" { + } + } + module "abc3" { + } +} + +module m2 { + import m3 = require("use_glo_M1_public"); + module m4 { + var a = 10; + import m2 = require("use_glo_M1_public"); + } + +} \ No newline at end of file diff --git a/tests/cases/compiler/privacyImport.ts b/tests/cases/compiler/privacyImport.ts index 04d789a3749..dff16781d56 100644 --- a/tests/cases/compiler/privacyImport.ts +++ b/tests/cases/compiler/privacyImport.ts @@ -1,4 +1,5 @@ //@module: commonjs +//@declaration: true export module m1 { export module m1_M1_public { export class c1 { @@ -20,21 +21,21 @@ export module m1 { export var v2: c1; } - export declare module "m1_M3_public" { - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //export declare module "m1_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} - declare module "m1_M4_private" { - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //declare module "m1_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} import m1_im1_private = m1_M1_public; export var m1_im1_private_v1_public = m1_im1_private.c1; @@ -57,30 +58,30 @@ export module m1 { var m1_im2_private_v3_private = m1_im2_private.f1; var m1_im2_private_v4_private = m1_im2_private.f1(); - import m1_im3_private = require("m1_M3_public"); - export var m1_im3_private_v1_public = m1_im3_private.c1; - export var m1_im3_private_v2_public = new m1_im3_private.c1(); - export var m1_im3_private_v3_public = m1_im3_private.f1; - export var m1_im3_private_v4_public = m1_im3_private.f1(); - var m1_im3_private_v1_private = m1_im3_private.c1; - var m1_im3_private_v2_private = new m1_im3_private.c1(); - var m1_im3_private_v3_private = m1_im3_private.f1; - var m1_im3_private_v4_private = m1_im3_private.f1(); + //import m1_im3_private = require("m1_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); - import m1_im4_private = require("m1_M4_private"); - export var m1_im4_private_v1_public = m1_im4_private.c1; - export var m1_im4_private_v2_public = new m1_im4_private.c1(); - export var m1_im4_private_v3_public = m1_im4_private.f1; - export var m1_im4_private_v4_public = m1_im4_private.f1(); - var m1_im4_private_v1_private = m1_im4_private.c1; - var m1_im4_private_v2_private = new m1_im4_private.c1(); - var m1_im4_private_v3_private = m1_im4_private.f1; - var m1_im4_private_v4_private = m1_im4_private.f1(); + //import m1_im4_private = require("m1_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); export import m1_im1_public = m1_M1_public; export import m1_im2_public = m1_M2_private; - export import m1_im3_public = require("m1_M3_public"); - export import m1_im4_public = require("m1_M4_private"); + //export import m1_im3_public = require("m1_M3_public"); + //export import m1_im4_public = require("m1_M4_private"); } module m2 { @@ -104,21 +105,21 @@ module m2 { export var v2: c1; } - export declare module "m2_M3_public" { - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //export declare module "m2_M3_public" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} - declare module "m2_M4_private" { - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; - } + //declare module "m2_M4_private" { + // export function f1(); + // export class c1 { + // } + // export var v1: { new (): c1; }; + // export var v2: c1; + //} import m1_im1_private = m2_M1_public; export var m1_im1_private_v1_public = m1_im1_private.c1; @@ -141,31 +142,31 @@ module m2 { var m1_im2_private_v3_private = m1_im2_private.f1; var m1_im2_private_v4_private = m1_im2_private.f1(); - import m1_im3_private = require("m2_M3_public"); - export var m1_im3_private_v1_public = m1_im3_private.c1; - export var m1_im3_private_v2_public = new m1_im3_private.c1(); - export var m1_im3_private_v3_public = m1_im3_private.f1; - export var m1_im3_private_v4_public = m1_im3_private.f1(); - var m1_im3_private_v1_private = m1_im3_private.c1; - var m1_im3_private_v2_private = new m1_im3_private.c1(); - var m1_im3_private_v3_private = m1_im3_private.f1; - var m1_im3_private_v4_private = m1_im3_private.f1(); + //import m1_im3_private = require("m2_M3_public"); + //export var m1_im3_private_v1_public = m1_im3_private.c1; + //export var m1_im3_private_v2_public = new m1_im3_private.c1(); + //export var m1_im3_private_v3_public = m1_im3_private.f1; + //export var m1_im3_private_v4_public = m1_im3_private.f1(); + //var m1_im3_private_v1_private = m1_im3_private.c1; + //var m1_im3_private_v2_private = new m1_im3_private.c1(); + //var m1_im3_private_v3_private = m1_im3_private.f1; + //var m1_im3_private_v4_private = m1_im3_private.f1(); - import m1_im4_private = require("m2_M4_private"); - export var m1_im4_private_v1_public = m1_im4_private.c1; - export var m1_im4_private_v2_public = new m1_im4_private.c1(); - export var m1_im4_private_v3_public = m1_im4_private.f1; - export var m1_im4_private_v4_public = m1_im4_private.f1(); - var m1_im4_private_v1_private = m1_im4_private.c1; - var m1_im4_private_v2_private = new m1_im4_private.c1(); - var m1_im4_private_v3_private = m1_im4_private.f1; - var m1_im4_private_v4_private = m1_im4_private.f1(); + //import m1_im4_private = require("m2_M4_private"); + //export var m1_im4_private_v1_public = m1_im4_private.c1; + //export var m1_im4_private_v2_public = new m1_im4_private.c1(); + //export var m1_im4_private_v3_public = m1_im4_private.f1; + //export var m1_im4_private_v4_public = m1_im4_private.f1(); + //var m1_im4_private_v1_private = m1_im4_private.c1; + //var m1_im4_private_v2_private = new m1_im4_private.c1(); + //var m1_im4_private_v3_private = m1_im4_private.f1; + //var m1_im4_private_v4_private = m1_im4_private.f1(); // Parse error to export module export import m1_im1_public = m2_M1_public; export import m1_im2_public = m2_M2_private; - export import m1_im3_public = require("m2_M3_public"); - export import m1_im4_public = require("m2_M4_private"); + //export import m1_im3_public = require("m2_M3_public"); + //export import m1_im4_public = require("m2_M4_private"); } export module glo_M1_public { @@ -178,13 +179,13 @@ export module glo_M1_public { export var v2: c1; } -export declare module "glo_M2_public" { - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; -} +//export declare module "glo_M2_public" { +// export function f1(); +// export class c1 { +// } +// export var v1: { new (): c1; }; +// export var v2: c1; +//} export module glo_M3_private { export class c1 { @@ -196,13 +197,13 @@ export module glo_M3_private { export var v2: c1; } -export declare module "glo_M4_private" { - export function f1(); - export class c1 { - } - export var v1: { new (): c1; }; - export var v2: c1; -} +//export declare module "glo_M4_private" { +// export function f1(); +// export class c1 { +// } +// export var v1: { new (): c1; }; +// export var v2: c1; +//} import glo_im1_private = glo_M1_public; @@ -216,15 +217,15 @@ var glo_im1_private_v3_private = glo_im1_private.f1; var glo_im1_private_v4_private = glo_im1_private.f1(); -import glo_im2_private = require("glo_M2_public"); -export var glo_im2_private_v1_public = glo_im2_private.c1; -export var glo_im2_private_v2_public = new glo_im2_private.c1(); -export var glo_im2_private_v3_public = glo_im2_private.f1; -export var glo_im2_private_v4_public = glo_im2_private.f1(); -var glo_im2_private_v1_private = glo_im2_private.c1; -var glo_im2_private_v2_private = new glo_im2_private.c1(); -var glo_im2_private_v3_private = glo_im2_private.f1; -var glo_im2_private_v4_private = glo_im2_private.f1(); +//import glo_im2_private = require("glo_M2_public"); +//export var glo_im2_private_v1_public = glo_im2_private.c1; +//export var glo_im2_private_v2_public = new glo_im2_private.c1(); +//export var glo_im2_private_v3_public = glo_im2_private.f1; +//export var glo_im2_private_v4_public = glo_im2_private.f1(); +//var glo_im2_private_v1_private = glo_im2_private.c1; +//var glo_im2_private_v2_private = new glo_im2_private.c1(); +//var glo_im2_private_v3_private = glo_im2_private.f1; +//var glo_im2_private_v4_private = glo_im2_private.f1(); import glo_im3_private = glo_M3_private; export var glo_im3_private_v1_public = glo_im3_private.c1; @@ -236,122 +237,122 @@ var glo_im3_private_v2_private = new glo_im3_private.c1(); var glo_im3_private_v3_private = glo_im3_private.f1; var glo_im3_private_v4_private = glo_im3_private.f1(); -import glo_im4_private = require("glo_M4_private"); -export var glo_im4_private_v1_public = glo_im4_private.c1; -export var glo_im4_private_v2_public = new glo_im4_private.c1(); -export var glo_im4_private_v3_public = glo_im4_private.f1; -export var glo_im4_private_v4_public = glo_im4_private.f1(); -var glo_im4_private_v1_private = glo_im4_private.c1; -var glo_im4_private_v2_private = new glo_im4_private.c1(); -var glo_im4_private_v3_private = glo_im4_private.f1; -var glo_im4_private_v4_private = glo_im4_private.f1(); +//import glo_im4_private = require("glo_M4_private"); +//export var glo_im4_private_v1_public = glo_im4_private.c1; +//export var glo_im4_private_v2_public = new glo_im4_private.c1(); +//export var glo_im4_private_v3_public = glo_im4_private.f1; +//export var glo_im4_private_v4_public = glo_im4_private.f1(); +//var glo_im4_private_v1_private = glo_im4_private.c1; +//var glo_im4_private_v2_private = new glo_im4_private.c1(); +//var glo_im4_private_v3_private = glo_im4_private.f1; +//var glo_im4_private_v4_private = glo_im4_private.f1(); // Parse error to export module export import glo_im1_public = glo_M1_public; export import glo_im2_public = glo_M3_private; -export import glo_im3_public = require("glo_M2_public"); -export import glo_im4_public = require("glo_M4_private"); +//export import glo_im3_public = require("glo_M2_public"); +//export import glo_im4_public = require("glo_M4_private"); -export declare module "use_glo_M1_public" { - import use_glo_M1_public = glo_M1_public; - export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; - export var use_glo_M1_public_v2_public: use_glo_M1_public; - export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1; - var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; - var use_glo_M1_public_v2_private: use_glo_M1_public; - var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; +//export declare module "use_glo_M1_public" { +// import use_glo_M1_public = glo_M1_public; +// export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; +// export var use_glo_M1_public_v2_public: use_glo_M1_public; +// export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1; +// var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; +// var use_glo_M1_public_v2_private: use_glo_M1_public; +// var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; - import use_glo_M2_public = require("glo_M2_public"); - export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; - export var use_glo_M2_public_v2_public: use_glo_M2_public; - export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; - var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; - var use_glo_M2_public_v2_private: use_glo_M2_public; - var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; +// import use_glo_M2_public = require("glo_M2_public"); +// export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; +// export var use_glo_M2_public_v2_public: use_glo_M2_public; +// export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; +// var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; +// var use_glo_M2_public_v2_private: use_glo_M2_public; +// var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; - module m2 { - import errorImport = require("glo_M2_public"); - import nonerrorImport = glo_M1_public; +// module m2 { +// import errorImport = require("glo_M2_public"); +// import nonerrorImport = glo_M1_public; - module m5 { - import m5_errorImport = require("glo_M2_public"); - import m5_nonerrorImport = glo_M1_public; - } - } -} +// module m5 { +// import m5_errorImport = require("glo_M2_public"); +// import m5_nonerrorImport = glo_M1_public; +// } +// } +//} -declare module "use_glo_M3_private" { - import use_glo_M3_private = glo_M3_private; - export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; }; - export var use_glo_M3_private_v2_public: use_glo_M3_private; - export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1; - var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; }; - var use_glo_M3_private_v2_private: use_glo_M3_private; - var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1; +//declare module "use_glo_M3_private" { +// import use_glo_M3_private = glo_M3_private; +// export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; }; +// export var use_glo_M3_private_v2_public: use_glo_M3_private; +// export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1; +// var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; }; +// var use_glo_M3_private_v2_private: use_glo_M3_private; +// var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1; - import use_glo_M4_private = require("glo_M4_private"); - export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; }; - export var use_glo_M4_private_v2_public: use_glo_M4_private; - export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1; - var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; }; - var use_glo_M4_private_v2_private: use_glo_M4_private; - var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1; +// import use_glo_M4_private = require("glo_M4_private"); +// export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; }; +// export var use_glo_M4_private_v2_public: use_glo_M4_private; +// export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1; +// var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; }; +// var use_glo_M4_private_v2_private: use_glo_M4_private; +// var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1; - module m2 { - import errorImport = require("glo_M4_private"); - import nonerrorImport = glo_M3_private; +// module m2 { +// import errorImport = require("glo_M4_private"); +// import nonerrorImport = glo_M3_private; - module m5 { - import m5_errorImport = require("glo_M4_private"); - import m5_nonerrorImport = glo_M3_private; - } - } -} +// module m5 { +// import m5_errorImport = require("glo_M4_private"); +// import m5_nonerrorImport = glo_M3_private; +// } +// } +//} -declare module "anotherParseError" { - module m2 { - declare module "abc" { - } - } +//declare module "anotherParseError" { +// module m2 { +// declare module "abc" { +// } +// } - module m2 { - module "abc2" { - } - } - module "abc3" { - } -} +// module m2 { +// module "abc2" { +// } +// } +// module "abc3" { +// } +//} -declare export module "anotherParseError2" { - module m2 { - declare module "abc" { - } - } +//declare export module "anotherParseError2" { +// module m2 { +// declare module "abc" { +// } +// } - module m2 { - module "abc2" { - } - } - module "abc3" { - } -} +// module m2 { +// module "abc2" { +// } +// } +// module "abc3" { +// } +//} module m2 { - import m3 = require("use_glo_M1_public"); + //import m3 = require("use_glo_M1_public"); module m4 { var a = 10; - import m2 = require("use_glo_M1_public"); + //import m2 = require("use_glo_M1_public"); } } export module m3 { - import m3 = require("use_glo_M1_public"); + //import m3 = require("use_glo_M1_public"); module m4 { var a = 10; - import m2 = require("use_glo_M1_public"); + //import m2 = require("use_glo_M1_public"); } } \ No newline at end of file diff --git a/tests/cases/compiler/privacyImportParseErrors.ts b/tests/cases/compiler/privacyImportParseErrors.ts new file mode 100644 index 00000000000..04d789a3749 --- /dev/null +++ b/tests/cases/compiler/privacyImportParseErrors.ts @@ -0,0 +1,357 @@ +//@module: commonjs +export module m1 { + export module m1_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + module m1_M2_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + export declare module "m1_M3_public" { + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + declare module "m1_M4_private" { + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + import m1_im1_private = m1_M1_public; + export var m1_im1_private_v1_public = m1_im1_private.c1; + export var m1_im1_private_v2_public = new m1_im1_private.c1(); + export var m1_im1_private_v3_public = m1_im1_private.f1; + export var m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + + + import m1_im2_private = m1_M2_private; + export var m1_im2_private_v1_public = m1_im2_private.c1; + export var m1_im2_private_v2_public = new m1_im2_private.c1(); + export var m1_im2_private_v3_public = m1_im2_private.f1; + export var m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + + import m1_im3_private = require("m1_M3_public"); + export var m1_im3_private_v1_public = m1_im3_private.c1; + export var m1_im3_private_v2_public = new m1_im3_private.c1(); + export var m1_im3_private_v3_public = m1_im3_private.f1; + export var m1_im3_private_v4_public = m1_im3_private.f1(); + var m1_im3_private_v1_private = m1_im3_private.c1; + var m1_im3_private_v2_private = new m1_im3_private.c1(); + var m1_im3_private_v3_private = m1_im3_private.f1; + var m1_im3_private_v4_private = m1_im3_private.f1(); + + import m1_im4_private = require("m1_M4_private"); + export var m1_im4_private_v1_public = m1_im4_private.c1; + export var m1_im4_private_v2_public = new m1_im4_private.c1(); + export var m1_im4_private_v3_public = m1_im4_private.f1; + export var m1_im4_private_v4_public = m1_im4_private.f1(); + var m1_im4_private_v1_private = m1_im4_private.c1; + var m1_im4_private_v2_private = new m1_im4_private.c1(); + var m1_im4_private_v3_private = m1_im4_private.f1; + var m1_im4_private_v4_private = m1_im4_private.f1(); + + export import m1_im1_public = m1_M1_public; + export import m1_im2_public = m1_M2_private; + export import m1_im3_public = require("m1_M3_public"); + export import m1_im4_public = require("m1_M4_private"); +} + +module m2 { + export module m2_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + module m2_M2_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; + } + + export declare module "m2_M3_public" { + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + declare module "m2_M4_private" { + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; + } + + import m1_im1_private = m2_M1_public; + export var m1_im1_private_v1_public = m1_im1_private.c1; + export var m1_im1_private_v2_public = new m1_im1_private.c1(); + export var m1_im1_private_v3_public = m1_im1_private.f1; + export var m1_im1_private_v4_public = m1_im1_private.f1(); + var m1_im1_private_v1_private = m1_im1_private.c1; + var m1_im1_private_v2_private = new m1_im1_private.c1(); + var m1_im1_private_v3_private = m1_im1_private.f1; + var m1_im1_private_v4_private = m1_im1_private.f1(); + + + import m1_im2_private = m2_M2_private; + export var m1_im2_private_v1_public = m1_im2_private.c1; + export var m1_im2_private_v2_public = new m1_im2_private.c1(); + export var m1_im2_private_v3_public = m1_im2_private.f1; + export var m1_im2_private_v4_public = m1_im2_private.f1(); + var m1_im2_private_v1_private = m1_im2_private.c1; + var m1_im2_private_v2_private = new m1_im2_private.c1(); + var m1_im2_private_v3_private = m1_im2_private.f1; + var m1_im2_private_v4_private = m1_im2_private.f1(); + + import m1_im3_private = require("m2_M3_public"); + export var m1_im3_private_v1_public = m1_im3_private.c1; + export var m1_im3_private_v2_public = new m1_im3_private.c1(); + export var m1_im3_private_v3_public = m1_im3_private.f1; + export var m1_im3_private_v4_public = m1_im3_private.f1(); + var m1_im3_private_v1_private = m1_im3_private.c1; + var m1_im3_private_v2_private = new m1_im3_private.c1(); + var m1_im3_private_v3_private = m1_im3_private.f1; + var m1_im3_private_v4_private = m1_im3_private.f1(); + + import m1_im4_private = require("m2_M4_private"); + export var m1_im4_private_v1_public = m1_im4_private.c1; + export var m1_im4_private_v2_public = new m1_im4_private.c1(); + export var m1_im4_private_v3_public = m1_im4_private.f1; + export var m1_im4_private_v4_public = m1_im4_private.f1(); + var m1_im4_private_v1_private = m1_im4_private.c1; + var m1_im4_private_v2_private = new m1_im4_private.c1(); + var m1_im4_private_v3_private = m1_im4_private.f1; + var m1_im4_private_v4_private = m1_im4_private.f1(); + + // Parse error to export module + export import m1_im1_public = m2_M1_public; + export import m1_im2_public = m2_M2_private; + export import m1_im3_public = require("m2_M3_public"); + export import m1_im4_public = require("m2_M4_private"); +} + +export module glo_M1_public { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; +} + +export declare module "glo_M2_public" { + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; +} + +export module glo_M3_private { + export class c1 { + } + export function f1() { + return new c1; + } + export var v1 = c1; + export var v2: c1; +} + +export declare module "glo_M4_private" { + export function f1(); + export class c1 { + } + export var v1: { new (): c1; }; + export var v2: c1; +} + + +import glo_im1_private = glo_M1_public; +export var glo_im1_private_v1_public = glo_im1_private.c1; +export var glo_im1_private_v2_public = new glo_im1_private.c1(); +export var glo_im1_private_v3_public = glo_im1_private.f1; +export var glo_im1_private_v4_public = glo_im1_private.f1(); +var glo_im1_private_v1_private = glo_im1_private.c1; +var glo_im1_private_v2_private = new glo_im1_private.c1(); +var glo_im1_private_v3_private = glo_im1_private.f1; +var glo_im1_private_v4_private = glo_im1_private.f1(); + + +import glo_im2_private = require("glo_M2_public"); +export var glo_im2_private_v1_public = glo_im2_private.c1; +export var glo_im2_private_v2_public = new glo_im2_private.c1(); +export var glo_im2_private_v3_public = glo_im2_private.f1; +export var glo_im2_private_v4_public = glo_im2_private.f1(); +var glo_im2_private_v1_private = glo_im2_private.c1; +var glo_im2_private_v2_private = new glo_im2_private.c1(); +var glo_im2_private_v3_private = glo_im2_private.f1; +var glo_im2_private_v4_private = glo_im2_private.f1(); + +import glo_im3_private = glo_M3_private; +export var glo_im3_private_v1_public = glo_im3_private.c1; +export var glo_im3_private_v2_public = new glo_im3_private.c1(); +export var glo_im3_private_v3_public = glo_im3_private.f1; +export var glo_im3_private_v4_public = glo_im3_private.f1(); +var glo_im3_private_v1_private = glo_im3_private.c1; +var glo_im3_private_v2_private = new glo_im3_private.c1(); +var glo_im3_private_v3_private = glo_im3_private.f1; +var glo_im3_private_v4_private = glo_im3_private.f1(); + +import glo_im4_private = require("glo_M4_private"); +export var glo_im4_private_v1_public = glo_im4_private.c1; +export var glo_im4_private_v2_public = new glo_im4_private.c1(); +export var glo_im4_private_v3_public = glo_im4_private.f1; +export var glo_im4_private_v4_public = glo_im4_private.f1(); +var glo_im4_private_v1_private = glo_im4_private.c1; +var glo_im4_private_v2_private = new glo_im4_private.c1(); +var glo_im4_private_v3_private = glo_im4_private.f1; +var glo_im4_private_v4_private = glo_im4_private.f1(); + +// Parse error to export module +export import glo_im1_public = glo_M1_public; +export import glo_im2_public = glo_M3_private; +export import glo_im3_public = require("glo_M2_public"); +export import glo_im4_public = require("glo_M4_private"); + + +export declare module "use_glo_M1_public" { + import use_glo_M1_public = glo_M1_public; + export var use_glo_M1_public_v1_public: { new (): use_glo_M1_public.c1; }; + export var use_glo_M1_public_v2_public: use_glo_M1_public; + export var use_glo_M1_public_v3_public: () => use_glo_M1_public.c1; + var use_glo_M1_public_v1_private: { new (): use_glo_M1_public.c1; }; + var use_glo_M1_public_v2_private: use_glo_M1_public; + var use_glo_M1_public_v3_private: () => use_glo_M1_public.c1; + + import use_glo_M2_public = require("glo_M2_public"); + export var use_glo_M2_public_v1_public: { new (): use_glo_M2_public.c1; }; + export var use_glo_M2_public_v2_public: use_glo_M2_public; + export var use_glo_M2_public_v3_public: () => use_glo_M2_public.c1; + var use_glo_M2_public_v1_private: { new (): use_glo_M2_public.c1; }; + var use_glo_M2_public_v2_private: use_glo_M2_public; + var use_glo_M2_public_v3_private: () => use_glo_M2_public.c1; + + module m2 { + import errorImport = require("glo_M2_public"); + import nonerrorImport = glo_M1_public; + + module m5 { + import m5_errorImport = require("glo_M2_public"); + import m5_nonerrorImport = glo_M1_public; + } + } +} + + +declare module "use_glo_M3_private" { + import use_glo_M3_private = glo_M3_private; + export var use_glo_M3_private_v1_public: { new (): use_glo_M3_private.c1; }; + export var use_glo_M3_private_v2_public: use_glo_M3_private; + export var use_glo_M3_private_v3_public: () => use_glo_M3_private.c1; + var use_glo_M3_private_v1_private: { new (): use_glo_M3_private.c1; }; + var use_glo_M3_private_v2_private: use_glo_M3_private; + var use_glo_M3_private_v3_private: () => use_glo_M3_private.c1; + + import use_glo_M4_private = require("glo_M4_private"); + export var use_glo_M4_private_v1_public: { new (): use_glo_M4_private.c1; }; + export var use_glo_M4_private_v2_public: use_glo_M4_private; + export var use_glo_M4_private_v3_public: () => use_glo_M4_private.c1; + var use_glo_M4_private_v1_private: { new (): use_glo_M4_private.c1; }; + var use_glo_M4_private_v2_private: use_glo_M4_private; + var use_glo_M4_private_v3_private: () => use_glo_M4_private.c1; + + module m2 { + import errorImport = require("glo_M4_private"); + import nonerrorImport = glo_M3_private; + + module m5 { + import m5_errorImport = require("glo_M4_private"); + import m5_nonerrorImport = glo_M3_private; + } + } +} + +declare module "anotherParseError" { + module m2 { + declare module "abc" { + } + } + + module m2 { + module "abc2" { + } + } + module "abc3" { + } +} + +declare export module "anotherParseError2" { + module m2 { + declare module "abc" { + } + } + + module m2 { + module "abc2" { + } + } + module "abc3" { + } +} + +module m2 { + import m3 = require("use_glo_M1_public"); + module m4 { + var a = 10; + import m2 = require("use_glo_M1_public"); + } + +} + +export module m3 { + import m3 = require("use_glo_M1_public"); + module m4 { + var a = 10; + import m2 = require("use_glo_M1_public"); + } + +} \ No newline at end of file diff --git a/tests/cases/compiler/privacyLocalInternalReferenceImportWithExport.ts b/tests/cases/compiler/privacyLocalInternalReferenceImportWithExport.ts index 9219f1ae6a9..89bd95e6a64 100644 --- a/tests/cases/compiler/privacyLocalInternalReferenceImportWithExport.ts +++ b/tests/cases/compiler/privacyLocalInternalReferenceImportWithExport.ts @@ -1,4 +1,5 @@ //@module: commonjs +//@declaration: true // private elements module m_private { export class c_private { diff --git a/tests/cases/compiler/privacyLocalInternalReferenceImportWithoutExport.ts b/tests/cases/compiler/privacyLocalInternalReferenceImportWithoutExport.ts index fd7cecc01bf..454212f2e31 100644 --- a/tests/cases/compiler/privacyLocalInternalReferenceImportWithoutExport.ts +++ b/tests/cases/compiler/privacyLocalInternalReferenceImportWithoutExport.ts @@ -1,4 +1,5 @@ //@module: amd +//@declaration: true // private elements module m_private { export class c_private { diff --git a/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport.ts b/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport.ts index aa98a1a969b..16c6e19fb59 100644 --- a/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport.ts +++ b/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport.ts @@ -1,4 +1,5 @@ //@module: commonjs +//@declaration: true // @Filename: privacyTopLevelAmbientExternalModuleImportWithExport_require.ts // Public elements export class c_public { @@ -28,6 +29,8 @@ declare module 'm2' { } // @Filename: privacyTopLevelAmbientExternalModuleImportWithExport_core.ts +/// +/// // Privacy errors - importing private elements export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require"); export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1"); @@ -35,11 +38,11 @@ export import im_public_mi_public = require("m"); export import im_public_mu_public = require("m2"); // Usage of privacy error imports -var privateUse_im_public_mi_private = new im_public_mi_private.c_private(); -export var publicUse_im_public_mi_private = new im_public_mi_private.c_private(); -var privateUse_im_public_mu_private = new im_public_mu_private.c_private(); -export var publicUse_im_public_mu_private = new im_public_mu_private.c_private(); -var privateUse_im_public_mi_public = new im_public_mi_public.c_public(); -export var publicUse_im_public_mi_public = new im_public_mi_public.c_public(); -var privateUse_im_public_mi_public = new im_public_mi_public.c_public(); -export var publicUse_im_public_mi_public = new im_public_mi_public.c_public(); +var privateUse_im_public_mi_private = new im_public_mi_private.c_public(); +export var publicUse_im_public_mi_private = new im_public_mi_private.c_public(); +var privateUse_im_public_mu_private = new im_public_mu_private.c_public(); +export var publicUse_im_public_mu_private = new im_public_mu_private.c_public(); +var privateUse_im_public_mi_public = new im_public_mi_public.c_private(); +export var publicUse_im_public_mi_public = new im_public_mi_public.c_private(); +var privateUse_im_public_mi_public = new im_public_mi_public.c_private(); +export var publicUse_im_public_mi_public = new im_public_mi_public.c_private(); diff --git a/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport.ts b/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport.ts index b2d3910a959..f663871cbdb 100644 --- a/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport.ts +++ b/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport.ts @@ -1,4 +1,5 @@ //@module: amd +//@declaration: true // @Filename: privacyTopLevelAmbientExternalModuleImportWithoutExport_require.ts // Public elements @@ -28,6 +29,8 @@ declare module 'm2' { } // @Filename: privacyTopLevelAmbientExternalModuleImportWithoutExport_core.ts +/// +/// // Privacy errors - importing private elements import im_private_mi_private = require("m"); import im_private_mu_private = require("m2"); diff --git a/tests/cases/compiler/privacyTopLevelInternalReferenceImportWithExport.ts b/tests/cases/compiler/privacyTopLevelInternalReferenceImportWithExport.ts index ada020f4da6..987c35c7325 100644 --- a/tests/cases/compiler/privacyTopLevelInternalReferenceImportWithExport.ts +++ b/tests/cases/compiler/privacyTopLevelInternalReferenceImportWithExport.ts @@ -1,4 +1,5 @@ //@module: amd +//@declaration: true // private elements module m_private { export class c_private { diff --git a/tests/cases/compiler/privacyTopLevelInternalReferenceImportWithoutExport.ts b/tests/cases/compiler/privacyTopLevelInternalReferenceImportWithoutExport.ts index d703e1ea0d6..8f241c5ab01 100644 --- a/tests/cases/compiler/privacyTopLevelInternalReferenceImportWithoutExport.ts +++ b/tests/cases/compiler/privacyTopLevelInternalReferenceImportWithoutExport.ts @@ -1,4 +1,6 @@ //@module: amd +//@declaration: true + // private elements module m_private { export class c_private { diff --git a/tests/cases/compiler/privacyVarDeclFile.ts b/tests/cases/compiler/privacyVarDeclFile.ts new file mode 100644 index 00000000000..46012bc9d9f --- /dev/null +++ b/tests/cases/compiler/privacyVarDeclFile.ts @@ -0,0 +1,426 @@ +// @module: commonjs +// @declaration: true + +// @Filename:privacyVarDeclFile_externalModule.ts +class privateClass { +} + +export class publicClass { +} + +export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; // Error +} + +export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; +} + +interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; +} + +interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; +} + +export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; // Error + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; // Error + private myPrivateProperty: privateClass; +} + +export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; +} + +class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; +} + +class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; +} + +export var publicVarWithPrivatePropertyTypes: privateClass; // Error +export var publicVarWithPublicPropertyTypes: publicClass; +var privateVarWithPrivatePropertyTypes: privateClass; +var privateVarWithPublicPropertyTypes: publicClass; + +export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error +export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; +declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; +declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + +export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; // Error +} +export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; // Error + myPublicProperty: privateModule.publicClass; // Error +} +export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error +export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + +interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; +} +class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; +} +var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; +declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + +export module publicModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; // Error + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; // Error + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; // Error + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; // Error + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; // Error + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; // Error + myPublicProperty: privateModule.publicClass; // Error + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; +} + +module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; +} + +// @Filename: privacyVarDeclFile_GlobalFile.ts +class publicClassInGlobal { +} +interface publicInterfaceWithPublicPropertyTypesInGlobal { + myProperty: publicClassInGlobal; +} +class publicClassWithWithPublicPropertyTypesInGlobal { + static myPublicStaticProperty: publicClassInGlobal; + private static myPrivateStaticProperty: publicClassInGlobal; + myPublicProperty: publicClassInGlobal; + private myPrivateProperty: publicClassInGlobal; +} +var publicVarWithPublicPropertyTypesInGlobal: publicClassInGlobal; +declare var publicAmbientVarWithPublicPropertyTypesInGlobal: publicClassInGlobal; + +module publicModuleInGlobal { + class privateClass { + } + + export class publicClass { + } + + module privateModule { + class privateClass { + } + + export class publicClass { + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; + } + + export interface publicInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; // Error + } + + export interface publicInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + interface privateInterfaceWithPrivatePropertyTypes { + myProperty: privateClass; + } + + interface privateInterfaceWithPublicPropertyTypes { + myProperty: publicClass; + } + + export class publicClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; // Error + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; // Error + private myPrivateProperty: privateClass; + } + + export class publicClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + class privateClassWithWithPrivatePropertyTypes { + static myPublicStaticProperty: privateClass; + private static myPrivateStaticProperty: privateClass; + myPublicProperty: privateClass; + private myPrivateProperty: privateClass; + } + + class privateClassWithWithPublicPropertyTypes { + static myPublicStaticProperty: publicClass; + private static myPrivateStaticProperty: publicClass; + myPublicProperty: publicClass; + private myPrivateProperty: publicClass; + } + + export var publicVarWithPrivatePropertyTypes: privateClass; // Error + export var publicVarWithPublicPropertyTypes: publicClass; + var privateVarWithPrivatePropertyTypes: privateClass; + var privateVarWithPublicPropertyTypes: publicClass; + + export declare var publicAmbientVarWithPrivatePropertyTypes: privateClass; // Error + export declare var publicAmbientVarWithPublicPropertyTypes: publicClass; + declare var privateAmbientVarWithPrivatePropertyTypes: privateClass; + declare var privateAmbientVarWithPublicPropertyTypes: publicClass; + + export interface publicInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; // Error + } + export class publicClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; // Error + myPublicProperty: privateModule.publicClass; // Error + } + export var publicVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + export declare var publicAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; // Error + + interface privateInterfaceWithPrivateModulePropertyTypes { + myProperty: privateModule.publicClass; + } + class privateClassWithPrivateModulePropertyTypes { + static myPublicStaticProperty: privateModule.publicClass; + myPublicProperty: privateModule.publicClass; + } + var privateVarWithPrivateModulePropertyTypes: privateModule.publicClass; + declare var privateAmbientVarWithPrivateModulePropertyTypes: privateModule.publicClass; +} \ No newline at end of file diff --git a/tests/cases/compiler/unusedImportDeclaration.ts b/tests/cases/compiler/unusedImportDeclaration.ts index 83cb089acfe..263b355f69c 100644 --- a/tests/cases/compiler/unusedImportDeclaration.ts +++ b/tests/cases/compiler/unusedImportDeclaration.ts @@ -1,4 +1,5 @@ //@module: commonjs +//@declaration: true // @Filename: unusedImportDeclaration_testerB.ts class TesterB { me: string; diff --git a/tests/cases/conformance/types/members/duplicateStringIndexers.ts b/tests/cases/conformance/types/members/duplicateStringIndexers.ts index e2d8def6a0c..67e12d88017 100644 --- a/tests/cases/conformance/types/members/duplicateStringIndexers.ts +++ b/tests/cases/conformance/types/members/duplicateStringIndexers.ts @@ -1,32 +1,33 @@ // it is an error to have duplicate index signatures of the same kind in a type -interface Number { - [x: string]: string; - [x: string]: string; -} +module test { + interface Number { + [x: string]: string; + [x: string]: string; + } -interface String { - [x: string]: string; - [x: string]: string; -} + interface String { + [x: string]: string; + [x: string]: string; + } -interface Array { - [x: string]: T; - [x: string]: T; -} + interface Array { + [x: string]: T; + [x: string]: T; + } -class C { - [x: string]: string; - [x: string]: string; -} + class C { + [x: string]: string; + [x: string]: string; + } -interface I { - [x: string]: string; - [x: string]: string; -} + interface I { + [x: string]: string; + [x: string]: string; + } -var a: { - [x: string]: string; - [x: string]: string; + var a: { + [x: string]: string; + [x: string]: string; + } } - diff --git a/tests/cases/fourslash/getOutliningSpans.ts b/tests/cases/fourslash/getOutliningSpans.ts new file mode 100644 index 00000000000..d672ba20ac4 --- /dev/null +++ b/tests/cases/fourslash/getOutliningSpans.ts @@ -0,0 +1,105 @@ +/// + +////// interface +////interface IFoo[| { +//// getDist(): number; +////}|] +//// +////// class members +////class Foo[| { +//// constructor()[| { +//// }|] +//// +//// public foo(): number[| { +//// return 0; +//// }|] +//// +//// public get X()[| { +//// return 1; +//// }|] +//// +//// public set X(v: number)[| { +//// }|] +//// +//// public member = function f()[| { +//// +//// }|] +////}|] +//// +////// modules +////module m1[| { +//// module m2[| { }|] +//// module m3[| { +//// function foo()[| { +//// +//// }|] +//// +//// interface IFoo2[| { +//// +//// }|] +//// +//// class foo2 implements IFoo2[| { +//// +//// }|] +//// }|] +////}|] +//// +////// function declaration +////function foo(): number[| { +//// return 0; +////}|] +//// +////// function expressions +////(function f()[| { +//// +////}|]) +//// +////// trivia handeling +////class ClassFooWithTrivia[| /* some comments */ +//// /* more trivia */ { +//// +//// +//// /*some trailing trivia */ +////}|] /* even more */ +//// +////// object literals +////var x =[|{ +//// a:1, +//// b:2, +//// get foo()[| { +//// return 1; +//// }|] +////}|] +//////outline with deep nesting +////module m1[|{ +//// module m2[| { +//// module m3[| { +//// module m4[| { +//// module m5[| { +//// module m6[| { +//// module m7[| { +//// module m8[| { +//// module m9[| { +//// module m10[| { +//// module m11 { +//// module m12 { +//// export interface IFoo { +//// } +//// } +//// } +//// }|] +//// }|] +//// }|] +//// }|] +//// }|] +//// }|] +//// }|] +//// }|] +//// }|] +////}|] +//// +//////outline after a deeply nested node +////class AfterNestedNodes[| { +////}|] + +verify.outliningSpansInCurrentFile(test.ranges()); diff --git a/tests/cases/fourslash/outliningForNonCompleteInterfaceDeclaration.ts b/tests/cases/fourslash/outliningForNonCompleteInterfaceDeclaration.ts index 67868c6fb5b..09fd3e8d59d 100644 --- a/tests/cases/fourslash/outliningForNonCompleteInterfaceDeclaration.ts +++ b/tests/cases/fourslash/outliningForNonCompleteInterfaceDeclaration.ts @@ -3,4 +3,4 @@ ////interface I[||] // should not crash -verify.outliningSpansInCurrentFile(test.ranges()); \ No newline at end of file +verify.outliningSpansInCurrentFile([]); \ No newline at end of file diff --git a/tests/cases/fourslash/selfReferencedExternalModule2.ts b/tests/cases/fourslash_old/selfReferencedExternalModule2.ts similarity index 100% rename from tests/cases/fourslash/selfReferencedExternalModule2.ts rename to tests/cases/fourslash_old/selfReferencedExternalModule2.ts diff --git a/tests/cases/project/referencePathStatic.json b/tests/cases/project/referencePathStatic.json new file mode 100644 index 00000000000..b0a7786b835 --- /dev/null +++ b/tests/cases/project/referencePathStatic.json @@ -0,0 +1,7 @@ +{ + "scenario": "Reference-path-static", + "projectRoot": "tests/cases/projects/reference-path-static", + "inputFiles": [ + "test.ts" + ] +} diff --git a/tests/cases/projects/reference-path-static/lib.ts b/tests/cases/projects/reference-path-static/lib.ts new file mode 100644 index 00000000000..8d0f3d9c69d --- /dev/null +++ b/tests/cases/projects/reference-path-static/lib.ts @@ -0,0 +1,3 @@ +module Lib { + export class LibType {} +} diff --git a/tests/cases/projects/reference-path-static/test.ts b/tests/cases/projects/reference-path-static/test.ts new file mode 100644 index 00000000000..ee338c684f0 --- /dev/null +++ b/tests/cases/projects/reference-path-static/test.ts @@ -0,0 +1,3 @@ +/// + +var libType: Lib.LibType; \ No newline at end of file