tests/cases/compiler/moduleElementsInWrongContext2.ts(2,5): error TS1235: A namespace declaration is only allowed in a namespace or module. tests/cases/compiler/moduleElementsInWrongContext2.ts(3,5): error TS1235: A namespace declaration is only allowed in a namespace or module. tests/cases/compiler/moduleElementsInWrongContext2.ts(7,5): error TS1235: A namespace declaration is only allowed in a namespace or module. tests/cases/compiler/moduleElementsInWrongContext2.ts(9,5): error TS1234: An ambient module declaration is only allowed at the top level in a file. tests/cases/compiler/moduleElementsInWrongContext2.ts(13,5): error TS1231: An export assignment must be at the top level of a file or module declaration. tests/cases/compiler/moduleElementsInWrongContext2.ts(17,5): error TS1233: An export declaration can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext2.ts(18,5): error TS1233: An export declaration can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext2.ts(19,5): error TS1233: An export declaration can only be used in a module. tests/cases/compiler/moduleElementsInWrongContext2.ts(20,5): error TS1258: A default export must be at the top level of a file or module declaration. tests/cases/compiler/moduleElementsInWrongContext2.ts(21,5): error TS1184: Modifiers cannot appear here. tests/cases/compiler/moduleElementsInWrongContext2.ts(22,5): error TS1184: Modifiers cannot appear here. tests/cases/compiler/moduleElementsInWrongContext2.ts(23,5): error TS1232: An import declaration can only be used in a namespace or module. tests/cases/compiler/moduleElementsInWrongContext2.ts(24,5): error TS1232: An import declaration can only be used in a namespace or module. tests/cases/compiler/moduleElementsInWrongContext2.ts(25,5): error TS1232: An import declaration can only be used in a namespace or module. tests/cases/compiler/moduleElementsInWrongContext2.ts(26,5): error TS1232: An import declaration can only be used in a namespace or module. tests/cases/compiler/moduleElementsInWrongContext2.ts(27,5): error TS1232: An import declaration can only be used in a namespace or module. tests/cases/compiler/moduleElementsInWrongContext2.ts(28,5): error TS1232: An import declaration can only be used in a namespace or module. ==== tests/cases/compiler/moduleElementsInWrongContext2.ts (17 errors) ==== function blah () { module M { } ~~~~~~ !!! error TS1235: A namespace declaration is only allowed in a namespace or module. export namespace N { ~~~~~~ !!! error TS1235: A namespace declaration is only allowed in a namespace or module. export interface I { } } namespace Q.K { } ~~~~~~~~~ !!! error TS1235: A namespace declaration is only allowed in a namespace or module. declare module "ambient" { ~~~~~~~ !!! error TS1234: An ambient module declaration is only allowed at the top level in a file. } export = M; ~~~~~~ !!! error TS1231: An export assignment must be at the top level of a file or module declaration. var v; function foo() { } export * from "ambient"; ~~~~~~ !!! error TS1233: An export declaration can only be used in a module. export { foo }; ~~~~~~ !!! error TS1233: An export declaration can only be used in a module. export { baz as b } from "ambient"; ~~~~~~ !!! error TS1233: An export declaration can only be used in a module. export default v; ~~~~~~ !!! error TS1258: A default export must be at the top level of a file or module declaration. export default class C { } ~~~~~~ !!! error TS1184: Modifiers cannot appear here. export function bee() { } ~~~~~~ !!! error TS1184: Modifiers cannot appear here. import I = M; ~~~~~~ !!! error TS1232: An import declaration can only be used in a namespace or module. import I2 = require("foo"); ~~~~~~ !!! error TS1232: An import declaration can only be used in a namespace or module. import * as Foo from "ambient"; ~~~~~~ !!! error TS1232: An import declaration can only be used in a namespace or module. import bar from "ambient"; ~~~~~~ !!! error TS1232: An import declaration can only be used in a namespace or module. import { baz } from "ambient"; ~~~~~~ !!! error TS1232: An import declaration can only be used in a namespace or module. import "ambient"; ~~~~~~ !!! error TS1232: An import declaration can only be used in a namespace or module. }