@@ -808,7 +808,9 @@ module ts {
808
808
expression : UnaryExpression ;
809
809
}
810
810
811
- export interface Statement extends Node , ModuleElement { }
811
+ export interface Statement extends Node {
812
+ _statementBrand : any ;
813
+ }
812
814
813
815
export interface Block extends Statement {
814
816
statements : NodeArray < Statement > ;
@@ -909,10 +911,6 @@ module ts {
909
911
block : Block ;
910
912
}
911
913
912
- export interface ModuleElement extends Node {
913
- _moduleElementBrand : any ;
914
- }
915
-
916
914
export interface ClassLikeDeclaration extends Declaration {
917
915
name ?: Identifier ;
918
916
typeParameters ?: NodeArray < TypeParameterDeclaration > ;
@@ -960,16 +958,16 @@ module ts {
960
958
members : NodeArray < EnumMember > ;
961
959
}
962
960
963
- export interface ModuleDeclaration extends Declaration , ModuleElement {
961
+ export interface ModuleDeclaration extends Declaration , Statement {
964
962
name : Identifier | LiteralExpression ;
965
963
body : ModuleBlock | ModuleDeclaration ;
966
964
}
967
965
968
- export interface ModuleBlock extends Node , ModuleElement {
969
- statements : NodeArray < ModuleElement >
966
+ export interface ModuleBlock extends Node , Statement {
967
+ statements : NodeArray < Statement >
970
968
}
971
969
972
- export interface ImportEqualsDeclaration extends Declaration , ModuleElement {
970
+ export interface ImportEqualsDeclaration extends Declaration , Statement {
973
971
name : Identifier ;
974
972
975
973
// 'EntityName' for an internal module reference, 'ExternalModuleReference' for an external
@@ -985,7 +983,7 @@ module ts {
985
983
// import "mod" => importClause = undefined, moduleSpecifier = "mod"
986
984
// In rest of the cases, module specifier is string literal corresponding to module
987
985
// ImportClause information is shown at its declaration below.
988
- export interface ImportDeclaration extends ModuleElement {
986
+ export interface ImportDeclaration extends Statement {
989
987
importClause ?: ImportClause ;
990
988
moduleSpecifier : Expression ;
991
989
}
@@ -1005,7 +1003,7 @@ module ts {
1005
1003
name : Identifier ;
1006
1004
}
1007
1005
1008
- export interface ExportDeclaration extends Declaration , ModuleElement {
1006
+ export interface ExportDeclaration extends Declaration , Statement {
1009
1007
exportClause ?: NamedExports ;
1010
1008
moduleSpecifier ?: Expression ;
1011
1009
}
@@ -1025,7 +1023,7 @@ module ts {
1025
1023
export type ImportSpecifier = ImportOrExportSpecifier ;
1026
1024
export type ExportSpecifier = ImportOrExportSpecifier ;
1027
1025
1028
- export interface ExportAssignment extends Declaration , ModuleElement {
1026
+ export interface ExportAssignment extends Declaration , Statement {
1029
1027
isExportEquals ?: boolean ;
1030
1028
expression : Expression ;
1031
1029
}
@@ -1141,7 +1139,7 @@ module ts {
1141
1139
1142
1140
// Source files are declarations when they are external modules.
1143
1141
export interface SourceFile extends Declaration {
1144
- statements : NodeArray < ModuleElement > ;
1142
+ statements : NodeArray < Statement > ;
1145
1143
endOfFileToken : Node ;
1146
1144
1147
1145
fileName : string ;
0 commit comments