Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 5c0b38b

Browse filesBrowse files
Remove getEnumMemberValue, it is now subsumed into getConstantValue.
1 parent 6ed9741 commit 5c0b38b
Copy full SHA for 5c0b38b

File tree

Expand file treeCollapse file tree

12 files changed

+56
-67
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

12 files changed

+56
-67
lines changed
Open diff view settings
Collapse file

‎src/compiler/checker.ts‎

Copy file name to clipboardExpand all lines: src/compiler/checker.ts
+6-3Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ module ts {
5050
getContextualType,
5151
getFullyQualifiedName,
5252
getResolvedSignature,
53-
getEnumMemberValue,
53+
getConstantValue,
5454
isValidPropertyAccess,
5555
getSignatureFromDeclaration,
5656
isImplementationOfOverload,
@@ -10171,7 +10171,11 @@ module ts {
1017110171
return getNodeLinks(node).enumMemberValue;
1017210172
}
1017310173

10174-
function getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): number {
10174+
function getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number {
10175+
if (node.kind === SyntaxKind.EnumMember) {
10176+
return getEnumMemberValue(<EnumMember>node);
10177+
}
10178+
1017510179
var symbol = getNodeLinks(node).resolvedSymbol;
1017610180
if (symbol && (symbol.flags & SymbolFlags.EnumMember)) {
1017710181
var declaration = symbol.valueDeclaration;
@@ -10210,7 +10214,6 @@ module ts {
1021010214
getExportAssignmentName,
1021110215
isReferencedImportDeclaration,
1021210216
getNodeCheckFlags,
10213-
getEnumMemberValue,
1021410217
isTopLevelValueImportWithEntityName,
1021510218
isDeclarationVisible,
1021610219
isImplementationOfOverload,
Collapse file

‎src/compiler/emitter.ts‎

Copy file name to clipboardExpand all lines: src/compiler/emitter.ts
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -825,7 +825,7 @@ module ts {
825825
function emitEnumMemberDeclaration(node: EnumMember) {
826826
emitJsDocComments(node);
827827
writeTextOfNode(currentSourceFile, node.name);
828-
var enumMemberValue = resolver.getEnumMemberValue(node);
828+
var enumMemberValue = resolver.getConstantValue(node);
829829
if (enumMemberValue !== undefined) {
830830
write(" = ");
831831
write(enumMemberValue.toString());
@@ -1507,7 +1507,7 @@ module ts {
15071507
}
15081508

15091509
// @internal
1510-
// targetSourceFile is when users only want one file in entire project to be emitted. This is used in compilerOnSave feature
1510+
// targetSourceFile is when users only want one file in entire project to be emitted. This is used in compileOnSave feature
15111511
export function emitFiles(resolver: EmitResolver, host: EmitHost, targetSourceFile: SourceFile): EmitResult {
15121512
var compilerOptions = host.getCompilerOptions();
15131513
var languageVersion = compilerOptions.target || ScriptTarget.ES3;
@@ -3809,7 +3809,7 @@ module ts {
38093809

38103810
function writeEnumMemberDeclarationValue(member: EnumMember) {
38113811
if (!member.initializer || isConst(member.parent)) {
3812-
var value = resolver.getEnumMemberValue(member);
3812+
var value = resolver.getConstantValue(member);
38133813
if (value !== undefined) {
38143814
write(value.toString());
38153815
return;
Collapse file

‎src/compiler/types.ts‎

Copy file name to clipboardExpand all lines: src/compiler/types.ts
+2-4Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,8 +1032,7 @@ module ts {
10321032
isUndefinedSymbol(symbol: Symbol): boolean;
10331033
isArgumentsSymbol(symbol: Symbol): boolean;
10341034

1035-
// Returns the constant value of this enum member, or 'undefined' if the enum member has a computed value.
1036-
getEnumMemberValue(node: EnumMember): number;
1035+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
10371036
isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean;
10381037
getAliasedSymbol(symbol: Symbol): Symbol;
10391038

@@ -1130,15 +1129,14 @@ module ts {
11301129
isReferencedImportDeclaration(node: ImportDeclaration): boolean;
11311130
isTopLevelValueImportWithEntityName(node: ImportDeclaration): boolean;
11321131
getNodeCheckFlags(node: Node): NodeCheckFlags;
1133-
getEnumMemberValue(node: EnumMember): number;
11341132
isDeclarationVisible(node: Declaration): boolean;
11351133
isImplementationOfOverload(node: FunctionLikeDeclaration): boolean;
11361134
writeTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void;
11371135
writeReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void;
11381136
isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessiblityResult;
11391137
isEntityNameVisible(entityName: EntityName, enclosingDeclaration: Node): SymbolVisibilityResult;
11401138
// Returns the constant value this property access resolves to, or 'undefined' for a non-constant
1141-
getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): number;
1139+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
11421140
isUnknownIdentifier(location: Node, name: string): boolean;
11431141
}
11441142

Collapse file

‎src/services/services.ts‎

Copy file name to clipboardExpand all lines: src/services/services.ts
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3061,7 +3061,7 @@ module ts {
30613061
addPrefixForAnyFunctionOrVar(symbol, "enum member");
30623062
var declaration = symbol.declarations[0];
30633063
if (declaration.kind === SyntaxKind.EnumMember) {
3064-
var constantValue = typeResolver.getEnumMemberValue(<EnumMember>declaration);
3064+
var constantValue = typeResolver.getConstantValue(<EnumMember>declaration);
30653065
if (constantValue !== undefined) {
30663066
displayParts.push(spacePart());
30673067
displayParts.push(operatorPart(SyntaxKind.EqualsToken));
Collapse file

‎tests/baselines/reference/APISample_compile.js‎

Copy file name to clipboardExpand all lines: tests/baselines/reference/APISample_compile.js
+2-3Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -817,7 +817,7 @@ declare module "typescript" {
817817
isImplementationOfOverload(node: FunctionLikeDeclaration): boolean;
818818
isUndefinedSymbol(symbol: Symbol): boolean;
819819
isArgumentsSymbol(symbol: Symbol): boolean;
820-
getEnumMemberValue(node: EnumMember): number;
820+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
821821
isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean;
822822
getAliasedSymbol(symbol: Symbol): Symbol;
823823
}
@@ -883,14 +883,13 @@ declare module "typescript" {
883883
isReferencedImportDeclaration(node: ImportDeclaration): boolean;
884884
isTopLevelValueImportWithEntityName(node: ImportDeclaration): boolean;
885885
getNodeCheckFlags(node: Node): NodeCheckFlags;
886-
getEnumMemberValue(node: EnumMember): number;
887886
isDeclarationVisible(node: Declaration): boolean;
888887
isImplementationOfOverload(node: FunctionLikeDeclaration): boolean;
889888
writeTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void;
890889
writeReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void;
891890
isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessiblityResult;
892891
isEntityNameVisible(entityName: EntityName, enclosingDeclaration: Node): SymbolVisibilityResult;
893-
getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): number;
892+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
894893
isUnknownIdentifier(location: Node, name: string): boolean;
895894
}
896895
const enum SymbolFlags {
Collapse file

‎tests/baselines/reference/APISample_compile.types‎

Copy file name to clipboardExpand all lines: tests/baselines/reference/APISample_compile.types
+9-11Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2546,10 +2546,12 @@ declare module "typescript" {
25462546
>symbol : Symbol
25472547
>Symbol : Symbol
25482548

2549-
getEnumMemberValue(node: EnumMember): number;
2550-
>getEnumMemberValue : (node: EnumMember) => number
2551-
>node : EnumMember
2549+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
2550+
>getConstantValue : (node: PropertyAccessExpression | ElementAccessExpression | EnumMember) => number
2551+
>node : PropertyAccessExpression | ElementAccessExpression | EnumMember
25522552
>EnumMember : EnumMember
2553+
>PropertyAccessExpression : PropertyAccessExpression
2554+
>ElementAccessExpression : ElementAccessExpression
25532555

25542556
isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean;
25552557
>isValidPropertyAccess : (node: QualifiedName | PropertyAccessExpression, propertyName: string) => boolean
@@ -2836,11 +2838,6 @@ declare module "typescript" {
28362838
>Node : Node
28372839
>NodeCheckFlags : NodeCheckFlags
28382840

2839-
getEnumMemberValue(node: EnumMember): number;
2840-
>getEnumMemberValue : (node: EnumMember) => number
2841-
>node : EnumMember
2842-
>EnumMember : EnumMember
2843-
28442841
isDeclarationVisible(node: Declaration): boolean;
28452842
>isDeclarationVisible : (node: Declaration) => boolean
28462843
>node : Declaration
@@ -2892,9 +2889,10 @@ declare module "typescript" {
28922889
>Node : Node
28932890
>SymbolVisibilityResult : SymbolVisibilityResult
28942891

2895-
getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): number;
2896-
>getConstantValue : (node: PropertyAccessExpression | ElementAccessExpression) => number
2897-
>node : PropertyAccessExpression | ElementAccessExpression
2892+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
2893+
>getConstantValue : (node: PropertyAccessExpression | ElementAccessExpression | EnumMember) => number
2894+
>node : PropertyAccessExpression | ElementAccessExpression | EnumMember
2895+
>EnumMember : EnumMember
28982896
>PropertyAccessExpression : PropertyAccessExpression
28992897
>ElementAccessExpression : ElementAccessExpression
29002898

Collapse file

‎tests/baselines/reference/APISample_linter.js‎

Copy file name to clipboardExpand all lines: tests/baselines/reference/APISample_linter.js
+2-3Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -848,7 +848,7 @@ declare module "typescript" {
848848
isImplementationOfOverload(node: FunctionLikeDeclaration): boolean;
849849
isUndefinedSymbol(symbol: Symbol): boolean;
850850
isArgumentsSymbol(symbol: Symbol): boolean;
851-
getEnumMemberValue(node: EnumMember): number;
851+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
852852
isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean;
853853
getAliasedSymbol(symbol: Symbol): Symbol;
854854
}
@@ -914,14 +914,13 @@ declare module "typescript" {
914914
isReferencedImportDeclaration(node: ImportDeclaration): boolean;
915915
isTopLevelValueImportWithEntityName(node: ImportDeclaration): boolean;
916916
getNodeCheckFlags(node: Node): NodeCheckFlags;
917-
getEnumMemberValue(node: EnumMember): number;
918917
isDeclarationVisible(node: Declaration): boolean;
919918
isImplementationOfOverload(node: FunctionLikeDeclaration): boolean;
920919
writeTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void;
921920
writeReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void;
922921
isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessiblityResult;
923922
isEntityNameVisible(entityName: EntityName, enclosingDeclaration: Node): SymbolVisibilityResult;
924-
getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): number;
923+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
925924
isUnknownIdentifier(location: Node, name: string): boolean;
926925
}
927926
const enum SymbolFlags {
Collapse file

‎tests/baselines/reference/APISample_linter.types‎

Copy file name to clipboardExpand all lines: tests/baselines/reference/APISample_linter.types
+9-11Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2690,10 +2690,12 @@ declare module "typescript" {
26902690
>symbol : Symbol
26912691
>Symbol : Symbol
26922692

2693-
getEnumMemberValue(node: EnumMember): number;
2694-
>getEnumMemberValue : (node: EnumMember) => number
2695-
>node : EnumMember
2693+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
2694+
>getConstantValue : (node: PropertyAccessExpression | ElementAccessExpression | EnumMember) => number
2695+
>node : PropertyAccessExpression | ElementAccessExpression | EnumMember
26962696
>EnumMember : EnumMember
2697+
>PropertyAccessExpression : PropertyAccessExpression
2698+
>ElementAccessExpression : ElementAccessExpression
26972699

26982700
isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean;
26992701
>isValidPropertyAccess : (node: QualifiedName | PropertyAccessExpression, propertyName: string) => boolean
@@ -2980,11 +2982,6 @@ declare module "typescript" {
29802982
>Node : Node
29812983
>NodeCheckFlags : NodeCheckFlags
29822984

2983-
getEnumMemberValue(node: EnumMember): number;
2984-
>getEnumMemberValue : (node: EnumMember) => number
2985-
>node : EnumMember
2986-
>EnumMember : EnumMember
2987-
29882985
isDeclarationVisible(node: Declaration): boolean;
29892986
>isDeclarationVisible : (node: Declaration) => boolean
29902987
>node : Declaration
@@ -3036,9 +3033,10 @@ declare module "typescript" {
30363033
>Node : Node
30373034
>SymbolVisibilityResult : SymbolVisibilityResult
30383035

3039-
getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): number;
3040-
>getConstantValue : (node: PropertyAccessExpression | ElementAccessExpression) => number
3041-
>node : PropertyAccessExpression | ElementAccessExpression
3036+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
3037+
>getConstantValue : (node: PropertyAccessExpression | ElementAccessExpression | EnumMember) => number
3038+
>node : PropertyAccessExpression | ElementAccessExpression | EnumMember
3039+
>EnumMember : EnumMember
30423040
>PropertyAccessExpression : PropertyAccessExpression
30433041
>ElementAccessExpression : ElementAccessExpression
30443042

Collapse file

‎tests/baselines/reference/APISample_transform.js‎

Copy file name to clipboardExpand all lines: tests/baselines/reference/APISample_transform.js
+2-3Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -849,7 +849,7 @@ declare module "typescript" {
849849
isImplementationOfOverload(node: FunctionLikeDeclaration): boolean;
850850
isUndefinedSymbol(symbol: Symbol): boolean;
851851
isArgumentsSymbol(symbol: Symbol): boolean;
852-
getEnumMemberValue(node: EnumMember): number;
852+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
853853
isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean;
854854
getAliasedSymbol(symbol: Symbol): Symbol;
855855
}
@@ -915,14 +915,13 @@ declare module "typescript" {
915915
isReferencedImportDeclaration(node: ImportDeclaration): boolean;
916916
isTopLevelValueImportWithEntityName(node: ImportDeclaration): boolean;
917917
getNodeCheckFlags(node: Node): NodeCheckFlags;
918-
getEnumMemberValue(node: EnumMember): number;
919918
isDeclarationVisible(node: Declaration): boolean;
920919
isImplementationOfOverload(node: FunctionLikeDeclaration): boolean;
921920
writeTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void;
922921
writeReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void;
923922
isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessiblityResult;
924923
isEntityNameVisible(entityName: EntityName, enclosingDeclaration: Node): SymbolVisibilityResult;
925-
getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): number;
924+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
926925
isUnknownIdentifier(location: Node, name: string): boolean;
927926
}
928927
const enum SymbolFlags {
Collapse file

‎tests/baselines/reference/APISample_transform.types‎

Copy file name to clipboardExpand all lines: tests/baselines/reference/APISample_transform.types
+9-11Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2642,10 +2642,12 @@ declare module "typescript" {
26422642
>symbol : Symbol
26432643
>Symbol : Symbol
26442644

2645-
getEnumMemberValue(node: EnumMember): number;
2646-
>getEnumMemberValue : (node: EnumMember) => number
2647-
>node : EnumMember
2645+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
2646+
>getConstantValue : (node: PropertyAccessExpression | ElementAccessExpression | EnumMember) => number
2647+
>node : PropertyAccessExpression | ElementAccessExpression | EnumMember
26482648
>EnumMember : EnumMember
2649+
>PropertyAccessExpression : PropertyAccessExpression
2650+
>ElementAccessExpression : ElementAccessExpression
26492651

26502652
isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean;
26512653
>isValidPropertyAccess : (node: QualifiedName | PropertyAccessExpression, propertyName: string) => boolean
@@ -2932,11 +2934,6 @@ declare module "typescript" {
29322934
>Node : Node
29332935
>NodeCheckFlags : NodeCheckFlags
29342936

2935-
getEnumMemberValue(node: EnumMember): number;
2936-
>getEnumMemberValue : (node: EnumMember) => number
2937-
>node : EnumMember
2938-
>EnumMember : EnumMember
2939-
29402937
isDeclarationVisible(node: Declaration): boolean;
29412938
>isDeclarationVisible : (node: Declaration) => boolean
29422939
>node : Declaration
@@ -2988,9 +2985,10 @@ declare module "typescript" {
29882985
>Node : Node
29892986
>SymbolVisibilityResult : SymbolVisibilityResult
29902987

2991-
getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): number;
2992-
>getConstantValue : (node: PropertyAccessExpression | ElementAccessExpression) => number
2993-
>node : PropertyAccessExpression | ElementAccessExpression
2988+
getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number;
2989+
>getConstantValue : (node: PropertyAccessExpression | ElementAccessExpression | EnumMember) => number
2990+
>node : PropertyAccessExpression | ElementAccessExpression | EnumMember
2991+
>EnumMember : EnumMember
29942992
>PropertyAccessExpression : PropertyAccessExpression
29952993
>ElementAccessExpression : ElementAccessExpression
29962994

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.