TypeScript/tests/baselines/reference/moduleAliasInterface.types

122 lines
2.2 KiB
Text
Raw Normal View History

2014-08-15 23:33:16 +02:00
=== tests/cases/compiler/moduleAliasInterface.ts ===
module _modes {
2014-08-28 21:40:58 +02:00
>_modes : typeof _modes
2014-08-15 23:33:16 +02:00
export interface IMode {
>IMode : IMode
}
export class Mode {
>Mode : Mode
}
}
// _modes. // produces an internal error - please implement in derived class
module editor {
2014-08-28 21:40:58 +02:00
>editor : typeof editor
2014-08-15 23:33:16 +02:00
import modes = _modes;
2014-08-28 21:40:58 +02:00
>modes : typeof modes
2014-08-25 19:36:12 +02:00
>_modes : typeof modes
2014-08-15 23:33:16 +02:00
var i : modes.IMode;
2014-08-25 19:36:12 +02:00
>i : modes.IMode
2014-08-28 21:40:58 +02:00
>modes : unknown
2014-08-25 19:36:12 +02:00
>IMode : modes.IMode
2014-08-15 23:33:16 +02:00
// If you just use p1:modes, the compiler accepts it - should be an error
class Bug {
>Bug : Bug
constructor(p1: modes.IMode, p2: modes.Mode) { }// should be an error on p2 - it's not exported
2014-08-25 19:36:12 +02:00
>p1 : modes.IMode
2014-08-28 21:40:58 +02:00
>modes : unknown
2014-08-25 19:36:12 +02:00
>IMode : modes.IMode
>p2 : modes.Mode
2014-08-28 21:40:58 +02:00
>modes : unknown
2014-08-25 19:36:12 +02:00
>Mode : modes.Mode
2014-08-15 23:33:16 +02:00
public foo(p1:modes.IMode) {
2014-08-25 19:36:12 +02:00
>foo : (p1: modes.IMode) => void
>p1 : modes.IMode
2014-08-28 21:40:58 +02:00
>modes : unknown
2014-08-25 19:36:12 +02:00
>IMode : modes.IMode
2014-08-15 23:33:16 +02:00
}
}
}
import modesOuter = _modes;
2014-08-28 21:40:58 +02:00
>modesOuter : typeof _modes
2014-08-15 23:33:16 +02:00
>_modes : typeof _modes
module editor2 {
2014-08-28 21:40:58 +02:00
>editor2 : typeof editor2
2014-08-15 23:33:16 +02:00
var i : modesOuter.IMode;
2014-08-25 19:36:12 +02:00
>i : modesOuter.IMode
2014-08-28 21:40:58 +02:00
>modesOuter : unknown
2014-08-25 19:36:12 +02:00
>IMode : modesOuter.IMode
2014-08-15 23:33:16 +02:00
class Bug {
>Bug : Bug
constructor(p1: modesOuter.IMode, p2: modesOuter.Mode) { }// no error here, since modesOuter is declared externally
2014-08-25 19:36:12 +02:00
>p1 : modesOuter.IMode
2014-08-28 21:40:58 +02:00
>modesOuter : unknown
2014-08-25 19:36:12 +02:00
>IMode : modesOuter.IMode
>p2 : modesOuter.Mode
2014-08-28 21:40:58 +02:00
>modesOuter : unknown
2014-08-25 19:36:12 +02:00
>Mode : modesOuter.Mode
2014-08-15 23:33:16 +02:00
}
module Foo { export class Bar{} }
2014-08-28 21:40:58 +02:00
>Foo : typeof Foo
2014-08-15 23:33:16 +02:00
>Bar : Bar
class Bug2 {
>Bug2 : Bug2
constructor(p1: Foo.Bar, p2: modesOuter.Mode) { }
2014-08-25 19:36:12 +02:00
>p1 : Foo.Bar
2014-08-28 21:40:58 +02:00
>Foo : unknown
2014-08-25 19:36:12 +02:00
>Bar : Foo.Bar
>p2 : modesOuter.Mode
2014-08-28 21:40:58 +02:00
>modesOuter : unknown
2014-08-25 19:36:12 +02:00
>Mode : modesOuter.Mode
2014-08-15 23:33:16 +02:00
}
}
module A1 {
2014-08-28 21:40:58 +02:00
>A1 : typeof A1
2014-08-15 23:33:16 +02:00
export interface A1I1 {}
>A1I1 : A1I1
export class A1C1 {}
>A1C1 : A1C1
}
module B1 {
2014-08-28 21:40:58 +02:00
>B1 : typeof B1
2014-08-15 23:33:16 +02:00
import A1Alias1 = A1;
2014-08-28 21:40:58 +02:00
>A1Alias1 : typeof A1Alias1
2014-08-25 19:36:12 +02:00
>A1 : typeof A1Alias1
2014-08-15 23:33:16 +02:00
var i : A1Alias1.A1I1;
2014-08-25 19:36:12 +02:00
>i : A1Alias1.A1I1
2014-08-28 21:40:58 +02:00
>A1Alias1 : unknown
2014-08-25 19:36:12 +02:00
>A1I1 : A1Alias1.A1I1
2014-08-15 23:33:16 +02:00
var c : A1Alias1.A1C1;
2014-08-25 19:36:12 +02:00
>c : A1Alias1.A1C1
2014-08-28 21:40:58 +02:00
>A1Alias1 : unknown
2014-08-25 19:36:12 +02:00
>A1C1 : A1Alias1.A1C1
2014-08-15 23:33:16 +02:00
}