diff --git a/scripts/processDiagnosticMessages.ts b/scripts/processDiagnosticMessages.ts
index b97e4a2ea54..9cfde5b2964 100644
--- a/scripts/processDiagnosticMessages.ts
+++ b/scripts/processDiagnosticMessages.ts
@@ -54,6 +54,7 @@ function buildInfoFileOutput(messageTable: InputDiagnosticMessageTable, nameMap:
var result =
'// \r\n' +
'/// \r\n' +
+ '/* @internal */\r\n' +
'module ts {\r\n' +
' export var Diagnostics = {\r\n';
var names = Utilities.getObjectKeys(messageTable);
diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts
index 2490c32fedc..e9430a058f8 100644
--- a/src/compiler/checker.ts
+++ b/src/compiler/checker.ts
@@ -2904,16 +2904,17 @@ module ts {
}
function getPropertiesOfType(type: Type): Symbol[] {
- if (type.flags & TypeFlags.Union) {
- return getPropertiesOfUnionType(type);
- }
- return getPropertiesOfObjectType(getApparentType(type));
+ type = getApparentType(type);
+ return type.flags & TypeFlags.Union ? getPropertiesOfUnionType(type) : getPropertiesOfObjectType(type);
}
// For a type parameter, return the base constraint of the type parameter. For the string, number,
// boolean, and symbol primitive types, return the corresponding object types. Otherwise return the
// type itself. Note that the apparent type of a union type is the union type itself.
function getApparentType(type: Type): Type {
+ if (type.flags & TypeFlags.Union) {
+ type = getReducedTypeOfUnionType(type);
+ }
if (type.flags & TypeFlags.TypeParameter) {
do {
type = getConstraintOfTypeParameter(type);
@@ -2986,27 +2987,27 @@ module ts {
// necessary, maps primitive types and type parameters are to their apparent types, and augments with properties from
// Object and Function as appropriate.
function getPropertyOfType(type: Type, name: string): Symbol {
+ type = getApparentType(type);
+ if (type.flags & TypeFlags.ObjectType) {
+ let resolved = resolveObjectOrUnionTypeMembers(type);
+ if (hasProperty(resolved.members, name)) {
+ let symbol = resolved.members[name];
+ if (symbolIsValue(symbol)) {
+ return symbol;
+ }
+ }
+ if (resolved === anyFunctionType || resolved.callSignatures.length || resolved.constructSignatures.length) {
+ let symbol = getPropertyOfObjectType(globalFunctionType, name);
+ if (symbol) {
+ return symbol;
+ }
+ }
+ return getPropertyOfObjectType(globalObjectType, name);
+ }
if (type.flags & TypeFlags.Union) {
return getPropertyOfUnionType(type, name);
}
- if (!(type.flags & TypeFlags.ObjectType)) {
- type = getApparentType(type);
- if (!(type.flags & TypeFlags.ObjectType)) {
- return undefined;
- }
- }
- let resolved = resolveObjectOrUnionTypeMembers(type);
- if (hasProperty(resolved.members, name)) {
- let symbol = resolved.members[name];
- if (symbolIsValue(symbol)) {
- return symbol;
- }
- }
- if (resolved === anyFunctionType || resolved.callSignatures.length || resolved.constructSignatures.length) {
- let symbol = getPropertyOfObjectType(globalFunctionType, name);
- if (symbol) return symbol;
- }
- return getPropertyOfObjectType(globalObjectType, name);
+ return undefined;
}
function getSignaturesOfObjectOrUnionType(type: Type, kind: SignatureKind): Signature[] {
@@ -3581,6 +3582,10 @@ module ts {
}
}
+ // The noSubtypeReduction flag is there because it isn't possible to always do subtype reduction. The flag
+ // is true when creating a union type from a type node and when instantiating a union type. In both of those
+ // cases subtype reduction has to be deferred to properly support recursive union types. For example, a
+ // type alias of the form "type Item = string | (() => Item)" cannot be reduced during its declaration.
function getUnionType(types: Type[], noSubtypeReduction?: boolean): Type {
if (types.length === 0) {
return emptyObjectType;
@@ -3605,10 +3610,19 @@ module ts {
if (!type) {
type = unionTypes[id] = createObjectType(TypeFlags.Union | getWideningFlagsOfTypes(sortedTypes));
type.types = sortedTypes;
+ type.reducedType = noSubtypeReduction ? undefined : type;
}
return type;
}
+ function getReducedTypeOfUnionType(type: UnionType): Type {
+ // If union type was created without subtype reduction, perform the deferred reduction now
+ if (!type.reducedType) {
+ type.reducedType = getUnionType(type.types, /*noSubtypeReduction*/ false);
+ }
+ return type.reducedType;
+ }
+
function getTypeFromUnionTypeNode(node: UnionTypeNode): Type {
let links = getNodeLinks(node);
if (!links.resolvedType) {
@@ -9412,7 +9426,10 @@ module ts {
}
if (isArrayLikeType(inputType)) {
- return getIndexTypeOfType(inputType, IndexKind.Number);
+ let indexType = getIndexTypeOfType(inputType, IndexKind.Number);
+ if (indexType) {
+ return indexType;
+ }
}
error(errorNode, Diagnostics.Type_0_is_not_an_array_type, typeToString(inputType));
diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json
index ea40d118382..063a0d50ef5 100644
--- a/src/compiler/diagnosticMessages.json
+++ b/src/compiler/diagnosticMessages.json
@@ -2043,19 +2043,19 @@
},
"'import ... =' can only be used in a .ts file.": {
"category": "Error",
- "code": 8002
+ "code": 8002
},
"'export=' can only be used in a .ts file.": {
"category": "Error",
- "code": 8003
+ "code": 8003
},
"'type parameter declarations' can only be used in a .ts file.": {
"category": "Error",
- "code": 8004
+ "code": 8004
},
"'implements clauses' can only be used in a .ts file.": {
"category": "Error",
- "code": 8005
+ "code": 8005
},
"'interface declarations' can only be used in a .ts file.": {
"category": "Error",
diff --git a/src/compiler/types.ts b/src/compiler/types.ts
index 43c210331a5..a8e0544f4ea 100644
--- a/src/compiler/types.ts
+++ b/src/compiler/types.ts
@@ -121,7 +121,6 @@ module ts {
WhileKeyword,
WithKeyword,
// Strict mode reserved words
- AsKeyword,
ImplementsKeyword,
InterfaceKeyword,
LetKeyword,
@@ -132,6 +131,7 @@ module ts {
StaticKeyword,
YieldKeyword,
// Contextual keywords
+ AsKeyword,
AnyKeyword,
BooleanKeyword,
ConstructorKeyword,
@@ -1512,6 +1512,8 @@ module ts {
export interface UnionType extends Type {
types: Type[]; // Constituent types
/* @internal */
+ reducedType: Type; // Reduced union type (all subtypes removed)
+ /* @internal */
resolvedProperties: SymbolTable; // Cache of resolved properties
}
diff --git a/src/harness/typeWriter.ts b/src/harness/typeWriter.ts
index 4c50e0e0cad..736974c49a1 100644
--- a/src/harness/typeWriter.ts
+++ b/src/harness/typeWriter.ts
@@ -1,6 +1,5 @@
interface TypeWriterResult {
line: number;
- column: number;
syntaxKind: number;
sourceText: string;
type: string;
@@ -29,90 +28,43 @@ class TypeWriterWalker {
}
private visitNode(node: ts.Node): void {
- switch (node.kind) {
- // Should always log expressions that are not tokens
- // Also, always log the "this" keyword
- // TODO: Ideally we should log all expressions, but to compare to the
- // old typeWriter baselines, suppress tokens
- case ts.SyntaxKind.ThisKeyword:
- case ts.SyntaxKind.SuperKeyword:
- case ts.SyntaxKind.ArrayLiteralExpression:
- case ts.SyntaxKind.ObjectLiteralExpression:
- case ts.SyntaxKind.ElementAccessExpression:
- case ts.SyntaxKind.CallExpression:
- case ts.SyntaxKind.NewExpression:
- case ts.SyntaxKind.TypeAssertionExpression:
- case ts.SyntaxKind.ParenthesizedExpression:
- case ts.SyntaxKind.FunctionExpression:
- case ts.SyntaxKind.ArrowFunction:
- case ts.SyntaxKind.TypeOfExpression:
- case ts.SyntaxKind.VoidExpression:
- case ts.SyntaxKind.DeleteExpression:
- case ts.SyntaxKind.PrefixUnaryExpression:
- case ts.SyntaxKind.PostfixUnaryExpression:
- case ts.SyntaxKind.BinaryExpression:
- case ts.SyntaxKind.ConditionalExpression:
- case ts.SyntaxKind.SpreadElementExpression:
- this.log(node, this.getTypeOfNode(node));
- break;
-
- case ts.SyntaxKind.PropertyAccessExpression:
- for (var current = node; current.kind === ts.SyntaxKind.PropertyAccessExpression; current = current.parent) {
- }
- if (current.kind !== ts.SyntaxKind.HeritageClauseElement) {
- this.log(node, this.getTypeOfNode(node));
- }
- break;
-
- // Should not change expression status (maybe expressions)
- // TODO: Again, ideally should log number and string literals too,
- // but to be consistent with the old typeWriter, just log identifiers
- case ts.SyntaxKind.Identifier:
- var identifier = node;
- if (!this.isLabel(identifier)) {
- var type = this.getTypeOfNode(identifier);
- this.log(node, type);
- }
- break;
+ if (ts.isExpression(node) || node.kind === ts.SyntaxKind.Identifier) {
+ this.logTypeAndSymbol(node);
}
ts.forEachChild(node, child => this.visitNode(child));
}
- private isLabel(identifier: ts.Identifier): boolean {
- var parent = identifier.parent;
- switch (parent.kind) {
- case ts.SyntaxKind.ContinueStatement:
- case ts.SyntaxKind.BreakStatement:
- return (parent).label === identifier;
- case ts.SyntaxKind.LabeledStatement:
- return (parent).label === identifier;
- }
- return false;
- }
-
- private log(node: ts.Node, type: ts.Type): void {
+ private logTypeAndSymbol(node: ts.Node): void {
var actualPos = ts.skipTrivia(this.currentSourceFile.text, node.pos);
var lineAndCharacter = this.currentSourceFile.getLineAndCharacterOfPosition(actualPos);
var sourceText = ts.getTextOfNodeFromSourceText(this.currentSourceFile.text, node);
-
- // If we got an unknown type, we temporarily want to fall back to just pretending the name
- // (source text) of the node is the type. This is to align with the old typeWriter to make
- // baseline comparisons easier. In the long term, we will want to just call typeToString
- this.results.push({
- line: lineAndCharacter.line,
- // todo(cyrusn): Not sure why column is one-based for type-writer. But I'm preserving
- // that behavior to prevent having a lot of baselines to fix up.
- column: lineAndCharacter.character + 1,
- syntaxKind: node.kind,
- sourceText: sourceText,
- type: this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.WriteOwnNameForAnyLike)
- });
- }
- private getTypeOfNode(node: ts.Node): ts.Type {
var type = this.checker.getTypeAtLocation(node);
ts.Debug.assert(type !== undefined, "type doesn't exist");
- return type;
+ var symbol = this.checker.getSymbolAtLocation(node);
+
+ var typeString = this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.NoTruncation);
+ if (symbol) {
+ var symbolString = "Symbol(" + this.checker.symbolToString(symbol, node.parent);
+ if (symbol.declarations) {
+ for (let declaration of symbol.declarations) {
+ symbolString += ", ";
+ let declSourceFile = declaration.getSourceFile();
+ let declLineAndCharacter = declSourceFile.getLineAndCharacterOfPosition(declaration.pos);
+ symbolString += `Decl(${ ts.getBaseFileName(declSourceFile.fileName) }, ${ declLineAndCharacter.line }, ${ declLineAndCharacter.character })`
+ }
+ }
+ symbolString += ")";
+
+ typeString += ", " + symbolString;
+ }
+
+ this.results.push({
+ line: lineAndCharacter.line,
+ syntaxKind: node.kind,
+ sourceText: sourceText,
+ type: typeString
+ });
}
}
diff --git a/src/server/session.ts b/src/server/session.ts
index 09373d6bf96..faedce0e1af 100644
--- a/src/server/session.ts
+++ b/src/server/session.ts
@@ -118,7 +118,7 @@ module ts.server {
constructor(private host: ServerHost, private logger: Logger) {
this.projectService =
- new ProjectService(host, logger, (eventName, project, fileName) => {
+ new ProjectService(host, logger, (eventName,project,fileName) => {
this.handleEvent(eventName, project, fileName);
});
}
@@ -263,7 +263,7 @@ module ts.server {
}
}
- getDefinition({ line, offset, file: fileName }: protocol.FileLocationRequestArgs): protocol.FileSpan[] {
+ getDefinition(line: number, offset: number, fileName: string): protocol.FileSpan[] {
var file = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(file);
if (!project) {
@@ -285,7 +285,7 @@ module ts.server {
}));
}
- getOccurrences({ line, offset, file: fileName }: protocol.FileLocationRequestArgs): protocol.OccurrencesResponseItem[] {
+ getOccurrences(line: number, offset: number, fileName: string): protocol.OccurrencesResponseItem[] {
fileName = ts.normalizePath(fileName);
let project = this.projectService.getProjectForFile(fileName);
@@ -315,7 +315,7 @@ module ts.server {
});
}
- getRenameLocations({line, offset, file: fileName, findInComments, findInStrings }: protocol.RenameRequestArgs): protocol.RenameResponseBody {
+ getRenameLocations(line: number, offset: number, fileName: string,findInComments: boolean, findInStrings: boolean): protocol.RenameResponseBody {
var file = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(file);
if (!project) {
@@ -383,7 +383,7 @@ module ts.server {
return { info: renameInfo, locs: bakedRenameLocs };
}
- getReferences({ line, offset, file: fileName }: protocol.FileLocationRequestArgs): protocol.ReferencesResponseBody {
+ getReferences(line: number, offset: number, fileName: string): protocol.ReferencesResponseBody {
// TODO: get all projects for this file; report refs for all projects deleting duplicates
// can avoid duplicates by eliminating same ref file from subsequent projects
var file = ts.normalizePath(fileName);
@@ -430,12 +430,12 @@ module ts.server {
};
}
- openClientFile({ file: fileName }: protocol.OpenRequestArgs) {
+ openClientFile(fileName: string) {
var file = ts.normalizePath(fileName);
this.projectService.openClientFile(file);
}
- getQuickInfo({ line, offset, file: fileName }: protocol.FileLocationRequestArgs): protocol.QuickInfoResponseBody {
+ getQuickInfo(line: number, offset: number, fileName: string): protocol.QuickInfoResponseBody {
var file = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(file);
if (!project) {
@@ -461,7 +461,7 @@ module ts.server {
};
}
- getFormattingEditsForRange({line, offset, endLine, endOffset, file: fileName}: protocol.FormatRequestArgs): protocol.CodeEdit[] {
+ getFormattingEditsForRange(line: number, offset: number, endLine: number, endOffset: number, fileName: string): protocol.CodeEdit[] {
var file = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(file);
if (!project) {
@@ -488,7 +488,7 @@ module ts.server {
});
}
- getFormattingEditsAfterKeystroke({line, offset, key, file: fileName}: protocol.FormatOnKeyRequestArgs): protocol.CodeEdit[] {
+ getFormattingEditsAfterKeystroke(line: number, offset: number, key: string, fileName: string): protocol.CodeEdit[] {
var file = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(file);
@@ -561,7 +561,7 @@ module ts.server {
});
}
- getCompletions({ line, offset, prefix, file: fileName}: protocol.CompletionsRequestArgs): protocol.CompletionEntry[] {
+ getCompletions(line: number, offset: number, prefix: string, fileName: string): protocol.CompletionEntry[] {
if (!prefix) {
prefix = "";
}
@@ -587,7 +587,8 @@ module ts.server {
}, []).sort((a, b) => a.name.localeCompare(b.name));
}
- getCompletionEntryDetails({ line, offset, entryNames, file: fileName}: protocol.CompletionDetailsRequestArgs): protocol.CompletionEntryDetails[] {
+ getCompletionEntryDetails(line: number, offset: number,
+ entryNames: string[], fileName: string): protocol.CompletionEntryDetails[] {
var file = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(file);
if (!project) {
@@ -606,20 +607,20 @@ module ts.server {
}, []);
}
- getSignatureHelpItems({ line, offset, file: fileName }: protocol.SignatureHelpRequestArgs): protocol.SignatureHelpItems {
+ getSignatureHelpItems(line: number, offset: number, fileName: string): protocol.SignatureHelpItems {
var file = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(file);
if (!project) {
throw Errors.NoProject;
}
-
+
var compilerService = project.compilerService;
var position = compilerService.host.lineOffsetToPosition(file, line, offset);
var helpItems = compilerService.languageService.getSignatureHelpItems(file, position);
if (!helpItems) {
return undefined;
}
-
+
var span = helpItems.applicableSpan;
var result: protocol.SignatureHelpItems = {
items: helpItems.items,
@@ -631,11 +632,11 @@ module ts.server {
argumentIndex: helpItems.argumentIndex,
argumentCount: helpItems.argumentCount,
}
-
+
return result;
}
-
- getDiagnostics({ delay, files: fileNames }: protocol.GeterrRequestArgs): void {
+
+ getDiagnostics(delay: number, fileNames: string[]) {
var checkList = fileNames.reduce((accum: PendingErrorCheck[], fileName: string) => {
fileName = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(fileName);
@@ -646,11 +647,11 @@ module ts.server {
}, []);
if (checkList.length > 0) {
- this.updateErrorCheck(checkList, this.changeSeq, (n) => n == this.changeSeq, delay)
+ this.updateErrorCheck(checkList, this.changeSeq,(n) => n == this.changeSeq, delay)
}
}
- change({ line, offset, endLine, endOffset, insertString, file: fileName }: protocol.ChangeRequestArgs): void {
+ change(line: number, offset: number, endLine: number, endOffset: number, insertString: string, fileName: string) {
var file = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(file);
if (project) {
@@ -665,7 +666,7 @@ module ts.server {
}
}
- reload({ file: fileName, tmpfile: tempFileName }: protocol.ReloadRequestArgs, reqSeq = 0): void {
+ reload(fileName: string, tempFileName: string, reqSeq = 0) {
var file = ts.normalizePath(fileName);
var tmpfile = ts.normalizePath(tempFileName);
var project = this.projectService.getProjectForFile(file);
@@ -678,7 +679,7 @@ module ts.server {
}
}
- saveToTmp({ file: fileName, tmpfile: tempFileName }: protocol.SavetoRequestArgs): void {
+ saveToTmp(fileName: string, tempFileName: string) {
var file = ts.normalizePath(fileName);
var tmpfile = ts.normalizePath(tempFileName);
@@ -688,7 +689,7 @@ module ts.server {
}
}
- closeClientFile({ file: fileName }: protocol.FileRequestArgs) {
+ closeClientFile(fileName: string) {
var file = ts.normalizePath(fileName);
this.projectService.closeClientFile(file);
}
@@ -712,7 +713,7 @@ module ts.server {
}));
}
- getNavigationBarItems({ file: fileName }: protocol.FileRequestArgs): protocol.NavigationBarItem[]{
+ getNavigationBarItems(fileName: string): protocol.NavigationBarItem[] {
var file = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(file);
if (!project) {
@@ -728,7 +729,7 @@ module ts.server {
return this.decorateNavigationBarItem(project, fileName, items);
}
- getNavigateToItems({ searchValue, file: fileName, maxResultCount }: protocol.NavtoRequestArgs): protocol.NavtoItem[]{
+ getNavigateToItems(searchValue: string, fileName: string, maxResultCount?: number): protocol.NavtoItem[] {
var file = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(file);
if (!project) {
@@ -767,7 +768,7 @@ module ts.server {
});
}
- getBraceMatching({ line, offset, file: fileName }: protocol.FileLocationRequestArgs): protocol.TextSpan[]{
+ getBraceMatching(line: number, offset: number, fileName: string): protocol.TextSpan[] {
var file = ts.normalizePath(fileName);
var project = this.projectService.getProjectForFile(file);
@@ -809,91 +810,114 @@ module ts.server {
break;
}
case CommandNames.Definition: {
- response = this.getDefinition(request.arguments);
+ var defArgs = request.arguments;
+ response = this.getDefinition(defArgs.line, defArgs.offset, defArgs.file);
break;
}
case CommandNames.References: {
- response = this.getReferences(request.arguments);
+ var refArgs = request.arguments;
+ response = this.getReferences(refArgs.line, refArgs.offset, refArgs.file);
break;
}
case CommandNames.Rename: {
- response = this.getRenameLocations(request.arguments);
+ var renameArgs = request.arguments;
+ response = this.getRenameLocations(renameArgs.line, renameArgs.offset, renameArgs.file, renameArgs.findInComments, renameArgs.findInStrings);
break;
}
case CommandNames.Open: {
- this.openClientFile(request.arguments);
+ var openArgs = request.arguments;
+ this.openClientFile(openArgs.file);
responseRequired = false;
break;
}
case CommandNames.Quickinfo: {
- response = this.getQuickInfo(request.arguments);
+ var quickinfoArgs = request.arguments;
+ response = this.getQuickInfo(quickinfoArgs.line, quickinfoArgs.offset, quickinfoArgs.file);
break;
}
case CommandNames.Format: {
- response = this.getFormattingEditsForRange(request.arguments);
+ var formatArgs = request.arguments;
+ response = this.getFormattingEditsForRange(formatArgs.line, formatArgs.offset, formatArgs.endLine, formatArgs.endOffset, formatArgs.file);
break;
}
case CommandNames.Formatonkey: {
- response = this.getFormattingEditsAfterKeystroke(request.arguments);
+ var formatOnKeyArgs = request.arguments;
+ response = this.getFormattingEditsAfterKeystroke(formatOnKeyArgs.line, formatOnKeyArgs.offset, formatOnKeyArgs.key, formatOnKeyArgs.file);
break;
}
case CommandNames.Completions: {
- response = this.getCompletions(request.arguments);
+ var completionsArgs = request.arguments;
+ response = this.getCompletions(completionsArgs.line, completionsArgs.offset, completionsArgs.prefix, completionsArgs.file);
break;
}
case CommandNames.CompletionDetails: {
- response = this.getCompletionEntryDetails(request.arguments);
+ var completionDetailsArgs = request.arguments;
+ response =
+ this.getCompletionEntryDetails(completionDetailsArgs.line,completionDetailsArgs.offset,
+ completionDetailsArgs.entryNames,completionDetailsArgs.file);
break;
}
case CommandNames.SignatureHelp: {
- response = this.getSignatureHelpItems(request.arguments);
+ var signatureHelpArgs = request.arguments;
+ response = this.getSignatureHelpItems(signatureHelpArgs.line, signatureHelpArgs.offset, signatureHelpArgs.file);
break;
}
case CommandNames.Geterr: {
- this.getDiagnostics(request.arguments);
+ var geterrArgs = request.arguments;
+ response = this.getDiagnostics(geterrArgs.delay, geterrArgs.files);
responseRequired = false;
break;
}
case CommandNames.Change: {
- this.change(request.arguments);
+ var changeArgs = request.arguments;
+ this.change(changeArgs.line, changeArgs.offset, changeArgs.endLine, changeArgs.endOffset,
+ changeArgs.insertString, changeArgs.file);
responseRequired = false;
break;
}
case CommandNames.Configure: {
- this.projectService.setHostConfiguration(request.arguments);
+ var configureArgs = request.arguments;
+ this.projectService.setHostConfiguration(configureArgs);
this.output(undefined, CommandNames.Configure, request.seq);
responseRequired = false;
break;
}
case CommandNames.Reload: {
- this.reload(request.arguments);
+ var reloadArgs = request.arguments;
+ this.reload(reloadArgs.file, reloadArgs.tmpfile, request.seq);
responseRequired = false;
break;
}
case CommandNames.Saveto: {
- this.saveToTmp(request.arguments);
+ var savetoArgs = request.arguments;
+ this.saveToTmp(savetoArgs.file, savetoArgs.tmpfile);
responseRequired = false;
break;
}
case CommandNames.Close: {
- this.closeClientFile(request.arguments);
+ var closeArgs = request.arguments;
+ this.closeClientFile(closeArgs.file);
responseRequired = false;
break;
}
case CommandNames.Navto: {
- response = this.getNavigateToItems(request.arguments);
+ var navtoArgs = request.arguments;
+ response = this.getNavigateToItems(navtoArgs.searchValue, navtoArgs.file, navtoArgs.maxResultCount);
break;
}
case CommandNames.Brace: {
- response = this.getBraceMatching(request.arguments);
+ var braceArguments = request.arguments;
+ response = this.getBraceMatching(braceArguments.line, braceArguments.offset, braceArguments.file);
break;
}
case CommandNames.NavBar: {
- response = this.getNavigationBarItems(request.arguments);
+ var navBarArgs = request.arguments;
+ response = this.getNavigationBarItems(navBarArgs.file);
break;
}
case CommandNames.Occurrences: {
- response = this.getOccurrences(request.arguments);
+ var { line, offset, file: fileName } = request.arguments;
+ response = this.getOccurrences(line, offset, fileName);
break;
}
default: {
diff --git a/src/services/navigateTo.ts b/src/services/navigateTo.ts
index 6e9c234c656..aec3bdf765f 100644
--- a/src/services/navigateTo.ts
+++ b/src/services/navigateTo.ts
@@ -10,11 +10,10 @@ module ts.NavigateTo {
forEach(program.getSourceFiles(), sourceFile => {
cancellationToken.throwIfCancellationRequested();
- let declarations = sourceFile.getNamedDeclarations();
- for (let declaration of declarations) {
- var name = getDeclarationName(declaration);
- if (name !== undefined) {
-
+ let nameToDeclarations = sourceFile.getNamedDeclarations();
+ for (let name in nameToDeclarations) {
+ let declarations = getProperty(nameToDeclarations, name);
+ if (declarations) {
// First do a quick check to see if the name of the declaration matches the
// last portion of the (possibly) dotted name they're searching for.
let matches = patternMatcher.getMatchesForLastSegmentOfPattern(name);
@@ -23,24 +22,26 @@ module ts.NavigateTo {
continue;
}
- // It was a match! If the pattern has dots in it, then also see if the
- // declaration container matches as well.
- if (patternMatcher.patternContainsDots) {
- let containers = getContainers(declaration);
- if (!containers) {
- return undefined;
+ for (let declaration of declarations) {
+ // It was a match! If the pattern has dots in it, then also see if the
+ // declaration container matches as well.
+ if (patternMatcher.patternContainsDots) {
+ let containers = getContainers(declaration);
+ if (!containers) {
+ return undefined;
+ }
+
+ matches = patternMatcher.getMatches(containers, name);
+
+ if (!matches) {
+ continue;
+ }
}
- matches = patternMatcher.getMatches(containers, name);
-
- if (!matches) {
- continue;
- }
+ let fileName = sourceFile.fileName;
+ let matchKind = bestMatchKind(matches);
+ rawItems.push({ name, fileName, matchKind, isCaseSensitive: allMatchesAreCaseSensitive(matches), declaration });
}
-
- let fileName = sourceFile.fileName;
- let matchKind = bestMatchKind(matches);
- rawItems.push({ name, fileName, matchKind, isCaseSensitive: allMatchesAreCaseSensitive(matches), declaration });
}
}
});
@@ -67,30 +68,14 @@ module ts.NavigateTo {
return true;
}
- function getDeclarationName(declaration: Declaration): string {
- let result = getTextOfIdentifierOrLiteral(declaration.name);
- if (result !== undefined) {
- return result;
- }
-
- if (declaration.name.kind === SyntaxKind.ComputedPropertyName) {
- let expr = (declaration.name).expression;
- if (expr.kind === SyntaxKind.PropertyAccessExpression) {
- return (expr).name.text;
- }
-
- return getTextOfIdentifierOrLiteral(expr);
- }
-
- return undefined;
- }
-
function getTextOfIdentifierOrLiteral(node: Node) {
- if (node.kind === SyntaxKind.Identifier ||
- node.kind === SyntaxKind.StringLiteral ||
- node.kind === SyntaxKind.NumericLiteral) {
+ if (node) {
+ if (node.kind === SyntaxKind.Identifier ||
+ node.kind === SyntaxKind.StringLiteral ||
+ node.kind === SyntaxKind.NumericLiteral) {
- return (node).text;
+ return (node).text;
+ }
}
return undefined;
diff --git a/src/services/outliningElementsCollector.ts b/src/services/outliningElementsCollector.ts
index 7c5ea3aa97f..d413f611209 100644
--- a/src/services/outliningElementsCollector.ts
+++ b/src/services/outliningElementsCollector.ts
@@ -1,180 +1,180 @@
-/* @internal */
-module ts {
- export module OutliningElementsCollector {
- export function collectElements(sourceFile: SourceFile): OutliningSpan[] {
- let elements: OutliningSpan[] = [];
- let collapseText = "...";
-
- function addOutliningSpan(hintSpanNode: Node, startElement: Node, endElement: Node, autoCollapse: boolean) {
- if (hintSpanNode && startElement && endElement) {
- let span: OutliningSpan = {
- textSpan: createTextSpanFromBounds(startElement.pos, endElement.end),
- hintSpan: createTextSpanFromBounds(hintSpanNode.getStart(), hintSpanNode.end),
- bannerText: collapseText,
- autoCollapse: autoCollapse
- };
- elements.push(span);
- }
- }
-
- function addOutliningSpanComments(commentSpan: CommentRange, autoCollapse: boolean) {
- if (commentSpan) {
- let span: OutliningSpan = {
- textSpan: createTextSpanFromBounds(commentSpan.pos, commentSpan.end),
- hintSpan: createTextSpanFromBounds(commentSpan.pos, commentSpan.end),
- bannerText: collapseText,
- autoCollapse: autoCollapse
- };
- elements.push(span);
- }
- }
-
- function addOutliningForLeadingCommentsForNode(n: Node) {
- let comments = ts.getLeadingCommentRangesOfNode(n, sourceFile);
-
- if (comments) {
- let firstSingleLineCommentStart = -1;
- let lastSingleLineCommentEnd = -1;
- let isFirstSingleLineComment = true;
- let singleLineCommentCount = 0;
-
- for (let currentComment of comments) {
-
- // For single line comments, combine consecutive ones (2 or more) into
- // a single span from the start of the first till the end of the last
- if (currentComment.kind === SyntaxKind.SingleLineCommentTrivia) {
- if (isFirstSingleLineComment) {
- firstSingleLineCommentStart = currentComment.pos;
- }
- isFirstSingleLineComment = false;
- lastSingleLineCommentEnd = currentComment.end;
- singleLineCommentCount++;
- }
- else if (currentComment.kind === SyntaxKind.MultiLineCommentTrivia) {
- combineAndAddMultipleSingleLineComments(singleLineCommentCount, firstSingleLineCommentStart, lastSingleLineCommentEnd);
- addOutliningSpanComments(currentComment, /*autoCollapse*/ false);
-
- singleLineCommentCount = 0;
- lastSingleLineCommentEnd = -1;
- isFirstSingleLineComment = true;
- }
- }
-
- combineAndAddMultipleSingleLineComments(singleLineCommentCount, firstSingleLineCommentStart, lastSingleLineCommentEnd);
- }
- }
-
- function combineAndAddMultipleSingleLineComments(count: number, start: number, end: number) {
- // Only outline spans of two or more consecutive single line comments
- if (count > 1) {
- let multipleSingleLineComments = {
- pos: start,
- end: end,
- kind: SyntaxKind.SingleLineCommentTrivia
- }
-
- addOutliningSpanComments(multipleSingleLineComments, /*autoCollapse*/ false);
- }
- }
-
- function autoCollapse(node: Node) {
- return isFunctionBlock(node) && node.parent.kind !== SyntaxKind.ArrowFunction;
- }
-
- let depth = 0;
- let maxDepth = 20;
- function walk(n: Node): void {
- if (depth > maxDepth) {
- return;
- }
-
- if (isDeclaration(n)) {
- addOutliningForLeadingCommentsForNode(n);
- }
-
- switch (n.kind) {
- case SyntaxKind.Block:
- if (!isFunctionBlock(n)) {
- let parent = n.parent;
- let openBrace = findChildOfKind(n, SyntaxKind.OpenBraceToken, sourceFile);
- let closeBrace = findChildOfKind(n, SyntaxKind.CloseBraceToken, sourceFile);
-
- // Check if the block is standalone, or 'attached' to some parent statement.
- // If the latter, we want to collaps the block, but consider its hint span
- // to be the entire span of the parent.
- if (parent.kind === SyntaxKind.DoStatement ||
- parent.kind === SyntaxKind.ForInStatement ||
- parent.kind === SyntaxKind.ForOfStatement ||
- parent.kind === SyntaxKind.ForStatement ||
- parent.kind === SyntaxKind.IfStatement ||
- parent.kind === SyntaxKind.WhileStatement ||
- parent.kind === SyntaxKind.WithStatement ||
- parent.kind === SyntaxKind.CatchClause) {
-
- addOutliningSpan(parent, openBrace, closeBrace, autoCollapse(n));
- break;
- }
-
- if (parent.kind === SyntaxKind.TryStatement) {
- // Could be the try-block, or the finally-block.
- let tryStatement = parent;
- if (tryStatement.tryBlock === n) {
- addOutliningSpan(parent, openBrace, closeBrace, autoCollapse(n));
- break;
- }
- else if (tryStatement.finallyBlock === n) {
- let finallyKeyword = findChildOfKind(tryStatement, SyntaxKind.FinallyKeyword, sourceFile);
- if (finallyKeyword) {
- addOutliningSpan(finallyKeyword, openBrace, closeBrace, autoCollapse(n));
- break;
- }
- }
-
- // fall through.
- }
-
- // Block was a standalone block. In this case we want to only collapse
- // the span of the block, independent of any parent span.
- let span = createTextSpanFromBounds(n.getStart(), n.end);
- elements.push({
- textSpan: span,
- hintSpan: span,
- bannerText: collapseText,
- autoCollapse: autoCollapse(n)
- });
- break;
- }
- // Fallthrough.
-
- case SyntaxKind.ModuleBlock: {
- let openBrace = findChildOfKind(n, SyntaxKind.OpenBraceToken, sourceFile);
- let closeBrace = findChildOfKind(n, SyntaxKind.CloseBraceToken, sourceFile);
- addOutliningSpan(n.parent, openBrace, closeBrace, autoCollapse(n));
- break;
- }
- case SyntaxKind.ClassDeclaration:
- case SyntaxKind.InterfaceDeclaration:
- case SyntaxKind.EnumDeclaration:
- case SyntaxKind.ObjectLiteralExpression:
- case SyntaxKind.CaseBlock: {
- let openBrace = findChildOfKind(n, SyntaxKind.OpenBraceToken, sourceFile);
- let closeBrace = findChildOfKind(n, SyntaxKind.CloseBraceToken, sourceFile);
- addOutliningSpan(n, openBrace, closeBrace, autoCollapse(n));
- break;
- }
- case SyntaxKind.ArrayLiteralExpression:
- let openBracket = findChildOfKind(n, SyntaxKind.OpenBracketToken, sourceFile);
- let closeBracket = findChildOfKind(n, SyntaxKind.CloseBracketToken, sourceFile);
- addOutliningSpan(n, openBracket, closeBracket, autoCollapse(n));
- break;
- }
- depth++;
- forEachChild(n, walk);
- depth--;
- }
-
- walk(sourceFile);
- return elements;
- }
- }
+/* @internal */
+module ts {
+ export module OutliningElementsCollector {
+ export function collectElements(sourceFile: SourceFile): OutliningSpan[] {
+ let elements: OutliningSpan[] = [];
+ let collapseText = "...";
+
+ function addOutliningSpan(hintSpanNode: Node, startElement: Node, endElement: Node, autoCollapse: boolean) {
+ if (hintSpanNode && startElement && endElement) {
+ let span: OutliningSpan = {
+ textSpan: createTextSpanFromBounds(startElement.pos, endElement.end),
+ hintSpan: createTextSpanFromBounds(hintSpanNode.getStart(), hintSpanNode.end),
+ bannerText: collapseText,
+ autoCollapse: autoCollapse
+ };
+ elements.push(span);
+ }
+ }
+
+ function addOutliningSpanComments(commentSpan: CommentRange, autoCollapse: boolean) {
+ if (commentSpan) {
+ let span: OutliningSpan = {
+ textSpan: createTextSpanFromBounds(commentSpan.pos, commentSpan.end),
+ hintSpan: createTextSpanFromBounds(commentSpan.pos, commentSpan.end),
+ bannerText: collapseText,
+ autoCollapse: autoCollapse
+ };
+ elements.push(span);
+ }
+ }
+
+ function addOutliningForLeadingCommentsForNode(n: Node) {
+ let comments = ts.getLeadingCommentRangesOfNode(n, sourceFile);
+
+ if (comments) {
+ let firstSingleLineCommentStart = -1;
+ let lastSingleLineCommentEnd = -1;
+ let isFirstSingleLineComment = true;
+ let singleLineCommentCount = 0;
+
+ for (let currentComment of comments) {
+
+ // For single line comments, combine consecutive ones (2 or more) into
+ // a single span from the start of the first till the end of the last
+ if (currentComment.kind === SyntaxKind.SingleLineCommentTrivia) {
+ if (isFirstSingleLineComment) {
+ firstSingleLineCommentStart = currentComment.pos;
+ }
+ isFirstSingleLineComment = false;
+ lastSingleLineCommentEnd = currentComment.end;
+ singleLineCommentCount++;
+ }
+ else if (currentComment.kind === SyntaxKind.MultiLineCommentTrivia) {
+ combineAndAddMultipleSingleLineComments(singleLineCommentCount, firstSingleLineCommentStart, lastSingleLineCommentEnd);
+ addOutliningSpanComments(currentComment, /*autoCollapse*/ false);
+
+ singleLineCommentCount = 0;
+ lastSingleLineCommentEnd = -1;
+ isFirstSingleLineComment = true;
+ }
+ }
+
+ combineAndAddMultipleSingleLineComments(singleLineCommentCount, firstSingleLineCommentStart, lastSingleLineCommentEnd);
+ }
+ }
+
+ function combineAndAddMultipleSingleLineComments(count: number, start: number, end: number) {
+ // Only outline spans of two or more consecutive single line comments
+ if (count > 1) {
+ let multipleSingleLineComments = {
+ pos: start,
+ end: end,
+ kind: SyntaxKind.SingleLineCommentTrivia
+ }
+
+ addOutliningSpanComments(multipleSingleLineComments, /*autoCollapse*/ false);
+ }
+ }
+
+ function autoCollapse(node: Node) {
+ return isFunctionBlock(node) && node.parent.kind !== SyntaxKind.ArrowFunction;
+ }
+
+ let depth = 0;
+ let maxDepth = 20;
+ function walk(n: Node): void {
+ if (depth > maxDepth) {
+ return;
+ }
+
+ if (isDeclaration(n)) {
+ addOutliningForLeadingCommentsForNode(n);
+ }
+
+ switch (n.kind) {
+ case SyntaxKind.Block:
+ if (!isFunctionBlock(n)) {
+ let parent = n.parent;
+ let openBrace = findChildOfKind(n, SyntaxKind.OpenBraceToken, sourceFile);
+ let closeBrace = findChildOfKind(n, SyntaxKind.CloseBraceToken, sourceFile);
+
+ // Check if the block is standalone, or 'attached' to some parent statement.
+ // If the latter, we want to collaps the block, but consider its hint span
+ // to be the entire span of the parent.
+ if (parent.kind === SyntaxKind.DoStatement ||
+ parent.kind === SyntaxKind.ForInStatement ||
+ parent.kind === SyntaxKind.ForOfStatement ||
+ parent.kind === SyntaxKind.ForStatement ||
+ parent.kind === SyntaxKind.IfStatement ||
+ parent.kind === SyntaxKind.WhileStatement ||
+ parent.kind === SyntaxKind.WithStatement ||
+ parent.kind === SyntaxKind.CatchClause) {
+
+ addOutliningSpan(parent, openBrace, closeBrace, autoCollapse(n));
+ break;
+ }
+
+ if (parent.kind === SyntaxKind.TryStatement) {
+ // Could be the try-block, or the finally-block.
+ let tryStatement = parent;
+ if (tryStatement.tryBlock === n) {
+ addOutliningSpan(parent, openBrace, closeBrace, autoCollapse(n));
+ break;
+ }
+ else if (tryStatement.finallyBlock === n) {
+ let finallyKeyword = findChildOfKind(tryStatement, SyntaxKind.FinallyKeyword, sourceFile);
+ if (finallyKeyword) {
+ addOutliningSpan(finallyKeyword, openBrace, closeBrace, autoCollapse(n));
+ break;
+ }
+ }
+
+ // fall through.
+ }
+
+ // Block was a standalone block. In this case we want to only collapse
+ // the span of the block, independent of any parent span.
+ let span = createTextSpanFromBounds(n.getStart(), n.end);
+ elements.push({
+ textSpan: span,
+ hintSpan: span,
+ bannerText: collapseText,
+ autoCollapse: autoCollapse(n)
+ });
+ break;
+ }
+ // Fallthrough.
+
+ case SyntaxKind.ModuleBlock: {
+ let openBrace = findChildOfKind(n, SyntaxKind.OpenBraceToken, sourceFile);
+ let closeBrace = findChildOfKind(n, SyntaxKind.CloseBraceToken, sourceFile);
+ addOutliningSpan(n.parent, openBrace, closeBrace, autoCollapse(n));
+ break;
+ }
+ case SyntaxKind.ClassDeclaration:
+ case SyntaxKind.InterfaceDeclaration:
+ case SyntaxKind.EnumDeclaration:
+ case SyntaxKind.ObjectLiteralExpression:
+ case SyntaxKind.CaseBlock: {
+ let openBrace = findChildOfKind(n, SyntaxKind.OpenBraceToken, sourceFile);
+ let closeBrace = findChildOfKind(n, SyntaxKind.CloseBraceToken, sourceFile);
+ addOutliningSpan(n, openBrace, closeBrace, autoCollapse(n));
+ break;
+ }
+ case SyntaxKind.ArrayLiteralExpression:
+ let openBracket = findChildOfKind(n, SyntaxKind.OpenBracketToken, sourceFile);
+ let closeBracket = findChildOfKind(n, SyntaxKind.CloseBracketToken, sourceFile);
+ addOutliningSpan(n, openBracket, closeBracket, autoCollapse(n));
+ break;
+ }
+ depth++;
+ forEachChild(n, walk);
+ depth--;
+ }
+
+ walk(sourceFile);
+ return elements;
+ }
+ }
}
\ No newline at end of file
diff --git a/src/services/services.ts b/src/services/services.ts
index 19fcb46552c..98a7fe0499f 100644
--- a/src/services/services.ts
+++ b/src/services/services.ts
@@ -63,7 +63,8 @@ module ts {
/* @internal */ scriptSnapshot: IScriptSnapshot;
/* @internal */ nameTable: Map;
- getNamedDeclarations(): Declaration[];
+ /* @internal */ getNamedDeclarations(): Map;
+
getLineAndCharacterOfPosition(pos: number): LineAndCharacter;
getLineStarts(): number[];
getPositionOfLineAndCharacter(line: number, character: number): number;
@@ -749,7 +750,7 @@ module ts {
public identifiers: Map;
public nameTable: Map;
- private namedDeclarations: Declaration[];
+ private namedDeclarations: Map;
public update(newText: string, textChangeRange: TextChangeRange): SourceFile {
return updateSourceFile(this, newText, textChangeRange);
@@ -767,7 +768,7 @@ module ts {
return ts.getPositionOfLineAndCharacter(this, line, character);
}
- public getNamedDeclarations() {
+ public getNamedDeclarations(): Map {
if (!this.namedDeclarations) {
this.namedDeclarations = this.computeNamedDeclarations();
}
@@ -775,12 +776,57 @@ module ts {
return this.namedDeclarations;
}
- private computeNamedDeclarations() {
- let namedDeclarations: Declaration[] = [];
+ private computeNamedDeclarations(): Map {
+ let result: Map = {};
forEachChild(this, visit);
- return namedDeclarations;
+ return result;
+
+ function addDeclaration(declaration: Declaration) {
+ let name = getDeclarationName(declaration);
+ if (name) {
+ let declarations = getDeclarations(name);
+ declarations.push(declaration);
+ }
+ }
+
+ function getDeclarations(name: string) {
+ return getProperty(result, name) || (result[name] = []);
+ }
+
+ function getDeclarationName(declaration: Declaration) {
+ if (declaration.name) {
+ let result = getTextOfIdentifierOrLiteral(declaration.name);
+ if (result !== undefined) {
+ return result;
+ }
+
+ if (declaration.name.kind === SyntaxKind.ComputedPropertyName) {
+ let expr = (declaration.name).expression;
+ if (expr.kind === SyntaxKind.PropertyAccessExpression) {
+ return (expr).name.text;
+ }
+
+ return getTextOfIdentifierOrLiteral(expr);
+ }
+ }
+
+ return undefined;
+ }
+
+ function getTextOfIdentifierOrLiteral(node: Node) {
+ if (node) {
+ if (node.kind === SyntaxKind.Identifier ||
+ node.kind === SyntaxKind.StringLiteral ||
+ node.kind === SyntaxKind.NumericLiteral) {
+
+ return (node).text;
+ }
+ }
+
+ return undefined;
+ }
function visit(node: Node): void {
switch (node.kind) {
@@ -788,22 +834,22 @@ module ts {
case SyntaxKind.MethodDeclaration:
case SyntaxKind.MethodSignature:
let functionDeclaration = node;
+ let declarationName = getDeclarationName(functionDeclaration);
- if (functionDeclaration.name && functionDeclaration.name.getFullWidth() > 0) {
- let lastDeclaration = namedDeclarations.length > 0 ?
- namedDeclarations[namedDeclarations.length - 1] :
- undefined;
+ if (declarationName) {
+ let declarations = getDeclarations(declarationName);
+ let lastDeclaration = lastOrUndefined(declarations);
// Check whether this declaration belongs to an "overload group".
- if (lastDeclaration && functionDeclaration.symbol === lastDeclaration.symbol) {
+ if (lastDeclaration && functionDeclaration.parent === lastDeclaration.parent && functionDeclaration.symbol === lastDeclaration.symbol) {
// Overwrite the last declaration if it was an overload
// and this one is an implementation.
if (functionDeclaration.body && !(lastDeclaration).body) {
- namedDeclarations[namedDeclarations.length - 1] = functionDeclaration;
+ declarations[declarations.length - 1] = functionDeclaration;
}
}
else {
- namedDeclarations.push(functionDeclaration);
+ declarations.push(functionDeclaration);
}
forEachChild(node, visit);
@@ -824,10 +870,8 @@ module ts {
case SyntaxKind.GetAccessor:
case SyntaxKind.SetAccessor:
case SyntaxKind.TypeLiteral:
- if ((node).name) {
- namedDeclarations.push(node);
- }
- // fall through
+ addDeclaration(node);
+ // fall through
case SyntaxKind.Constructor:
case SyntaxKind.VariableStatement:
case SyntaxKind.VariableDeclarationList:
@@ -858,7 +902,7 @@ module ts {
case SyntaxKind.EnumMember:
case SyntaxKind.PropertyDeclaration:
case SyntaxKind.PropertySignature:
- namedDeclarations.push(node);
+ addDeclaration(node);
break;
case SyntaxKind.ExportDeclaration:
@@ -875,7 +919,7 @@ module ts {
// Handle default import case e.g.:
// import d from "mod";
if (importClause.name) {
- namedDeclarations.push(importClause);
+ addDeclaration(importClause);
}
// Handle named bindings in imports e.g.:
@@ -883,7 +927,7 @@ module ts {
// import {a, b as B} from "mod";
if (importClause.namedBindings) {
if (importClause.namedBindings.kind === SyntaxKind.NamespaceImport) {
- namedDeclarations.push(importClause.namedBindings);
+ addDeclaration(importClause.namedBindings);
}
else {
forEach((importClause.namedBindings).elements, visit);
@@ -2260,8 +2304,6 @@ module ts {
let ruleProvider: formatting.RulesProvider;
let program: Program;
- // this checker is used to answer all LS questions except errors
- let typeInfoResolver: TypeChecker;
let useCaseSensitivefileNames = false;
let cancellationToken = new CancellationTokenObject(host.getCancellationToken && host.getCancellationToken());
@@ -2343,8 +2385,10 @@ module ts {
}
program = newProgram;
- typeInfoResolver = program.getTypeChecker();
+ // Make sure all the nodes in the program are both bound, and have their parent
+ // pointers set property.
+ program.getTypeChecker();
return;
function getOrCreateSourceFile(fileName: string): SourceFile {
@@ -2428,15 +2472,8 @@ module ts {
return program;
}
- /**
- * Clean up any semantic caches that are not needed.
- * The host can call this method if it wants to jettison unused memory.
- * 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) {
- typeInfoResolver = program.getTypeChecker();
- }
+ // TODO: Should we jettison the program (or it's type checker) here?
}
function dispose(): void {
@@ -2453,10 +2490,6 @@ module ts {
return program.getSyntacticDiagnostics(getValidSourceFile(fileName));
}
- function isJavaScript(fileName: string) {
- return fileExtensionIs(fileName, ".js");
- }
-
/**
* getSemanticDiagnostiscs return array of Diagnostics. If '-d' is not enabled, only report semantic errors
* If '-d' enabled, report both semantic and emitter errors
@@ -2704,32 +2737,8 @@ module ts {
return unescapeIdentifier(displayName);
}
- function createCompletionEntry(symbol: Symbol, typeChecker: TypeChecker, location: Node): CompletionEntry {
- // Try to get a valid display name for this symbol, if we could not find one, then ignore it.
- // We would like to only show things that can be added after a dot, so for instance numeric properties can
- // not be accessed with a dot (a.1 <- invalid)
- let displayName = getCompletionEntryDisplayNameForSymbol(symbol, program.getCompilerOptions().target, /*performCharacterChecks:*/ true);
- if (!displayName) {
- return undefined;
- }
-
- // TODO(drosen): Right now we just permit *all* semantic meanings when calling
- // 'getSymbolKind' which is permissible given that it is backwards compatible; but
- // really we should consider passing the meaning for the node so that we don't report
- // that a suggestion for a value is an interface. We COULD also just do what
- // 'getSymbolModifiers' does, which is to use the first declaration.
-
- // Use a 'sortText' of 0' so that all symbol completion entries come before any other
- // entries (like JavaScript identifier entries).
- return {
- name: displayName,
- kind: getSymbolKind(symbol, typeChecker, location),
- kindModifiers: getSymbolModifiers(symbol),
- sortText: "0",
- };
- }
-
function getCompletionData(fileName: string, position: number) {
+ let typeChecker = program.getTypeChecker();
let syntacticStart = new Date().getTime();
let sourceFile = getValidSourceFile(fileName);
@@ -2813,29 +2822,29 @@ module ts {
isNewIdentifierLocation = false;
if (node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.QualifiedName || node.kind === SyntaxKind.PropertyAccessExpression) {
- let symbol = typeInfoResolver.getSymbolAtLocation(node);
+ let symbol = typeChecker.getSymbolAtLocation(node);
// This is an alias, follow what it aliases
if (symbol && symbol.flags & SymbolFlags.Alias) {
- symbol = typeInfoResolver.getAliasedSymbol(symbol);
+ symbol = typeChecker.getAliasedSymbol(symbol);
}
if (symbol && symbol.flags & SymbolFlags.HasExports) {
// Extract module or enum members
- let exportedSymbols = typeInfoResolver.getExportsOfModule(symbol);
+ let exportedSymbols = typeChecker.getExportsOfModule(symbol);
forEach(exportedSymbols, symbol => {
- if (typeInfoResolver.isValidPropertyAccess((node.parent), symbol.name)) {
+ if (typeChecker.isValidPropertyAccess((node.parent), symbol.name)) {
symbols.push(symbol);
}
});
}
}
- let type = typeInfoResolver.getTypeAtLocation(node);
+ let type = typeChecker.getTypeAtLocation(node);
if (type) {
// Filter private properties
forEach(type.getApparentProperties(), symbol => {
- if (typeInfoResolver.isValidPropertyAccess((node.parent), symbol.name)) {
+ if (typeChecker.isValidPropertyAccess((node.parent), symbol.name)) {
symbols.push(symbol);
}
});
@@ -2849,12 +2858,12 @@ module ts {
isMemberCompletion = true;
isNewIdentifierLocation = true;
- let contextualType = typeInfoResolver.getContextualType(containingObjectLiteral);
+ let contextualType = typeChecker.getContextualType(containingObjectLiteral);
if (!contextualType) {
return false;
}
- let contextualTypeMembers = typeInfoResolver.getPropertiesOfType(contextualType);
+ let contextualTypeMembers = typeChecker.getPropertiesOfType(contextualType);
if (contextualTypeMembers && contextualTypeMembers.length > 0) {
// Add filtered items to the completion list
symbols = filterContextualMembersList(contextualTypeMembers, containingObjectLiteral.properties);
@@ -2871,9 +2880,9 @@ module ts {
let exports: Symbol[];
if (importDeclaration.moduleSpecifier) {
- let moduleSpecifierSymbol = typeInfoResolver.getSymbolAtLocation(importDeclaration.moduleSpecifier);
+ let moduleSpecifierSymbol = typeChecker.getSymbolAtLocation(importDeclaration.moduleSpecifier);
if (moduleSpecifierSymbol) {
- exports = typeInfoResolver.getExportsOfModule(moduleSpecifierSymbol);
+ exports = typeChecker.getExportsOfModule(moduleSpecifierSymbol);
}
}
@@ -2922,7 +2931,7 @@ module ts {
/// TODO filter meaning based on the current context
let symbolMeanings = SymbolFlags.Type | SymbolFlags.Value | SymbolFlags.Namespace | SymbolFlags.Alias;
- symbols = typeInfoResolver.getSymbolsInScope(scopeNode, symbolMeanings);
+ symbols = typeChecker.getSymbolsInScope(scopeNode, symbolMeanings);
}
return true;
@@ -3109,6 +3118,7 @@ module ts {
case SyntaxKind.SemicolonToken:
return containingNodeKind === SyntaxKind.PropertySignature &&
+ previousToken.parent && previousToken.parent.parent &&
(previousToken.parent.parent.kind === SyntaxKind.InterfaceDeclaration || // interface a { f; |
previousToken.parent.parent.kind === SyntaxKind.TypeLiteral); // let x : { a; |
@@ -3124,7 +3134,8 @@ module ts {
case SyntaxKind.DotDotDotToken:
return containingNodeKind === SyntaxKind.Parameter ||
containingNodeKind === SyntaxKind.Constructor ||
- (previousToken.parent.parent.kind === SyntaxKind.ArrayBindingPattern); // var [ ...z|
+ (previousToken.parent && previousToken.parent.parent &&
+ previousToken.parent.parent.kind === SyntaxKind.ArrayBindingPattern); // var [ ...z|
case SyntaxKind.PublicKeyword:
case SyntaxKind.PrivateKeyword:
@@ -3283,6 +3294,31 @@ module ts {
return entries;
}
+ function createCompletionEntry(symbol: Symbol, location: Node): CompletionEntry {
+ // Try to get a valid display name for this symbol, if we could not find one, then ignore it.
+ // We would like to only show things that can be added after a dot, so for instance numeric properties can
+ // not be accessed with a dot (a.1 <- invalid)
+ let displayName = getCompletionEntryDisplayNameForSymbol(symbol, program.getCompilerOptions().target, /*performCharacterChecks:*/ true);
+ if (!displayName) {
+ return undefined;
+ }
+
+ // TODO(drosen): Right now we just permit *all* semantic meanings when calling
+ // 'getSymbolKind' which is permissible given that it is backwards compatible; but
+ // really we should consider passing the meaning for the node so that we don't report
+ // that a suggestion for a value is an interface. We COULD also just do what
+ // 'getSymbolModifiers' does, which is to use the first declaration.
+
+ // Use a 'sortText' of 0' so that all symbol completion entries come before any other
+ // entries (like JavaScript identifier entries).
+ return {
+ name: displayName,
+ kind: getSymbolKind(symbol, location),
+ kindModifiers: getSymbolModifiers(symbol),
+ sortText: "0",
+ };
+ }
+
function getCompletionEntriesFromSymbols(symbols: Symbol[]): CompletionEntry[] {
let start = new Date().getTime();
var entries: CompletionEntry[] = [];
@@ -3290,7 +3326,7 @@ module ts {
if (symbols) {
var nameToSymbol: Map = {};
for (let symbol of symbols) {
- let entry = createCompletionEntry(symbol, typeInfoResolver, location);
+ let entry = createCompletionEntry(symbol, location);
if (entry) {
let id = escapeIdentifier(entry.name);
if (!lookUp(nameToSymbol, id)) {
@@ -3322,7 +3358,7 @@ module ts {
let symbol = forEach(symbols, s => getCompletionEntryDisplayNameForSymbol(s, target, /*performCharacterChecks:*/ false) === entryName ? s : undefined);
if (symbol) {
- let displayPartsDocumentationsAndSymbolKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, getValidSourceFile(fileName), location, typeInfoResolver, location, SemanticMeaning.All);
+ let displayPartsDocumentationsAndSymbolKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, getValidSourceFile(fileName), location, location, SemanticMeaning.All);
return {
name: entryName,
kind: displayPartsDocumentationsAndSymbolKind.symbolKind,
@@ -3349,7 +3385,7 @@ module ts {
}
// TODO(drosen): use contextual SemanticMeaning.
- function getSymbolKind(symbol: Symbol, typeResolver: TypeChecker, location: Node): string {
+ function getSymbolKind(symbol: Symbol, location: Node): string {
let flags = symbol.getFlags();
if (flags & SymbolFlags.Class) return ScriptElementKind.classElement;
@@ -3358,7 +3394,7 @@ module ts {
if (flags & SymbolFlags.Interface) return ScriptElementKind.interfaceElement;
if (flags & SymbolFlags.TypeParameter) return ScriptElementKind.typeParameterElement;
- let result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol, flags, typeResolver, location);
+ let result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol, flags, location);
if (result === ScriptElementKind.unknown) {
if (flags & SymbolFlags.TypeParameter) return ScriptElementKind.typeParameterElement;
if (flags & SymbolFlags.EnumMember) return ScriptElementKind.variableElement;
@@ -3369,11 +3405,13 @@ module ts {
return result;
}
- function getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol: Symbol, flags: SymbolFlags, typeResolver: TypeChecker, location: Node) {
- if (typeResolver.isUndefinedSymbol(symbol)) {
+ function getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol: Symbol, flags: SymbolFlags, location: Node) {
+ let typeChecker = program.getTypeChecker();
+
+ if (typeChecker.isUndefinedSymbol(symbol)) {
return ScriptElementKind.variableElement;
}
- if (typeResolver.isArgumentsSymbol(symbol)) {
+ if (typeChecker.isArgumentsSymbol(symbol)) {
return ScriptElementKind.localVariableElement;
}
if (flags & SymbolFlags.Variable) {
@@ -3397,7 +3435,7 @@ module ts {
if (flags & SymbolFlags.Property) {
if (flags & SymbolFlags.UnionProperty) {
// If union property is result of union of non method (property/accessors/variables), it is labeled as property
- let unionPropertyKind = forEach(typeInfoResolver.getRootSymbols(symbol), rootSymbol => {
+ let unionPropertyKind = forEach(typeChecker.getRootSymbols(symbol), rootSymbol => {
let rootSymbolFlags = rootSymbol.getFlags();
if (rootSymbolFlags & (SymbolFlags.PropertyOrAccessor | SymbolFlags.Variable)) {
return ScriptElementKind.memberVariableElement;
@@ -3407,7 +3445,7 @@ module ts {
if (!unionPropertyKind) {
// If this was union of all methods,
//make sure it has call signatures before we can label it as method
- let typeOfUnionProperty = typeInfoResolver.getTypeOfSymbolAtLocation(symbol, location);
+ let typeOfUnionProperty = typeChecker.getTypeOfSymbolAtLocation(symbol, location);
if (typeOfUnionProperty.getCallSignatures().length) {
return ScriptElementKind.memberFunctionElement;
}
@@ -3440,15 +3478,16 @@ module ts {
: ScriptElementKindModifier.none;
}
+ // TODO(drosen): Currently completion entry details passes the SemanticMeaning.All instead of using semanticMeaning of location
function getSymbolDisplayPartsDocumentationAndSymbolKind(symbol: Symbol, sourceFile: SourceFile, enclosingDeclaration: Node,
- typeResolver: TypeChecker, location: Node,
- // TODO(drosen): Currently completion entry details passes the SemanticMeaning.All instead of using semanticMeaning of location
- semanticMeaning = getMeaningFromLocation(location)) {
+ location: Node, semanticMeaning = getMeaningFromLocation(location)) {
+
+ let typeChecker = program.getTypeChecker();
let displayParts: SymbolDisplayPart[] = [];
let documentation: SymbolDisplayPart[];
let symbolFlags = symbol.flags;
- let symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol, symbolFlags, typeResolver, location);
+ let symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol, symbolFlags, location);
let hasAddedSymbolInfo: boolean;
let type: Type;
@@ -3460,7 +3499,7 @@ module ts {
}
let signature: Signature;
- type = typeResolver.getTypeOfSymbolAtLocation(symbol, location);
+ type = typeChecker.getTypeOfSymbolAtLocation(symbol, location);
if (type) {
if (location.parent && location.parent.kind === SyntaxKind.PropertyAccessExpression) {
let right = (location.parent).name;
@@ -3481,7 +3520,7 @@ module ts {
if (callExpression) {
let candidateSignatures: Signature[] = [];
- signature = typeResolver.getResolvedSignature(callExpression, candidateSignatures);
+ signature = typeChecker.getResolvedSignature(callExpression, candidateSignatures);
if (!signature && candidateSignatures.length) {
// Use the first candidate:
signature = candidateSignatures[0];
@@ -3530,7 +3569,7 @@ module ts {
displayParts.push(spacePart());
}
if (!(type.flags & TypeFlags.Anonymous)) {
- displayParts.push.apply(displayParts, symbolToDisplayParts(typeResolver, type.symbol, enclosingDeclaration, /*meaning*/ undefined, SymbolFormatFlags.WriteTypeParametersOrArguments));
+ displayParts.push.apply(displayParts, symbolToDisplayParts(typeChecker, type.symbol, enclosingDeclaration, /*meaning*/ undefined, SymbolFormatFlags.WriteTypeParametersOrArguments));
}
addSignatureDisplayParts(signature, allSignatures, TypeFormatFlags.WriteArrowStyleSignature);
break;
@@ -3547,8 +3586,8 @@ module ts {
// get the signature from the declaration and write it
let functionDeclaration = location.parent;
let allSignatures = functionDeclaration.kind === SyntaxKind.Constructor ? type.getConstructSignatures() : type.getCallSignatures();
- if (!typeResolver.isImplementationOfOverload(functionDeclaration)) {
- signature = typeResolver.getSignatureFromDeclaration(functionDeclaration);
+ if (!typeChecker.isImplementationOfOverload(functionDeclaration)) {
+ signature = typeChecker.getSignatureFromDeclaration(functionDeclaration);
}
else {
signature = allSignatures[0];
@@ -3591,7 +3630,7 @@ module ts {
displayParts.push(spacePart());
displayParts.push(operatorPart(SyntaxKind.EqualsToken));
displayParts.push(spacePart());
- displayParts.push.apply(displayParts, typeToDisplayParts(typeResolver, typeResolver.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration));
+ displayParts.push.apply(displayParts, typeToDisplayParts(typeChecker, typeChecker.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration));
}
if (symbolFlags & SymbolFlags.Enum) {
addNewLineIfDisplayPartsExist();
@@ -3627,7 +3666,7 @@ module ts {
else {
// Method/function type parameter
let signatureDeclaration = getDeclarationOfKind(symbol, SyntaxKind.TypeParameter).parent;
- let signature = typeResolver.getSignatureFromDeclaration(signatureDeclaration);
+ let signature = typeChecker.getSignatureFromDeclaration(signatureDeclaration);
if (signatureDeclaration.kind === SyntaxKind.ConstructSignature) {
displayParts.push(keywordPart(SyntaxKind.NewKeyword));
displayParts.push(spacePart());
@@ -3635,14 +3674,14 @@ module ts {
else if (signatureDeclaration.kind !== SyntaxKind.CallSignature && signatureDeclaration.name) {
addFullSymbolName(signatureDeclaration.symbol);
}
- displayParts.push.apply(displayParts, signatureToDisplayParts(typeResolver, signature, sourceFile, TypeFormatFlags.WriteTypeArgumentsOfSignature));
+ displayParts.push.apply(displayParts, signatureToDisplayParts(typeChecker, signature, sourceFile, TypeFormatFlags.WriteTypeArgumentsOfSignature));
}
}
if (symbolFlags & SymbolFlags.EnumMember) {
addPrefixForAnyFunctionOrVar(symbol, "enum member");
let declaration = symbol.declarations[0];
if (declaration.kind === SyntaxKind.EnumMember) {
- let constantValue = typeResolver.getConstantValue(declaration);
+ let constantValue = typeChecker.getConstantValue(declaration);
if (constantValue !== undefined) {
displayParts.push(spacePart());
displayParts.push(operatorPart(SyntaxKind.EqualsToken));
@@ -3669,7 +3708,7 @@ module ts {
displayParts.push(punctuationPart(SyntaxKind.CloseParenToken));
}
else {
- let internalAliasSymbol = typeResolver.getSymbolAtLocation(importEqualsDeclaration.moduleReference);
+ let internalAliasSymbol = typeChecker.getSymbolAtLocation(importEqualsDeclaration.moduleReference);
if (internalAliasSymbol) {
displayParts.push(spacePart());
displayParts.push(operatorPart(SyntaxKind.EqualsToken));
@@ -3694,12 +3733,12 @@ module ts {
// If the type is type parameter, format it specially
if (type.symbol && type.symbol.flags & SymbolFlags.TypeParameter) {
let typeParameterParts = mapToDisplayParts(writer => {
- typeResolver.getSymbolDisplayBuilder().buildTypeParameterDisplay(type, writer, enclosingDeclaration);
+ typeChecker.getSymbolDisplayBuilder().buildTypeParameterDisplay(type, writer, enclosingDeclaration);
});
displayParts.push.apply(displayParts, typeParameterParts);
}
else {
- displayParts.push.apply(displayParts, typeToDisplayParts(typeResolver, type, enclosingDeclaration));
+ displayParts.push.apply(displayParts, typeToDisplayParts(typeChecker, type, enclosingDeclaration));
}
}
else if (symbolFlags & SymbolFlags.Function ||
@@ -3714,7 +3753,7 @@ module ts {
}
}
else {
- symbolKind = getSymbolKind(symbol, typeResolver, location);
+ symbolKind = getSymbolKind(symbol, location);
}
}
@@ -3731,7 +3770,7 @@ module ts {
}
function addFullSymbolName(symbol: Symbol, enclosingDeclaration?: Node) {
- let fullSymbolDisplayParts = symbolToDisplayParts(typeResolver, symbol, enclosingDeclaration || sourceFile, /*meaning*/ undefined,
+ let fullSymbolDisplayParts = symbolToDisplayParts(typeChecker, symbol, enclosingDeclaration || sourceFile, /*meaning*/ undefined,
SymbolFormatFlags.WriteTypeParametersOrArguments | SymbolFormatFlags.UseOnlyExternalAliasing);
displayParts.push.apply(displayParts, fullSymbolDisplayParts);
}
@@ -3763,7 +3802,7 @@ module ts {
}
function addSignatureDisplayParts(signature: Signature, allSignatures: Signature[], flags?: TypeFormatFlags) {
- displayParts.push.apply(displayParts, signatureToDisplayParts(typeResolver, signature, enclosingDeclaration, flags | TypeFormatFlags.WriteTypeArgumentsOfSignature));
+ displayParts.push.apply(displayParts, signatureToDisplayParts(typeChecker, signature, enclosingDeclaration, flags | TypeFormatFlags.WriteTypeArgumentsOfSignature));
if (allSignatures.length > 1) {
displayParts.push(spacePart());
displayParts.push(punctuationPart(SyntaxKind.OpenParenToken));
@@ -3778,7 +3817,7 @@ module ts {
function writeTypeParametersOfSymbol(symbol: Symbol, enclosingDeclaration: Node) {
let typeParameterParts = mapToDisplayParts(writer => {
- typeResolver.getSymbolDisplayBuilder().buildTypeParameterDisplayFromSymbol(symbol, writer, enclosingDeclaration);
+ typeChecker.getSymbolDisplayBuilder().buildTypeParameterDisplayFromSymbol(symbol, writer, enclosingDeclaration);
});
displayParts.push.apply(displayParts, typeParameterParts);
}
@@ -3793,7 +3832,13 @@ module ts {
return undefined;
}
- let symbol = typeInfoResolver.getSymbolAtLocation(node);
+ if (isLabelName(node)) {
+ return undefined;
+ }
+
+ let typeChecker = program.getTypeChecker();
+ let symbol = typeChecker.getSymbolAtLocation(node);
+
if (!symbol) {
// Try getting just type at this position and show
switch (node.kind) {
@@ -3803,13 +3848,13 @@ module ts {
case SyntaxKind.ThisKeyword:
case SyntaxKind.SuperKeyword:
// For the identifiers/this/super etc get the type at position
- let type = typeInfoResolver.getTypeAtLocation(node);
+ let type = typeChecker.getTypeAtLocation(node);
if (type) {
return {
kind: ScriptElementKind.unknown,
kindModifiers: ScriptElementKindModifier.none,
textSpan: createTextSpan(node.getStart(), node.getWidth()),
- displayParts: typeToDisplayParts(typeInfoResolver, type, getContainerNode(node)),
+ displayParts: typeToDisplayParts(typeChecker, type, getContainerNode(node)),
documentation: type.symbol ? type.symbol.getDocumentationComment() : undefined
};
}
@@ -3818,7 +3863,7 @@ module ts {
return undefined;
}
- let displayPartsDocumentationsAndKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, sourceFile, getContainerNode(node), typeInfoResolver, node);
+ let displayPartsDocumentationsAndKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, sourceFile, getContainerNode(node), node);
return {
kind: displayPartsDocumentationsAndKind.symbolKind,
kindModifiers: getSymbolModifiers(symbol),
@@ -3874,7 +3919,8 @@ module ts {
return undefined;
}
- let symbol = typeInfoResolver.getSymbolAtLocation(node);
+ let typeChecker = program.getTypeChecker();
+ let symbol = typeChecker.getSymbolAtLocation(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
@@ -3889,7 +3935,7 @@ module ts {
if (symbol.flags & SymbolFlags.Alias) {
let declaration = symbol.declarations[0];
if (node.kind === SyntaxKind.Identifier && node.parent === declaration) {
- symbol = typeInfoResolver.getAliasedSymbol(symbol);
+ symbol = typeChecker.getAliasedSymbol(symbol);
}
}
@@ -3899,25 +3945,25 @@ module ts {
// is performed at the location of property access, we would like to go to definition of the property in the short-hand
// assignment. This case and others are handled by the following code.
if (node.parent.kind === SyntaxKind.ShorthandPropertyAssignment) {
- let shorthandSymbol = typeInfoResolver.getShorthandAssignmentValueSymbol(symbol.valueDeclaration);
+ let shorthandSymbol = typeChecker.getShorthandAssignmentValueSymbol(symbol.valueDeclaration);
if (!shorthandSymbol) {
return [];
}
let shorthandDeclarations = shorthandSymbol.getDeclarations();
- let shorthandSymbolKind = getSymbolKind(shorthandSymbol, typeInfoResolver, node);
- let shorthandSymbolName = typeInfoResolver.symbolToString(shorthandSymbol);
- let shorthandContainerName = typeInfoResolver.symbolToString(symbol.parent, node);
+ let shorthandSymbolKind = getSymbolKind(shorthandSymbol, node);
+ let shorthandSymbolName = typeChecker.symbolToString(shorthandSymbol);
+ let shorthandContainerName = typeChecker.symbolToString(symbol.parent, node);
return map(shorthandDeclarations,
declaration => createDefinitionInfo(declaration, shorthandSymbolKind, shorthandSymbolName, shorthandContainerName));
}
let result: DefinitionInfo[] = [];
let declarations = symbol.getDeclarations();
- let symbolName = typeInfoResolver.symbolToString(symbol); // Do not get scoped name, just the name of the symbol
- let symbolKind = getSymbolKind(symbol, typeInfoResolver, node);
+ let symbolName = typeChecker.symbolToString(symbol); // Do not get scoped name, just the name of the symbol
+ let symbolKind = getSymbolKind(symbol, node);
let containerSymbol = symbol.parent;
- let containerName = containerSymbol ? typeInfoResolver.symbolToString(containerSymbol, node) : "";
+ let containerName = containerSymbol ? typeChecker.symbolToString(containerSymbol, node) : "";
if (!tryAddConstructSignature(symbol, node, symbolKind, symbolName, containerName, result) &&
!tryAddCallSignature(symbol, node, symbolKind, symbolName, containerName, result)) {
@@ -3983,7 +4029,7 @@ module ts {
// Get occurrences only supports reporting occurrences for the file queried. So
// filter down to that list.
- results = filter(results, r => r.fileName === fileName);
+ results = filter(results, r => getCanonicalFileName(ts.normalizeSlashes(r.fileName)) === sourceFile);
}
return results;
@@ -4676,7 +4722,9 @@ module ts {
return getReferencedSymbolsForNodes(node, program.getSourceFiles(), findInStrings, findInComments);
}
- function getReferencedSymbolsForNodes(node: Node, sourceFiles: SourceFile[], findInStrings: boolean, findInComments: boolean): ReferencedSymbol[]{
+ function getReferencedSymbolsForNodes(node: Node, sourceFiles: SourceFile[], findInStrings: boolean, findInComments: boolean): ReferencedSymbol[] {
+ let typeChecker = program.getTypeChecker();
+
// Labels
if (isLabelName(node)) {
if (isJumpStatementTarget(node)) {
@@ -4699,7 +4747,7 @@ module ts {
return getReferencesForSuperKeyword(node);
}
- let symbol = typeInfoResolver.getSymbolAtLocation(node);
+ let symbol = typeChecker.getSymbolAtLocation(node);
// Could not find a symbol e.g. unknown identifier
if (!symbol) {
@@ -4750,7 +4798,7 @@ module ts {
return result;
function getDefinition(symbol: Symbol): DefinitionInfo {
- let info = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, node.getSourceFile(), getContainerNode(node), typeInfoResolver, node);
+ let info = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, node.getSourceFile(), getContainerNode(node), node);
let name = map(info.displayParts, p => p.text).join("");
let declarations = symbol.declarations;
if (!declarations || declarations.length === 0) {
@@ -4800,7 +4848,7 @@ module ts {
return location.getText();
}
- name = typeInfoResolver.symbolToString(symbol);
+ name = typeChecker.symbolToString(symbol);
return stripQuotes(name);
}
@@ -5036,10 +5084,10 @@ module ts {
return;
}
- let referenceSymbol = typeInfoResolver.getSymbolAtLocation(referenceLocation);
+ let referenceSymbol = typeChecker.getSymbolAtLocation(referenceLocation);
if (referenceSymbol) {
let referenceSymbolDeclaration = referenceSymbol.valueDeclaration;
- let shorthandValueSymbol = typeInfoResolver.getShorthandAssignmentValueSymbol(referenceSymbolDeclaration);
+ let shorthandValueSymbol = typeChecker.getShorthandAssignmentValueSymbol(referenceSymbolDeclaration);
var relatedSymbol = getRelatedSymbol(searchSymbols, referenceSymbol, referenceLocation);
if (relatedSymbol) {
@@ -5264,7 +5312,7 @@ module ts {
// If the symbol is an alias, add what it alaises to the list
if (isImportOrExportSpecifierImportSymbol(symbol)) {
- result.push(typeInfoResolver.getAliasedSymbol(symbol));
+ result.push(typeChecker.getAliasedSymbol(symbol));
}
// If the location is in a context sensitive location (i.e. in an object literal) try
@@ -5272,7 +5320,7 @@ module ts {
// type to the search set
if (isNameOfPropertyAssignment(location)) {
forEach(getPropertySymbolsFromContextualType(location), contextualSymbol => {
- result.push.apply(result, typeInfoResolver.getRootSymbols(contextualSymbol));
+ result.push.apply(result, typeChecker.getRootSymbols(contextualSymbol));
});
/* Because in short-hand property assignment, location has two meaning : property name and as value of the property
@@ -5286,7 +5334,7 @@ module ts {
* so that when matching with potential reference symbol, both symbols from property declaration and variable declaration
* will be included correctly.
*/
- let shorthandValueSymbol = typeInfoResolver.getShorthandAssignmentValueSymbol(location.parent);
+ let shorthandValueSymbol = typeChecker.getShorthandAssignmentValueSymbol(location.parent);
if (shorthandValueSymbol) {
result.push(shorthandValueSymbol);
}
@@ -5294,7 +5342,7 @@ module ts {
// If this is a union property, add all the symbols from all its source symbols in all unioned types.
// If the symbol is an instantiation from a another symbol (e.g. widened symbol) , add the root the list
- forEach(typeInfoResolver.getRootSymbols(symbol), rootSymbol => {
+ forEach(typeChecker.getRootSymbols(symbol), rootSymbol => {
if (rootSymbol !== symbol) {
result.push(rootSymbol);
}
@@ -5324,9 +5372,9 @@ module ts {
function getPropertySymbolFromTypeReference(typeReference: HeritageClauseElement) {
if (typeReference) {
- let type = typeInfoResolver.getTypeAtLocation(typeReference);
+ let type = typeChecker.getTypeAtLocation(typeReference);
if (type) {
- let propertySymbol = typeInfoResolver.getPropertyOfType(type, propertyName);
+ let propertySymbol = typeChecker.getPropertyOfType(type, propertyName);
if (propertySymbol) {
result.push(propertySymbol);
}
@@ -5346,7 +5394,7 @@ module ts {
// If the reference symbol is an alias, check if what it is aliasing is one of the search
// symbols.
if (isImportOrExportSpecifierImportSymbol(referenceSymbol)) {
- var aliasedSymbol = typeInfoResolver.getAliasedSymbol(referenceSymbol);
+ var aliasedSymbol = typeChecker.getAliasedSymbol(referenceSymbol);
if (searchSymbols.indexOf(aliasedSymbol) >= 0) {
return aliasedSymbol;
}
@@ -5357,13 +5405,13 @@ module ts {
// compare to our searchSymbol
if (isNameOfPropertyAssignment(referenceLocation)) {
return forEach(getPropertySymbolsFromContextualType(referenceLocation), contextualSymbol => {
- return forEach(typeInfoResolver.getRootSymbols(contextualSymbol), s => searchSymbols.indexOf(s) >= 0 ? s : undefined);
+ return forEach(typeChecker.getRootSymbols(contextualSymbol), s => searchSymbols.indexOf(s) >= 0 ? s : undefined);
});
}
// Unwrap symbols to get to the root (e.g. transient symbols as a result of widening)
// Or a union property, use its underlying unioned symbols
- return forEach(typeInfoResolver.getRootSymbols(referenceSymbol), rootSymbol => {
+ return forEach(typeChecker.getRootSymbols(referenceSymbol), rootSymbol => {
// if it is in the list, then we are done
if (searchSymbols.indexOf(rootSymbol) >= 0) {
return rootSymbol;
@@ -5384,7 +5432,7 @@ module ts {
function getPropertySymbolsFromContextualType(node: Node): Symbol[] {
if (isNameOfPropertyAssignment(node)) {
let objectLiteral = node.parent.parent;
- let contextualType = typeInfoResolver.getContextualType(objectLiteral);
+ let contextualType = typeChecker.getContextualType(objectLiteral);
let name = (node).text;
if (contextualType) {
if (contextualType.flags & TypeFlags.Union) {
@@ -5676,7 +5724,7 @@ module ts {
let sourceFile = getValidSourceFile(fileName);
- return SignatureHelp.getSignatureHelpItems(sourceFile, position, typeInfoResolver, cancellationToken);
+ return SignatureHelp.getSignatureHelpItems(program, sourceFile, position, cancellationToken);
}
/// Syntactic features
@@ -5757,6 +5805,7 @@ module ts {
synchronizeHostData();
let sourceFile = getValidSourceFile(fileName);
+ let typeChecker = program.getTypeChecker();
let result: ClassifiedSpan[] = [];
processNode(sourceFile);
@@ -5809,7 +5858,7 @@ module ts {
// Only walk into nodes that intersect the requested span.
if (node && textSpanIntersectsWith(span, node.getStart(), node.getWidth())) {
if (node.kind === SyntaxKind.Identifier && node.getWidth() > 0) {
- let symbol = typeInfoResolver.getSymbolAtLocation(node);
+ let symbol = typeChecker.getSymbolAtLocation(node);
if (symbol) {
let type = classifySymbol(symbol, getMeaningFromLocation(node));
if (type) {
@@ -6291,12 +6340,13 @@ module ts {
synchronizeHostData();
let sourceFile = getValidSourceFile(fileName);
+ let typeChecker = program.getTypeChecker();
let node = getTouchingWord(sourceFile, position);
// Can only rename an identifier.
if (node && node.kind === SyntaxKind.Identifier) {
- let symbol = typeInfoResolver.getSymbolAtLocation(node);
+ let symbol = typeChecker.getSymbolAtLocation(node);
// Only allow a symbol to be renamed if it actually has at least one declaration.
if (symbol) {
@@ -6313,13 +6363,13 @@ module ts {
}
}
- let kind = getSymbolKind(symbol, typeInfoResolver, node);
+ let kind = getSymbolKind(symbol, node);
if (kind) {
return {
canRename: true,
localizedErrorMessage: undefined,
displayName: symbol.name,
- fullDisplayName: typeInfoResolver.getFullyQualifiedName(symbol),
+ fullDisplayName: typeChecker.getFullyQualifiedName(symbol),
kind: kind,
kindModifiers: getSymbolModifiers(symbol),
triggerSpan: createTextSpan(node.getStart(), node.getWidth())
diff --git a/src/services/signatureHelp.ts b/src/services/signatureHelp.ts
index e311048191f..77aba4c85c1 100644
--- a/src/services/signatureHelp.ts
+++ b/src/services/signatureHelp.ts
@@ -178,7 +178,9 @@ module ts.SignatureHelp {
argumentCount: number;
}
- export function getSignatureHelpItems(sourceFile: SourceFile, position: number, typeInfoResolver: TypeChecker, cancellationToken: CancellationTokenObject): SignatureHelpItems {
+ export function getSignatureHelpItems(program: Program, sourceFile: SourceFile, position: number, cancellationToken: CancellationTokenObject): SignatureHelpItems {
+ let typeChecker = program.getTypeChecker();
+
// Decide whether to show signature help
let startingToken = findTokenOnLeftOfPosition(sourceFile, position);
if (!startingToken) {
@@ -196,15 +198,61 @@ module ts.SignatureHelp {
let call = argumentInfo.invocation;
let candidates = [];
- let resolvedSignature = typeInfoResolver.getResolvedSignature(call, candidates);
+ let resolvedSignature = typeChecker.getResolvedSignature(call, candidates);
cancellationToken.throwIfCancellationRequested();
if (!candidates.length) {
+ // We didn't have any sig help items produced by the TS compiler. If this is a JS
+ // file, then see if we can figure out anything better.
+ if (isJavaScript(sourceFile.fileName)) {
+ return createJavaScriptSignatureHelpItems(argumentInfo);
+ }
+
return undefined;
}
return createSignatureHelpItems(candidates, resolvedSignature, argumentInfo);
+ function createJavaScriptSignatureHelpItems(argumentInfo: ArgumentListInfo): SignatureHelpItems {
+ if (argumentInfo.invocation.kind !== SyntaxKind.CallExpression) {
+ return undefined;
+ }
+
+ // See if we can find some symbol with the call expression name that has call signatures.
+ let callExpression = argumentInfo.invocation;
+ let expression = callExpression.expression;
+ let name = expression.kind === SyntaxKind.Identifier
+ ? expression
+ : expression.kind === SyntaxKind.PropertyAccessExpression
+ ? (expression).name
+ : undefined;
+
+ if (!name || !name.text) {
+ return undefined;
+ }
+
+ let typeChecker = program.getTypeChecker();
+ for (let sourceFile of program.getSourceFiles()) {
+ let nameToDeclarations = sourceFile.getNamedDeclarations();
+ let declarations = getProperty(nameToDeclarations, name.text);
+
+ if (declarations) {
+ for (let declaration of declarations) {
+ let symbol = declaration.symbol;
+ if (symbol) {
+ let type = typeChecker.getTypeOfSymbolAtLocation(symbol, declaration);
+ if (type) {
+ let callSignatures = type.getCallSignatures();
+ if (callSignatures && callSignatures.length) {
+ return createSignatureHelpItems(callSignatures, callSignatures[0], argumentInfo);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
/**
* Returns relevant information for the argument list and the current argument if we are
* in the argument of an invocation; returns undefined otherwise.
@@ -494,8 +542,8 @@ module ts.SignatureHelp {
let invocation = argumentListInfo.invocation;
let callTarget = getInvokedExpression(invocation)
- let callTargetSymbol = typeInfoResolver.getSymbolAtLocation(callTarget);
- let callTargetDisplayParts = callTargetSymbol && symbolToDisplayParts(typeInfoResolver, callTargetSymbol, /*enclosingDeclaration*/ undefined, /*meaning*/ undefined);
+ let callTargetSymbol = typeChecker.getSymbolAtLocation(callTarget);
+ let callTargetDisplayParts = callTargetSymbol && symbolToDisplayParts(typeChecker, callTargetSymbol, /*enclosingDeclaration*/ undefined, /*meaning*/ undefined);
let items: SignatureHelpItem[] = map(candidates, candidateSignature => {
let signatureHelpParameters: SignatureHelpParameter[];
let prefixDisplayParts: SymbolDisplayPart[] = [];
@@ -511,12 +559,12 @@ module ts.SignatureHelp {
signatureHelpParameters = typeParameters && typeParameters.length > 0 ? map(typeParameters, createSignatureHelpParameterForTypeParameter) : emptyArray;
suffixDisplayParts.push(punctuationPart(SyntaxKind.GreaterThanToken));
let parameterParts = mapToDisplayParts(writer =>
- typeInfoResolver.getSymbolDisplayBuilder().buildDisplayForParametersAndDelimiters(candidateSignature.parameters, writer, invocation));
+ typeChecker.getSymbolDisplayBuilder().buildDisplayForParametersAndDelimiters(candidateSignature.parameters, writer, invocation));
suffixDisplayParts.push.apply(suffixDisplayParts, parameterParts);
}
else {
let typeParameterParts = mapToDisplayParts(writer =>
- typeInfoResolver.getSymbolDisplayBuilder().buildDisplayForTypeParametersAndDelimiters(candidateSignature.typeParameters, writer, invocation));
+ typeChecker.getSymbolDisplayBuilder().buildDisplayForTypeParametersAndDelimiters(candidateSignature.typeParameters, writer, invocation));
prefixDisplayParts.push.apply(prefixDisplayParts, typeParameterParts);
prefixDisplayParts.push(punctuationPart(SyntaxKind.OpenParenToken));
@@ -526,7 +574,7 @@ module ts.SignatureHelp {
}
let returnTypeParts = mapToDisplayParts(writer =>
- typeInfoResolver.getSymbolDisplayBuilder().buildReturnTypeDisplay(candidateSignature, writer, invocation));
+ typeChecker.getSymbolDisplayBuilder().buildReturnTypeDisplay(candidateSignature, writer, invocation));
suffixDisplayParts.push.apply(suffixDisplayParts, returnTypeParts);
return {
@@ -561,7 +609,7 @@ module ts.SignatureHelp {
function createSignatureHelpParameterForParameter(parameter: Symbol): SignatureHelpParameter {
let displayParts = mapToDisplayParts(writer =>
- typeInfoResolver.getSymbolDisplayBuilder().buildParameterDisplay(parameter, writer, invocation));
+ typeChecker.getSymbolDisplayBuilder().buildParameterDisplay(parameter, writer, invocation));
let isOptional = hasQuestionToken(parameter.valueDeclaration);
@@ -575,7 +623,7 @@ module ts.SignatureHelp {
function createSignatureHelpParameterForTypeParameter(typeParameter: TypeParameter): SignatureHelpParameter {
let displayParts = mapToDisplayParts(writer =>
- typeInfoResolver.getSymbolDisplayBuilder().buildTypeParameterDisplay(typeParameter, writer, invocation));
+ typeChecker.getSymbolDisplayBuilder().buildTypeParameterDisplay(typeParameter, writer, invocation));
return {
name: typeParameter.symbol.name,
diff --git a/src/services/utilities.ts b/src/services/utilities.ts
index 26b581e27b6..5e1460bbdcd 100644
--- a/src/services/utilities.ts
+++ b/src/services/utilities.ts
@@ -652,4 +652,8 @@ module ts {
typechecker.getSymbolDisplayBuilder().buildSignatureDisplay(signature, writer, enclosingDeclaration, flags);
});
}
+
+ export function isJavaScript(fileName: string) {
+ return fileExtensionIs(fileName, ".js");
+ }
}
\ No newline at end of file
diff --git a/tests/baselines/reference/2dArrays.types b/tests/baselines/reference/2dArrays.types
index b113ccdce7b..cb6c2a3a723 100644
--- a/tests/baselines/reference/2dArrays.types
+++ b/tests/baselines/reference/2dArrays.types
@@ -1,40 +1,40 @@
=== tests/cases/compiler/2dArrays.ts ===
class Cell {
->Cell : Cell
+>Cell : Cell, Symbol(Cell, Decl(2dArrays.ts, 0, 0))
}
class Ship {
->Ship : Ship
+>Ship : Ship, Symbol(Ship, Decl(2dArrays.ts, 1, 1))
isSunk: boolean;
->isSunk : boolean
+>isSunk : boolean, Symbol(isSunk, Decl(2dArrays.ts, 3, 12))
}
class Board {
->Board : Board
+>Board : Board, Symbol(Board, Decl(2dArrays.ts, 5, 1))
ships: Ship[];
->ships : Ship[]
->Ship : Ship
+>ships : Ship[], Symbol(ships, Decl(2dArrays.ts, 7, 13))
+>Ship : Ship, Symbol(Ship, Decl(2dArrays.ts, 1, 1))
cells: Cell[];
->cells : Cell[]
->Cell : Cell
+>cells : Cell[], Symbol(cells, Decl(2dArrays.ts, 8, 18))
+>Cell : Cell, Symbol(Cell, Decl(2dArrays.ts, 0, 0))
private allShipsSunk() {
->allShipsSunk : () => boolean
+>allShipsSunk : () => boolean, Symbol(allShipsSunk, Decl(2dArrays.ts, 9, 18))
return this.ships.every(function (val) { return val.isSunk; });
>this.ships.every(function (val) { return val.isSunk; }) : boolean
->this.ships.every : (callbackfn: (value: Ship, index: number, array: Ship[]) => boolean, thisArg?: any) => boolean
->this.ships : Ship[]
->this : Board
->ships : Ship[]
->every : (callbackfn: (value: Ship, index: number, array: Ship[]) => boolean, thisArg?: any) => boolean
+>this.ships.every : (callbackfn: (value: Ship, index: number, array: Ship[]) => boolean, thisArg?: any) => boolean, Symbol(Array.every, Decl(lib.d.ts, 1094, 62))
+>this.ships : Ship[], Symbol(ships, Decl(2dArrays.ts, 7, 13))
+>this : Board, Symbol(Board, Decl(2dArrays.ts, 5, 1))
+>ships : Ship[], Symbol(ships, Decl(2dArrays.ts, 7, 13))
+>every : (callbackfn: (value: Ship, index: number, array: Ship[]) => boolean, thisArg?: any) => boolean, Symbol(Array.every, Decl(lib.d.ts, 1094, 62))
>function (val) { return val.isSunk; } : (val: Ship) => boolean
->val : Ship
->val.isSunk : boolean
->val : Ship
->isSunk : boolean
+>val : Ship, Symbol(val, Decl(2dArrays.ts, 12, 42))
+>val.isSunk : boolean, Symbol(Ship.isSunk, Decl(2dArrays.ts, 3, 12))
+>val : Ship, Symbol(val, Decl(2dArrays.ts, 12, 42))
+>isSunk : boolean, Symbol(Ship.isSunk, Decl(2dArrays.ts, 3, 12))
}
}
diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types
index 7ccbae38212..8c92b99cada 100644
--- a/tests/baselines/reference/APISample_compile.types
+++ b/tests/baselines/reference/APISample_compile.types
@@ -7,152 +7,162 @@
*/
declare var process: any;
->process : any
+>process : any, Symbol(process, Decl(APISample_compile.ts, 7, 11))
declare var console: any;
->console : any
+>console : any, Symbol(console, Decl(APISample_compile.ts, 8, 11))
declare var os: any;
->os : any
+>os : any, Symbol(os, Decl(APISample_compile.ts, 9, 11))
import ts = require("typescript");
->ts : typeof ts
+>ts : typeof ts, Symbol(ts, Decl(APISample_compile.ts, 9, 20))
export function compile(fileNames: string[], options: ts.CompilerOptions): void {
->compile : (fileNames: string[], options: ts.CompilerOptions) => void
->fileNames : string[]
->options : ts.CompilerOptions
->ts : unknown
->CompilerOptions : ts.CompilerOptions
+>compile : (fileNames: string[], options: ts.CompilerOptions) => void, Symbol(compile, Decl(APISample_compile.ts, 11, 34))
+>fileNames : string[], Symbol(fileNames, Decl(APISample_compile.ts, 13, 24))
+>options : ts.CompilerOptions, Symbol(options, Decl(APISample_compile.ts, 13, 44))
+>ts : any, Symbol(ts, Decl(APISample_compile.ts, 9, 20))
+>CompilerOptions : ts.CompilerOptions, Symbol(ts.CompilerOptions, Decl(typescript.d.ts, 1074, 5))
var program = ts.createProgram(fileNames, options);
->program : ts.Program
+>program : ts.Program, Symbol(program, Decl(APISample_compile.ts, 14, 7))
>ts.createProgram(fileNames, options) : ts.Program
->ts.createProgram : (rootNames: string[], options: ts.CompilerOptions, host?: ts.CompilerHost) => ts.Program
->ts : typeof ts
->createProgram : (rootNames: string[], options: ts.CompilerOptions, host?: ts.CompilerHost) => ts.Program
->fileNames : string[]
->options : ts.CompilerOptions
+>ts.createProgram : (rootNames: string[], options: ts.CompilerOptions, host?: ts.CompilerHost) => ts.Program, Symbol(ts.createProgram, Decl(typescript.d.ts, 1229, 113))
+>ts : typeof ts, Symbol(ts, Decl(APISample_compile.ts, 9, 20))
+>createProgram : (rootNames: string[], options: ts.CompilerOptions, host?: ts.CompilerHost) => ts.Program, Symbol(ts.createProgram, Decl(typescript.d.ts, 1229, 113))
+>fileNames : string[], Symbol(fileNames, Decl(APISample_compile.ts, 13, 24))
+>options : ts.CompilerOptions, Symbol(options, Decl(APISample_compile.ts, 13, 44))
var emitResult = program.emit();
->emitResult : ts.EmitResult
+>emitResult : ts.EmitResult, Symbol(emitResult, Decl(APISample_compile.ts, 15, 7))
>program.emit() : ts.EmitResult
->program.emit : (targetSourceFile?: ts.SourceFile, writeFile?: ts.WriteFileCallback) => ts.EmitResult
->program : ts.Program
->emit : (targetSourceFile?: ts.SourceFile, writeFile?: ts.WriteFileCallback) => ts.EmitResult
+>program.emit : (targetSourceFile?: ts.SourceFile, writeFile?: ts.WriteFileCallback) => ts.EmitResult, Symbol(ts.Program.emit, Decl(typescript.d.ts, 767, 39))
+>program : ts.Program, Symbol(program, Decl(APISample_compile.ts, 14, 7))
+>emit : (targetSourceFile?: ts.SourceFile, writeFile?: ts.WriteFileCallback) => ts.EmitResult, Symbol(ts.Program.emit, Decl(typescript.d.ts, 767, 39))
var allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics);
->allDiagnostics : ts.Diagnostic[]
+>allDiagnostics : ts.Diagnostic[], Symbol(allDiagnostics, Decl(APISample_compile.ts, 17, 7))
>ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics) : ts.Diagnostic[]
->ts.getPreEmitDiagnostics(program).concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }
+>ts.getPreEmitDiagnostics(program).concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }, Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46))
>ts.getPreEmitDiagnostics(program) : ts.Diagnostic[]
->ts.getPreEmitDiagnostics : (program: ts.Program) => ts.Diagnostic[]
->ts : typeof ts
->getPreEmitDiagnostics : (program: ts.Program) => ts.Diagnostic[]
->program : ts.Program
->concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }
->emitResult.diagnostics : ts.Diagnostic[]
->emitResult : ts.EmitResult
->diagnostics : ts.Diagnostic[]
+>ts.getPreEmitDiagnostics : (program: ts.Program) => ts.Diagnostic[], Symbol(ts.getPreEmitDiagnostics, Decl(typescript.d.ts, 1227, 98))
+>ts : typeof ts, Symbol(ts, Decl(APISample_compile.ts, 9, 20))
+>getPreEmitDiagnostics : (program: ts.Program) => ts.Diagnostic[], Symbol(ts.getPreEmitDiagnostics, Decl(typescript.d.ts, 1227, 98))
+>program : ts.Program, Symbol(program, Decl(APISample_compile.ts, 14, 7))
+>concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }, Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46))
+>emitResult.diagnostics : ts.Diagnostic[], Symbol(ts.EmitResult.diagnostics, Decl(typescript.d.ts, 820, 29))
+>emitResult : ts.EmitResult, Symbol(emitResult, Decl(APISample_compile.ts, 15, 7))
+>diagnostics : ts.Diagnostic[], Symbol(ts.EmitResult.diagnostics, Decl(typescript.d.ts, 820, 29))
allDiagnostics.forEach(diagnostic => {
>allDiagnostics.forEach(diagnostic => { var { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); var message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'); console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); }) : void
->allDiagnostics.forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void
->allDiagnostics : ts.Diagnostic[]
->forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void
+>allDiagnostics.forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void, Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95))
+>allDiagnostics : ts.Diagnostic[], Symbol(allDiagnostics, Decl(APISample_compile.ts, 17, 7))
+>forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void, Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95))
>diagnostic => { var { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); var message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n'); console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); } : (diagnostic: ts.Diagnostic) => void
->diagnostic : ts.Diagnostic
+>diagnostic : ts.Diagnostic, Symbol(diagnostic, Decl(APISample_compile.ts, 19, 27))
var { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
->line : number
->character : number
+>line : number, Symbol(line, Decl(APISample_compile.ts, 20, 13))
+>character : number, Symbol(character, Decl(APISample_compile.ts, 20, 19))
>diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start) : ts.LineAndCharacter
->diagnostic.file.getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter
->diagnostic.file : ts.SourceFile
->diagnostic : ts.Diagnostic
->file : ts.SourceFile
->getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter
->diagnostic.start : number
->diagnostic : ts.Diagnostic
->start : number
+>diagnostic.file.getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter, Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1290, 26))
+>diagnostic.file : ts.SourceFile, Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26))
+>diagnostic : ts.Diagnostic, Symbol(diagnostic, Decl(APISample_compile.ts, 19, 27))
+>file : ts.SourceFile, Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26))
+>getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter, Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1290, 26))
+>diagnostic.start : number, Symbol(ts.Diagnostic.start, Decl(typescript.d.ts, 1063, 25))
+>diagnostic : ts.Diagnostic, Symbol(diagnostic, Decl(APISample_compile.ts, 19, 27))
+>start : number, Symbol(ts.Diagnostic.start, Decl(typescript.d.ts, 1063, 25))
var message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n');
->message : string
+>message : string, Symbol(message, Decl(APISample_compile.ts, 21, 11))
>ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n') : string
->ts.flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string
->ts : typeof ts
->flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string
->diagnostic.messageText : string | ts.DiagnosticMessageChain
->diagnostic : ts.Diagnostic
->messageText : string | ts.DiagnosticMessageChain
+>ts.flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string, Symbol(ts.flattenDiagnosticMessageText, Decl(typescript.d.ts, 1228, 67))
+>ts : typeof ts, Symbol(ts, Decl(APISample_compile.ts, 9, 20))
+>flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string, Symbol(ts.flattenDiagnosticMessageText, Decl(typescript.d.ts, 1228, 67))
+>diagnostic.messageText : string | ts.DiagnosticMessageChain, Symbol(ts.Diagnostic.messageText, Decl(typescript.d.ts, 1065, 23))
+>diagnostic : ts.Diagnostic, Symbol(diagnostic, Decl(APISample_compile.ts, 19, 27))
+>messageText : string | ts.DiagnosticMessageChain, Symbol(ts.Diagnostic.messageText, Decl(typescript.d.ts, 1065, 23))
+>'\n' : string
console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);
>console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`) : any
>console.log : any
->console : any
+>console : any, Symbol(console, Decl(APISample_compile.ts, 8, 11))
>log : any
->diagnostic.file.fileName : string
->diagnostic.file : ts.SourceFile
->diagnostic : ts.Diagnostic
->file : ts.SourceFile
->fileName : string
+>`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}` : string
+>diagnostic.file.fileName : string, Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29))
+>diagnostic.file : ts.SourceFile, Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26))
+>diagnostic : ts.Diagnostic, Symbol(diagnostic, Decl(APISample_compile.ts, 19, 27))
+>file : ts.SourceFile, Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26))
+>fileName : string, Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29))
>line + 1 : number
->line : number
+>line : number, Symbol(line, Decl(APISample_compile.ts, 20, 13))
+>1 : number
>character + 1 : number
->character : number
->message : string
+>character : number, Symbol(character, Decl(APISample_compile.ts, 20, 19))
+>1 : number
+>message : string, Symbol(message, Decl(APISample_compile.ts, 21, 11))
});
var exitCode = emitResult.emitSkipped ? 1 : 0;
->exitCode : number
+>exitCode : number, Symbol(exitCode, Decl(APISample_compile.ts, 25, 7))
>emitResult.emitSkipped ? 1 : 0 : number
->emitResult.emitSkipped : boolean
->emitResult : ts.EmitResult
->emitSkipped : boolean
+>emitResult.emitSkipped : boolean, Symbol(ts.EmitResult.emitSkipped, Decl(typescript.d.ts, 819, 26))
+>emitResult : ts.EmitResult, Symbol(emitResult, Decl(APISample_compile.ts, 15, 7))
+>emitSkipped : boolean, Symbol(ts.EmitResult.emitSkipped, Decl(typescript.d.ts, 819, 26))
+>1 : number
+>0 : number
console.log(`Process exiting with code '${exitCode}'.`);
>console.log(`Process exiting with code '${exitCode}'.`) : any
>console.log : any
->console : any
+>console : any, Symbol(console, Decl(APISample_compile.ts, 8, 11))
>log : any
->exitCode : number
+>`Process exiting with code '${exitCode}'.` : string
+>exitCode : number, Symbol(exitCode, Decl(APISample_compile.ts, 25, 7))
process.exit(exitCode);
>process.exit(exitCode) : any
>process.exit : any
->process : any
+>process : any, Symbol(process, Decl(APISample_compile.ts, 7, 11))
>exit : any
->exitCode : number
+>exitCode : number, Symbol(exitCode, Decl(APISample_compile.ts, 25, 7))
}
compile(process.argv.slice(2), {
>compile(process.argv.slice(2), { noEmitOnError: true, noImplicitAny: true, target: ts.ScriptTarget.ES5, module: ts.ModuleKind.CommonJS}) : void
->compile : (fileNames: string[], options: ts.CompilerOptions) => void
+>compile : (fileNames: string[], options: ts.CompilerOptions) => void, Symbol(compile, Decl(APISample_compile.ts, 11, 34))
>process.argv.slice(2) : any
>process.argv.slice : any
>process.argv : any
->process : any
+>process : any, Symbol(process, Decl(APISample_compile.ts, 7, 11))
>argv : any
>slice : any
+>2 : number
>{ noEmitOnError: true, noImplicitAny: true, target: ts.ScriptTarget.ES5, module: ts.ModuleKind.CommonJS} : { [x: string]: boolean | ts.ScriptTarget | ts.ModuleKind; noEmitOnError: boolean; noImplicitAny: boolean; target: ts.ScriptTarget; module: ts.ModuleKind; }
noEmitOnError: true, noImplicitAny: true,
->noEmitOnError : boolean
->noImplicitAny : boolean
+>noEmitOnError : boolean, Symbol(noEmitOnError, Decl(APISample_compile.ts, 30, 32))
+>true : boolean
+>noImplicitAny : boolean, Symbol(noImplicitAny, Decl(APISample_compile.ts, 31, 24))
+>true : boolean
target: ts.ScriptTarget.ES5, module: ts.ModuleKind.CommonJS
->target : ts.ScriptTarget
->ts.ScriptTarget.ES5 : ts.ScriptTarget
->ts.ScriptTarget : typeof ts.ScriptTarget
->ts : typeof ts
->ScriptTarget : typeof ts.ScriptTarget
->ES5 : ts.ScriptTarget
->module : ts.ModuleKind
->ts.ModuleKind.CommonJS : ts.ModuleKind
->ts.ModuleKind : typeof ts.ModuleKind
->ts : typeof ts
->ModuleKind : typeof ts.ModuleKind
->CommonJS : ts.ModuleKind
+>target : ts.ScriptTarget, Symbol(target, Decl(APISample_compile.ts, 31, 45))
+>ts.ScriptTarget.ES5 : ts.ScriptTarget, Symbol(ts.ScriptTarget.ES5, Decl(typescript.d.ts, 1117, 16))
+>ts.ScriptTarget : typeof ts.ScriptTarget, Symbol(ts.ScriptTarget, Decl(typescript.d.ts, 1115, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_compile.ts, 9, 20))
+>ScriptTarget : typeof ts.ScriptTarget, Symbol(ts.ScriptTarget, Decl(typescript.d.ts, 1115, 5))
+>ES5 : ts.ScriptTarget, Symbol(ts.ScriptTarget.ES5, Decl(typescript.d.ts, 1117, 16))
+>module : ts.ModuleKind, Symbol(module, Decl(APISample_compile.ts, 32, 32))
+>ts.ModuleKind.CommonJS : ts.ModuleKind, Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17))
+>ts.ModuleKind : typeof ts.ModuleKind, Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_compile.ts, 9, 20))
+>ModuleKind : typeof ts.ModuleKind, Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5))
+>CommonJS : ts.ModuleKind, Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17))
});
diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types
index 609f08f3a76..e7ea3c8282c 100644
--- a/tests/baselines/reference/APISample_linter.types
+++ b/tests/baselines/reference/APISample_linter.types
@@ -7,297 +7,306 @@
*/
declare var process: any;
->process : any
+>process : any, Symbol(process, Decl(APISample_linter.ts, 7, 11))
declare var console: any;
->console : any
+>console : any, Symbol(console, Decl(APISample_linter.ts, 8, 11))
declare var readFileSync: any;
->readFileSync : any
+>readFileSync : any, Symbol(readFileSync, Decl(APISample_linter.ts, 9, 11))
import * as ts from "typescript";
->ts : typeof ts
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
export function delint(sourceFile: ts.SourceFile) {
->delint : (sourceFile: ts.SourceFile) => void
->sourceFile : ts.SourceFile
->ts : unknown
->SourceFile : ts.SourceFile
+>delint : (sourceFile: ts.SourceFile) => void, Symbol(delint, Decl(APISample_linter.ts, 11, 33))
+>sourceFile : ts.SourceFile, Symbol(sourceFile, Decl(APISample_linter.ts, 13, 23))
+>ts : any, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SourceFile : ts.SourceFile, Symbol(ts.SourceFile, Decl(typescript.d.ts, 740, 5), Decl(typescript.d.ts, 1289, 5))
delintNode(sourceFile);
>delintNode(sourceFile) : void
->delintNode : (node: ts.Node) => void
->sourceFile : ts.SourceFile
+>delintNode : (node: ts.Node) => void, Symbol(delintNode, Decl(APISample_linter.ts, 14, 27))
+>sourceFile : ts.SourceFile, Symbol(sourceFile, Decl(APISample_linter.ts, 13, 23))
function delintNode(node: ts.Node) {
->delintNode : (node: ts.Node) => void
->node : ts.Node
->ts : unknown
->Node : ts.Node
+>delintNode : (node: ts.Node) => void, Symbol(delintNode, Decl(APISample_linter.ts, 14, 27))
+>node : ts.Node, Symbol(node, Decl(APISample_linter.ts, 16, 24))
+>ts : any, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>Node : ts.Node, Symbol(ts.Node, Decl(typescript.d.ts, 296, 5), Decl(typescript.d.ts, 1249, 32))
switch (node.kind) {
->node.kind : ts.SyntaxKind
->node : ts.Node
->kind : ts.SyntaxKind
+>node.kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
+>node : ts.Node, Symbol(node, Decl(APISample_linter.ts, 16, 24))
+>kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
case ts.SyntaxKind.ForStatement:
->ts.SyntaxKind.ForStatement : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->ForStatement : ts.SyntaxKind
+>ts.SyntaxKind.ForStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.ForStatement, Decl(typescript.d.ts, 209, 29))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ForStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.ForStatement, Decl(typescript.d.ts, 209, 29))
case ts.SyntaxKind.ForInStatement:
->ts.SyntaxKind.ForInStatement : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->ForInStatement : ts.SyntaxKind
+>ts.SyntaxKind.ForInStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.ForInStatement, Decl(typescript.d.ts, 210, 27))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ForInStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.ForInStatement, Decl(typescript.d.ts, 210, 27))
case ts.SyntaxKind.WhileStatement:
->ts.SyntaxKind.WhileStatement : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->WhileStatement : ts.SyntaxKind
+>ts.SyntaxKind.WhileStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.WhileStatement, Decl(typescript.d.ts, 208, 26))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>WhileStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.WhileStatement, Decl(typescript.d.ts, 208, 26))
case ts.SyntaxKind.DoStatement:
->ts.SyntaxKind.DoStatement : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->DoStatement : ts.SyntaxKind
+>ts.SyntaxKind.DoStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.DoStatement, Decl(typescript.d.ts, 207, 26))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>DoStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.DoStatement, Decl(typescript.d.ts, 207, 26))
if ((node).statement.kind !== ts.SyntaxKind.Block) {
>(node).statement.kind !== ts.SyntaxKind.Block : boolean
->(node).statement.kind : ts.SyntaxKind
->(node).statement : ts.Statement
+>(node).statement.kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
+>(node).statement : ts.Statement, Symbol(ts.IterationStatement.statement, Decl(typescript.d.ts, 589, 52))
>(node) : ts.IterationStatement
>node : ts.IterationStatement
->ts : unknown
->IterationStatement : ts.IterationStatement
->node : ts.Node
->statement : ts.Statement
->kind : ts.SyntaxKind
->ts.SyntaxKind.Block : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->Block : ts.SyntaxKind
+>ts : any, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>IterationStatement : ts.IterationStatement, Symbol(ts.IterationStatement, Decl(typescript.d.ts, 588, 5))
+>node : ts.Node, Symbol(node, Decl(APISample_linter.ts, 16, 24))
+>statement : ts.Statement, Symbol(ts.IterationStatement.statement, Decl(typescript.d.ts, 589, 52))
+>kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
+>ts.SyntaxKind.Block : ts.SyntaxKind, Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>Block : ts.SyntaxKind, Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36))
report(node, "A looping statement's contents should be wrapped in a block body.");
>report(node, "A looping statement's contents should be wrapped in a block body.") : void
->report : (node: ts.Node, message: string) => void
->node : ts.Node
+>report : (node: ts.Node, message: string) => void, Symbol(report, Decl(APISample_linter.ts, 48, 5))
+>node : ts.Node, Symbol(node, Decl(APISample_linter.ts, 16, 24))
+>"A looping statement's contents should be wrapped in a block body." : string
}
break;
case ts.SyntaxKind.IfStatement:
->ts.SyntaxKind.IfStatement : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->IfStatement : ts.SyntaxKind
+>ts.SyntaxKind.IfStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.IfStatement, Decl(typescript.d.ts, 206, 34))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>IfStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.IfStatement, Decl(typescript.d.ts, 206, 34))
let ifStatement = (node);
->ifStatement : ts.IfStatement
+>ifStatement : ts.IfStatement, Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19))
>(node) : ts.IfStatement
>node : ts.IfStatement
->ts : unknown
->IfStatement : ts.IfStatement
->node : ts.Node
+>ts : any, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>IfStatement : ts.IfStatement, Symbol(ts.IfStatement, Decl(typescript.d.ts, 583, 5))
+>node : ts.Node, Symbol(node, Decl(APISample_linter.ts, 16, 24))
if (ifStatement.thenStatement.kind !== ts.SyntaxKind.Block) {
>ifStatement.thenStatement.kind !== ts.SyntaxKind.Block : boolean
->ifStatement.thenStatement.kind : ts.SyntaxKind
->ifStatement.thenStatement : ts.Statement
->ifStatement : ts.IfStatement
->thenStatement : ts.Statement
->kind : ts.SyntaxKind
->ts.SyntaxKind.Block : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->Block : ts.SyntaxKind
+>ifStatement.thenStatement.kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
+>ifStatement.thenStatement : ts.Statement, Symbol(ts.IfStatement.thenStatement, Decl(typescript.d.ts, 585, 31))
+>ifStatement : ts.IfStatement, Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19))
+>thenStatement : ts.Statement, Symbol(ts.IfStatement.thenStatement, Decl(typescript.d.ts, 585, 31))
+>kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
+>ts.SyntaxKind.Block : ts.SyntaxKind, Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>Block : ts.SyntaxKind, Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36))
report(ifStatement.thenStatement, "An if statement's contents should be wrapped in a block body.");
>report(ifStatement.thenStatement, "An if statement's contents should be wrapped in a block body.") : void
->report : (node: ts.Node, message: string) => void
->ifStatement.thenStatement : ts.Statement
->ifStatement : ts.IfStatement
->thenStatement : ts.Statement
+>report : (node: ts.Node, message: string) => void, Symbol(report, Decl(APISample_linter.ts, 48, 5))
+>ifStatement.thenStatement : ts.Statement, Symbol(ts.IfStatement.thenStatement, Decl(typescript.d.ts, 585, 31))
+>ifStatement : ts.IfStatement, Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19))
+>thenStatement : ts.Statement, Symbol(ts.IfStatement.thenStatement, Decl(typescript.d.ts, 585, 31))
+>"An if statement's contents should be wrapped in a block body." : string
}
if (ifStatement.elseStatement &&
>ifStatement.elseStatement && ifStatement.elseStatement.kind !== ts.SyntaxKind.Block && ifStatement.elseStatement.kind !== ts.SyntaxKind.IfStatement : boolean
>ifStatement.elseStatement && ifStatement.elseStatement.kind !== ts.SyntaxKind.Block : boolean
->ifStatement.elseStatement : ts.Statement
->ifStatement : ts.IfStatement
->elseStatement : ts.Statement
+>ifStatement.elseStatement : ts.Statement, Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33))
+>ifStatement : ts.IfStatement, Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19))
+>elseStatement : ts.Statement, Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33))
ifStatement.elseStatement.kind !== ts.SyntaxKind.Block &&
>ifStatement.elseStatement.kind !== ts.SyntaxKind.Block : boolean
->ifStatement.elseStatement.kind : ts.SyntaxKind
->ifStatement.elseStatement : ts.Statement
->ifStatement : ts.IfStatement
->elseStatement : ts.Statement
->kind : ts.SyntaxKind
->ts.SyntaxKind.Block : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->Block : ts.SyntaxKind
+>ifStatement.elseStatement.kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
+>ifStatement.elseStatement : ts.Statement, Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33))
+>ifStatement : ts.IfStatement, Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19))
+>elseStatement : ts.Statement, Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33))
+>kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
+>ts.SyntaxKind.Block : ts.SyntaxKind, Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>Block : ts.SyntaxKind, Symbol(ts.SyntaxKind.Block, Decl(typescript.d.ts, 202, 36))
ifStatement.elseStatement.kind !== ts.SyntaxKind.IfStatement) {
>ifStatement.elseStatement.kind !== ts.SyntaxKind.IfStatement : boolean
->ifStatement.elseStatement.kind : ts.SyntaxKind
->ifStatement.elseStatement : ts.Statement
->ifStatement : ts.IfStatement
->elseStatement : ts.Statement
->kind : ts.SyntaxKind
->ts.SyntaxKind.IfStatement : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->IfStatement : ts.SyntaxKind
+>ifStatement.elseStatement.kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
+>ifStatement.elseStatement : ts.Statement, Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33))
+>ifStatement : ts.IfStatement, Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19))
+>elseStatement : ts.Statement, Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33))
+>kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
+>ts.SyntaxKind.IfStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.IfStatement, Decl(typescript.d.ts, 206, 34))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>IfStatement : ts.SyntaxKind, Symbol(ts.SyntaxKind.IfStatement, Decl(typescript.d.ts, 206, 34))
report(ifStatement.elseStatement, "An else statement's contents should be wrapped in a block body.");
>report(ifStatement.elseStatement, "An else statement's contents should be wrapped in a block body.") : void
->report : (node: ts.Node, message: string) => void
->ifStatement.elseStatement : ts.Statement
->ifStatement : ts.IfStatement
->elseStatement : ts.Statement
+>report : (node: ts.Node, message: string) => void, Symbol(report, Decl(APISample_linter.ts, 48, 5))
+>ifStatement.elseStatement : ts.Statement, Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33))
+>ifStatement : ts.IfStatement, Symbol(ifStatement, Decl(APISample_linter.ts, 28, 19))
+>elseStatement : ts.Statement, Symbol(ts.IfStatement.elseStatement, Decl(typescript.d.ts, 586, 33))
+>"An else statement's contents should be wrapped in a block body." : string
}
break;
case ts.SyntaxKind.BinaryExpression:
->ts.SyntaxKind.BinaryExpression : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->BinaryExpression : ts.SyntaxKind
+>ts.SyntaxKind.BinaryExpression : ts.SyntaxKind, Symbol(ts.SyntaxKind.BinaryExpression, Decl(typescript.d.ts, 192, 37))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>BinaryExpression : ts.SyntaxKind, Symbol(ts.SyntaxKind.BinaryExpression, Decl(typescript.d.ts, 192, 37))
let op = (node).operatorToken.kind;
->op : ts.SyntaxKind
->(node).operatorToken.kind : ts.SyntaxKind
->(node).operatorToken : ts.Node
+>op : ts.SyntaxKind, Symbol(op, Decl(APISample_linter.ts, 40, 19))
+>(node).operatorToken.kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
+>(node).operatorToken : ts.Node, Symbol(ts.BinaryExpression.operatorToken, Decl(typescript.d.ts, 497, 25))
>(node) : ts.BinaryExpression
>node : ts.BinaryExpression
->ts : unknown
->BinaryExpression : ts.BinaryExpression
->node : ts.Node
->operatorToken : ts.Node
->kind : ts.SyntaxKind
+>ts : any, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>BinaryExpression : ts.BinaryExpression, Symbol(ts.BinaryExpression, Decl(typescript.d.ts, 495, 5))
+>node : ts.Node, Symbol(node, Decl(APISample_linter.ts, 16, 24))
+>operatorToken : ts.Node, Symbol(ts.BinaryExpression.operatorToken, Decl(typescript.d.ts, 497, 25))
+>kind : ts.SyntaxKind, Symbol(ts.Node.kind, Decl(typescript.d.ts, 297, 38))
if (op === ts.SyntaxKind.EqualsEqualsToken || op == ts.SyntaxKind.ExclamationEqualsToken) {
>op === ts.SyntaxKind.EqualsEqualsToken || op == ts.SyntaxKind.ExclamationEqualsToken : boolean
>op === ts.SyntaxKind.EqualsEqualsToken : boolean
->op : ts.SyntaxKind
->ts.SyntaxKind.EqualsEqualsToken : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->EqualsEqualsToken : ts.SyntaxKind
+>op : ts.SyntaxKind, Symbol(op, Decl(APISample_linter.ts, 40, 19))
+>ts.SyntaxKind.EqualsEqualsToken : ts.SyntaxKind, Symbol(ts.SyntaxKind.EqualsEqualsToken, Decl(typescript.d.ts, 51, 36))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>EqualsEqualsToken : ts.SyntaxKind, Symbol(ts.SyntaxKind.EqualsEqualsToken, Decl(typescript.d.ts, 51, 36))
>op == ts.SyntaxKind.ExclamationEqualsToken : boolean
->op : ts.SyntaxKind
->ts.SyntaxKind.ExclamationEqualsToken : ts.SyntaxKind
->ts.SyntaxKind : typeof ts.SyntaxKind
->ts : typeof ts
->SyntaxKind : typeof ts.SyntaxKind
->ExclamationEqualsToken : ts.SyntaxKind
+>op : ts.SyntaxKind, Symbol(op, Decl(APISample_linter.ts, 40, 19))
+>ts.SyntaxKind.ExclamationEqualsToken : ts.SyntaxKind, Symbol(ts.SyntaxKind.ExclamationEqualsToken, Decl(typescript.d.ts, 52, 31))
+>ts.SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>SyntaxKind : typeof ts.SyntaxKind, Symbol(ts.SyntaxKind, Decl(typescript.d.ts, 22, 5))
+>ExclamationEqualsToken : ts.SyntaxKind, Symbol(ts.SyntaxKind.ExclamationEqualsToken, Decl(typescript.d.ts, 52, 31))
report(node, "Use '===' and '!=='.")
>report(node, "Use '===' and '!=='.") : void
->report : (node: ts.Node, message: string) => void
->node : ts.Node
+>report : (node: ts.Node, message: string) => void, Symbol(report, Decl(APISample_linter.ts, 48, 5))
+>node : ts.Node, Symbol(node, Decl(APISample_linter.ts, 16, 24))
+>"Use '===' and '!=='." : string
}
break;
}
ts.forEachChild(node, delintNode);
>ts.forEachChild(node, delintNode) : void
->ts.forEachChild : (node: ts.Node, cbNode: (node: ts.Node) => T, cbNodeArray?: (nodes: ts.Node[]) => T) => T
->ts : typeof ts
->forEachChild : (node: ts.Node, cbNode: (node: ts.Node) => T, cbNodeArray?: (nodes: ts.Node[]) => T) => T
->node : ts.Node
->delintNode : (node: ts.Node) => void
+>ts.forEachChild : (node: ts.Node, cbNode: (node: ts.Node) => T, cbNodeArray?: (nodes: ts.Node[]) => T) => T, Symbol(ts.forEachChild, Decl(typescript.d.ts, 1214, 48))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>forEachChild : (node: ts.Node, cbNode: (node: ts.Node) => T, cbNodeArray?: (nodes: ts.Node[]) => T) => T, Symbol(ts.forEachChild, Decl(typescript.d.ts, 1214, 48))
+>node : ts.Node, Symbol(node, Decl(APISample_linter.ts, 16, 24))
+>delintNode : (node: ts.Node) => void, Symbol(delintNode, Decl(APISample_linter.ts, 14, 27))
}
function report(node: ts.Node, message: string) {
->report : (node: ts.Node, message: string) => void
->node : ts.Node
->ts : unknown
->Node : ts.Node
->message : string
+>report : (node: ts.Node, message: string) => void, Symbol(report, Decl(APISample_linter.ts, 48, 5))
+>node : ts.Node, Symbol(node, Decl(APISample_linter.ts, 50, 20))
+>ts : any, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>Node : ts.Node, Symbol(ts.Node, Decl(typescript.d.ts, 296, 5), Decl(typescript.d.ts, 1249, 32))
+>message : string, Symbol(message, Decl(APISample_linter.ts, 50, 34))
let { line, character } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
->line : number
->character : number
+>line : number, Symbol(line, Decl(APISample_linter.ts, 51, 13))
+>character : number, Symbol(character, Decl(APISample_linter.ts, 51, 19))
>sourceFile.getLineAndCharacterOfPosition(node.getStart()) : ts.LineAndCharacter
->sourceFile.getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter
->sourceFile : ts.SourceFile
->getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter
+>sourceFile.getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter, Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1290, 26))
+>sourceFile : ts.SourceFile, Symbol(sourceFile, Decl(APISample_linter.ts, 13, 23))
+>getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter, Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1290, 26))
>node.getStart() : number
->node.getStart : (sourceFile?: ts.SourceFile) => number
->node : ts.Node
->getStart : (sourceFile?: ts.SourceFile) => number
+>node.getStart : (sourceFile?: ts.SourceFile) => number, Symbol(ts.Node.getStart, Decl(typescript.d.ts, 1254, 53))
+>node : ts.Node, Symbol(node, Decl(APISample_linter.ts, 50, 20))
+>getStart : (sourceFile?: ts.SourceFile) => number, Symbol(ts.Node.getStart, Decl(typescript.d.ts, 1254, 53))
console.log(`${sourceFile.fileName} (${line + 1},${character + 1}): ${message}`);
>console.log(`${sourceFile.fileName} (${line + 1},${character + 1}): ${message}`) : any
>console.log : any
->console : any
+>console : any, Symbol(console, Decl(APISample_linter.ts, 8, 11))
>log : any
->sourceFile.fileName : string
->sourceFile : ts.SourceFile
->fileName : string
+>`${sourceFile.fileName} (${line + 1},${character + 1}): ${message}` : string
+>sourceFile.fileName : string, Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29))
+>sourceFile : ts.SourceFile, Symbol(sourceFile, Decl(APISample_linter.ts, 13, 23))
+>fileName : string, Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29))
>line + 1 : number
->line : number
+>line : number, Symbol(line, Decl(APISample_linter.ts, 51, 13))
+>1 : number
>character + 1 : number
->character : number
->message : string
+>character : number, Symbol(character, Decl(APISample_linter.ts, 51, 19))
+>1 : number
+>message : string, Symbol(message, Decl(APISample_linter.ts, 50, 34))
}
}
const fileNames = process.argv.slice(2);
->fileNames : any
+>fileNames : any, Symbol(fileNames, Decl(APISample_linter.ts, 56, 5))
>process.argv.slice(2) : any
>process.argv.slice : any
>process.argv : any
->process : any
+>process : any, Symbol(process, Decl(APISample_linter.ts, 7, 11))
>argv : any
>slice : any
+>2 : number
fileNames.forEach(fileName => {
>fileNames.forEach(fileName => { // Parse a file let sourceFile = ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES6, /*setParentNodes */ true); // delint it delint(sourceFile);}) : any
>fileNames.forEach : any
->fileNames : any
+>fileNames : any, Symbol(fileNames, Decl(APISample_linter.ts, 56, 5))
>forEach : any
>fileName => { // Parse a file let sourceFile = ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES6, /*setParentNodes */ true); // delint it delint(sourceFile);} : (fileName: any) => void
->fileName : any
+>fileName : any, Symbol(fileName, Decl(APISample_linter.ts, 57, 18))
// Parse a file
let sourceFile = ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES6, /*setParentNodes */ true);
->sourceFile : ts.SourceFile
+>sourceFile : ts.SourceFile, Symbol(sourceFile, Decl(APISample_linter.ts, 59, 7))
>ts.createSourceFile(fileName, readFileSync(fileName).toString(), ts.ScriptTarget.ES6, /*setParentNodes */ true) : ts.SourceFile
->ts.createSourceFile : (fileName: string, sourceText: string, languageVersion: ts.ScriptTarget, setParentNodes?: boolean) => ts.SourceFile
->ts : typeof ts
->createSourceFile : (fileName: string, sourceText: string, languageVersion: ts.ScriptTarget, setParentNodes?: boolean) => ts.SourceFile
->fileName : any
+>ts.createSourceFile : (fileName: string, sourceText: string, languageVersion: ts.ScriptTarget, setParentNodes?: boolean) => ts.SourceFile, Symbol(ts.createSourceFile, Decl(typescript.d.ts, 1218, 62))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>createSourceFile : (fileName: string, sourceText: string, languageVersion: ts.ScriptTarget, setParentNodes?: boolean) => ts.SourceFile, Symbol(ts.createSourceFile, Decl(typescript.d.ts, 1218, 62))
+>fileName : any, Symbol(fileName, Decl(APISample_linter.ts, 57, 18))
>readFileSync(fileName).toString() : any
>readFileSync(fileName).toString : any
>readFileSync(fileName) : any
->readFileSync : any
->fileName : any
+>readFileSync : any, Symbol(readFileSync, Decl(APISample_linter.ts, 9, 11))
+>fileName : any, Symbol(fileName, Decl(APISample_linter.ts, 57, 18))
>toString : any
->ts.ScriptTarget.ES6 : ts.ScriptTarget
->ts.ScriptTarget : typeof ts.ScriptTarget
->ts : typeof ts
->ScriptTarget : typeof ts.ScriptTarget
->ES6 : ts.ScriptTarget
+>ts.ScriptTarget.ES6 : ts.ScriptTarget, Symbol(ts.ScriptTarget.ES6, Decl(typescript.d.ts, 1118, 16))
+>ts.ScriptTarget : typeof ts.ScriptTarget, Symbol(ts.ScriptTarget, Decl(typescript.d.ts, 1115, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_linter.ts, 11, 6))
+>ScriptTarget : typeof ts.ScriptTarget, Symbol(ts.ScriptTarget, Decl(typescript.d.ts, 1115, 5))
+>ES6 : ts.ScriptTarget, Symbol(ts.ScriptTarget.ES6, Decl(typescript.d.ts, 1118, 16))
+>true : boolean
// delint it
delint(sourceFile);
>delint(sourceFile) : void
->delint : (sourceFile: ts.SourceFile) => void
->sourceFile : ts.SourceFile
+>delint : (sourceFile: ts.SourceFile) => void, Symbol(delint, Decl(APISample_linter.ts, 11, 33))
+>sourceFile : ts.SourceFile, Symbol(sourceFile, Decl(APISample_linter.ts, 59, 7))
});
diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types
index d98d2cfad00..daacf3c3736 100644
--- a/tests/baselines/reference/APISample_transform.types
+++ b/tests/baselines/reference/APISample_transform.types
@@ -7,37 +7,38 @@
*/
declare var console: any;
->console : any
+>console : any, Symbol(console, Decl(APISample_transform.ts, 7, 11))
import * as ts from "typescript";
->ts : typeof ts
+>ts : typeof ts, Symbol(ts, Decl(APISample_transform.ts, 9, 6))
const source = "let x: string = 'string'";
->source : string
+>source : string, Symbol(source, Decl(APISample_transform.ts, 11, 5))
+>"let x: string = 'string'" : string
let result = ts.transpile(source, { module: ts.ModuleKind.CommonJS });
->result : string
+>result : string, Symbol(result, Decl(APISample_transform.ts, 13, 3))
>ts.transpile(source, { module: ts.ModuleKind.CommonJS }) : string
->ts.transpile : (input: string, compilerOptions?: ts.CompilerOptions, fileName?: string, diagnostics?: ts.Diagnostic[]) => string
->ts : typeof ts
->transpile : (input: string, compilerOptions?: ts.CompilerOptions, fileName?: string, diagnostics?: ts.Diagnostic[]) => string
->source : string
+>ts.transpile : (input: string, compilerOptions?: ts.CompilerOptions, fileName?: string, diagnostics?: ts.Diagnostic[]) => string, Symbol(ts.transpile, Decl(typescript.d.ts, 1756, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_transform.ts, 9, 6))
+>transpile : (input: string, compilerOptions?: ts.CompilerOptions, fileName?: string, diagnostics?: ts.Diagnostic[]) => string, Symbol(ts.transpile, Decl(typescript.d.ts, 1756, 5))
+>source : string, Symbol(source, Decl(APISample_transform.ts, 11, 5))
>{ module: ts.ModuleKind.CommonJS } : { [x: string]: ts.ModuleKind; module: ts.ModuleKind; }
->module : ts.ModuleKind
->ts.ModuleKind.CommonJS : ts.ModuleKind
->ts.ModuleKind : typeof ts.ModuleKind
->ts : typeof ts
->ModuleKind : typeof ts.ModuleKind
->CommonJS : ts.ModuleKind
+>module : ts.ModuleKind, Symbol(module, Decl(APISample_transform.ts, 13, 35))
+>ts.ModuleKind.CommonJS : ts.ModuleKind, Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17))
+>ts.ModuleKind : typeof ts.ModuleKind, Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_transform.ts, 9, 6))
+>ModuleKind : typeof ts.ModuleKind, Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5))
+>CommonJS : ts.ModuleKind, Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17))
console.log(JSON.stringify(result));
>console.log(JSON.stringify(result)) : any
>console.log : any
->console : any
+>console : any, Symbol(console, Decl(APISample_transform.ts, 7, 11))
>log : any
>JSON.stringify(result) : string
->JSON.stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; }
->JSON : JSON
->stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; }
->result : string
+>JSON.stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; }, Symbol(JSON.stringify, Decl(lib.d.ts, 964, 70), Decl(lib.d.ts, 969, 34), Decl(lib.d.ts, 975, 78), Decl(lib.d.ts, 981, 51), Decl(lib.d.ts, 988, 90))
+>JSON : JSON, Symbol(JSON, Decl(lib.d.ts, 955, 42), Decl(lib.d.ts, 1000, 11))
+>stringify : { (value: any): string; (value: any, replacer: (key: string, value: any) => any): string; (value: any, replacer: any[]): string; (value: any, replacer: (key: string, value: any) => any, space: any): string; (value: any, replacer: any[], space: any): string; }, Symbol(JSON.stringify, Decl(lib.d.ts, 964, 70), Decl(lib.d.ts, 969, 34), Decl(lib.d.ts, 975, 78), Decl(lib.d.ts, 981, 51), Decl(lib.d.ts, 988, 90))
+>result : string, Symbol(result, Decl(APISample_transform.ts, 13, 3))
diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types
index 5f123ea839b..b08a624a33e 100644
--- a/tests/baselines/reference/APISample_watcher.types
+++ b/tests/baselines/reference/APISample_watcher.types
@@ -7,197 +7,200 @@
*/
declare var process: any;
->process : any
+>process : any, Symbol(process, Decl(APISample_watcher.ts, 7, 11))
declare var console: any;
->console : any
+>console : any, Symbol(console, Decl(APISample_watcher.ts, 8, 11))
declare var fs: any;
->fs : any
+>fs : any, Symbol(fs, Decl(APISample_watcher.ts, 9, 11))
declare var path: any;
->path : any
+>path : any, Symbol(path, Decl(APISample_watcher.ts, 10, 11))
import * as ts from "typescript";
->ts : typeof ts
+>ts : typeof ts, Symbol(ts, Decl(APISample_watcher.ts, 12, 6))
function watch(rootFileNames: string[], options: ts.CompilerOptions) {
->watch : (rootFileNames: string[], options: ts.CompilerOptions) => void
->rootFileNames : string[]
->options : ts.CompilerOptions
->ts : unknown
->CompilerOptions : ts.CompilerOptions
+>watch : (rootFileNames: string[], options: ts.CompilerOptions) => void, Symbol(watch, Decl(APISample_watcher.ts, 12, 33))
+>rootFileNames : string[], Symbol(rootFileNames, Decl(APISample_watcher.ts, 14, 15))
+>options : ts.CompilerOptions, Symbol(options, Decl(APISample_watcher.ts, 14, 39))
+>ts : any, Symbol(ts, Decl(APISample_watcher.ts, 12, 6))
+>CompilerOptions : ts.CompilerOptions, Symbol(ts.CompilerOptions, Decl(typescript.d.ts, 1074, 5))
const files: ts.Map<{ version: number }> = {};
->files : ts.Map<{ version: number; }>
->ts : unknown
->Map : ts.Map
->version : number
+>files : ts.Map<{ version: number; }>, Symbol(files, Decl(APISample_watcher.ts, 15, 9))
+>ts : any, Symbol(ts, Decl(APISample_watcher.ts, 12, 6))
+>Map : ts.Map, Symbol(ts.Map, Decl(typescript.d.ts, 15, 29))
+>version : number, Symbol(version, Decl(APISample_watcher.ts, 15, 25))
>{} : { [x: string]: undefined; }
// initialize the list of files
rootFileNames.forEach(fileName => {
>rootFileNames.forEach(fileName => { files[fileName] = { version: 0 }; }) : void
->rootFileNames.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void
->rootFileNames : string[]
->forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void
+>rootFileNames.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void, Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95))
+>rootFileNames : string[], Symbol(rootFileNames, Decl(APISample_watcher.ts, 14, 15))
+>forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void, Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95))
>fileName => { files[fileName] = { version: 0 }; } : (fileName: string) => void
->fileName : string
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 18, 26))
files[fileName] = { version: 0 };
>files[fileName] = { version: 0 } : { version: number; }
>files[fileName] : { version: number; }
->files : ts.Map<{ version: number; }>
->fileName : string
+>files : ts.Map<{ version: number; }>, Symbol(files, Decl(APISample_watcher.ts, 15, 9))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 18, 26))
>{ version: 0 } : { version: number; }
->version : number
+>version : number, Symbol(version, Decl(APISample_watcher.ts, 19, 27))
+>0 : number
});
// Create the language service host to allow the LS to communicate with the host
const servicesHost: ts.LanguageServiceHost = {
->servicesHost : ts.LanguageServiceHost
->ts : unknown
->LanguageServiceHost : ts.LanguageServiceHost
+>servicesHost : ts.LanguageServiceHost, Symbol(servicesHost, Decl(APISample_watcher.ts, 23, 9))
+>ts : any, Symbol(ts, Decl(APISample_watcher.ts, 12, 6))
+>LanguageServiceHost : ts.LanguageServiceHost, Symbol(ts.LanguageServiceHost, Decl(typescript.d.ts, 1322, 5))
>{ getScriptFileNames: () => rootFileNames, getScriptVersion: (fileName) => files[fileName] && files[fileName].version.toString(), getScriptSnapshot: (fileName) => { if (!fs.existsSync(fileName)) { return undefined; } return ts.ScriptSnapshot.fromString(fs.readFileSync(fileName).toString()); }, getCurrentDirectory: () => process.cwd(), getCompilationSettings: () => options, getDefaultLibFileName: (options) => ts.getDefaultLibFilePath(options), } : { getScriptFileNames: () => string[]; getScriptVersion: (fileName: string) => string; getScriptSnapshot: (fileName: string) => ts.IScriptSnapshot; getCurrentDirectory: () => any; getCompilationSettings: () => ts.CompilerOptions; getDefaultLibFileName: (options: ts.CompilerOptions) => string; }
getScriptFileNames: () => rootFileNames,
->getScriptFileNames : () => string[]
+>getScriptFileNames : () => string[], Symbol(getScriptFileNames, Decl(APISample_watcher.ts, 23, 50))
>() => rootFileNames : () => string[]
->rootFileNames : string[]
+>rootFileNames : string[], Symbol(rootFileNames, Decl(APISample_watcher.ts, 14, 15))
getScriptVersion: (fileName) => files[fileName] && files[fileName].version.toString(),
->getScriptVersion : (fileName: string) => string
+>getScriptVersion : (fileName: string) => string, Symbol(getScriptVersion, Decl(APISample_watcher.ts, 24, 48))
>(fileName) => files[fileName] && files[fileName].version.toString() : (fileName: string) => string
->fileName : string
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 25, 27))
>files[fileName] && files[fileName].version.toString() : string
>files[fileName] : { version: number; }
->files : ts.Map<{ version: number; }>
->fileName : string
+>files : ts.Map<{ version: number; }>, Symbol(files, Decl(APISample_watcher.ts, 15, 9))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 25, 27))
>files[fileName].version.toString() : string
->files[fileName].version.toString : (radix?: number) => string
->files[fileName].version : number
+>files[fileName].version.toString : (radix?: number) => string, Symbol(Number.toString, Decl(lib.d.ts, 458, 18))
+>files[fileName].version : number, Symbol(version, Decl(APISample_watcher.ts, 15, 25))
>files[fileName] : { version: number; }
->files : ts.Map<{ version: number; }>
->fileName : string
->version : number
->toString : (radix?: number) => string
+>files : ts.Map<{ version: number; }>, Symbol(files, Decl(APISample_watcher.ts, 15, 9))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 25, 27))
+>version : number, Symbol(version, Decl(APISample_watcher.ts, 15, 25))
+>toString : (radix?: number) => string, Symbol(Number.toString, Decl(lib.d.ts, 458, 18))
getScriptSnapshot: (fileName) => {
->getScriptSnapshot : (fileName: string) => ts.IScriptSnapshot
+>getScriptSnapshot : (fileName: string) => ts.IScriptSnapshot, Symbol(getScriptSnapshot, Decl(APISample_watcher.ts, 25, 94))
>(fileName) => { if (!fs.existsSync(fileName)) { return undefined; } return ts.ScriptSnapshot.fromString(fs.readFileSync(fileName).toString()); } : (fileName: string) => ts.IScriptSnapshot
->fileName : string
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 26, 28))
if (!fs.existsSync(fileName)) {
>!fs.existsSync(fileName) : boolean
>fs.existsSync(fileName) : any
>fs.existsSync : any
->fs : any
+>fs : any, Symbol(fs, Decl(APISample_watcher.ts, 9, 11))
>existsSync : any
->fileName : string
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 26, 28))
return undefined;
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
}
return ts.ScriptSnapshot.fromString(fs.readFileSync(fileName).toString());
>ts.ScriptSnapshot.fromString(fs.readFileSync(fileName).toString()) : ts.IScriptSnapshot
->ts.ScriptSnapshot.fromString : (text: string) => ts.IScriptSnapshot
->ts.ScriptSnapshot : typeof ts.ScriptSnapshot
->ts : typeof ts
->ScriptSnapshot : typeof ts.ScriptSnapshot
->fromString : (text: string) => ts.IScriptSnapshot
+>ts.ScriptSnapshot.fromString : (text: string) => ts.IScriptSnapshot, Symbol(ts.ScriptSnapshot.fromString, Decl(typescript.d.ts, 1315, 27))
+>ts.ScriptSnapshot : typeof ts.ScriptSnapshot, Symbol(ts.ScriptSnapshot, Decl(typescript.d.ts, 1314, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_watcher.ts, 12, 6))
+>ScriptSnapshot : typeof ts.ScriptSnapshot, Symbol(ts.ScriptSnapshot, Decl(typescript.d.ts, 1314, 5))
+>fromString : (text: string) => ts.IScriptSnapshot, Symbol(ts.ScriptSnapshot.fromString, Decl(typescript.d.ts, 1315, 27))
>fs.readFileSync(fileName).toString() : any
>fs.readFileSync(fileName).toString : any
>fs.readFileSync(fileName) : any
>fs.readFileSync : any
->fs : any
+>fs : any, Symbol(fs, Decl(APISample_watcher.ts, 9, 11))
>readFileSync : any
->fileName : string
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 26, 28))
>toString : any
},
getCurrentDirectory: () => process.cwd(),
->getCurrentDirectory : () => any
+>getCurrentDirectory : () => any, Symbol(getCurrentDirectory, Decl(APISample_watcher.ts, 32, 10))
>() => process.cwd() : () => any
>process.cwd() : any
>process.cwd : any
->process : any
+>process : any, Symbol(process, Decl(APISample_watcher.ts, 7, 11))
>cwd : any
getCompilationSettings: () => options,
->getCompilationSettings : () => ts.CompilerOptions
+>getCompilationSettings : () => ts.CompilerOptions, Symbol(getCompilationSettings, Decl(APISample_watcher.ts, 33, 49))
>() => options : () => ts.CompilerOptions
->options : ts.CompilerOptions
+>options : ts.CompilerOptions, Symbol(options, Decl(APISample_watcher.ts, 14, 39))
getDefaultLibFileName: (options) => ts.getDefaultLibFilePath(options),
->getDefaultLibFileName : (options: ts.CompilerOptions) => string
+>getDefaultLibFileName : (options: ts.CompilerOptions) => string, Symbol(getDefaultLibFileName, Decl(APISample_watcher.ts, 34, 46))
>(options) => ts.getDefaultLibFilePath(options) : (options: ts.CompilerOptions) => string
->options : ts.CompilerOptions
+>options : ts.CompilerOptions, Symbol(options, Decl(APISample_watcher.ts, 35, 32))
>ts.getDefaultLibFilePath(options) : string
->ts.getDefaultLibFilePath : (options: ts.CompilerOptions) => string
->ts : typeof ts
->getDefaultLibFilePath : (options: ts.CompilerOptions) => string
->options : ts.CompilerOptions
+>ts.getDefaultLibFilePath : (options: ts.CompilerOptions) => string, Symbol(ts.getDefaultLibFilePath, Decl(typescript.d.ts, 1764, 44))
+>ts : typeof ts, Symbol(ts, Decl(APISample_watcher.ts, 12, 6))
+>getDefaultLibFilePath : (options: ts.CompilerOptions) => string, Symbol(ts.getDefaultLibFilePath, Decl(typescript.d.ts, 1764, 44))
+>options : ts.CompilerOptions, Symbol(options, Decl(APISample_watcher.ts, 35, 32))
};
// Create the language service files
const services = ts.createLanguageService(servicesHost, ts.createDocumentRegistry())
->services : ts.LanguageService
+>services : ts.LanguageService, Symbol(services, Decl(APISample_watcher.ts, 39, 9))
>ts.createLanguageService(servicesHost, ts.createDocumentRegistry()) : ts.LanguageService
->ts.createLanguageService : (host: ts.LanguageServiceHost, documentRegistry?: ts.DocumentRegistry) => ts.LanguageService
->ts : typeof ts
->createLanguageService : (host: ts.LanguageServiceHost, documentRegistry?: ts.DocumentRegistry) => ts.LanguageService
->servicesHost : ts.LanguageServiceHost
+>ts.createLanguageService : (host: ts.LanguageServiceHost, documentRegistry?: ts.DocumentRegistry) => ts.LanguageService, Symbol(ts.createLanguageService, Decl(typescript.d.ts, 1762, 97))
+>ts : typeof ts, Symbol(ts, Decl(APISample_watcher.ts, 12, 6))
+>createLanguageService : (host: ts.LanguageServiceHost, documentRegistry?: ts.DocumentRegistry) => ts.LanguageService, Symbol(ts.createLanguageService, Decl(typescript.d.ts, 1762, 97))
+>servicesHost : ts.LanguageServiceHost, Symbol(servicesHost, Decl(APISample_watcher.ts, 23, 9))
>ts.createDocumentRegistry() : ts.DocumentRegistry
->ts.createDocumentRegistry : () => ts.DocumentRegistry
->ts : typeof ts
->createDocumentRegistry : () => ts.DocumentRegistry
+>ts.createDocumentRegistry : () => ts.DocumentRegistry, Symbol(ts.createDocumentRegistry, Decl(typescript.d.ts, 1760, 193))
+>ts : typeof ts, Symbol(ts, Decl(APISample_watcher.ts, 12, 6))
+>createDocumentRegistry : () => ts.DocumentRegistry, Symbol(ts.createDocumentRegistry, Decl(typescript.d.ts, 1760, 193))
// Now let's watch the files
rootFileNames.forEach(fileName => {
>rootFileNames.forEach(fileName => { // First time around, emit all files emitFile(fileName); // Add a watch on the file to handle next change fs.watchFile(fileName, { persistent: true, interval: 250 }, (curr, prev) => { // Check timestamp if (+curr.mtime <= +prev.mtime) { return; } // Update the version to signal a change in the file files[fileName].version++; // write the changes to disk emitFile(fileName); }); }) : void
->rootFileNames.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void
->rootFileNames : string[]
->forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void
+>rootFileNames.forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void, Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95))
+>rootFileNames : string[], Symbol(rootFileNames, Decl(APISample_watcher.ts, 14, 15))
+>forEach : (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void, Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95))
>fileName => { // First time around, emit all files emitFile(fileName); // Add a watch on the file to handle next change fs.watchFile(fileName, { persistent: true, interval: 250 }, (curr, prev) => { // Check timestamp if (+curr.mtime <= +prev.mtime) { return; } // Update the version to signal a change in the file files[fileName].version++; // write the changes to disk emitFile(fileName); }); } : (fileName: string) => void
->fileName : string
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 42, 26))
// First time around, emit all files
emitFile(fileName);
>emitFile(fileName) : void
->emitFile : (fileName: string) => void
->fileName : string
+>emitFile : (fileName: string) => void, Symbol(emitFile, Decl(APISample_watcher.ts, 61, 7))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 42, 26))
// Add a watch on the file to handle next change
fs.watchFile(fileName,
>fs.watchFile(fileName, { persistent: true, interval: 250 }, (curr, prev) => { // Check timestamp if (+curr.mtime <= +prev.mtime) { return; } // Update the version to signal a change in the file files[fileName].version++; // write the changes to disk emitFile(fileName); }) : any
>fs.watchFile : any
->fs : any
+>fs : any, Symbol(fs, Decl(APISample_watcher.ts, 9, 11))
>watchFile : any
->fileName : string
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 42, 26))
{ persistent: true, interval: 250 },
>{ persistent: true, interval: 250 } : { persistent: boolean; interval: number; }
->persistent : boolean
->interval : number
+>persistent : boolean, Symbol(persistent, Decl(APISample_watcher.ts, 48, 13))
+>true : boolean
+>interval : number, Symbol(interval, Decl(APISample_watcher.ts, 48, 31))
+>250 : number
(curr, prev) => {
>(curr, prev) => { // Check timestamp if (+curr.mtime <= +prev.mtime) { return; } // Update the version to signal a change in the file files[fileName].version++; // write the changes to disk emitFile(fileName); } : (curr: any, prev: any) => void
->curr : any
->prev : any
+>curr : any, Symbol(curr, Decl(APISample_watcher.ts, 49, 13))
+>prev : any, Symbol(prev, Decl(APISample_watcher.ts, 49, 18))
// Check timestamp
if (+curr.mtime <= +prev.mtime) {
>+curr.mtime <= +prev.mtime : boolean
>+curr.mtime : number
>curr.mtime : any
->curr : any
+>curr : any, Symbol(curr, Decl(APISample_watcher.ts, 49, 13))
>mtime : any
>+prev.mtime : number
>prev.mtime : any
->prev : any
+>prev : any, Symbol(prev, Decl(APISample_watcher.ts, 49, 18))
>mtime : any
return;
@@ -206,175 +209,183 @@ function watch(rootFileNames: string[], options: ts.CompilerOptions) {
// Update the version to signal a change in the file
files[fileName].version++;
>files[fileName].version++ : number
->files[fileName].version : number
+>files[fileName].version : number, Symbol(version, Decl(APISample_watcher.ts, 15, 25))
>files[fileName] : { version: number; }
->files : ts.Map<{ version: number; }>
->fileName : string
->version : number
+>files : ts.Map<{ version: number; }>, Symbol(files, Decl(APISample_watcher.ts, 15, 9))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 42, 26))
+>version : number, Symbol(version, Decl(APISample_watcher.ts, 15, 25))
// write the changes to disk
emitFile(fileName);
>emitFile(fileName) : void
->emitFile : (fileName: string) => void
->fileName : string
+>emitFile : (fileName: string) => void, Symbol(emitFile, Decl(APISample_watcher.ts, 61, 7))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 42, 26))
});
});
function emitFile(fileName: string) {
->emitFile : (fileName: string) => void
->fileName : string
+>emitFile : (fileName: string) => void, Symbol(emitFile, Decl(APISample_watcher.ts, 61, 7))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 63, 22))
let output = services.getEmitOutput(fileName);
->output : ts.EmitOutput
+>output : ts.EmitOutput, Symbol(output, Decl(APISample_watcher.ts, 64, 11))
>services.getEmitOutput(fileName) : ts.EmitOutput
->services.getEmitOutput : (fileName: string) => ts.EmitOutput
->services : ts.LanguageService
->getEmitOutput : (fileName: string) => ts.EmitOutput
->fileName : string
+>services.getEmitOutput : (fileName: string) => ts.EmitOutput, Symbol(ts.LanguageService.getEmitOutput, Decl(typescript.d.ts, 1366, 132))
+>services : ts.LanguageService, Symbol(services, Decl(APISample_watcher.ts, 39, 9))
+>getEmitOutput : (fileName: string) => ts.EmitOutput, Symbol(ts.LanguageService.getEmitOutput, Decl(typescript.d.ts, 1366, 132))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 63, 22))
if (!output.emitSkipped) {
>!output.emitSkipped : boolean
->output.emitSkipped : boolean
->output : ts.EmitOutput
->emitSkipped : boolean
+>output.emitSkipped : boolean, Symbol(ts.EmitOutput.emitSkipped, Decl(typescript.d.ts, 1569, 34))
+>output : ts.EmitOutput, Symbol(output, Decl(APISample_watcher.ts, 64, 11))
+>emitSkipped : boolean, Symbol(ts.EmitOutput.emitSkipped, Decl(typescript.d.ts, 1569, 34))
console.log(`Emitting ${fileName}`);
>console.log(`Emitting ${fileName}`) : any
>console.log : any
->console : any
+>console : any, Symbol(console, Decl(APISample_watcher.ts, 8, 11))
>log : any
->fileName : string
+>`Emitting ${fileName}` : string
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 63, 22))
}
else {
console.log(`Emitting ${fileName} failed`);
>console.log(`Emitting ${fileName} failed`) : any
>console.log : any
->console : any
+>console : any, Symbol(console, Decl(APISample_watcher.ts, 8, 11))
>log : any
->fileName : string
+>`Emitting ${fileName} failed` : string
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 63, 22))
logErrors(fileName);
>logErrors(fileName) : void
->logErrors : (fileName: string) => void
->fileName : string
+>logErrors : (fileName: string) => void, Symbol(logErrors, Decl(APISample_watcher.ts, 77, 5))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 63, 22))
}
output.outputFiles.forEach(o => {
>output.outputFiles.forEach(o => { fs.writeFileSync(o.name, o.text, "utf8"); }) : void
->output.outputFiles.forEach : (callbackfn: (value: ts.OutputFile, index: number, array: ts.OutputFile[]) => void, thisArg?: any) => void
->output.outputFiles : ts.OutputFile[]
->output : ts.EmitOutput
->outputFiles : ts.OutputFile[]
->forEach : (callbackfn: (value: ts.OutputFile, index: number, array: ts.OutputFile[]) => void, thisArg?: any) => void
+>output.outputFiles.forEach : (callbackfn: (value: ts.OutputFile, index: number, array: ts.OutputFile[]) => void, thisArg?: any) => void, Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95))
+>output.outputFiles : ts.OutputFile[], Symbol(ts.EmitOutput.outputFiles, Decl(typescript.d.ts, 1568, 26))
+>output : ts.EmitOutput, Symbol(output, Decl(APISample_watcher.ts, 64, 11))
+>outputFiles : ts.OutputFile[], Symbol(ts.EmitOutput.outputFiles, Decl(typescript.d.ts, 1568, 26))
+>forEach : (callbackfn: (value: ts.OutputFile, index: number, array: ts.OutputFile[]) => void, thisArg?: any) => void, Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95))
>o => { fs.writeFileSync(o.name, o.text, "utf8"); } : (o: ts.OutputFile) => void
->o : ts.OutputFile
+>o : ts.OutputFile, Symbol(o, Decl(APISample_watcher.ts, 74, 35))
fs.writeFileSync(o.name, o.text, "utf8");
>fs.writeFileSync(o.name, o.text, "utf8") : any
>fs.writeFileSync : any
->fs : any
+>fs : any, Symbol(fs, Decl(APISample_watcher.ts, 9, 11))
>writeFileSync : any
->o.name : string
->o : ts.OutputFile
->name : string
->o.text : string
->o : ts.OutputFile
->text : string
+>o.name : string, Symbol(ts.OutputFile.name, Decl(typescript.d.ts, 1577, 26))
+>o : ts.OutputFile, Symbol(o, Decl(APISample_watcher.ts, 74, 35))
+>name : string, Symbol(ts.OutputFile.name, Decl(typescript.d.ts, 1577, 26))
+>o.text : string, Symbol(ts.OutputFile.text, Decl(typescript.d.ts, 1579, 36))
+>o : ts.OutputFile, Symbol(o, Decl(APISample_watcher.ts, 74, 35))
+>text : string, Symbol(ts.OutputFile.text, Decl(typescript.d.ts, 1579, 36))
+>"utf8" : string
});
}
function logErrors(fileName: string) {
->logErrors : (fileName: string) => void
->fileName : string
+>logErrors : (fileName: string) => void, Symbol(logErrors, Decl(APISample_watcher.ts, 77, 5))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 79, 23))
let allDiagnostics = services.getCompilerOptionsDiagnostics()
->allDiagnostics : ts.Diagnostic[]
+>allDiagnostics : ts.Diagnostic[], Symbol(allDiagnostics, Decl(APISample_watcher.ts, 80, 11))
>services.getCompilerOptionsDiagnostics() .concat(services.getSyntacticDiagnostics(fileName)) .concat(services.getSemanticDiagnostics(fileName)) : ts.Diagnostic[]
->services.getCompilerOptionsDiagnostics() .concat(services.getSyntacticDiagnostics(fileName)) .concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }
+>services.getCompilerOptionsDiagnostics() .concat(services.getSyntacticDiagnostics(fileName)) .concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }, Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46))
>services.getCompilerOptionsDiagnostics() .concat(services.getSyntacticDiagnostics(fileName)) : ts.Diagnostic[]
->services.getCompilerOptionsDiagnostics() .concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }
+>services.getCompilerOptionsDiagnostics() .concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }, Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46))
>services.getCompilerOptionsDiagnostics() : ts.Diagnostic[]
->services.getCompilerOptionsDiagnostics : () => ts.Diagnostic[]
->services : ts.LanguageService
->getCompilerOptionsDiagnostics : () => ts.Diagnostic[]
+>services.getCompilerOptionsDiagnostics : () => ts.Diagnostic[], Symbol(ts.LanguageService.getCompilerOptionsDiagnostics, Decl(typescript.d.ts, 1340, 63))
+>services : ts.LanguageService, Symbol(services, Decl(APISample_watcher.ts, 39, 9))
+>getCompilerOptionsDiagnostics : () => ts.Diagnostic[], Symbol(ts.LanguageService.getCompilerOptionsDiagnostics, Decl(typescript.d.ts, 1340, 63))
.concat(services.getSyntacticDiagnostics(fileName))
->concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }
+>concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }, Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46))
>services.getSyntacticDiagnostics(fileName) : ts.Diagnostic[]
->services.getSyntacticDiagnostics : (fileName: string) => ts.Diagnostic[]
->services : ts.LanguageService
->getSyntacticDiagnostics : (fileName: string) => ts.Diagnostic[]
->fileName : string
+>services.getSyntacticDiagnostics : (fileName: string) => ts.Diagnostic[], Symbol(ts.LanguageService.getSyntacticDiagnostics, Decl(typescript.d.ts, 1338, 37))
+>services : ts.LanguageService, Symbol(services, Decl(APISample_watcher.ts, 39, 9))
+>getSyntacticDiagnostics : (fileName: string) => ts.Diagnostic[], Symbol(ts.LanguageService.getSyntacticDiagnostics, Decl(typescript.d.ts, 1338, 37))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 79, 23))
.concat(services.getSemanticDiagnostics(fileName));
->concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }
+>concat : { (...items: U[]): ts.Diagnostic[]; (...items: ts.Diagnostic[]): ts.Diagnostic[]; }, Symbol(Array.concat, Decl(lib.d.ts, 1025, 13), Decl(lib.d.ts, 1030, 46))
>services.getSemanticDiagnostics(fileName) : ts.Diagnostic[]
->services.getSemanticDiagnostics : (fileName: string) => ts.Diagnostic[]
->services : ts.LanguageService
->getSemanticDiagnostics : (fileName: string) => ts.Diagnostic[]
->fileName : string
+>services.getSemanticDiagnostics : (fileName: string) => ts.Diagnostic[], Symbol(ts.LanguageService.getSemanticDiagnostics, Decl(typescript.d.ts, 1339, 64))
+>services : ts.LanguageService, Symbol(services, Decl(APISample_watcher.ts, 39, 9))
+>getSemanticDiagnostics : (fileName: string) => ts.Diagnostic[], Symbol(ts.LanguageService.getSemanticDiagnostics, Decl(typescript.d.ts, 1339, 64))
+>fileName : string, Symbol(fileName, Decl(APISample_watcher.ts, 79, 23))
allDiagnostics.forEach(diagnostic => {
>allDiagnostics.forEach(diagnostic => { let message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n"); if (diagnostic.file) { let { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); console.log(` Error ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); } else { console.log(` Error: ${message}`); } }) : void
->allDiagnostics.forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void
->allDiagnostics : ts.Diagnostic[]
->forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void
+>allDiagnostics.forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void, Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95))
+>allDiagnostics : ts.Diagnostic[], Symbol(allDiagnostics, Decl(APISample_watcher.ts, 80, 11))
+>forEach : (callbackfn: (value: ts.Diagnostic, index: number, array: ts.Diagnostic[]) => void, thisArg?: any) => void, Symbol(Array.forEach, Decl(lib.d.ts, 1108, 95))
>diagnostic => { let message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n"); if (diagnostic.file) { let { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); console.log(` Error ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`); } else { console.log(` Error: ${message}`); } } : (diagnostic: ts.Diagnostic) => void
->diagnostic : ts.Diagnostic
+>diagnostic : ts.Diagnostic, Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31))
let message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
->message : string
+>message : string, Symbol(message, Decl(APISample_watcher.ts, 85, 15))
>ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n") : string
->ts.flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string
->ts : typeof ts
->flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string
->diagnostic.messageText : string | ts.DiagnosticMessageChain
->diagnostic : ts.Diagnostic
->messageText : string | ts.DiagnosticMessageChain
+>ts.flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string, Symbol(ts.flattenDiagnosticMessageText, Decl(typescript.d.ts, 1228, 67))
+>ts : typeof ts, Symbol(ts, Decl(APISample_watcher.ts, 12, 6))
+>flattenDiagnosticMessageText : (messageText: string | ts.DiagnosticMessageChain, newLine: string) => string, Symbol(ts.flattenDiagnosticMessageText, Decl(typescript.d.ts, 1228, 67))
+>diagnostic.messageText : string | ts.DiagnosticMessageChain, Symbol(ts.Diagnostic.messageText, Decl(typescript.d.ts, 1065, 23))
+>diagnostic : ts.Diagnostic, Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31))
+>messageText : string | ts.DiagnosticMessageChain, Symbol(ts.Diagnostic.messageText, Decl(typescript.d.ts, 1065, 23))
+>"\n" : string
if (diagnostic.file) {
->diagnostic.file : ts.SourceFile
->diagnostic : ts.Diagnostic
->file : ts.SourceFile
+>diagnostic.file : ts.SourceFile, Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26))
+>diagnostic : ts.Diagnostic, Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31))
+>file : ts.SourceFile, Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26))
let { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
->line : number
->character : number
+>line : number, Symbol(line, Decl(APISample_watcher.ts, 87, 21))
+>character : number, Symbol(character, Decl(APISample_watcher.ts, 87, 27))
>diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start) : ts.LineAndCharacter
->diagnostic.file.getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter
->diagnostic.file : ts.SourceFile
->diagnostic : ts.Diagnostic
->file : ts.SourceFile
->getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter
->diagnostic.start : number
->diagnostic : ts.Diagnostic
->start : number
+>diagnostic.file.getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter, Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1290, 26))
+>diagnostic.file : ts.SourceFile, Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26))
+>diagnostic : ts.Diagnostic, Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31))
+>file : ts.SourceFile, Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26))
+>getLineAndCharacterOfPosition : (pos: number) => ts.LineAndCharacter, Symbol(ts.SourceFile.getLineAndCharacterOfPosition, Decl(typescript.d.ts, 1290, 26))
+>diagnostic.start : number, Symbol(ts.Diagnostic.start, Decl(typescript.d.ts, 1063, 25))
+>diagnostic : ts.Diagnostic, Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31))
+>start : number, Symbol(ts.Diagnostic.start, Decl(typescript.d.ts, 1063, 25))
console.log(` Error ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);
>console.log(` Error ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`) : any
>console.log : any
->console : any
+>console : any, Symbol(console, Decl(APISample_watcher.ts, 8, 11))
>log : any
->diagnostic.file.fileName : string
->diagnostic.file : ts.SourceFile
->diagnostic : ts.Diagnostic
->file : ts.SourceFile
->fileName : string
+>` Error ${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}` : string
+>diagnostic.file.fileName : string, Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29))
+>diagnostic.file : ts.SourceFile, Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26))
+>diagnostic : ts.Diagnostic, Symbol(diagnostic, Decl(APISample_watcher.ts, 84, 31))
+>file : ts.SourceFile, Symbol(ts.Diagnostic.file, Decl(typescript.d.ts, 1062, 26))
+>fileName : string, Symbol(ts.SourceFile.fileName, Decl(typescript.d.ts, 743, 29))
>line + 1 : number
->line : number
+>line : number, Symbol(line, Decl(APISample_watcher.ts, 87, 21))
+>1 : number
>character + 1 : number
->character : number
->message : string
+>character : number, Symbol(character, Decl(APISample_watcher.ts, 87, 27))
+>1 : number
+>message : string, Symbol(message, Decl(APISample_watcher.ts, 85, 15))
}
else {
console.log(` Error: ${message}`);
>console.log(` Error: ${message}`) : any
>console.log : any
->console : any
+>console : any, Symbol(console, Decl(APISample_watcher.ts, 8, 11))
>log : any
->message : string
+>` Error: ${message}` : string
+>message : string, Symbol(message, Decl(APISample_watcher.ts, 85, 15))
}
});
}
@@ -382,47 +393,51 @@ function watch(rootFileNames: string[], options: ts.CompilerOptions) {
// Initialize files constituting the program as all .ts files in the current directory
const currentDirectoryFiles = fs.readdirSync(process.cwd()).
->currentDirectoryFiles : any
+>currentDirectoryFiles : any, Symbol(currentDirectoryFiles, Decl(APISample_watcher.ts, 98, 5))
>fs.readdirSync(process.cwd()). filter(fileName=> fileName.length >= 3 && fileName.substr(fileName.length - 3, 3) === ".ts") : any
>fs.readdirSync(process.cwd()). filter : any
>fs.readdirSync(process.cwd()) : any
>fs.readdirSync : any
->fs : any
+>fs : any, Symbol(fs, Decl(APISample_watcher.ts, 9, 11))
>readdirSync : any
>process.cwd() : any
>process.cwd : any
->process : any
+>process : any, Symbol(process, Decl(APISample_watcher.ts, 7, 11))
>cwd : any
filter(fileName=> fileName.length >= 3 && fileName.substr(fileName.length - 3, 3) === ".ts");
>filter : any
>fileName=> fileName.length >= 3 && fileName.substr(fileName.length - 3, 3) === ".ts" : (fileName: any) => boolean
->fileName : any
+>fileName : any, Symbol(fileName, Decl(APISample_watcher.ts, 99, 11))
>fileName.length >= 3 && fileName.substr(fileName.length - 3, 3) === ".ts" : boolean
>fileName.length >= 3 : boolean
>fileName.length : any
->fileName : any
+>fileName : any, Symbol(fileName, Decl(APISample_watcher.ts, 99, 11))
>length : any
+>3 : number
>fileName.substr(fileName.length - 3, 3) === ".ts" : boolean
>fileName.substr(fileName.length - 3, 3) : any
>fileName.substr : any
->fileName : any
+>fileName : any, Symbol(fileName, Decl(APISample_watcher.ts, 99, 11))
>substr : any
>fileName.length - 3 : number
>fileName.length : any
->fileName : any
+>fileName : any, Symbol(fileName, Decl(APISample_watcher.ts, 99, 11))
>length : any
+>3 : number
+>3 : number
+>".ts" : string
// Start the watcher
watch(currentDirectoryFiles, { module: ts.ModuleKind.CommonJS });
>watch(currentDirectoryFiles, { module: ts.ModuleKind.CommonJS }) : void
->watch : (rootFileNames: string[], options: ts.CompilerOptions) => void
->currentDirectoryFiles : any
+>watch : (rootFileNames: string[], options: ts.CompilerOptions) => void, Symbol(watch, Decl(APISample_watcher.ts, 12, 33))
+>currentDirectoryFiles : any, Symbol(currentDirectoryFiles, Decl(APISample_watcher.ts, 98, 5))
>{ module: ts.ModuleKind.CommonJS } : { [x: string]: ts.ModuleKind; module: ts.ModuleKind; }
->module : ts.ModuleKind
->ts.ModuleKind.CommonJS : ts.ModuleKind
->ts.ModuleKind : typeof ts.ModuleKind
->ts : typeof ts
->ModuleKind : typeof ts.ModuleKind
->CommonJS : ts.ModuleKind
+>module : ts.ModuleKind, Symbol(module, Decl(APISample_watcher.ts, 102, 30))
+>ts.ModuleKind.CommonJS : ts.ModuleKind, Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17))
+>ts.ModuleKind : typeof ts.ModuleKind, Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5))
+>ts : typeof ts, Symbol(ts, Decl(APISample_watcher.ts, 12, 6))
+>ModuleKind : typeof ts.ModuleKind, Symbol(ts.ModuleKind, Decl(typescript.d.ts, 1106, 5))
+>CommonJS : ts.ModuleKind, Symbol(ts.ModuleKind.CommonJS, Decl(typescript.d.ts, 1108, 17))
diff --git a/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types
index da82a2ff662..974e500d341 100644
--- a/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types
+++ b/tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.types
@@ -1,33 +1,33 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/module.d.ts ===
declare module Point {
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(module.d.ts, 0, 0), Decl(function.d.ts, 0, 0))
export var Origin: { x: number; y: number; }
->Origin : { x: number; y: number; }
->x : number
->y : number
+>Origin : { x: number; y: number; }, Symbol(Origin, Decl(module.d.ts, 1, 14))
+>x : number, Symbol(x, Decl(module.d.ts, 1, 24))
+>y : number, Symbol(y, Decl(module.d.ts, 1, 35))
}
=== tests/cases/conformance/internalModules/DeclarationMerging/function.d.ts ===
declare function Point(): { x: number; y: number; }
->Point : typeof Point
->x : number
->y : number
+>Point : typeof Point, Symbol(Point, Decl(module.d.ts, 0, 0), Decl(function.d.ts, 0, 0))
+>x : number, Symbol(x, Decl(function.d.ts, 0, 27))
+>y : number, Symbol(y, Decl(function.d.ts, 0, 38))
=== tests/cases/conformance/internalModules/DeclarationMerging/test.ts ===
var cl: { x: number; y: number; }
->cl : { x: number; y: number; }
->x : number
->y : number
+>cl : { x: number; y: number; }, Symbol(cl, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
+>x : number, Symbol(x, Decl(test.ts, 0, 9))
+>y : number, Symbol(y, Decl(test.ts, 0, 20))
var cl = Point();
->cl : { x: number; y: number; }
+>cl : { x: number; y: number; }, Symbol(cl, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
>Point() : { x: number; y: number; }
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(module.d.ts, 0, 0), Decl(function.d.ts, 0, 0))
var cl = Point.Origin;
->cl : { x: number; y: number; }
->Point.Origin : { x: number; y: number; }
->Point : typeof Point
->Origin : { x: number; y: number; }
+>cl : { x: number; y: number; }, Symbol(cl, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
+>Point.Origin : { x: number; y: number; }, Symbol(Point.Origin, Decl(module.d.ts, 1, 14))
+>Point : typeof Point, Symbol(Point, Decl(module.d.ts, 0, 0), Decl(function.d.ts, 0, 0))
+>Origin : { x: number; y: number; }, Symbol(Point.Origin, Decl(module.d.ts, 1, 14))
diff --git a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types
index 8846d2c3a37..1bdabc46ee8 100644
--- a/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types
+++ b/tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.types
@@ -1,59 +1,61 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/module.d.ts ===
declare module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(module.d.ts, 0, 0), Decl(class.d.ts, 0, 0))
export module Point {
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(module.d.ts, 0, 18), Decl(class.d.ts, 0, 18))
export var Origin: {
->Origin : { x: number; y: number; }
+>Origin : { x: number; y: number; }, Symbol(Origin, Decl(module.d.ts, 2, 18))
x: number;
->x : number
+>x : number, Symbol(x, Decl(module.d.ts, 2, 28))
y: number;
->y : number
+>y : number, Symbol(y, Decl(module.d.ts, 3, 22))
}
}
}
=== tests/cases/conformance/internalModules/DeclarationMerging/class.d.ts ===
declare module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(module.d.ts, 0, 0), Decl(class.d.ts, 0, 0))
export class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(module.d.ts, 0, 18), Decl(class.d.ts, 0, 18))
constructor(x: number, y: number);
->x : number
->y : number
+>x : number, Symbol(x, Decl(class.d.ts, 2, 20))
+>y : number, Symbol(y, Decl(class.d.ts, 2, 30))
x: number;
->x : number
+>x : number, Symbol(x, Decl(class.d.ts, 2, 42))
y: number;
->y : number
+>y : number, Symbol(y, Decl(class.d.ts, 3, 18))
}
}
=== tests/cases/conformance/internalModules/DeclarationMerging/test.ts ===
var p: { x: number; y: number; }
->p : { x: number; y: number; }
->x : number
->y : number
+>p : { x: number; y: number; }, Symbol(p, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
+>x : number, Symbol(x, Decl(test.ts, 0, 8))
+>y : number, Symbol(y, Decl(test.ts, 0, 19))
var p = A.Point.Origin;
->p : { x: number; y: number; }
->A.Point.Origin : { x: number; y: number; }
->A.Point : typeof A.Point
->A : typeof A
->Point : typeof A.Point
->Origin : { x: number; y: number; }
+>p : { x: number; y: number; }, Symbol(p, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
+>A.Point.Origin : { x: number; y: number; }, Symbol(A.Point.Origin, Decl(module.d.ts, 2, 18))
+>A.Point : typeof A.Point, Symbol(A.Point, Decl(module.d.ts, 0, 18), Decl(class.d.ts, 0, 18))
+>A : typeof A, Symbol(A, Decl(module.d.ts, 0, 0), Decl(class.d.ts, 0, 0))
+>Point : typeof A.Point, Symbol(A.Point, Decl(module.d.ts, 0, 18), Decl(class.d.ts, 0, 18))
+>Origin : { x: number; y: number; }, Symbol(A.Point.Origin, Decl(module.d.ts, 2, 18))
var p = new A.Point(0, 0); // unexpected error here, bug 840000
->p : { x: number; y: number; }
+>p : { x: number; y: number; }, Symbol(p, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
>new A.Point(0, 0) : A.Point
->A.Point : typeof A.Point
->A : typeof A
->Point : typeof A.Point
+>A.Point : typeof A.Point, Symbol(A.Point, Decl(module.d.ts, 0, 18), Decl(class.d.ts, 0, 18))
+>A : typeof A, Symbol(A, Decl(module.d.ts, 0, 0), Decl(class.d.ts, 0, 0))
+>Point : typeof A.Point, Symbol(A.Point, Decl(module.d.ts, 0, 18), Decl(class.d.ts, 0, 18))
+>0 : number
+>0 : number
diff --git a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types
index 975f0f65a68..9d90bf94449 100644
--- a/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types
+++ b/tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.types
@@ -1,53 +1,55 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/module.d.ts ===
declare module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(module.d.ts, 0, 0), Decl(classPoint.ts, 0, 0))
export module Point {
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(module.d.ts, 0, 18), Decl(classPoint.ts, 0, 10))
export var Origin: {
->Origin : { x: number; y: number; }
+>Origin : { x: number; y: number; }, Symbol(Origin, Decl(module.d.ts, 2, 18))
x: number;
->x : number
+>x : number, Symbol(x, Decl(module.d.ts, 2, 28))
y: number;
->y : number
+>y : number, Symbol(y, Decl(module.d.ts, 3, 22))
}
}
}
=== tests/cases/conformance/internalModules/DeclarationMerging/classPoint.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(module.d.ts, 0, 0), Decl(classPoint.ts, 0, 0))
export class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(module.d.ts, 0, 18), Decl(classPoint.ts, 0, 10))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(classPoint.ts, 2, 20))
+>y : number, Symbol(y, Decl(classPoint.ts, 2, 37))
}
}
=== tests/cases/conformance/internalModules/DeclarationMerging/test.ts ===
var p: { x: number; y: number; }
->p : { x: number; y: number; }
->x : number
->y : number
+>p : { x: number; y: number; }, Symbol(p, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
+>x : number, Symbol(x, Decl(test.ts, 0, 8))
+>y : number, Symbol(y, Decl(test.ts, 0, 19))
var p = A.Point.Origin;
->p : { x: number; y: number; }
->A.Point.Origin : { x: number; y: number; }
->A.Point : typeof A.Point
->A : typeof A
->Point : typeof A.Point
->Origin : { x: number; y: number; }
+>p : { x: number; y: number; }, Symbol(p, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
+>A.Point.Origin : { x: number; y: number; }, Symbol(A.Point.Origin, Decl(module.d.ts, 2, 18))
+>A.Point : typeof A.Point, Symbol(A.Point, Decl(module.d.ts, 0, 18), Decl(classPoint.ts, 0, 10))
+>A : typeof A, Symbol(A, Decl(module.d.ts, 0, 0), Decl(classPoint.ts, 0, 0))
+>Point : typeof A.Point, Symbol(A.Point, Decl(module.d.ts, 0, 18), Decl(classPoint.ts, 0, 10))
+>Origin : { x: number; y: number; }, Symbol(A.Point.Origin, Decl(module.d.ts, 2, 18))
var p = new A.Point(0, 0); // unexpected error here, bug 840000
->p : { x: number; y: number; }
+>p : { x: number; y: number; }, Symbol(p, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
>new A.Point(0, 0) : A.Point
->A.Point : typeof A.Point
->A : typeof A
->Point : typeof A.Point
+>A.Point : typeof A.Point, Symbol(A.Point, Decl(module.d.ts, 0, 18), Decl(classPoint.ts, 0, 10))
+>A : typeof A, Symbol(A, Decl(module.d.ts, 0, 0), Decl(classPoint.ts, 0, 0))
+>Point : typeof A.Point, Symbol(A.Point, Decl(module.d.ts, 0, 18), Decl(classPoint.ts, 0, 10))
+>0 : number
+>0 : number
diff --git a/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types b/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types
index cf4aeb6bcc0..1384b65b029 100644
--- a/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types
+++ b/tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.types
@@ -1,37 +1,39 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/module.d.ts ===
declare module Point {
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(module.d.ts, 0, 0), Decl(function.ts, 0, 0))
export var Origin: { x: number; y: number; }
->Origin : { x: number; y: number; }
->x : number
->y : number
+>Origin : { x: number; y: number; }, Symbol(Origin, Decl(module.d.ts, 1, 14))
+>x : number, Symbol(x, Decl(module.d.ts, 1, 24))
+>y : number, Symbol(y, Decl(module.d.ts, 1, 35))
}
=== tests/cases/conformance/internalModules/DeclarationMerging/function.ts ===
function Point() {
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(module.d.ts, 0, 0), Decl(function.ts, 0, 0))
return { x: 0, y: 0 };
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(function.ts, 1, 12))
+>0 : number
+>y : number, Symbol(y, Decl(function.ts, 1, 18))
+>0 : number
}
=== tests/cases/conformance/internalModules/DeclarationMerging/test.ts ===
var cl: { x: number; y: number; }
->cl : { x: number; y: number; }
->x : number
->y : number
+>cl : { x: number; y: number; }, Symbol(cl, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
+>x : number, Symbol(x, Decl(test.ts, 0, 9))
+>y : number, Symbol(y, Decl(test.ts, 0, 20))
var cl = Point();
->cl : { x: number; y: number; }
+>cl : { x: number; y: number; }, Symbol(cl, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
>Point() : { x: number; y: number; }
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(module.d.ts, 0, 0), Decl(function.ts, 0, 0))
var cl = Point.Origin;
->cl : { x: number; y: number; }
->Point.Origin : { x: number; y: number; }
->Point : typeof Point
->Origin : { x: number; y: number; }
+>cl : { x: number; y: number; }, Symbol(cl, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3), Decl(test.ts, 2, 3))
+>Point.Origin : { x: number; y: number; }, Symbol(Point.Origin, Decl(module.d.ts, 1, 14))
+>Point : typeof Point, Symbol(Point, Decl(module.d.ts, 0, 0), Decl(function.ts, 0, 0))
+>Origin : { x: number; y: number; }, Symbol(Point.Origin, Decl(module.d.ts, 1, 14))
diff --git a/tests/baselines/reference/ArrowFunction4.types b/tests/baselines/reference/ArrowFunction4.types
index 1d049f193e6..0472aba3d6c 100644
--- a/tests/baselines/reference/ArrowFunction4.types
+++ b/tests/baselines/reference/ArrowFunction4.types
@@ -1,8 +1,8 @@
=== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/ArrowFunction4.ts ===
var v = (a, b) => {
->v : (a: any, b: any) => void
+>v : (a: any, b: any) => void, Symbol(v, Decl(ArrowFunction4.ts, 0, 3))
>(a, b) => { } : (a: any, b: any) => void
->a : any
->b : any
+>a : any, Symbol(a, Decl(ArrowFunction4.ts, 0, 9))
+>b : any, Symbol(b, Decl(ArrowFunction4.ts, 0, 11))
};
diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types
index 3ea1919ecae..e3b806d38d5 100644
--- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types
+++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.types
@@ -1,49 +1,55 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts ===
class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 0, 0), Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 4, 1))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 1, 16))
+>y : number, Symbol(y, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 1, 33))
static Origin(): Point { return { x: 0, y: 0 }; }
->Origin : () => Point
->Point : Point
+>Origin : () => Point, Symbol(Point.Origin, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 1, 55))
+>Point : Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 0, 0), Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 4, 1))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 3, 37))
+>0 : number
+>y : number, Symbol(y, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 3, 43))
+>0 : number
}
module Point {
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 0, 0), Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 4, 1))
function Origin() { return ""; }// not an error, since not exported
->Origin : () => string
+>Origin : () => string, Symbol(Origin, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 6, 14))
+>"" : string
}
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 8, 1))
export class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 11, 10), Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 16, 5))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 13, 20))
+>y : number, Symbol(y, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 13, 37))
static Origin(): Point { return { x: 0, y: 0 }; }
->Origin : () => Point
->Point : Point
+>Origin : () => Point, Symbol(Point.Origin, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 13, 59))
+>Point : Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 11, 10), Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 16, 5))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 15, 41))
+>0 : number
+>y : number, Symbol(y, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 15, 47))
+>0 : number
}
export module Point {
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 11, 10), Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 16, 5))
function Origin() { return ""; }// not an error since not exported
->Origin : () => string
+>Origin : () => string, Symbol(Origin, Decl(ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts, 18, 25))
+>"" : string
}
}
diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types
index 827089847e2..961e8c1bfd2 100644
--- a/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types
+++ b/tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.types
@@ -1,49 +1,55 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts ===
class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 0, 0), Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 4, 1))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 1, 16))
+>y : number, Symbol(y, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 1, 33))
static Origin: Point = { x: 0, y: 0 };
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Point.Origin, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 1, 55))
+>Point : Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 0, 0), Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 4, 1))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 3, 28))
+>0 : number
+>y : number, Symbol(y, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 3, 34))
+>0 : number
}
module Point {
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 0, 0), Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 4, 1))
var Origin = ""; // not an error, since not exported
->Origin : string
+>Origin : string, Symbol(Origin, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 7, 7))
+>"" : string
}
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 8, 1))
export class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 11, 10), Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 16, 5))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 13, 20))
+>y : number, Symbol(y, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 13, 37))
static Origin: Point = { x: 0, y: 0 };
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Point.Origin, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 13, 59))
+>Point : Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 11, 10), Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 16, 5))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 15, 32))
+>0 : number
+>y : number, Symbol(y, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 15, 38))
+>0 : number
}
export module Point {
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 11, 10), Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 16, 5))
var Origin = ""; // not an error since not exported
->Origin : string
+>Origin : string, Symbol(Origin, Decl(ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts, 19, 11))
+>"" : string
}
}
diff --git a/tests/baselines/reference/ES3For-ofTypeCheck2.types b/tests/baselines/reference/ES3For-ofTypeCheck2.types
index f5ca0ab17e8..34e73689215 100644
--- a/tests/baselines/reference/ES3For-ofTypeCheck2.types
+++ b/tests/baselines/reference/ES3For-ofTypeCheck2.types
@@ -1,5 +1,6 @@
=== tests/cases/conformance/statements/for-ofStatements/ES3For-ofTypeCheck2.ts ===
for (var v of [true]) { }
->v : boolean
+>v : boolean, Symbol(v, Decl(ES3For-ofTypeCheck2.ts, 0, 8))
>[true] : boolean[]
+>true : boolean
diff --git a/tests/baselines/reference/ES3For-ofTypeCheck6.types b/tests/baselines/reference/ES3For-ofTypeCheck6.types
index d7e6045b029..0945c7b0795 100644
--- a/tests/baselines/reference/ES3For-ofTypeCheck6.types
+++ b/tests/baselines/reference/ES3For-ofTypeCheck6.types
@@ -1,8 +1,8 @@
=== tests/cases/conformance/statements/for-ofStatements/ES3For-ofTypeCheck6.ts ===
var union: string[] | number[];
->union : string[] | number[]
+>union : string[] | number[], Symbol(union, Decl(ES3For-ofTypeCheck6.ts, 0, 3))
for (var v of union) { }
->v : string | number
->union : string[] | number[]
+>v : string | number, Symbol(v, Decl(ES3For-ofTypeCheck6.ts, 1, 8))
+>union : string[] | number[], Symbol(union, Decl(ES3For-ofTypeCheck6.ts, 0, 3))
diff --git a/tests/baselines/reference/ES5For-of10.types b/tests/baselines/reference/ES5For-of10.types
index 32a2adcf3da..1f84648a76e 100644
--- a/tests/baselines/reference/ES5For-of10.types
+++ b/tests/baselines/reference/ES5For-of10.types
@@ -1,29 +1,30 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of10.ts ===
function foo() {
->foo : () => { x: number; }
+>foo : () => { x: number; }, Symbol(foo, Decl(ES5For-of10.ts, 0, 0))
return { x: 0 };
>{ x: 0 } : { x: number; }
->x : number
+>x : number, Symbol(x, Decl(ES5For-of10.ts, 1, 12))
+>0 : number
}
for (foo().x of []) {
->foo().x : number
+>foo().x : number, Symbol(x, Decl(ES5For-of10.ts, 1, 12))
>foo() : { x: number; }
->foo : () => { x: number; }
->x : number
+>foo : () => { x: number; }, Symbol(foo, Decl(ES5For-of10.ts, 0, 0))
+>x : number, Symbol(x, Decl(ES5For-of10.ts, 1, 12))
>[] : undefined[]
for (foo().x of [])
->foo().x : number
+>foo().x : number, Symbol(x, Decl(ES5For-of10.ts, 1, 12))
>foo() : { x: number; }
->foo : () => { x: number; }
->x : number
+>foo : () => { x: number; }, Symbol(foo, Decl(ES5For-of10.ts, 0, 0))
+>x : number, Symbol(x, Decl(ES5For-of10.ts, 1, 12))
>[] : undefined[]
var p = foo().x;
->p : number
->foo().x : number
+>p : number, Symbol(p, Decl(ES5For-of10.ts, 5, 11))
+>foo().x : number, Symbol(x, Decl(ES5For-of10.ts, 1, 12))
>foo() : { x: number; }
->foo : () => { x: number; }
->x : number
+>foo : () => { x: number; }, Symbol(foo, Decl(ES5For-of10.ts, 0, 0))
+>x : number, Symbol(x, Decl(ES5For-of10.ts, 1, 12))
}
diff --git a/tests/baselines/reference/ES5For-of11.types b/tests/baselines/reference/ES5For-of11.types
index e51bc46f157..b609424fb75 100644
--- a/tests/baselines/reference/ES5For-of11.types
+++ b/tests/baselines/reference/ES5For-of11.types
@@ -1,8 +1,8 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of11.ts ===
var v;
->v : any
+>v : any, Symbol(v, Decl(ES5For-of11.ts, 0, 3))
for (v of []) { }
->v : any
+>v : any, Symbol(v, Decl(ES5For-of11.ts, 0, 3))
>[] : undefined[]
diff --git a/tests/baselines/reference/ES5For-of13.types b/tests/baselines/reference/ES5For-of13.types
index 64aac2ae4b2..7f131241081 100644
--- a/tests/baselines/reference/ES5For-of13.types
+++ b/tests/baselines/reference/ES5For-of13.types
@@ -1,9 +1,12 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of13.ts ===
for (let v of ['a', 'b', 'c']) {
->v : string
+>v : string, Symbol(v, Decl(ES5For-of13.ts, 0, 8))
>['a', 'b', 'c'] : string[]
+>'a' : string
+>'b' : string
+>'c' : string
var x = v;
->x : string
->v : string
+>x : string, Symbol(x, Decl(ES5For-of13.ts, 1, 7))
+>v : string, Symbol(v, Decl(ES5For-of13.ts, 0, 8))
}
diff --git a/tests/baselines/reference/ES5For-of14.types b/tests/baselines/reference/ES5For-of14.types
index 0a4f9a78453..3ca30c7f3dc 100644
--- a/tests/baselines/reference/ES5For-of14.types
+++ b/tests/baselines/reference/ES5For-of14.types
@@ -1,9 +1,9 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of14.ts ===
for (const v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of14.ts, 0, 10))
>[] : undefined[]
var x = v;
->x : any
->v : any
+>x : any, Symbol(x, Decl(ES5For-of14.ts, 1, 7))
+>v : any, Symbol(v, Decl(ES5For-of14.ts, 0, 10))
}
diff --git a/tests/baselines/reference/ES5For-of15.types b/tests/baselines/reference/ES5For-of15.types
index 90409b8b167..a587ad7dcd1 100644
--- a/tests/baselines/reference/ES5For-of15.types
+++ b/tests/baselines/reference/ES5For-of15.types
@@ -1,17 +1,17 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of15.ts ===
for (let v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of15.ts, 0, 8))
>[] : undefined[]
v;
->v : any
+>v : any, Symbol(v, Decl(ES5For-of15.ts, 0, 8))
for (const v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of15.ts, 2, 14))
>[] : undefined[]
var x = v;
->x : any
->v : any
+>x : any, Symbol(x, Decl(ES5For-of15.ts, 3, 11))
+>v : any, Symbol(v, Decl(ES5For-of15.ts, 2, 14))
}
}
diff --git a/tests/baselines/reference/ES5For-of16.types b/tests/baselines/reference/ES5For-of16.types
index 94f01509711..03b110edcf3 100644
--- a/tests/baselines/reference/ES5For-of16.types
+++ b/tests/baselines/reference/ES5For-of16.types
@@ -1,21 +1,21 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of16.ts ===
for (let v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of16.ts, 0, 8))
>[] : undefined[]
v;
->v : any
+>v : any, Symbol(v, Decl(ES5For-of16.ts, 0, 8))
for (let v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of16.ts, 2, 12))
>[] : undefined[]
var x = v;
->x : any
->v : any
+>x : any, Symbol(x, Decl(ES5For-of16.ts, 3, 11))
+>v : any, Symbol(v, Decl(ES5For-of16.ts, 2, 12))
v++;
>v++ : number
->v : any
+>v : any, Symbol(v, Decl(ES5For-of16.ts, 2, 12))
}
}
diff --git a/tests/baselines/reference/ES5For-of18.types b/tests/baselines/reference/ES5For-of18.types
index e78bc846df6..8c659e20286 100644
--- a/tests/baselines/reference/ES5For-of18.types
+++ b/tests/baselines/reference/ES5For-of18.types
@@ -1,16 +1,16 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of18.ts ===
for (let v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of18.ts, 0, 8))
>[] : undefined[]
v;
->v : any
+>v : any, Symbol(v, Decl(ES5For-of18.ts, 0, 8))
}
for (let v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of18.ts, 3, 8))
>[] : undefined[]
v;
->v : any
+>v : any, Symbol(v, Decl(ES5For-of18.ts, 3, 8))
}
diff --git a/tests/baselines/reference/ES5For-of19.types b/tests/baselines/reference/ES5For-of19.types
index d95dc63d262..ba55400c858 100644
--- a/tests/baselines/reference/ES5For-of19.types
+++ b/tests/baselines/reference/ES5For-of19.types
@@ -1,20 +1,20 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of19.ts ===
for (let v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of19.ts, 0, 8))
>[] : undefined[]
v;
->v : any
+>v : any, Symbol(v, Decl(ES5For-of19.ts, 0, 8))
function foo() {
->foo : () => void
+>foo : () => void, Symbol(foo, Decl(ES5For-of19.ts, 1, 6))
for (const v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of19.ts, 3, 18))
>[] : undefined[]
v;
->v : any
+>v : any, Symbol(v, Decl(ES5For-of19.ts, 3, 18))
}
}
}
diff --git a/tests/baselines/reference/ES5For-of2.types b/tests/baselines/reference/ES5For-of2.types
index 3e680c44bc8..7e3f096d9f6 100644
--- a/tests/baselines/reference/ES5For-of2.types
+++ b/tests/baselines/reference/ES5For-of2.types
@@ -1,9 +1,9 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of2.ts ===
for (var v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of2.ts, 0, 8))
>[] : undefined[]
var x = v;
->x : any
->v : any
+>x : any, Symbol(x, Decl(ES5For-of2.ts, 1, 7))
+>v : any, Symbol(v, Decl(ES5For-of2.ts, 0, 8))
}
diff --git a/tests/baselines/reference/ES5For-of21.types b/tests/baselines/reference/ES5For-of21.types
index a15942fd013..67280f1ae33 100644
--- a/tests/baselines/reference/ES5For-of21.types
+++ b/tests/baselines/reference/ES5For-of21.types
@@ -1,9 +1,9 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of21.ts ===
for (let v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of21.ts, 0, 8))
>[] : undefined[]
for (let _i of []) { }
->_i : any
+>_i : any, Symbol(_i, Decl(ES5For-of21.ts, 1, 12))
>[] : undefined[]
}
diff --git a/tests/baselines/reference/ES5For-of24.types b/tests/baselines/reference/ES5For-of24.types
index 7170073b5d9..948a02d2111 100644
--- a/tests/baselines/reference/ES5For-of24.types
+++ b/tests/baselines/reference/ES5For-of24.types
@@ -1,12 +1,16 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of24.ts ===
var a = [1, 2, 3];
->a : number[]
+>a : number[], Symbol(a, Decl(ES5For-of24.ts, 0, 3))
>[1, 2, 3] : number[]
+>1 : number
+>2 : number
+>3 : number
for (var v of a) {
->v : number
->a : number[]
+>v : number, Symbol(v, Decl(ES5For-of24.ts, 1, 8))
+>a : number[], Symbol(a, Decl(ES5For-of24.ts, 0, 3))
let a = 0;
->a : number
+>a : number, Symbol(a, Decl(ES5For-of24.ts, 2, 7))
+>0 : number
}
diff --git a/tests/baselines/reference/ES5For-of25.types b/tests/baselines/reference/ES5For-of25.types
index 7b306ee9a26..ffecb93363a 100644
--- a/tests/baselines/reference/ES5For-of25.types
+++ b/tests/baselines/reference/ES5For-of25.types
@@ -1,15 +1,18 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of25.ts ===
var a = [1, 2, 3];
->a : number[]
+>a : number[], Symbol(a, Decl(ES5For-of25.ts, 0, 3))
>[1, 2, 3] : number[]
+>1 : number
+>2 : number
+>3 : number
for (var v of a) {
->v : number
->a : number[]
+>v : number, Symbol(v, Decl(ES5For-of25.ts, 1, 8))
+>a : number[], Symbol(a, Decl(ES5For-of25.ts, 0, 3))
v;
->v : number
+>v : number, Symbol(v, Decl(ES5For-of25.ts, 1, 8))
a;
->a : number[]
+>a : number[], Symbol(a, Decl(ES5For-of25.ts, 0, 3))
}
diff --git a/tests/baselines/reference/ES5For-of3.types b/tests/baselines/reference/ES5For-of3.types
index c47328816e8..fd01faa3e12 100644
--- a/tests/baselines/reference/ES5For-of3.types
+++ b/tests/baselines/reference/ES5For-of3.types
@@ -1,9 +1,12 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of3.ts ===
for (var v of ['a', 'b', 'c'])
->v : string
+>v : string, Symbol(v, Decl(ES5For-of3.ts, 0, 8))
>['a', 'b', 'c'] : string[]
+>'a' : string
+>'b' : string
+>'c' : string
var x = v;
->x : string
->v : string
+>x : string, Symbol(x, Decl(ES5For-of3.ts, 1, 7))
+>v : string, Symbol(v, Decl(ES5For-of3.ts, 0, 8))
diff --git a/tests/baselines/reference/ES5For-of4.types b/tests/baselines/reference/ES5For-of4.types
index 9396096746c..ee756b0e60f 100644
--- a/tests/baselines/reference/ES5For-of4.types
+++ b/tests/baselines/reference/ES5For-of4.types
@@ -1,13 +1,13 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of4.ts ===
for (var v of [])
->v : any
+>v : any, Symbol(v, Decl(ES5For-of4.ts, 0, 8))
>[] : undefined[]
var x = v;
->x : any
->v : any
+>x : any, Symbol(x, Decl(ES5For-of4.ts, 1, 7))
+>v : any, Symbol(v, Decl(ES5For-of4.ts, 0, 8))
var y = v;
->y : any
->v : any
+>y : any, Symbol(y, Decl(ES5For-of4.ts, 2, 3))
+>v : any, Symbol(v, Decl(ES5For-of4.ts, 0, 8))
diff --git a/tests/baselines/reference/ES5For-of5.types b/tests/baselines/reference/ES5For-of5.types
index dd9aa285edb..23bd15a88f4 100644
--- a/tests/baselines/reference/ES5For-of5.types
+++ b/tests/baselines/reference/ES5For-of5.types
@@ -1,9 +1,9 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of5.ts ===
for (var _a of []) {
->_a : any
+>_a : any, Symbol(_a, Decl(ES5For-of5.ts, 0, 8))
>[] : undefined[]
var x = _a;
->x : any
->_a : any
+>x : any, Symbol(x, Decl(ES5For-of5.ts, 1, 7))
+>_a : any, Symbol(_a, Decl(ES5For-of5.ts, 0, 8))
}
diff --git a/tests/baselines/reference/ES5For-of6.types b/tests/baselines/reference/ES5For-of6.types
index e2d2f872809..2381b519bd7 100644
--- a/tests/baselines/reference/ES5For-of6.types
+++ b/tests/baselines/reference/ES5For-of6.types
@@ -1,16 +1,16 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of6.ts ===
for (var w of []) {
->w : any
+>w : any, Symbol(w, Decl(ES5For-of6.ts, 0, 8))
>[] : undefined[]
for (var v of []) {
->v : any
+>v : any, Symbol(v, Decl(ES5For-of6.ts, 1, 12))
>[] : undefined[]
var x = [w, v];
->x : any[]
+>x : any[], Symbol(x, Decl(ES5For-of6.ts, 2, 11))
>[w, v] : any[]
->w : any
->v : any
+>w : any, Symbol(w, Decl(ES5For-of6.ts, 0, 8))
+>v : any, Symbol(v, Decl(ES5For-of6.ts, 1, 12))
}
}
diff --git a/tests/baselines/reference/ES5For-of9.types b/tests/baselines/reference/ES5For-of9.types
index 60870c2d642..c8af0053413 100644
--- a/tests/baselines/reference/ES5For-of9.types
+++ b/tests/baselines/reference/ES5For-of9.types
@@ -1,30 +1,31 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-of9.ts ===
function foo() {
->foo : () => { x: number; }
+>foo : () => { x: number; }, Symbol(foo, Decl(ES5For-of9.ts, 0, 0))
return { x: 0 };
>{ x: 0 } : { x: number; }
->x : number
+>x : number, Symbol(x, Decl(ES5For-of9.ts, 1, 12))
+>0 : number
}
for (foo().x of []) {
->foo().x : number
+>foo().x : number, Symbol(x, Decl(ES5For-of9.ts, 1, 12))
>foo() : { x: number; }
->foo : () => { x: number; }
->x : number
+>foo : () => { x: number; }, Symbol(foo, Decl(ES5For-of9.ts, 0, 0))
+>x : number, Symbol(x, Decl(ES5For-of9.ts, 1, 12))
>[] : undefined[]
for (foo().x of []) {
->foo().x : number
+>foo().x : number, Symbol(x, Decl(ES5For-of9.ts, 1, 12))
>foo() : { x: number; }
->foo : () => { x: number; }
->x : number
+>foo : () => { x: number; }, Symbol(foo, Decl(ES5For-of9.ts, 0, 0))
+>x : number, Symbol(x, Decl(ES5For-of9.ts, 1, 12))
>[] : undefined[]
var p = foo().x;
->p : number
->foo().x : number
+>p : number, Symbol(p, Decl(ES5For-of9.ts, 5, 11))
+>foo().x : number, Symbol(x, Decl(ES5For-of9.ts, 1, 12))
>foo() : { x: number; }
->foo : () => { x: number; }
->x : number
+>foo : () => { x: number; }, Symbol(foo, Decl(ES5For-of9.ts, 0, 0))
+>x : number, Symbol(x, Decl(ES5For-of9.ts, 1, 12))
}
}
diff --git a/tests/baselines/reference/ES5For-ofTypeCheck1.types b/tests/baselines/reference/ES5For-ofTypeCheck1.types
index 4da0ecc0e36..001cd343edd 100644
--- a/tests/baselines/reference/ES5For-ofTypeCheck1.types
+++ b/tests/baselines/reference/ES5For-ofTypeCheck1.types
@@ -1,4 +1,5 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck1.ts ===
for (var v of "") { }
->v : string
+>v : string, Symbol(v, Decl(ES5For-ofTypeCheck1.ts, 0, 8))
+>"" : string
diff --git a/tests/baselines/reference/ES5For-ofTypeCheck2.types b/tests/baselines/reference/ES5For-ofTypeCheck2.types
index e6b86ce1d81..5dd5c58bf50 100644
--- a/tests/baselines/reference/ES5For-ofTypeCheck2.types
+++ b/tests/baselines/reference/ES5For-ofTypeCheck2.types
@@ -1,5 +1,6 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck2.ts ===
for (var v of [true]) { }
->v : boolean
+>v : boolean, Symbol(v, Decl(ES5For-ofTypeCheck2.ts, 0, 8))
>[true] : boolean[]
+>true : boolean
diff --git a/tests/baselines/reference/ES5For-ofTypeCheck3.types b/tests/baselines/reference/ES5For-ofTypeCheck3.types
index 5293634c6c5..9c5e81a4a3e 100644
--- a/tests/baselines/reference/ES5For-ofTypeCheck3.types
+++ b/tests/baselines/reference/ES5For-ofTypeCheck3.types
@@ -1,9 +1,11 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck3.ts ===
var tuple: [string, number] = ["", 0];
->tuple : [string, number]
+>tuple : [string, number], Symbol(tuple, Decl(ES5For-ofTypeCheck3.ts, 0, 3))
>["", 0] : [string, number]
+>"" : string
+>0 : number
for (var v of tuple) { }
->v : string | number
->tuple : [string, number]
+>v : string | number, Symbol(v, Decl(ES5For-ofTypeCheck3.ts, 1, 8))
+>tuple : [string, number], Symbol(tuple, Decl(ES5For-ofTypeCheck3.ts, 0, 3))
diff --git a/tests/baselines/reference/ES5For-ofTypeCheck4.types b/tests/baselines/reference/ES5For-ofTypeCheck4.types
index 4f5721a0604..37d75b8865e 100644
--- a/tests/baselines/reference/ES5For-ofTypeCheck4.types
+++ b/tests/baselines/reference/ES5For-ofTypeCheck4.types
@@ -1,8 +1,8 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck4.ts ===
var union: string | string[];
->union : string | string[]
+>union : string | string[], Symbol(union, Decl(ES5For-ofTypeCheck4.ts, 0, 3))
for (const v of union) { }
->v : string
->union : string | string[]
+>v : string, Symbol(v, Decl(ES5For-ofTypeCheck4.ts, 1, 10))
+>union : string | string[], Symbol(union, Decl(ES5For-ofTypeCheck4.ts, 0, 3))
diff --git a/tests/baselines/reference/ES5For-ofTypeCheck5.types b/tests/baselines/reference/ES5For-ofTypeCheck5.types
index ed3d13f3918..35487b4927d 100644
--- a/tests/baselines/reference/ES5For-ofTypeCheck5.types
+++ b/tests/baselines/reference/ES5For-ofTypeCheck5.types
@@ -1,8 +1,8 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck5.ts ===
var union: string | number[];
->union : string | number[]
+>union : string | number[], Symbol(union, Decl(ES5For-ofTypeCheck5.ts, 0, 3))
for (var v of union) { }
->v : string | number
->union : string | number[]
+>v : string | number, Symbol(v, Decl(ES5For-ofTypeCheck5.ts, 1, 8))
+>union : string | number[], Symbol(union, Decl(ES5For-ofTypeCheck5.ts, 0, 3))
diff --git a/tests/baselines/reference/ES5For-ofTypeCheck6.types b/tests/baselines/reference/ES5For-ofTypeCheck6.types
index 87999d9b0ca..74752ea7114 100644
--- a/tests/baselines/reference/ES5For-ofTypeCheck6.types
+++ b/tests/baselines/reference/ES5For-ofTypeCheck6.types
@@ -1,8 +1,8 @@
=== tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck6.ts ===
var union: string[] | number[];
->union : string[] | number[]
+>union : string[] | number[], Symbol(union, Decl(ES5For-ofTypeCheck6.ts, 0, 3))
for (var v of union) { }
->v : string | number
->union : string[] | number[]
+>v : string | number, Symbol(v, Decl(ES5For-ofTypeCheck6.ts, 1, 8))
+>union : string[] | number[], Symbol(union, Decl(ES5For-ofTypeCheck6.ts, 0, 3))
diff --git a/tests/baselines/reference/ES5SymbolType1.types b/tests/baselines/reference/ES5SymbolType1.types
index 79d93902fd6..8b88bbf4da5 100644
--- a/tests/baselines/reference/ES5SymbolType1.types
+++ b/tests/baselines/reference/ES5SymbolType1.types
@@ -1,10 +1,10 @@
=== tests/cases/conformance/Symbols/ES5SymbolType1.ts ===
var s: symbol;
->s : symbol
+>s : symbol, Symbol(s, Decl(ES5SymbolType1.ts, 0, 3))
s.toString();
>s.toString() : string
->s.toString : () => string
->s : symbol
->toString : () => string
+>s.toString : () => string, Symbol(Object.toString, Decl(lib.d.ts, 96, 26))
+>s : symbol, Symbol(s, Decl(ES5SymbolType1.ts, 0, 3))
+>toString : () => string, Symbol(Object.toString, Decl(lib.d.ts, 96, 26))
diff --git a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types
index 3cbd14c78bb..b2e11aa63ae 100644
--- a/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types
+++ b/tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.types
@@ -1,43 +1,45 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/EnumAndModuleWithSameNameAndCommonRoot.ts ===
enum enumdule {
->enumdule : enumdule
+>enumdule : enumdule, Symbol(enumdule, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 0, 0), Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 2, 1))
Red, Blue
->Red : enumdule
->Blue : enumdule
+>Red : enumdule, Symbol(enumdule.Red, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 0, 15))
+>Blue : enumdule, Symbol(enumdule.Blue, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 1, 8))
}
module enumdule {
->enumdule : typeof enumdule
+>enumdule : typeof enumdule, Symbol(enumdule, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 0, 0), Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 2, 1))
export class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 4, 17))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 7, 20))
+>y : number, Symbol(y, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 7, 37))
}
}
var x: enumdule;
->x : enumdule
->enumdule : enumdule
+>x : enumdule, Symbol(x, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 11, 3), Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 12, 3))
+>enumdule : enumdule, Symbol(enumdule, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 0, 0), Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 2, 1))
var x = enumdule.Red;
->x : enumdule
->enumdule.Red : enumdule
->enumdule : typeof enumdule
->Red : enumdule
+>x : enumdule, Symbol(x, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 11, 3), Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 12, 3))
+>enumdule.Red : enumdule, Symbol(enumdule.Red, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 0, 15))
+>enumdule : typeof enumdule, Symbol(enumdule, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 0, 0), Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 2, 1))
+>Red : enumdule, Symbol(enumdule.Red, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 0, 15))
var y: { x: number; y: number };
->y : { x: number; y: number; }
->x : number
->y : number
+>y : { x: number; y: number; }, Symbol(y, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 14, 3), Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 15, 3))
+>x : number, Symbol(x, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 14, 8))
+>y : number, Symbol(y, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 14, 19))
var y = new enumdule.Point(0, 0);
->y : { x: number; y: number; }
+>y : { x: number; y: number; }, Symbol(y, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 14, 3), Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 15, 3))
>new enumdule.Point(0, 0) : enumdule.Point
->enumdule.Point : typeof enumdule.Point
->enumdule : typeof enumdule
->Point : typeof enumdule.Point
+>enumdule.Point : typeof enumdule.Point, Symbol(enumdule.Point, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 4, 17))
+>enumdule : typeof enumdule, Symbol(enumdule, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 0, 0), Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 2, 1))
+>Point : typeof enumdule.Point, Symbol(enumdule.Point, Decl(EnumAndModuleWithSameNameAndCommonRoot.ts, 4, 17))
+>0 : number
+>0 : number
diff --git a/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types b/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types
index 6d69109e542..90d8bf5fbe7 100644
--- a/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types
+++ b/tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.types
@@ -1,36 +1,37 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportClassWhichExtendsInterfaceWithInaccessibleType.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 0, 0))
interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 2, 21))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 3, 18))
fromOrigin(p: Point): number;
->fromOrigin : (p: Point) => number
->p : Point
->Point : Point
+>fromOrigin : (p: Point) => number, Symbol(fromOrigin, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 4, 18))
+>p : Point, Symbol(p, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 6, 19))
+>Point : Point, Symbol(Point, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 0, 10))
}
export class Point2d implements Point {
->Point2d : Point2d
->Point : Point
+>Point2d : Point2d, Symbol(Point2d, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 7, 5))
+>Point : Point, Symbol(Point, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 0, 10))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 10, 20))
+>y : number, Symbol(y, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 10, 37))
fromOrigin(p: Point) {
->fromOrigin : (p: Point) => number
->p : Point
->Point : Point
+>fromOrigin : (p: Point) => number, Symbol(fromOrigin, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 10, 59))
+>p : Point, Symbol(p, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 12, 19))
+>Point : Point, Symbol(Point, Decl(ExportClassWhichExtendsInterfaceWithInaccessibleType.ts, 0, 10))
return 1;
+>1 : number
}
}
}
diff --git a/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types b/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types
index 17b4a25cde3..71ddde1965c 100644
--- a/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types
+++ b/tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types
@@ -1,50 +1,55 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 0))
export class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 2, 24))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 3, 18))
}
export var Origin: Point = { x: 0, y: 0 };
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Origin, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 7, 14))
+>Point : Point, Symbol(Point, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 7, 32))
+>0 : number
+>y : number, Symbol(y, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 7, 38))
+>0 : number
export class Point3d extends Point {
->Point3d : Point3d
->Point : Point
+>Point3d : Point3d, Symbol(Point3d, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 7, 46))
+>Point : Point, Symbol(Point, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10))
z: number;
->z : number
+>z : number, Symbol(z, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 9, 40))
}
export var Origin3d: Point3d = { x: 0, y: 0, z: 0 };
->Origin3d : Point3d
->Point3d : Point3d
+>Origin3d : Point3d, Symbol(Origin3d, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 13, 14))
+>Point3d : Point3d, Symbol(Point3d, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 7, 46))
>{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; }
->x : number
->y : number
->z : number
+>x : number, Symbol(x, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 13, 36))
+>0 : number
+>y : number, Symbol(y, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 13, 42))
+>0 : number
+>z : number, Symbol(z, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 13, 48))
+>0 : number
export class Line{
->Line : Line
->TPoint : TPoint
->Point : Point
+>Line : Line, Symbol(Line, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 13, 56))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 22))
+>Point : Point, Symbol(Point, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10))
constructor(public start: TPoint, public end: TPoint) { }
->start : TPoint
->TPoint : TPoint
->end : TPoint
->TPoint : TPoint
+>start : TPoint, Symbol(start, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 16, 20))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 22))
+>end : TPoint, Symbol(end, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 16, 41))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 22))
}
}
diff --git a/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.types b/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.types
index 451db7f92a8..cf6bcd1316c 100644
--- a/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.types
+++ b/tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.types
@@ -1,27 +1,27 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 0, 0))
class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 2, 17))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 3, 18))
}
export class points {
->points : points
+>points : points, Symbol(points, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 5, 5))
[idx: number]: Point;
->idx : number
->Point : Point
+>idx : number, Symbol(idx, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 9, 9))
+>Point : Point, Symbol(Point, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 0, 10))
[idx: string]: Point;
->idx : string
->Point : Point
+>idx : string, Symbol(idx, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 10, 9))
+>Point : Point, Symbol(Point, Decl(ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts, 0, 10))
}
}
diff --git a/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types b/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types
index 6f4452fce4c..1f3b2e17305 100644
--- a/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types
+++ b/tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.types
@@ -1,59 +1,65 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 0))
class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 2, 17))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 3, 18))
}
export var Origin: Point = { x: 0, y: 0 };
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Origin, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 7, 14))
+>Point : Point, Symbol(Point, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 7, 32))
+>0 : number
+>y : number, Symbol(y, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 7, 38))
+>0 : number
export class Point3d extends Point {
->Point3d : Point3d
->Point : Point
+>Point3d : Point3d, Symbol(Point3d, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 7, 46))
+>Point : Point, Symbol(Point, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10))
z: number;
->z : number
+>z : number, Symbol(z, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 9, 40))
}
export var Origin3d: Point3d = { x: 0, y: 0, z: 0 };
->Origin3d : Point3d
->Point3d : Point3d
+>Origin3d : Point3d, Symbol(Origin3d, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 13, 14))
+>Point3d : Point3d, Symbol(Point3d, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 7, 46))
>{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; }
->x : number
->y : number
->z : number
+>x : number, Symbol(x, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 13, 36))
+>0 : number
+>y : number, Symbol(y, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 13, 42))
+>0 : number
+>z : number, Symbol(z, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 13, 48))
+>0 : number
export class Line{
->Line : Line
->TPoint : TPoint
->Point : Point
+>Line : Line, Symbol(Line, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 13, 56))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 22))
+>Point : Point, Symbol(Point, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10))
constructor(public start: TPoint, public end: TPoint) { }
->start : TPoint
->TPoint : TPoint
->end : TPoint
->TPoint : TPoint
+>start : TPoint, Symbol(start, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 20))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 22))
+>end : TPoint, Symbol(end, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 41))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 22))
static fromorigin2d(p: Point): Line{
->fromorigin2d : (p: Point) => Line
->p : Point
->Point : Point
->Line : Line
->Point : Point
+>fromorigin2d : (p: Point) => Line, Symbol(Line.fromorigin2d, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 65))
+>p : Point, Symbol(p, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 18, 28))
+>Point : Point, Symbol(Point, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10))
+>Line : Line, Symbol(Line, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 13, 56))
+>Point : Point, Symbol(Point, Decl(ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10))
return null;
+>null : null
}
}
}
diff --git a/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types b/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types
index ac1845a533c..e9817cb6e5c 100644
--- a/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types
+++ b/tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.types
@@ -1,39 +1,41 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 0, 0))
export class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 2, 24))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 3, 18))
}
export class Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 5, 5))
constructor(public start: Point, public end: Point) { }
->start : Point
->Point : Point
->end : Point
->Point : Point
+>start : Point, Symbol(start, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 8, 20))
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 0, 10))
+>end : Point, Symbol(end, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 8, 40))
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 0, 10))
}
export function fromOrigin(p: Point): Line {
->fromOrigin : (p: Point) => Line
->p : Point
->Point : Point
->Line : Line
+>fromOrigin : (p: Point) => Line, Symbol(fromOrigin, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 9, 5))
+>p : Point, Symbol(p, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 11, 31))
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 0, 10))
+>Line : Line, Symbol(Line, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 5, 5))
return new Line({ x: 0, y: 0 }, p);
>new Line({ x: 0, y: 0 }, p) : Line
->Line : typeof Line
+>Line : typeof Line, Symbol(Line, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 5, 5))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
->p : Point
+>x : number, Symbol(x, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 12, 25))
+>0 : number
+>y : number, Symbol(y, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 12, 31))
+>0 : number
+>p : Point, Symbol(p, Decl(ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts, 11, 31))
}
}
diff --git a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types
index 3f3a670ee8e..bec6d3816bf 100644
--- a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types
+++ b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.types
@@ -1,39 +1,41 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 0, 0))
class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 2, 17))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 3, 18))
}
export class Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 5, 5))
constructor(public start: Point, public end: Point) { }
->start : Point
->Point : Point
->end : Point
->Point : Point
+>start : Point, Symbol(start, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 8, 20))
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 0, 10))
+>end : Point, Symbol(end, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 8, 40))
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 0, 10))
}
export function fromOrigin(p: Point): Line {
->fromOrigin : (p: Point) => Line
->p : Point
->Point : Point
->Line : Line
+>fromOrigin : (p: Point) => Line, Symbol(fromOrigin, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 9, 5))
+>p : Point, Symbol(p, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 11, 31))
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 0, 10))
+>Line : Line, Symbol(Line, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 5, 5))
return new Line({ x: 0, y: 0 }, p);
>new Line({ x: 0, y: 0 }, p) : Line
->Line : typeof Line
+>Line : typeof Line, Symbol(Line, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 5, 5))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
->p : Point
+>x : number, Symbol(x, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 12, 25))
+>0 : number
+>y : number, Symbol(y, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 12, 31))
+>0 : number
+>p : Point, Symbol(p, Decl(ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts, 11, 31))
}
}
diff --git a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types
index 7634e2cde3e..09e28159ee6 100644
--- a/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types
+++ b/tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.types
@@ -1,39 +1,41 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 0, 0))
export class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 2, 24))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 3, 18))
}
class Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 5, 5))
constructor(public start: Point, public end: Point) { }
->start : Point
->Point : Point
->end : Point
->Point : Point
+>start : Point, Symbol(start, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 8, 20))
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 0, 10))
+>end : Point, Symbol(end, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 8, 40))
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 0, 10))
}
export function fromOrigin(p: Point): Line {
->fromOrigin : (p: Point) => Line
->p : Point
->Point : Point
->Line : Line
+>fromOrigin : (p: Point) => Line, Symbol(fromOrigin, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 9, 5))
+>p : Point, Symbol(p, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 11, 31))
+>Point : Point, Symbol(Point, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 0, 10))
+>Line : Line, Symbol(Line, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 5, 5))
return new Line({ x: 0, y: 0 }, p);
>new Line({ x: 0, y: 0 }, p) : Line
->Line : typeof Line
+>Line : typeof Line, Symbol(Line, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 5, 5))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
->p : Point
+>x : number, Symbol(x, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 12, 25))
+>0 : number
+>y : number, Symbol(y, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 12, 31))
+>0 : number
+>p : Point, Symbol(p, Decl(ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts, 11, 31))
}
}
diff --git a/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types b/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types
index f6f4e6a441a..4c4866609c4 100644
--- a/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types
+++ b/tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.types
@@ -1,58 +1,63 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 0))
export interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 2, 28))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 3, 18))
}
export var Origin: Point = { x: 0, y: 0 };
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Origin, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 7, 14))
+>Point : Point, Symbol(Point, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 7, 32))
+>0 : number
+>y : number, Symbol(y, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 7, 38))
+>0 : number
export interface Point3d extends Point {
->Point3d : Point3d
->Point : Point
+>Point3d : Point3d, Symbol(Point3d, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 7, 46))
+>Point : Point, Symbol(Point, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10))
z: number;
->z : number
+>z : number, Symbol(z, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 9, 44))
}
export var Origin3d: Point3d = { x: 0, y: 0, z: 0 };
->Origin3d : Point3d
->Point3d : Point3d
+>Origin3d : Point3d, Symbol(Origin3d, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 13, 14))
+>Point3d : Point3d, Symbol(Point3d, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 7, 46))
>{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; }
->x : number
->y : number
->z : number
+>x : number, Symbol(x, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 13, 36))
+>0 : number
+>y : number, Symbol(y, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 13, 42))
+>0 : number
+>z : number, Symbol(z, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 13, 48))
+>0 : number
export interface Line{
->Line : Line
->TPoint : TPoint
->Point : Point
+>Line : Line, Symbol(Line, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 13, 56))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 26))
+>Point : Point, Symbol(Point, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 0, 10))
new (start: TPoint, end: TPoint);
->start : TPoint
->TPoint : TPoint
->end : TPoint
->TPoint : TPoint
+>start : TPoint, Symbol(start, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 16, 13))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 26))
+>end : TPoint, Symbol(end, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 16, 27))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 26))
start: TPoint;
->start : TPoint
->TPoint : TPoint
+>start : TPoint, Symbol(start, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 16, 41))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 26))
end: TPoint;
->end : TPoint
->TPoint : TPoint
+>end : TPoint, Symbol(end, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 17, 22))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts, 15, 26))
}
}
diff --git a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types
index 6caed8a138a..28d3b5f463c 100644
--- a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types
+++ b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.types
@@ -1,27 +1,27 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts ===
module A {
->A : unknown
+>A : any, Symbol(A, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 0, 0))
interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 2, 21))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 3, 18))
}
export interface points {
->points : points
+>points : points, Symbol(points, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 5, 5))
[idx: number]: Point;
->idx : number
->Point : Point
+>idx : number, Symbol(idx, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 9, 9))
+>Point : Point, Symbol(Point, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 0, 10))
[idx: string]: Point;
->idx : string
->Point : Point
+>idx : string, Symbol(idx, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 10, 9))
+>Point : Point, Symbol(Point, Decl(ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts, 0, 10))
}
}
diff --git a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types
index 53484780474..ca5a98c713d 100644
--- a/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types
+++ b/tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.types
@@ -1,58 +1,63 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 0))
interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 2, 21))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 3, 18))
}
export var Origin: Point = { x: 0, y: 0 };
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Origin, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 7, 14))
+>Point : Point, Symbol(Point, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 7, 32))
+>0 : number
+>y : number, Symbol(y, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 7, 38))
+>0 : number
export interface Point3d extends Point {
->Point3d : Point3d
->Point : Point
+>Point3d : Point3d, Symbol(Point3d, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 7, 46))
+>Point : Point, Symbol(Point, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10))
z: number;
->z : number
+>z : number, Symbol(z, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 9, 44))
}
export var Origin3d: Point3d = { x: 0, y: 0, z: 0 };
->Origin3d : Point3d
->Point3d : Point3d
+>Origin3d : Point3d, Symbol(Origin3d, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 13, 14))
+>Point3d : Point3d, Symbol(Point3d, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 7, 46))
>{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; }
->x : number
->y : number
->z : number
+>x : number, Symbol(x, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 13, 36))
+>0 : number
+>y : number, Symbol(y, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 13, 42))
+>0 : number
+>z : number, Symbol(z, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 13, 48))
+>0 : number
export interface Line{
->Line : Line
->TPoint : TPoint
->Point : Point
+>Line : Line, Symbol(Line, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 13, 56))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 26))
+>Point : Point, Symbol(Point, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 0, 10))
new (start: TPoint, end: TPoint);
->start : TPoint
->TPoint : TPoint
->end : TPoint
->TPoint : TPoint
+>start : TPoint, Symbol(start, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 13))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 26))
+>end : TPoint, Symbol(end, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 27))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 26))
start: TPoint;
->start : TPoint
->TPoint : TPoint
+>start : TPoint, Symbol(start, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 16, 41))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 26))
end: TPoint;
->end : TPoint
->TPoint : TPoint
+>end : TPoint, Symbol(end, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 18, 22))
+>TPoint : TPoint, Symbol(TPoint, Decl(ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts, 15, 26))
}
}
diff --git a/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types b/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types
index a3a80cb06ad..14c97fb0920 100644
--- a/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types
+++ b/tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.types
@@ -1,47 +1,51 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportModuleWithAccessibleTypesOnItsExportedMembers.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 0, 0))
export class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 0, 10))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 3, 20))
+>y : number, Symbol(y, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 3, 37))
}
export module B {
->B : typeof B
+>B : typeof B, Symbol(B, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 4, 5))
export var Origin: Point = new Point(0, 0);
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Origin, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 7, 18))
+>Point : Point, Symbol(Point, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 0, 10))
>new Point(0, 0) : Point
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 0, 10))
+>0 : number
+>0 : number
export class Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 7, 51))
constructor(start: Point, end: Point) {
->start : Point
->Point : Point
->end : Point
->Point : Point
+>start : Point, Symbol(start, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 10, 24))
+>Point : Point, Symbol(Point, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 0, 10))
+>end : Point, Symbol(end, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 10, 37))
+>Point : Point, Symbol(Point, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 0, 10))
}
static fromOrigin(p: Point) {
->fromOrigin : (p: Point) => Line
->p : Point
->Point : Point
+>fromOrigin : (p: Point) => Line, Symbol(Line.fromOrigin, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 12, 13))
+>p : Point, Symbol(p, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 14, 30))
+>Point : Point, Symbol(Point, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 0, 10))
return new Line({ x: 0, y: 0 }, p);
>new Line({ x: 0, y: 0 }, p) : Line
->Line : typeof Line
+>Line : typeof Line, Symbol(Line, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 7, 51))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
->p : Point
+>x : number, Symbol(x, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 15, 33))
+>0 : number
+>y : number, Symbol(y, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 15, 39))
+>0 : number
+>p : Point, Symbol(p, Decl(ExportModuleWithAccessibleTypesOnItsExportedMembers.ts, 14, 30))
}
}
}
diff --git a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types
index 82bdf732173..7ae575da27b 100644
--- a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types
+++ b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.types
@@ -1,30 +1,36 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 0, 0))
class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 0, 10))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 3, 20))
+>y : number, Symbol(y, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 3, 37))
}
export var Origin: Point = { x: 0, y: 0 };
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Origin, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 6, 14))
+>Point : Point, Symbol(Point, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 0, 10))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 6, 32))
+>0 : number
+>y : number, Symbol(y, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 6, 38))
+>0 : number
export var Unity = { start: new Point(0, 0), end: new Point(1, 0) };
->Unity : { start: Point; end: Point; }
+>Unity : { start: Point; end: Point; }, Symbol(Unity, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 8, 14))
>{ start: new Point(0, 0), end: new Point(1, 0) } : { start: Point; end: Point; }
->start : Point
+>start : Point, Symbol(start, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 8, 24))
>new Point(0, 0) : Point
->Point : typeof Point
->end : Point
+>Point : typeof Point, Symbol(Point, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 0, 10))
+>0 : number
+>0 : number
+>end : Point, Symbol(end, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 8, 48))
>new Point(1, 0) : Point
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts, 0, 10))
+>1 : number
+>0 : number
}
diff --git a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types
index a4284a8f410..9cc12dc057d 100644
--- a/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types
+++ b/tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.types
@@ -1,31 +1,32 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 0, 0))
class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 0, 10))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 3, 20))
+>y : number, Symbol(y, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 3, 37))
}
export var UnitSquare : {
->UnitSquare : { top: { left: Point; right: Point; }; bottom: { left: Point; right: Point; }; }
+>UnitSquare : { top: { left: Point; right: Point; }; bottom: { left: Point; right: Point; }; }, Symbol(UnitSquare, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 6, 14))
top: { left: Point, right: Point },
->top : { left: Point; right: Point; }
->left : Point
->Point : Point
->right : Point
->Point : Point
+>top : { left: Point; right: Point; }, Symbol(top, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 6, 29))
+>left : Point, Symbol(left, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 7, 14))
+>Point : Point, Symbol(Point, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 0, 10))
+>right : Point, Symbol(right, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 7, 27))
+>Point : Point, Symbol(Point, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 0, 10))
bottom: { left: Point, right: Point }
->bottom : { left: Point; right: Point; }
->left : Point
->Point : Point
->right : Point
->Point : Point
+>bottom : { left: Point; right: Point; }, Symbol(bottom, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 7, 43))
+>left : Point, Symbol(left, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 8, 17))
+>Point : Point, Symbol(Point, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 0, 10))
+>right : Point, Symbol(right, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 8, 30))
+>Point : Point, Symbol(Point, Decl(ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts, 0, 10))
} = null;
+>null : null
}
diff --git a/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.types b/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.types
index ba24bf93442..961adc893d5 100644
--- a/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.types
+++ b/tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.types
@@ -1,22 +1,22 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 0, 0))
class B {
->B : B
+>B : B, Symbol(B, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 0, 10))
id: number;
->id : number
+>id : number, Symbol(id, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 1, 13))
}
export var beez: Array;
->beez : B[]
->Array : T[]
->B : B
+>beez : B[], Symbol(beez, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 5, 14))
+>Array : T[], Symbol(Array, Decl(lib.d.ts, 1000, 23), Decl(lib.d.ts, 1171, 11))
+>B : B, Symbol(B, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 0, 10))
export var beez2 = new Array();
->beez2 : B[]
+>beez2 : B[], Symbol(beez2, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 6, 14))
>new Array() : B[]
->Array : ArrayConstructor
->B : B
+>Array : ArrayConstructor, Symbol(Array, Decl(lib.d.ts, 1000, 23), Decl(lib.d.ts, 1171, 11))
+>B : B, Symbol(B, Decl(ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts, 0, 10))
}
diff --git a/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types b/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types
index 945a4be6fe5..a0836493e33 100644
--- a/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types
+++ b/tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.types
@@ -1,23 +1,25 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportVariableWithAccessibleTypeInTypeAnnotation.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 0, 0))
export interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 2, 28))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 3, 18))
}
// valid since Point is exported
export var Origin: Point = { x: 0, y: 0 };
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Origin, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 8, 14))
+>Point : Point, Symbol(Point, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 0, 10))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 8, 32))
+>0 : number
+>y : number, Symbol(y, Decl(ExportVariableWithAccessibleTypeInTypeAnnotation.ts, 8, 38))
+>0 : number
}
diff --git a/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types b/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types
index 9ae05f87416..aa245e4e578 100644
--- a/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types
+++ b/tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.types
@@ -1,40 +1,45 @@
=== tests/cases/conformance/internalModules/exportDeclarations/ExportVariableWithInaccessibleTypeInTypeAnnotation.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 0, 0))
export interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 2, 28))
y: number;
->y : number
+>y : number, Symbol(y, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 3, 18))
}
// valid since Point is exported
export var Origin: Point = { x: 0, y: 0 };
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Origin, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 8, 14))
+>Point : Point, Symbol(Point, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 0, 10))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 8, 32))
+>0 : number
+>y : number, Symbol(y, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 8, 38))
+>0 : number
interface Point3d extends Point {
->Point3d : Point3d
->Point : Point
+>Point3d : Point3d, Symbol(Point3d, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 8, 46))
+>Point : Point, Symbol(Point, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 0, 10))
z: number;
->z : number
+>z : number, Symbol(z, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 10, 37))
}
// invalid Point3d is not exported
export var Origin3d: Point3d = { x: 0, y: 0, z: 0 };
->Origin3d : Point3d
->Point3d : Point3d
+>Origin3d : Point3d, Symbol(Origin3d, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 15, 14))
+>Point3d : Point3d, Symbol(Point3d, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 8, 46))
>{ x: 0, y: 0, z: 0 } : { x: number; y: number; z: number; }
->x : number
->y : number
->z : number
+>x : number, Symbol(x, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 15, 36))
+>0 : number
+>y : number, Symbol(y, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 15, 42))
+>0 : number
+>z : number, Symbol(z, Decl(ExportVariableWithInaccessibleTypeInTypeAnnotation.ts, 15, 48))
+>0 : number
}
diff --git a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types
index 879088f93df..e63275fe58f 100644
--- a/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types
+++ b/tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.types
@@ -1,54 +1,58 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/function.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(function.ts, 0, 0))
export function Point() {
->Point : () => { x: number; y: number; }
+>Point : () => { x: number; y: number; }, Symbol(Point, Decl(function.ts, 0, 10))
return { x: 0, y: 0 };
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(function.ts, 2, 16))
+>0 : number
+>y : number, Symbol(y, Decl(function.ts, 2, 22))
+>0 : number
}
}
=== tests/cases/conformance/internalModules/DeclarationMerging/module.ts ===
module B {
->B : typeof B
+>B : typeof B, Symbol(B, Decl(module.ts, 0, 0))
export module Point {
->Point : typeof Point
+>Point : typeof Point, Symbol(Point, Decl(module.ts, 0, 10))
export var Origin = { x: 0, y: 0 };
->Origin : { x: number; y: number; }
+>Origin : { x: number; y: number; }, Symbol(Origin, Decl(module.ts, 2, 18))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(module.ts, 2, 29))
+>0 : number
+>y : number, Symbol(y, Decl(module.ts, 2, 35))
+>0 : number
}
}
=== tests/cases/conformance/internalModules/DeclarationMerging/test.ts ===
var fn: () => { x: number; y: number };
->fn : () => { x: number; y: number; }
->x : number
->y : number
+>fn : () => { x: number; y: number; }, Symbol(fn, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3))
+>x : number, Symbol(x, Decl(test.ts, 0, 15))
+>y : number, Symbol(y, Decl(test.ts, 0, 26))
var fn = A.Point;
->fn : () => { x: number; y: number; }
->A.Point : () => { x: number; y: number; }
->A : typeof A
->Point : () => { x: number; y: number; }
+>fn : () => { x: number; y: number; }, Symbol(fn, Decl(test.ts, 0, 3), Decl(test.ts, 1, 3))
+>A.Point : () => { x: number; y: number; }, Symbol(A.Point, Decl(function.ts, 0, 10))
+>A : typeof A, Symbol(A, Decl(function.ts, 0, 0))
+>Point : () => { x: number; y: number; }, Symbol(A.Point, Decl(function.ts, 0, 10))
var cl: { x: number; y: number; }
->cl : { x: number; y: number; }
->x : number
->y : number
+>cl : { x: number; y: number; }, Symbol(cl, Decl(test.ts, 3, 3), Decl(test.ts, 4, 3))
+>x : number, Symbol(x, Decl(test.ts, 3, 9))
+>y : number, Symbol(y, Decl(test.ts, 3, 20))
var cl = B.Point.Origin;
->cl : { x: number; y: number; }
->B.Point.Origin : { x: number; y: number; }
->B.Point : typeof B.Point
->B : typeof B
->Point : typeof B.Point
->Origin : { x: number; y: number; }
+>cl : { x: number; y: number; }, Symbol(cl, Decl(test.ts, 3, 3), Decl(test.ts, 4, 3))
+>B.Point.Origin : { x: number; y: number; }, Symbol(B.Point.Origin, Decl(module.ts, 2, 18))
+>B.Point : typeof B.Point, Symbol(B.Point, Decl(module.ts, 0, 10))
+>B : typeof B, Symbol(B, Decl(module.ts, 0, 0))
+>Point : typeof B.Point, Symbol(B.Point, Decl(module.ts, 0, 10))
+>Origin : { x: number; y: number; }, Symbol(B.Point.Origin, Decl(module.ts, 2, 18))
diff --git a/tests/baselines/reference/FunctionDeclaration2_es6.types b/tests/baselines/reference/FunctionDeclaration2_es6.types
index f23d9cf6840..eefe4de1464 100644
--- a/tests/baselines/reference/FunctionDeclaration2_es6.types
+++ b/tests/baselines/reference/FunctionDeclaration2_es6.types
@@ -1,5 +1,5 @@
=== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration2_es6.ts ===
function f(yield) {
->f : (yield: any) => void
->yield : any
+>f : (yield: any) => void, Symbol(f, Decl(FunctionDeclaration2_es6.ts, 0, 0))
+>yield : any, Symbol(yield, Decl(FunctionDeclaration2_es6.ts, 0, 11))
}
diff --git a/tests/baselines/reference/FunctionDeclaration4_es6.types b/tests/baselines/reference/FunctionDeclaration4_es6.types
index e4f102a8f70..9cf71703bc8 100644
--- a/tests/baselines/reference/FunctionDeclaration4_es6.types
+++ b/tests/baselines/reference/FunctionDeclaration4_es6.types
@@ -1,4 +1,4 @@
=== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration4_es6.ts ===
function yield() {
->yield : () => void
+>yield : () => void, Symbol(yield, Decl(FunctionDeclaration4_es6.ts, 0, 0))
}
diff --git a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types
index 023511c8c4d..4c5d815dfcf 100644
--- a/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types
+++ b/tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.types
@@ -1,43 +1,45 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/ModuleAndEnumWithSameNameAndCommonRoot.ts ===
module enumdule {
->enumdule : typeof enumdule
+>enumdule : typeof enumdule, Symbol(enumdule, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 0, 0), Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 5, 1))
export class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 0, 17))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 3, 20))
+>y : number, Symbol(y, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 3, 37))
}
}
enum enumdule {
->enumdule : enumdule
+>enumdule : enumdule, Symbol(enumdule, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 0, 0), Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 5, 1))
Red, Blue
->Red : enumdule
->Blue : enumdule
+>Red : enumdule, Symbol(enumdule.Red, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 7, 15))
+>Blue : enumdule, Symbol(enumdule.Blue, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 8, 8))
}
var x: enumdule;
->x : enumdule
->enumdule : enumdule
+>x : enumdule, Symbol(x, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 11, 3), Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 12, 3))
+>enumdule : enumdule, Symbol(enumdule, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 0, 0), Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 5, 1))
var x = enumdule.Red;
->x : enumdule
->enumdule.Red : enumdule
->enumdule : typeof enumdule
->Red : enumdule
+>x : enumdule, Symbol(x, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 11, 3), Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 12, 3))
+>enumdule.Red : enumdule, Symbol(enumdule.Red, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 7, 15))
+>enumdule : typeof enumdule, Symbol(enumdule, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 0, 0), Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 5, 1))
+>Red : enumdule, Symbol(enumdule.Red, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 7, 15))
var y: { x: number; y: number };
->y : { x: number; y: number; }
->x : number
->y : number
+>y : { x: number; y: number; }, Symbol(y, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 14, 3), Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 15, 3))
+>x : number, Symbol(x, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 14, 8))
+>y : number, Symbol(y, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 14, 19))
var y = new enumdule.Point(0, 0);
->y : { x: number; y: number; }
+>y : { x: number; y: number; }, Symbol(y, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 14, 3), Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 15, 3))
>new enumdule.Point(0, 0) : enumdule.Point
->enumdule.Point : typeof enumdule.Point
->enumdule : typeof enumdule
->Point : typeof enumdule.Point
+>enumdule.Point : typeof enumdule.Point, Symbol(enumdule.Point, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 0, 17))
+>enumdule : typeof enumdule, Symbol(enumdule, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 0, 0), Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 5, 1))
+>Point : typeof enumdule.Point, Symbol(enumdule.Point, Decl(ModuleAndEnumWithSameNameAndCommonRoot.ts, 0, 17))
+>0 : number
+>0 : number
diff --git a/tests/baselines/reference/Protected5.types b/tests/baselines/reference/Protected5.types
index 7ef0be949a7..f6586a5b81c 100644
--- a/tests/baselines/reference/Protected5.types
+++ b/tests/baselines/reference/Protected5.types
@@ -1,7 +1,7 @@
=== tests/cases/conformance/parser/ecmascript5/Protected/Protected5.ts ===
class C {
->C : C
+>C : C, Symbol(C, Decl(Protected5.ts, 0, 0))
protected static m() { }
->m : () => void
+>m : () => void, Symbol(C.m, Decl(Protected5.ts, 0, 9))
}
diff --git a/tests/baselines/reference/Protected8.types b/tests/baselines/reference/Protected8.types
index f29be486eec..25b9ee44b8b 100644
--- a/tests/baselines/reference/Protected8.types
+++ b/tests/baselines/reference/Protected8.types
@@ -1,10 +1,10 @@
=== tests/cases/conformance/parser/ecmascript5/Protected/Protected8.ts ===
interface I {
->I : I
+>I : I, Symbol(I, Decl(Protected8.ts, 0, 0))
protected
->protected : any
+>protected : any, Symbol(protected, Decl(Protected8.ts, 0, 13))
p
->p : any
+>p : any, Symbol(p, Decl(Protected8.ts, 1, 12))
}
diff --git a/tests/baselines/reference/Protected9.types b/tests/baselines/reference/Protected9.types
index d4b6e2fff82..d3dd2f46e65 100644
--- a/tests/baselines/reference/Protected9.types
+++ b/tests/baselines/reference/Protected9.types
@@ -1,7 +1,7 @@
=== tests/cases/conformance/parser/ecmascript5/Protected/Protected9.ts ===
class C {
->C : C
+>C : C, Symbol(C, Decl(Protected9.ts, 0, 0))
constructor(protected p) { }
->p : any
+>p : any, Symbol(p, Decl(Protected9.ts, 1, 15))
}
diff --git a/tests/baselines/reference/TupleType1.types b/tests/baselines/reference/TupleType1.types
index 39fa32d5dca..83e6711e2e5 100644
--- a/tests/baselines/reference/TupleType1.types
+++ b/tests/baselines/reference/TupleType1.types
@@ -1,4 +1,4 @@
=== tests/cases/conformance/parser/ecmascript5/TupleTypes/TupleType1.ts ===
var v: [number]
->v : [number]
+>v : [number], Symbol(v, Decl(TupleType1.ts, 0, 3))
diff --git a/tests/baselines/reference/TupleType2.types b/tests/baselines/reference/TupleType2.types
index 0f35f60786c..5691baadd06 100644
--- a/tests/baselines/reference/TupleType2.types
+++ b/tests/baselines/reference/TupleType2.types
@@ -1,4 +1,4 @@
=== tests/cases/conformance/parser/ecmascript5/TupleTypes/TupleType2.ts ===
var v: [number, string]
->v : [number, string]
+>v : [number, string], Symbol(v, Decl(TupleType2.ts, 0, 3))
diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types
index a856b699dd5..f253f897382 100644
--- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types
+++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.types
@@ -1,82 +1,82 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 5, 1))
export class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 1, 24))
y: number;
->y : number
+>y : number, Symbol(y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 2, 18))
}
}
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 5, 1))
class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 7, 10))
fromCarthesian(p: A.Point) {
->fromCarthesian : (p: A.Point) => { x: number; y: number; }
->p : A.Point
->A : unknown
->Point : A.Point
+>fromCarthesian : (p: A.Point) => { x: number; y: number; }, Symbol(fromCarthesian, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 8, 17))
+>p : A.Point, Symbol(p, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 9, 23))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 5, 1))
+>Point : A.Point, Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 0, 10))
return { x: p.x, y: p.y };
>{ x: p.x, y: p.y } : { x: number; y: number; }
->x : number
->p.x : number
->p : A.Point
->x : number
->y : number
->p.y : number
->p : A.Point
->y : number
+>x : number, Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 10, 20))
+>p.x : number, Symbol(Point.x, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 1, 24))
+>p : A.Point, Symbol(p, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 9, 23))
+>x : number, Symbol(Point.x, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 1, 24))
+>y : number, Symbol(y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 10, 28))
+>p.y : number, Symbol(Point.y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 2, 18))
+>p : A.Point, Symbol(p, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 9, 23))
+>y : number, Symbol(Point.y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 2, 18))
}
}
}
// ensure merges as expected
var p: { x: number; y: number; };
->p : { x: number; y: number; }
->x : number
->y : number
+>p : { x: number; y: number; }, Symbol(p, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 16, 3), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 17, 3))
+>x : number, Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 16, 8))
+>y : number, Symbol(y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 16, 19))
var p: A.Point;
->p : { x: number; y: number; }
->A : unknown
->Point : A.Point
+>p : { x: number; y: number; }, Symbol(p, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 16, 3), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 17, 3))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 5, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 0, 10))
module X.Y.Z {
->X : typeof X
->Y : typeof Y
->Z : typeof Z
+>X : typeof X, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 17, 15), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 23, 1))
+>Y : typeof Y, Symbol(Y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 19, 9), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 25, 10))
+>Z : typeof Z, Symbol(Z, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 19, 11), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 26, 21))
export class Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 19, 14))
length: number;
->length : number
+>length : number, Symbol(length, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 20, 23))
}
}
module X {
->X : typeof X
+>X : typeof X, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 17, 15), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 23, 1))
export module Y {
->Y : typeof Y
+>Y : typeof Y, Symbol(Y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 19, 9), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 25, 10))
export module Z {
->Z : typeof Z
+>Z : typeof Z, Symbol(Z, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 19, 11), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 26, 21))
class Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 27, 25))
name: string;
->name : string
+>name : string, Symbol(name, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 28, 24))
}
}
}
@@ -84,14 +84,14 @@ module X {
// ensure merges as expected
var l: { length: number; }
->l : { length: number; }
->length : number
+>l : { length: number; }, Symbol(l, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 36, 3), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 37, 3))
+>length : number, Symbol(length, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 36, 8))
var l: X.Y.Z.Line;
->l : { length: number; }
->X : unknown
->Y : unknown
->Z : unknown
->Line : X.Y.Z.Line
+>l : { length: number; }, Symbol(l, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 36, 3), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 37, 3))
+>X : any, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 17, 15), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 23, 1))
+>Y : any, Symbol(X.Y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 19, 9), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 25, 10))
+>Z : any, Symbol(X.Y.Z, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 19, 11), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 26, 21))
+>Line : X.Y.Z.Line, Symbol(X.Y.Z.Line, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts, 19, 14))
diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types
index a8fc56495dd..d16e446a082 100644
--- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types
+++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.types
@@ -1,103 +1,103 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts ===
module A {
->A : unknown
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1))
export interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 1, 28))
y: number;
->y : number
+>y : number, Symbol(y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 2, 18))
toCarth(): Point;
->toCarth : () => Point
->Point : Point
+>toCarth : () => Point, Symbol(toCarth, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 3, 18))
+>Point : Point, Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10))
}
}
module A {
->A : unknown
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1))
interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 8, 10))
fromCarth(): Point;
->fromCarth : () => Point
->Point : Point
+>fromCarth : () => Point, Symbol(fromCarth, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 9, 21))
+>Point : Point, Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 8, 10))
}
}
// ensure merges as expected
var p: { x: number; y: number; toCarth(): A.Point; };
->p : { x: number; y: number; toCarth(): A.Point; }
->x : number
->y : number
->toCarth : () => A.Point
->A : unknown
->Point : A.Point
+>p : { x: number; y: number; toCarth(): A.Point; }, Symbol(p, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 15, 3), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 16, 3))
+>x : number, Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 15, 8))
+>y : number, Symbol(y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 15, 19))
+>toCarth : () => A.Point, Symbol(toCarth, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 15, 30))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10))
var p: A.Point;
->p : { x: number; y: number; toCarth(): A.Point; }
->A : unknown
->Point : A.Point
+>p : { x: number; y: number; toCarth(): A.Point; }, Symbol(p, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 15, 3), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 16, 3))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10))
module X.Y.Z {
->X : unknown
->Y : unknown
->Z : unknown
+>X : any, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 16, 15), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 22, 1))
+>Y : any, Symbol(Y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 18, 9), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 24, 10))
+>Z : any, Symbol(Z, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 18, 11), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 25, 20))
export interface Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 18, 14))
new (start: A.Point, end: A.Point);
->start : A.Point
->A : unknown
->Point : A.Point
->end : A.Point
->A : unknown
->Point : A.Point
+>start : A.Point, Symbol(start, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 20, 13))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10))
+>end : A.Point, Symbol(end, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 20, 28))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10))
}
}
module X {
->X : unknown
+>X : any, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 16, 15), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 22, 1))
export module Y.Z {
->Y : unknown
->Z : unknown
+>Y : any, Symbol(Y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 18, 9), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 24, 10))
+>Z : any, Symbol(Z, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 18, 11), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 25, 20))
interface Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 25, 23))
start: A.Point;
->start : A.Point
->A : unknown
->Point : A.Point
+>start : A.Point, Symbol(start, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 26, 24))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10))
end: A.Point;
->end : A.Point
->A : unknown
->Point : A.Point
+>end : A.Point, Symbol(end, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 27, 27))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10))
}
}
}
// ensure merges as expected
var l: { new (s: A.Point, e: A.Point); }
->l : new (s: A.Point, e: A.Point) => any
->s : A.Point
->A : unknown
->Point : A.Point
->e : A.Point
->A : unknown
->Point : A.Point
+>l : new (s: A.Point, e: A.Point) => any, Symbol(l, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 34, 3), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 35, 3))
+>s : A.Point, Symbol(s, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 34, 14))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10))
+>e : A.Point, Symbol(e, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 34, 25))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 0, 10))
var l: X.Y.Z.Line;
->l : new (s: A.Point, e: A.Point) => any
->X : unknown
->Y : unknown
->Z : unknown
->Line : X.Y.Z.Line
+>l : new (s: A.Point, e: A.Point) => any, Symbol(l, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 34, 3), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 35, 3))
+>X : any, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 16, 15), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 22, 1))
+>Y : any, Symbol(X.Y, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 18, 9), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 24, 10))
+>Z : any, Symbol(X.Y.Z, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 18, 11), Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 25, 20))
+>Line : X.Y.Z.Line, Symbol(X.Y.Z.Line, Decl(TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts, 18, 14))
diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types
index 003fb5fa15a..e09d6fd52b2 100644
--- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types
+++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.types
@@ -1,66 +1,69 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/part1.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
export interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(part1.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(part1.ts, 1, 28))
y: number;
->y : number
+>y : number, Symbol(y, Decl(part1.ts, 2, 18))
}
export module Utils {
->Utils : typeof Utils
+>Utils : typeof Utils, Symbol(Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 2, 31))
export function mirror(p: T) {
->mirror : (p: T) => { x: number; y: number; }
->T : T
->Point : Point
->p : T
->T : T
+>mirror : (p: T) => { x: number; y: number; }, Symbol(mirror, Decl(part1.ts, 6, 25))
+>T : T, Symbol(T, Decl(part1.ts, 7, 31))
+>Point : Point, Symbol(Point, Decl(part1.ts, 0, 10))
+>p : T, Symbol(p, Decl(part1.ts, 7, 48))
+>T : T, Symbol(T, Decl(part1.ts, 7, 31))
return { x: p.y, y: p.x };
>{ x: p.y, y: p.x } : { x: number; y: number; }
->x : number
->p.y : number
->p : T
->y : number
->y : number
->p.x : number
->p : T
->x : number
+>x : number, Symbol(x, Decl(part1.ts, 8, 20))
+>p.y : number, Symbol(Point.y, Decl(part1.ts, 2, 18))
+>p : T, Symbol(p, Decl(part1.ts, 7, 48))
+>y : number, Symbol(Point.y, Decl(part1.ts, 2, 18))
+>y : number, Symbol(y, Decl(part1.ts, 8, 28))
+>p.x : number, Symbol(Point.x, Decl(part1.ts, 1, 28))
+>p : T, Symbol(p, Decl(part1.ts, 7, 48))
+>x : number, Symbol(Point.x, Decl(part1.ts, 1, 28))
}
}
export var Origin: Point = { x: 0, y: 0 };
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Origin, Decl(part1.ts, 11, 14))
+>Point : Point, Symbol(Point, Decl(part1.ts, 0, 10))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(part1.ts, 11, 32))
+>0 : number
+>y : number, Symbol(y, Decl(part1.ts, 11, 38))
+>0 : number
}
=== tests/cases/conformance/internalModules/DeclarationMerging/part2.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
// not a collision, since we don't export
var Origin: string = "0,0";
->Origin : string
+>Origin : string, Symbol(Origin, Decl(part2.ts, 2, 7))
+>"0,0" : string
export module Utils {
->Utils : typeof Utils
+>Utils : typeof Utils, Symbol(Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 2, 31))
export class Plane {
->Plane : Plane
+>Plane : Plane, Symbol(Plane, Decl(part2.ts, 4, 25))
constructor(public tl: Point, public br: Point) { }
->tl : Point
->Point : Point
->br : Point
->Point : Point
+>tl : Point, Symbol(tl, Decl(part2.ts, 6, 24))
+>Point : Point, Symbol(Point, Decl(part1.ts, 0, 10))
+>br : Point, Symbol(br, Decl(part2.ts, 6, 41))
+>Point : Point, Symbol(Point, Decl(part1.ts, 0, 10))
}
}
}
@@ -69,57 +72,59 @@ module A {
// test the merging actually worked
var o: { x: number; y: number };
->o : { x: number; y: number; }
->x : number
->y : number
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
+>x : number, Symbol(x, Decl(part3.ts, 2, 8))
+>y : number, Symbol(y, Decl(part3.ts, 2, 19))
var o: A.Point;
->o : { x: number; y: number; }
->A : unknown
->Point : A.Point
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
+>A : any, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Point : A.Point, Symbol(A.Point, Decl(part1.ts, 0, 10))
var o = A.Origin;
->o : { x: number; y: number; }
->A.Origin : A.Point
->A : typeof A
->Origin : A.Point
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
+>A.Origin : A.Point, Symbol(A.Origin, Decl(part1.ts, 11, 14))
+>A : typeof A, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Origin : A.Point, Symbol(A.Origin, Decl(part1.ts, 11, 14))
var o = A.Utils.mirror(o);
->o : { x: number; y: number; }
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
>A.Utils.mirror(o) : { x: number; y: number; }
->A.Utils.mirror : (p: T) => { x: number; y: number; }
->A.Utils : typeof A.Utils
->A : typeof A
->Utils : typeof A.Utils
->mirror : (p: T) => { x: number; y: number; }
->o : { x: number; y: number; }
+>A.Utils.mirror : (p: T) => { x: number; y: number; }, Symbol(A.Utils.mirror, Decl(part1.ts, 6, 25))
+>A.Utils : typeof A.Utils, Symbol(A.Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 2, 31))
+>A : typeof A, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Utils : typeof A.Utils, Symbol(A.Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 2, 31))
+>mirror : (p: T) => { x: number; y: number; }, Symbol(A.Utils.mirror, Decl(part1.ts, 6, 25))
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
var p: { tl: A.Point; br: A.Point };
->p : { tl: A.Point; br: A.Point; }
->tl : A.Point
->A : unknown
->Point : A.Point
->br : A.Point
->A : unknown
->Point : A.Point
+>p : { tl: A.Point; br: A.Point; }, Symbol(p, Decl(part3.ts, 7, 3), Decl(part3.ts, 8, 3), Decl(part3.ts, 9, 3))
+>tl : A.Point, Symbol(tl, Decl(part3.ts, 7, 8))
+>A : any, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Point : A.Point, Symbol(A.Point, Decl(part1.ts, 0, 10))
+>br : A.Point, Symbol(br, Decl(part3.ts, 7, 21))
+>A : any, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Point : A.Point, Symbol(A.Point, Decl(part1.ts, 0, 10))
var p: A.Utils.Plane;
->p : { tl: A.Point; br: A.Point; }
->A : unknown
->Utils : unknown
->Plane : A.Utils.Plane
+>p : { tl: A.Point; br: A.Point; }, Symbol(p, Decl(part3.ts, 7, 3), Decl(part3.ts, 8, 3), Decl(part3.ts, 9, 3))
+>A : any, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Utils : any, Symbol(A.Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 2, 31))
+>Plane : A.Utils.Plane, Symbol(A.Utils.Plane, Decl(part2.ts, 4, 25))
var p = new A.Utils.Plane(o, { x: 1, y: 1 });
->p : { tl: A.Point; br: A.Point; }
+>p : { tl: A.Point; br: A.Point; }, Symbol(p, Decl(part3.ts, 7, 3), Decl(part3.ts, 8, 3), Decl(part3.ts, 9, 3))
>new A.Utils.Plane(o, { x: 1, y: 1 }) : A.Utils.Plane
->A.Utils.Plane : typeof A.Utils.Plane
->A.Utils : typeof A.Utils
->A : typeof A
->Utils : typeof A.Utils
->Plane : typeof A.Utils.Plane
->o : { x: number; y: number; }
+>A.Utils.Plane : typeof A.Utils.Plane, Symbol(A.Utils.Plane, Decl(part2.ts, 4, 25))
+>A.Utils : typeof A.Utils, Symbol(A.Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 2, 31))
+>A : typeof A, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Utils : typeof A.Utils, Symbol(A.Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 2, 31))
+>Plane : typeof A.Utils.Plane, Symbol(A.Utils.Plane, Decl(part2.ts, 4, 25))
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
>{ x: 1, y: 1 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(part3.ts, 9, 30))
+>1 : number
+>y : number, Symbol(y, Decl(part3.ts, 9, 36))
+>1 : number
diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types
index c54ad5f3ad9..d75f723068f 100644
--- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types
+++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.types
@@ -1,112 +1,112 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts ===
module A {
->A : unknown
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
export interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 1, 28))
y: number;
->y : number
+>y : number, Symbol(y, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 2, 18))
toCarth(): Point;
->toCarth : () => Point
->Point : Point
+>toCarth : () => Point, Symbol(toCarth, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 3, 18))
+>Point : Point, Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
}
}
module A {
->A : unknown
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
export interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
fromCarth(): Point;
->fromCarth : () => Point
->Point : Point
+>fromCarth : () => Point, Symbol(fromCarth, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 9, 28))
+>Point : Point, Symbol(Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
}
}
// ensure merges as expected
var p: { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; };
->p : { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; }
->x : number
->y : number
->toCarth : () => A.Point
->A : unknown
->Point : A.Point
->fromCarth : () => A.Point
->A : unknown
->Point : A.Point
+>p : { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; }, Symbol(p, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 15, 3), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 16, 3))
+>x : number, Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 15, 8))
+>y : number, Symbol(y, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 15, 19))
+>toCarth : () => A.Point, Symbol(toCarth, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 15, 30))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
+>fromCarth : () => A.Point, Symbol(fromCarth, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 15, 50))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
var p: A.Point;
->p : { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; }
->A : unknown
->Point : A.Point
+>p : { x: number; y: number; toCarth(): A.Point; fromCarth(): A.Point; }, Symbol(p, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 15, 3), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 16, 3))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
module X.Y.Z {
->X : unknown
->Y : unknown
->Z : unknown
+>X : any, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 16, 15), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 22, 1))
+>Y : any, Symbol(Y, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 18, 9), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 24, 10))
+>Z : any, Symbol(Z, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 18, 11), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 25, 20))
export interface Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 18, 14), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 25, 23))
new (start: A.Point, end: A.Point);
->start : A.Point
->A : unknown
->Point : A.Point
->end : A.Point
->A : unknown
->Point : A.Point
+>start : A.Point, Symbol(start, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 20, 13))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
+>end : A.Point, Symbol(end, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 20, 28))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
}
}
module X {
->X : unknown
+>X : any, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 16, 15), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 22, 1))
export module Y.Z {
->Y : unknown
->Z : unknown
+>Y : any, Symbol(Y, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 18, 9), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 24, 10))
+>Z : any, Symbol(Z, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 18, 11), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 25, 20))
export interface Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 18, 14), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 25, 23))
start: A.Point;
->start : A.Point
->A : unknown
->Point : A.Point
+>start : A.Point, Symbol(start, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 26, 31))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
end: A.Point;
->end : A.Point
->A : unknown
->Point : A.Point
+>end : A.Point, Symbol(end, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 27, 27))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
}
}
}
// ensure merges as expected
var l: { start: A.Point; end: A.Point; new (s: A.Point, e: A.Point); }
->l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; }
->start : A.Point
->A : unknown
->Point : A.Point
->end : A.Point
->A : unknown
->Point : A.Point
->s : A.Point
->A : unknown
->Point : A.Point
->e : A.Point
->A : unknown
->Point : A.Point
+>l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; }, Symbol(l, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 34, 3), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 35, 3))
+>start : A.Point, Symbol(start, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 34, 8))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
+>end : A.Point, Symbol(end, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 34, 24))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
+>s : A.Point, Symbol(s, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 34, 44))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
+>e : A.Point, Symbol(e, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 34, 55))
+>A : any, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 6, 1))
+>Point : A.Point, Symbol(A.Point, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 0, 10), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 8, 10))
var l: X.Y.Z.Line;
->l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; }
->X : unknown
->Y : unknown
->Z : unknown
->Line : X.Y.Z.Line
+>l : { new (s: A.Point, e: A.Point): any; start: A.Point; end: A.Point; }, Symbol(l, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 34, 3), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 35, 3))
+>X : any, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 16, 15), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 22, 1))
+>Y : any, Symbol(X.Y, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 18, 9), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 24, 10))
+>Z : any, Symbol(X.Y.Z, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 18, 11), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 25, 20))
+>Line : X.Y.Z.Line, Symbol(X.Y.Z.Line, Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 18, 14), Decl(TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts, 25, 23))
diff --git a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types
index 9232af469ac..33b28ffbacd 100644
--- a/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types
+++ b/tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.types
@@ -1,62 +1,62 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts ===
module A.B {
->A : typeof A
->B : typeof B
+>A : typeof A, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 2, 1))
+>B : typeof B, Symbol(B, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 0, 9))
export var x: number;
->x : number
+>x : number, Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 1, 14))
}
module A{
->A : typeof A
+>A : typeof A, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 2, 1))
module B {
->B : typeof B
+>B : typeof B, Symbol(B, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 4, 9))
export var x: string;
->x : string
+>x : string, Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 6, 18))
}
}
// ensure the right var decl is exported
var x: number;
->x : number
+>x : number, Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 11, 3), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 12, 3))
var x = A.B.x;
->x : number
->A.B.x : number
->A.B : typeof A.B
->A : typeof A
->B : typeof A.B
->x : number
+>x : number, Symbol(x, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 11, 3), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 12, 3))
+>A.B.x : number, Symbol(A.B.x, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 1, 14))
+>A.B : typeof A.B, Symbol(A.B, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 0, 9))
+>A : typeof A, Symbol(A, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 0, 0), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 2, 1))
+>B : typeof A.B, Symbol(A.B, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 0, 9))
+>x : number, Symbol(A.B.x, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 1, 14))
module X.Y.Z {
->X : typeof X
->Y : typeof Y
->Z : typeof Z
+>X : typeof X, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 12, 14), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 18, 1))
+>Y : typeof Y, Symbol(Y, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 14, 9), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 20, 10))
+>Z : typeof Z, Symbol(Z, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 14, 11))
export class Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 14, 14))
length: number;
->length : number
+>length : number, Symbol(length, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 15, 23))
}
}
module X {
->X : typeof X
+>X : typeof X, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 12, 14), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 18, 1))
export module Y {
->Y : typeof Y
+>Y : typeof Y, Symbol(Y, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 14, 9), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 20, 10))
module Z {
->Z : typeof Z
+>Z : typeof Z, Symbol(Z, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 21, 21))
export class Line {
->Line : Line
+>Line : Line, Symbol(Line, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 22, 18))
name: string;
->name : string
+>name : string, Symbol(name, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 23, 31))
}
}
}
@@ -64,13 +64,13 @@ module X {
// make sure merging works as expected
var l: { length: number };
->l : { length: number; }
->length : number
+>l : { length: number; }, Symbol(l, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 31, 3), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 32, 3))
+>length : number, Symbol(length, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 31, 8))
var l: X.Y.Z.Line;
->l : { length: number; }
->X : unknown
->Y : unknown
->Z : unknown
->Line : X.Y.Z.Line
+>l : { length: number; }, Symbol(l, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 31, 3), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 32, 3))
+>X : any, Symbol(X, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 12, 14), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 18, 1))
+>Y : any, Symbol(X.Y, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 14, 9), Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 20, 10))
+>Z : any, Symbol(X.Y.Z, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 14, 11))
+>Line : X.Y.Z.Line, Symbol(X.Y.Z.Line, Decl(TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts, 14, 14))
diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types
index b31bb4b22ac..53f0982a91c 100644
--- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types
+++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.types
@@ -1,40 +1,40 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/part1.ts ===
module Root {
->Root : typeof Root
+>Root : typeof Root, Symbol(Root, Decl(part1.ts, 0, 0))
export module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(part1.ts, 0, 13))
export interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(part1.ts, 1, 21))
x: number;
->x : number
+>x : number, Symbol(x, Decl(part1.ts, 2, 32))
y: number;
->y : number
+>y : number, Symbol(y, Decl(part1.ts, 3, 22))
}
export module Utils {
->Utils : typeof Utils
+>Utils : typeof Utils, Symbol(Utils, Decl(part1.ts, 5, 9))
export function mirror(p: T) {
->mirror : (p: T) => { x: number; y: number; }
->T : T
->Point : Point
->p : T
->T : T
+>mirror : (p: T) => { x: number; y: number; }, Symbol(mirror, Decl(part1.ts, 7, 29))
+>T : T, Symbol(T, Decl(part1.ts, 8, 35))
+>Point : Point, Symbol(Point, Decl(part1.ts, 1, 21))
+>p : T, Symbol(p, Decl(part1.ts, 8, 52))
+>T : T, Symbol(T, Decl(part1.ts, 8, 35))
return { x: p.y, y: p.x };
>{ x: p.y, y: p.x } : { x: number; y: number; }
->x : number
->p.y : number
->p : T
->y : number
->y : number
->p.x : number
->p : T
->x : number
+>x : number, Symbol(x, Decl(part1.ts, 9, 24))
+>p.y : number, Symbol(Point.y, Decl(part1.ts, 3, 22))
+>p : T, Symbol(p, Decl(part1.ts, 8, 52))
+>y : number, Symbol(Point.y, Decl(part1.ts, 3, 22))
+>y : number, Symbol(y, Decl(part1.ts, 9, 32))
+>p.x : number, Symbol(Point.x, Decl(part1.ts, 2, 32))
+>p : T, Symbol(p, Decl(part1.ts, 8, 52))
+>x : number, Symbol(Point.x, Decl(part1.ts, 2, 32))
}
}
}
@@ -42,36 +42,38 @@ module Root {
=== tests/cases/conformance/internalModules/DeclarationMerging/part2.ts ===
module otherRoot {
->otherRoot : typeof otherRoot
+>otherRoot : typeof otherRoot, Symbol(otherRoot, Decl(part2.ts, 0, 0))
export module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(part2.ts, 0, 18))
// have to be fully qualified since in different root
export var Origin: Root.A.Point = { x: 0, y: 0 };
->Origin : Root.A.Point
->Root : unknown
->A : unknown
->Point : Root.A.Point
+>Origin : Root.A.Point, Symbol(Origin, Decl(part2.ts, 3, 18))
+>Root : any, Symbol(Root, Decl(part1.ts, 0, 0))
+>A : any, Symbol(Root.A, Decl(part1.ts, 0, 13))
+>Point : Root.A.Point, Symbol(Root.A.Point, Decl(part1.ts, 1, 21))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(part2.ts, 3, 43))
+>0 : number
+>y : number, Symbol(y, Decl(part2.ts, 3, 49))
+>0 : number
export module Utils {
->Utils : typeof Utils
+>Utils : typeof Utils, Symbol(Utils, Decl(part2.ts, 3, 57))
export class Plane {
->Plane : Plane
+>Plane : Plane, Symbol(Plane, Decl(part2.ts, 5, 29))
constructor(public tl: Root.A.Point, public br: Root.A.Point) { }
->tl : Root.A.Point
->Root : unknown
->A : unknown
->Point : Root.A.Point
->br : Root.A.Point
->Root : unknown
->A : unknown
->Point : Root.A.Point
+>tl : Root.A.Point, Symbol(tl, Decl(part2.ts, 7, 28))
+>Root : any, Symbol(Root, Decl(part1.ts, 0, 0))
+>A : any, Symbol(Root.A, Decl(part1.ts, 0, 13))
+>Point : Root.A.Point, Symbol(Root.A.Point, Decl(part1.ts, 1, 21))
+>br : Root.A.Point, Symbol(br, Decl(part2.ts, 7, 52))
+>Root : any, Symbol(Root, Decl(part1.ts, 0, 0))
+>A : any, Symbol(Root.A, Decl(part1.ts, 0, 13))
+>Point : Root.A.Point, Symbol(Root.A.Point, Decl(part1.ts, 1, 21))
}
}
}
diff --git a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types
index b13cbde5522..09092db9829 100644
--- a/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types
+++ b/tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.types
@@ -1,63 +1,65 @@
=== tests/cases/conformance/internalModules/DeclarationMerging/part1.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
export interface Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(part1.ts, 0, 10))
x: number;
->x : number
+>x : number, Symbol(x, Decl(part1.ts, 1, 28))
y: number;
->y : number
+>y : number, Symbol(y, Decl(part1.ts, 2, 18))
}
export module Utils {
->Utils : typeof Utils
+>Utils : typeof Utils, Symbol(Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 1, 46))
export function mirror(p: T) {
->mirror : (p: T) => { x: number; y: number; }
->T : T
->Point : Point
->p : T
->T : T
+>mirror : (p: T) => { x: number; y: number; }, Symbol(mirror, Decl(part1.ts, 6, 25))
+>T : T, Symbol(T, Decl(part1.ts, 7, 31))
+>Point : Point, Symbol(Point, Decl(part1.ts, 0, 10))
+>p : T, Symbol(p, Decl(part1.ts, 7, 48))
+>T : T, Symbol(T, Decl(part1.ts, 7, 31))
return { x: p.y, y: p.x };
>{ x: p.y, y: p.x } : { x: number; y: number; }
->x : number
->p.y : number
->p : T
->y : number
->y : number
->p.x : number
->p : T
->x : number
+>x : number, Symbol(x, Decl(part1.ts, 8, 20))
+>p.y : number, Symbol(Point.y, Decl(part1.ts, 2, 18))
+>p : T, Symbol(p, Decl(part1.ts, 7, 48))
+>y : number, Symbol(Point.y, Decl(part1.ts, 2, 18))
+>y : number, Symbol(y, Decl(part1.ts, 8, 28))
+>p.x : number, Symbol(Point.x, Decl(part1.ts, 1, 28))
+>p : T, Symbol(p, Decl(part1.ts, 7, 48))
+>x : number, Symbol(Point.x, Decl(part1.ts, 1, 28))
}
}
}
=== tests/cases/conformance/internalModules/DeclarationMerging/part2.ts ===
module A {
->A : typeof A
+>A : typeof A, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
export var Origin: Point = { x: 0, y: 0 };
->Origin : Point
->Point : Point
+>Origin : Point, Symbol(Origin, Decl(part2.ts, 1, 14))
+>Point : Point, Symbol(Point, Decl(part1.ts, 0, 10))
>{ x: 0, y: 0 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(part2.ts, 1, 32))
+>0 : number
+>y : number, Symbol(y, Decl(part2.ts, 1, 38))
+>0 : number
export module Utils {
->Utils : typeof Utils
+>Utils : typeof Utils, Symbol(Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 1, 46))
export class Plane {
->Plane : Plane
+>Plane : Plane, Symbol(Plane, Decl(part2.ts, 3, 25))
constructor(public tl: Point, public br: Point) { }
->tl : Point
->Point : Point
->br : Point
->Point : Point
+>tl : Point, Symbol(tl, Decl(part2.ts, 5, 24))
+>Point : Point, Symbol(Point, Decl(part1.ts, 0, 10))
+>br : Point, Symbol(br, Decl(part2.ts, 5, 41))
+>Point : Point, Symbol(Point, Decl(part1.ts, 0, 10))
}
}
}
@@ -66,57 +68,59 @@ module A {
// test the merging actually worked
var o: { x: number; y: number };
->o : { x: number; y: number; }
->x : number
->y : number
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
+>x : number, Symbol(x, Decl(part3.ts, 2, 8))
+>y : number, Symbol(y, Decl(part3.ts, 2, 19))
var o: A.Point;
->o : { x: number; y: number; }
->A : unknown
->Point : A.Point
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
+>A : any, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Point : A.Point, Symbol(A.Point, Decl(part1.ts, 0, 10))
var o = A.Origin;
->o : { x: number; y: number; }
->A.Origin : A.Point
->A : typeof A
->Origin : A.Point
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
+>A.Origin : A.Point, Symbol(A.Origin, Decl(part2.ts, 1, 14))
+>A : typeof A, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Origin : A.Point, Symbol(A.Origin, Decl(part2.ts, 1, 14))
var o = A.Utils.mirror(o);
->o : { x: number; y: number; }
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
>A.Utils.mirror(o) : { x: number; y: number; }
->A.Utils.mirror : (p: T) => { x: number; y: number; }
->A.Utils : typeof A.Utils
->A : typeof A
->Utils : typeof A.Utils
->mirror : (p: T) => { x: number; y: number; }
->o : { x: number; y: number; }
+>A.Utils.mirror : (p: T) => { x: number; y: number; }, Symbol(A.Utils.mirror, Decl(part1.ts, 6, 25))
+>A.Utils : typeof A.Utils, Symbol(A.Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 1, 46))
+>A : typeof A, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Utils : typeof A.Utils, Symbol(A.Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 1, 46))
+>mirror : (p: T) => { x: number; y: number; }, Symbol(A.Utils.mirror, Decl(part1.ts, 6, 25))
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
var p: { tl: A.Point; br: A.Point };
->p : { tl: A.Point; br: A.Point; }
->tl : A.Point
->A : unknown
->Point : A.Point
->br : A.Point
->A : unknown
->Point : A.Point
+>p : { tl: A.Point; br: A.Point; }, Symbol(p, Decl(part3.ts, 7, 3), Decl(part3.ts, 8, 3), Decl(part3.ts, 9, 3))
+>tl : A.Point, Symbol(tl, Decl(part3.ts, 7, 8))
+>A : any, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Point : A.Point, Symbol(A.Point, Decl(part1.ts, 0, 10))
+>br : A.Point, Symbol(br, Decl(part3.ts, 7, 21))
+>A : any, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Point : A.Point, Symbol(A.Point, Decl(part1.ts, 0, 10))
var p: A.Utils.Plane;
->p : { tl: A.Point; br: A.Point; }
->A : unknown
->Utils : unknown
->Plane : A.Utils.Plane
+>p : { tl: A.Point; br: A.Point; }, Symbol(p, Decl(part3.ts, 7, 3), Decl(part3.ts, 8, 3), Decl(part3.ts, 9, 3))
+>A : any, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Utils : any, Symbol(A.Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 1, 46))
+>Plane : A.Utils.Plane, Symbol(A.Utils.Plane, Decl(part2.ts, 3, 25))
var p = new A.Utils.Plane(o, { x: 1, y: 1 });
->p : { tl: A.Point; br: A.Point; }
+>p : { tl: A.Point; br: A.Point; }, Symbol(p, Decl(part3.ts, 7, 3), Decl(part3.ts, 8, 3), Decl(part3.ts, 9, 3))
>new A.Utils.Plane(o, { x: 1, y: 1 }) : A.Utils.Plane
->A.Utils.Plane : typeof A.Utils.Plane
->A.Utils : typeof A.Utils
->A : typeof A
->Utils : typeof A.Utils
->Plane : typeof A.Utils.Plane
->o : { x: number; y: number; }
+>A.Utils.Plane : typeof A.Utils.Plane, Symbol(A.Utils.Plane, Decl(part2.ts, 3, 25))
+>A.Utils : typeof A.Utils, Symbol(A.Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 1, 46))
+>A : typeof A, Symbol(A, Decl(part1.ts, 0, 0), Decl(part2.ts, 0, 0))
+>Utils : typeof A.Utils, Symbol(A.Utils, Decl(part1.ts, 4, 5), Decl(part2.ts, 1, 46))
+>Plane : typeof A.Utils.Plane, Symbol(A.Utils.Plane, Decl(part2.ts, 3, 25))
+>o : { x: number; y: number; }, Symbol(o, Decl(part3.ts, 2, 3), Decl(part3.ts, 3, 3), Decl(part3.ts, 4, 3), Decl(part3.ts, 5, 3))
>{ x: 1, y: 1 } : { x: number; y: number; }
->x : number
->y : number
+>x : number, Symbol(x, Decl(part3.ts, 9, 30))
+>1 : number
+>y : number, Symbol(y, Decl(part3.ts, 9, 36))
+>1 : number
diff --git a/tests/baselines/reference/TypeGuardWithArrayUnion.types b/tests/baselines/reference/TypeGuardWithArrayUnion.types
index 557e305ef74..8a81a762fd7 100644
--- a/tests/baselines/reference/TypeGuardWithArrayUnion.types
+++ b/tests/baselines/reference/TypeGuardWithArrayUnion.types
@@ -1,26 +1,26 @@
=== tests/cases/conformance/expressions/typeGuards/TypeGuardWithArrayUnion.ts ===
class Message {
->Message : Message
+>Message : Message, Symbol(Message, Decl(TypeGuardWithArrayUnion.ts, 0, 0))
value: string;
->value : string
+>value : string, Symbol(value, Decl(TypeGuardWithArrayUnion.ts, 0, 15))
}
function saySize(message: Message | Message[]) {
->saySize : (message: Message | Message[]) => number
->message : Message | Message[]
->Message : Message
->Message : Message
+>saySize : (message: Message | Message[]) => number, Symbol(saySize, Decl(TypeGuardWithArrayUnion.ts, 2, 1))
+>message : Message | Message[], Symbol(message, Decl(TypeGuardWithArrayUnion.ts, 4, 17))
+>Message : Message, Symbol(Message, Decl(TypeGuardWithArrayUnion.ts, 0, 0))
+>Message : Message, Symbol(Message, Decl(TypeGuardWithArrayUnion.ts, 0, 0))
if (message instanceof Array) {
>message instanceof Array : boolean
->message : Message | Message[]
->Array : ArrayConstructor
+>message : Message | Message[], Symbol(message, Decl(TypeGuardWithArrayUnion.ts, 4, 17))
+>Array : ArrayConstructor, Symbol(Array, Decl(lib.d.ts, 1000, 23), Decl(lib.d.ts, 1171, 11))
return message.length; // Should have type Message[] here
->message.length : number
->message : Message[]
->length : number
+>message.length : number, Symbol(Array.length, Decl(lib.d.ts, 1007, 20))
+>message : Message[], Symbol(message, Decl(TypeGuardWithArrayUnion.ts, 4, 17))
+>length : number, Symbol(Array.length, Decl(lib.d.ts, 1007, 20))
}
}
diff --git a/tests/baselines/reference/TypeGuardWithEnumUnion.types b/tests/baselines/reference/TypeGuardWithEnumUnion.types
index 9296e0ad04e..293b4c431c7 100644
--- a/tests/baselines/reference/TypeGuardWithEnumUnion.types
+++ b/tests/baselines/reference/TypeGuardWithEnumUnion.types
@@ -1,96 +1,100 @@
=== tests/cases/conformance/expressions/typeGuards/TypeGuardWithEnumUnion.ts ===
enum Color { R, G, B }
->Color : Color
->R : Color
->G : Color
->B : Color
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
+>R : Color, Symbol(Color.R, Decl(TypeGuardWithEnumUnion.ts, 0, 12))
+>G : Color, Symbol(Color.G, Decl(TypeGuardWithEnumUnion.ts, 0, 15))
+>B : Color, Symbol(Color.B, Decl(TypeGuardWithEnumUnion.ts, 0, 18))
function f1(x: Color | string) {
->f1 : (x: string | Color) => void
->x : string | Color
->Color : Color
+>f1 : (x: string | Color) => void, Symbol(f1, Decl(TypeGuardWithEnumUnion.ts, 0, 22))
+>x : string | Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 2, 12))
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
if (typeof x === "number") {
>typeof x === "number" : boolean
>typeof x : string
->x : string | Color
+>x : string | Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 2, 12))
+>"number" : string
var y = x;
->y : Color
->x : Color
+>y : Color, Symbol(y, Decl(TypeGuardWithEnumUnion.ts, 4, 11), Decl(TypeGuardWithEnumUnion.ts, 5, 11))
+>x : Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 2, 12))
var y: Color;
->y : Color
->Color : Color
+>y : Color, Symbol(y, Decl(TypeGuardWithEnumUnion.ts, 4, 11), Decl(TypeGuardWithEnumUnion.ts, 5, 11))
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
}
else {
var z = x;
->z : string
->x : string
+>z : string, Symbol(z, Decl(TypeGuardWithEnumUnion.ts, 8, 11), Decl(TypeGuardWithEnumUnion.ts, 9, 11))
+>x : string, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 2, 12))
var z: string;
->z : string
+>z : string, Symbol(z, Decl(TypeGuardWithEnumUnion.ts, 8, 11), Decl(TypeGuardWithEnumUnion.ts, 9, 11))
}
}
function f2(x: Color | string | string[]) {
->f2 : (x: string | string[] | Color) => void
->x : string | string[] | Color
->Color : Color
+>f2 : (x: string | string[] | Color) => void, Symbol(f2, Decl(TypeGuardWithEnumUnion.ts, 11, 1))
+>x : string | string[] | Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
if (typeof x === "object") {
>typeof x === "object" : boolean
>typeof x : string
->x : string | string[] | Color
+>x : string | string[] | Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
+>"object" : string
var y = x;
->y : string[]
->x : string[]
+>y : string[], Symbol(y, Decl(TypeGuardWithEnumUnion.ts, 15, 11), Decl(TypeGuardWithEnumUnion.ts, 16, 11))
+>x : string[], Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
var y: string[];
->y : string[]
+>y : string[], Symbol(y, Decl(TypeGuardWithEnumUnion.ts, 15, 11), Decl(TypeGuardWithEnumUnion.ts, 16, 11))
}
if (typeof x === "number") {
>typeof x === "number" : boolean
>typeof x : string
->x : string | string[] | Color
+>x : string | string[] | Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
+>"number" : string
var z = x;
->z : Color
->x : Color
+>z : Color, Symbol(z, Decl(TypeGuardWithEnumUnion.ts, 19, 11), Decl(TypeGuardWithEnumUnion.ts, 20, 11))
+>x : Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
var z: Color;
->z : Color
->Color : Color
+>z : Color, Symbol(z, Decl(TypeGuardWithEnumUnion.ts, 19, 11), Decl(TypeGuardWithEnumUnion.ts, 20, 11))
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
}
else {
var w = x;
->w : string | string[]
->x : string | string[]
+>w : string | string[], Symbol(w, Decl(TypeGuardWithEnumUnion.ts, 23, 11), Decl(TypeGuardWithEnumUnion.ts, 24, 11))
+>x : string | string[], Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
var w: string | string[];
->w : string | string[]
+>w : string | string[], Symbol(w, Decl(TypeGuardWithEnumUnion.ts, 23, 11), Decl(TypeGuardWithEnumUnion.ts, 24, 11))
}
if (typeof x === "string") {
>typeof x === "string" : boolean
>typeof x : string
->x : string | string[] | Color
+>x : string | string[] | Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
+>"string" : string
var a = x;
->a : string
->x : string
+>a : string, Symbol(a, Decl(TypeGuardWithEnumUnion.ts, 27, 11), Decl(TypeGuardWithEnumUnion.ts, 28, 11))
+>x : string, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
var a: string;
->a : string
+>a : string, Symbol(a, Decl(TypeGuardWithEnumUnion.ts, 27, 11), Decl(TypeGuardWithEnumUnion.ts, 28, 11))
}
else {
var b = x;
->b : string[] | Color
->x : string[] | Color
+>b : string[] | Color, Symbol(b, Decl(TypeGuardWithEnumUnion.ts, 31, 11), Decl(TypeGuardWithEnumUnion.ts, 32, 11))
+>x : string[] | Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
var b: Color | string[];
->b : string[] | Color
->Color : Color
+>b : string[] | Color, Symbol(b, Decl(TypeGuardWithEnumUnion.ts, 31, 11), Decl(TypeGuardWithEnumUnion.ts, 32, 11))
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
}
}
diff --git a/tests/baselines/reference/TypeGuardWithEnumUnion.types.pull b/tests/baselines/reference/TypeGuardWithEnumUnion.types.pull
index 33a40762445..d98eaa13192 100644
--- a/tests/baselines/reference/TypeGuardWithEnumUnion.types.pull
+++ b/tests/baselines/reference/TypeGuardWithEnumUnion.types.pull
@@ -1,96 +1,100 @@
=== tests/cases/conformance/expressions/typeGuards/TypeGuardWithEnumUnion.ts ===
enum Color { R, G, B }
->Color : Color
->R : Color
->G : Color
->B : Color
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
+>R : Color, Symbol(Color.R, Decl(TypeGuardWithEnumUnion.ts, 0, 12))
+>G : Color, Symbol(Color.G, Decl(TypeGuardWithEnumUnion.ts, 0, 15))
+>B : Color, Symbol(Color.B, Decl(TypeGuardWithEnumUnion.ts, 0, 18))
function f1(x: Color | string) {
->f1 : (x: string | Color) => void
->x : string | Color
->Color : Color
+>f1 : (x: string | Color) => void, Symbol(f1, Decl(TypeGuardWithEnumUnion.ts, 0, 22))
+>x : string | Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 2, 12))
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
if (typeof x === "number") {
>typeof x === "number" : boolean
>typeof x : string
->x : string | Color
+>x : string | Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 2, 12))
+>"number" : string
var y = x;
->y : Color
->x : Color
+>y : Color, Symbol(y, Decl(TypeGuardWithEnumUnion.ts, 4, 11), Decl(TypeGuardWithEnumUnion.ts, 5, 11))
+>x : Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 2, 12))
var y: Color;
->y : Color
->Color : Color
+>y : Color, Symbol(y, Decl(TypeGuardWithEnumUnion.ts, 4, 11), Decl(TypeGuardWithEnumUnion.ts, 5, 11))
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
}
else {
var z = x;
->z : string
->x : string
+>z : string, Symbol(z, Decl(TypeGuardWithEnumUnion.ts, 8, 11), Decl(TypeGuardWithEnumUnion.ts, 9, 11))
+>x : string, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 2, 12))
var z: string;
->z : string
+>z : string, Symbol(z, Decl(TypeGuardWithEnumUnion.ts, 8, 11), Decl(TypeGuardWithEnumUnion.ts, 9, 11))
}
}
function f2(x: Color | string | string[]) {
->f2 : (x: string | Color | string[]) => void
->x : string | Color | string[]
->Color : Color
+>f2 : (x: string | Color | string[]) => void, Symbol(f2, Decl(TypeGuardWithEnumUnion.ts, 11, 1))
+>x : string | Color | string[], Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
if (typeof x === "object") {
>typeof x === "object" : boolean
>typeof x : string
->x : string | Color | string[]
+>x : string | Color | string[], Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
+>"object" : string
var y = x;
->y : string[]
->x : string[]
+>y : string[], Symbol(y, Decl(TypeGuardWithEnumUnion.ts, 15, 11), Decl(TypeGuardWithEnumUnion.ts, 16, 11))
+>x : string[], Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
var y: string[];
->y : string[]
+>y : string[], Symbol(y, Decl(TypeGuardWithEnumUnion.ts, 15, 11), Decl(TypeGuardWithEnumUnion.ts, 16, 11))
}
if (typeof x === "number") {
>typeof x === "number" : boolean
>typeof x : string
->x : string | Color | string[]
+>x : string | Color | string[], Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
+>"number" : string
var z = x;
->z : Color
->x : Color
+>z : Color, Symbol(z, Decl(TypeGuardWithEnumUnion.ts, 19, 11), Decl(TypeGuardWithEnumUnion.ts, 20, 11))
+>x : Color, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
var z: Color;
->z : Color
->Color : Color
+>z : Color, Symbol(z, Decl(TypeGuardWithEnumUnion.ts, 19, 11), Decl(TypeGuardWithEnumUnion.ts, 20, 11))
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
}
else {
var w = x;
->w : string | string[]
->x : string | string[]
+>w : string | string[], Symbol(w, Decl(TypeGuardWithEnumUnion.ts, 23, 11), Decl(TypeGuardWithEnumUnion.ts, 24, 11))
+>x : string | string[], Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
var w: string | string[];
->w : string | string[]
+>w : string | string[], Symbol(w, Decl(TypeGuardWithEnumUnion.ts, 23, 11), Decl(TypeGuardWithEnumUnion.ts, 24, 11))
}
if (typeof x === "string") {
>typeof x === "string" : boolean
>typeof x : string
->x : string | Color | string[]
+>x : string | Color | string[], Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
+>"string" : string
var a = x;
->a : string
->x : string
+>a : string, Symbol(a, Decl(TypeGuardWithEnumUnion.ts, 27, 11), Decl(TypeGuardWithEnumUnion.ts, 28, 11))
+>x : string, Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
var a: string;
->a : string
+>a : string, Symbol(a, Decl(TypeGuardWithEnumUnion.ts, 27, 11), Decl(TypeGuardWithEnumUnion.ts, 28, 11))
}
else {
var b = x;
->b : Color | string[]
->x : Color | string[]
+>b : Color | string[], Symbol(b, Decl(TypeGuardWithEnumUnion.ts, 31, 11), Decl(TypeGuardWithEnumUnion.ts, 32, 11))
+>x : Color | string[], Symbol(x, Decl(TypeGuardWithEnumUnion.ts, 13, 12))
var b: Color | string[];
->b : Color | string[]
->Color : Color
+>b : Color | string[], Symbol(b, Decl(TypeGuardWithEnumUnion.ts, 31, 11), Decl(TypeGuardWithEnumUnion.ts, 32, 11))
+>Color : Color, Symbol(Color, Decl(TypeGuardWithEnumUnion.ts, 0, 0))
}
}
diff --git a/tests/baselines/reference/VariableDeclaration10_es6.types b/tests/baselines/reference/VariableDeclaration10_es6.types
index 47238fdd5a8..dc61a2a5431 100644
--- a/tests/baselines/reference/VariableDeclaration10_es6.types
+++ b/tests/baselines/reference/VariableDeclaration10_es6.types
@@ -1,4 +1,5 @@
=== tests/cases/conformance/es6/variableDeclarations/VariableDeclaration10_es6.ts ===
let a: number = 1
->a : number
+>a : number, Symbol(a, Decl(VariableDeclaration10_es6.ts, 0, 3))
+>1 : number
diff --git a/tests/baselines/reference/VariableDeclaration3_es6.types b/tests/baselines/reference/VariableDeclaration3_es6.types
index a172c8114cb..dd0bdfc8cc2 100644
--- a/tests/baselines/reference/VariableDeclaration3_es6.types
+++ b/tests/baselines/reference/VariableDeclaration3_es6.types
@@ -1,4 +1,5 @@
=== tests/cases/conformance/es6/variableDeclarations/VariableDeclaration3_es6.ts ===
const a = 1
->a : number
+>a : number, Symbol(a, Decl(VariableDeclaration3_es6.ts, 0, 5))
+>1 : number
diff --git a/tests/baselines/reference/VariableDeclaration5_es6.types b/tests/baselines/reference/VariableDeclaration5_es6.types
index a07894d533d..d063fc53a12 100644
--- a/tests/baselines/reference/VariableDeclaration5_es6.types
+++ b/tests/baselines/reference/VariableDeclaration5_es6.types
@@ -1,4 +1,5 @@
=== tests/cases/conformance/es6/variableDeclarations/VariableDeclaration5_es6.ts ===
const a: number = 1
->a : number
+>a : number, Symbol(a, Decl(VariableDeclaration5_es6.ts, 0, 5))
+>1 : number
diff --git a/tests/baselines/reference/VariableDeclaration7_es6.types b/tests/baselines/reference/VariableDeclaration7_es6.types
index 321c1b07bbc..00aabe32e65 100644
--- a/tests/baselines/reference/VariableDeclaration7_es6.types
+++ b/tests/baselines/reference/VariableDeclaration7_es6.types
@@ -1,4 +1,4 @@
=== tests/cases/conformance/es6/variableDeclarations/VariableDeclaration7_es6.ts ===
let a
->a : any
+>a : any, Symbol(a, Decl(VariableDeclaration7_es6.ts, 0, 3))
diff --git a/tests/baselines/reference/VariableDeclaration8_es6.types b/tests/baselines/reference/VariableDeclaration8_es6.types
index 530b147136d..ce6bb6f9bb7 100644
--- a/tests/baselines/reference/VariableDeclaration8_es6.types
+++ b/tests/baselines/reference/VariableDeclaration8_es6.types
@@ -1,4 +1,5 @@
=== tests/cases/conformance/es6/variableDeclarations/VariableDeclaration8_es6.ts ===
let a = 1
->a : number
+>a : number, Symbol(a, Decl(VariableDeclaration8_es6.ts, 0, 3))
+>1 : number
diff --git a/tests/baselines/reference/VariableDeclaration9_es6.types b/tests/baselines/reference/VariableDeclaration9_es6.types
index 6b29a04281b..e51fc72eece 100644
--- a/tests/baselines/reference/VariableDeclaration9_es6.types
+++ b/tests/baselines/reference/VariableDeclaration9_es6.types
@@ -1,4 +1,4 @@
=== tests/cases/conformance/es6/variableDeclarations/VariableDeclaration9_es6.ts ===
let a: number
->a : number
+>a : number, Symbol(a, Decl(VariableDeclaration9_es6.ts, 0, 3))
diff --git a/tests/baselines/reference/acceptableAlias1.types b/tests/baselines/reference/acceptableAlias1.types
index 213e5ad5bc3..7aae99a57b2 100644
--- a/tests/baselines/reference/acceptableAlias1.types
+++ b/tests/baselines/reference/acceptableAlias1.types
@@ -1,17 +1,17 @@
=== tests/cases/compiler/acceptableAlias1.ts ===
module M {
->M : typeof M
+>M : typeof M, Symbol(M, Decl(acceptableAlias1.ts, 0, 0))
export module N {
->N : unknown
+>N : any, Symbol(N, Decl(acceptableAlias1.ts, 0, 10))
}
export import X = N;
->X : unknown
->N : unknown
+>X : any, Symbol(X, Decl(acceptableAlias1.ts, 2, 5))
+>N : any, Symbol(N, Decl(acceptableAlias1.ts, 0, 10))
}
import r = M.X;
->r : unknown
->M : typeof M
->X : unknown
+>r : any, Symbol(r, Decl(acceptableAlias1.ts, 4, 1))
+>M : typeof M, Symbol(M, Decl(acceptableAlias1.ts, 0, 0))
+>X : any, Symbol(r, Decl(acceptableAlias1.ts, 0, 10))
diff --git a/tests/baselines/reference/accessOverriddenBaseClassMember1.types b/tests/baselines/reference/accessOverriddenBaseClassMember1.types
index 15007cebf4c..4ba32e3ff65 100644
--- a/tests/baselines/reference/accessOverriddenBaseClassMember1.types
+++ b/tests/baselines/reference/accessOverriddenBaseClassMember1.types
@@ -1,54 +1,57 @@
=== tests/cases/compiler/accessOverriddenBaseClassMember1.ts ===
class Point {
->Point : Point
+>Point : Point, Symbol(Point, Decl(accessOverriddenBaseClassMember1.ts, 0, 0))
constructor(public x: number, public y: number) { }
->x : number
->y : number
+>x : number, Symbol(x, Decl(accessOverriddenBaseClassMember1.ts, 1, 16))
+>y : number, Symbol(y, Decl(accessOverriddenBaseClassMember1.ts, 1, 33))
public toString() {
->toString : () => string
+>toString : () => string, Symbol(toString, Decl(accessOverriddenBaseClassMember1.ts, 1, 55))
return "x=" + this.x + " y=" + this.y;
>"x=" + this.x + " y=" + this.y : string
>"x=" + this.x + " y=" : string
>"x=" + this.x : string
->this.x : number
->this : Point
->x : number
->this.y : number
->this : Point
->y : number
+>"x=" : string
+>this.x : number, Symbol(x, Decl(accessOverriddenBaseClassMember1.ts, 1, 16))
+>this : Point, Symbol(Point, Decl(accessOverriddenBaseClassMember1.ts, 0, 0))
+>x : number, Symbol(x, Decl(accessOverriddenBaseClassMember1.ts, 1, 16))
+>" y=" : string
+>this.y : number, Symbol(y, Decl(accessOverriddenBaseClassMember1.ts, 1, 33))
+>this : Point, Symbol(Point, Decl(accessOverriddenBaseClassMember1.ts, 0, 0))
+>y : number, Symbol(y, Decl(accessOverriddenBaseClassMember1.ts, 1, 33))
}
}
class ColoredPoint extends Point {
->ColoredPoint : ColoredPoint
->Point : Point
+>ColoredPoint : ColoredPoint, Symbol(ColoredPoint, Decl(accessOverriddenBaseClassMember1.ts, 5, 1))
+>Point : Point, Symbol(Point, Decl(accessOverriddenBaseClassMember1.ts, 0, 0))
constructor(x: number, y: number, public color: string) {
->x : number
->y : number
->color : string
+>x : number, Symbol(x, Decl(accessOverriddenBaseClassMember1.ts, 7, 16))
+>y : number, Symbol(y, Decl(accessOverriddenBaseClassMember1.ts, 7, 26))
+>color : string, Symbol(color, Decl(accessOverriddenBaseClassMember1.ts, 7, 37))
super(x, y);
>super(x, y) : void
->super : typeof Point
->x : number
->y : number
+>super : typeof Point, Symbol(Point, Decl(accessOverriddenBaseClassMember1.ts, 0, 0))
+>x : number, Symbol(x, Decl(accessOverriddenBaseClassMember1.ts, 7, 16))
+>y : number, Symbol(y, Decl(accessOverriddenBaseClassMember1.ts, 7, 26))
}
public toString() {
->toString : () => string
+>toString : () => string, Symbol(toString, Decl(accessOverriddenBaseClassMember1.ts, 9, 5))
return super.toString() + " color=" + this.color;
>super.toString() + " color=" + this.color : string
>super.toString() + " color=" : string
>super.toString() : string
->super.toString : () => string
->super : Point
->toString : () => string
->this.color : string
->this : ColoredPoint
->color : string
+>super.toString : () => string, Symbol(Point.toString, Decl(accessOverriddenBaseClassMember1.ts, 1, 55))
+>super : Point, Symbol(Point, Decl(accessOverriddenBaseClassMember1.ts, 0, 0))
+>toString : () => string, Symbol(Point.toString, Decl(accessOverriddenBaseClassMember1.ts, 1, 55))
+>" color=" : string
+>this.color : string, Symbol(color, Decl(accessOverriddenBaseClassMember1.ts, 7, 37))
+>this : ColoredPoint, Symbol(ColoredPoint, Decl(accessOverriddenBaseClassMember1.ts, 5, 1))
+>color : string, Symbol(color, Decl(accessOverriddenBaseClassMember1.ts, 7, 37))
}
}
diff --git a/tests/baselines/reference/accessorWithES5.types b/tests/baselines/reference/accessorWithES5.types
index 9d4976dd91a..9bbfadce48c 100644
--- a/tests/baselines/reference/accessorWithES5.types
+++ b/tests/baselines/reference/accessorWithES5.types
@@ -1,37 +1,39 @@
=== tests/cases/conformance/classes/propertyMemberDeclarations/memberAccessorDeclarations/accessorWithES5.ts ===
class C {
->C : C
+>C : C, Symbol(C, Decl(accessorWithES5.ts, 0, 0))
get x() {
->x : number
+>x : number, Symbol(x, Decl(accessorWithES5.ts, 1, 9))
return 1;
+>1 : number
}
}
class D {
->D : D
+>D : D, Symbol(D, Decl(accessorWithES5.ts, 5, 1))
set x(v) {
->x : any
->v : any
+>x : any, Symbol(x, Decl(accessorWithES5.ts, 7, 9))
+>v : any, Symbol(v, Decl(accessorWithES5.ts, 8, 10))
}
}
var x = {
->x : { a: number; }
+>x : { a: number; }, Symbol(x, Decl(accessorWithES5.ts, 12, 3))
>{ get a() { return 1 }} : { a: number; }
get a() { return 1 }
->a : number
+>a : number, Symbol(a, Decl(accessorWithES5.ts, 12, 9))
+>1 : number
}
var y = {
->y : { b: any; }
+>y : { b: any; }, Symbol(y, Decl(accessorWithES5.ts, 16, 3))
>{ set b(v) { }} : { b: any; }
set b(v) { }
->b : any
->v : any
+>b : any, Symbol(b, Decl(accessorWithES5.ts, 16, 9))
+>v : any, Symbol(v, Decl(accessorWithES5.ts, 17, 10))
}
diff --git a/tests/baselines/reference/addMoreCallSignaturesToBaseSignature.types b/tests/baselines/reference/addMoreCallSignaturesToBaseSignature.types
index 212186ace77..da8dcb4d0be 100644
--- a/tests/baselines/reference/addMoreCallSignaturesToBaseSignature.types
+++ b/tests/baselines/reference/addMoreCallSignaturesToBaseSignature.types
@@ -1,24 +1,24 @@
=== tests/cases/compiler/addMoreCallSignaturesToBaseSignature.ts ===
interface Foo {
->Foo : Foo
+>Foo : Foo, Symbol(Foo, Decl(addMoreCallSignaturesToBaseSignature.ts, 0, 0))
(): string;
}
interface Bar extends Foo {
->Bar : Bar
->Foo : Foo
+>Bar : Bar, Symbol(Bar, Decl(addMoreCallSignaturesToBaseSignature.ts, 2, 1))
+>Foo : Foo, Symbol(Foo, Decl(addMoreCallSignaturesToBaseSignature.ts, 0, 0))
(key: string): string;
->key : string
+>key : string, Symbol(key, Decl(addMoreCallSignaturesToBaseSignature.ts, 5, 5))
}
var a: Bar;
->a : Bar
->Bar : Bar
+>a : Bar, Symbol(a, Decl(addMoreCallSignaturesToBaseSignature.ts, 8, 3))
+>Bar : Bar, Symbol(Bar, Decl(addMoreCallSignaturesToBaseSignature.ts, 2, 1))
var kitty = a();
->kitty : string
+>kitty : string, Symbol(kitty, Decl(addMoreCallSignaturesToBaseSignature.ts, 9, 3))
>a() : string
->a : Bar
+>a : Bar, Symbol(a, Decl(addMoreCallSignaturesToBaseSignature.ts, 8, 3))
diff --git a/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types b/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types
index a80986c8cd1..ed187a820cc 100644
--- a/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types
+++ b/tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.types
@@ -1,25 +1,26 @@
=== tests/cases/compiler/addMoreCallSignaturesToBaseSignature2.ts ===
interface Foo {
->Foo : Foo
+>Foo : Foo, Symbol(Foo, Decl(addMoreCallSignaturesToBaseSignature2.ts, 0, 0))
(bar:number): string;
->bar : number
+>bar : number, Symbol(bar, Decl(addMoreCallSignaturesToBaseSignature2.ts, 1, 5))
}
interface Bar extends Foo {
->Bar : Bar
->Foo : Foo
+>Bar : Bar, Symbol(Bar, Decl(addMoreCallSignaturesToBaseSignature2.ts, 2, 1))
+>Foo : Foo, Symbol(Foo, Decl(addMoreCallSignaturesToBaseSignature2.ts, 0, 0))
(key: string): string;
->key : string
+>key : string, Symbol(key, Decl(addMoreCallSignaturesToBaseSignature2.ts, 5, 5))
}
var a: Bar;
->a : Bar
->Bar : Bar
+>a : Bar, Symbol(a, Decl(addMoreCallSignaturesToBaseSignature2.ts, 8, 3))
+>Bar : Bar, Symbol(Bar, Decl(addMoreCallSignaturesToBaseSignature2.ts, 2, 1))
var kitty = a(1);
->kitty : string
+>kitty : string, Symbol(kitty, Decl(addMoreCallSignaturesToBaseSignature2.ts, 9, 3))
>a(1) : string
->a : Bar
+>a : Bar, Symbol(a, Decl(addMoreCallSignaturesToBaseSignature2.ts, 8, 3))
+>1 : number
diff --git a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types
index da534c68ad6..e4571680a9b 100644
--- a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types
+++ b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.types
@@ -1,168 +1,171 @@
=== tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithAnyAndEveryType.ts ===
function foo() { }
->foo : () => void
+>foo : () => void, Symbol(foo, Decl(additionOperatorWithAnyAndEveryType.ts, 0, 0))
class C {
->C : C
+>C : C, Symbol(C, Decl(additionOperatorWithAnyAndEveryType.ts, 0, 18))
public a: string;
->a : string
+>a : string, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 1, 9))
static foo() { }
->foo : () => void
+>foo : () => void, Symbol(C.foo, Decl(additionOperatorWithAnyAndEveryType.ts, 2, 21))
}
enum E { a, b, c }
->E : E
->a : E
->b : E
->c : E
+>E : E, Symbol(E, Decl(additionOperatorWithAnyAndEveryType.ts, 4, 1))
+>a : E, Symbol(E.a, Decl(additionOperatorWithAnyAndEveryType.ts, 5, 8))
+>b : E, Symbol(E.b, Decl(additionOperatorWithAnyAndEveryType.ts, 5, 11))
+>c : E, Symbol(E.c, Decl(additionOperatorWithAnyAndEveryType.ts, 5, 14))
module M { export var a }
->M : typeof M
->a : any
+>M : typeof M, Symbol(M, Decl(additionOperatorWithAnyAndEveryType.ts, 5, 18))
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 6, 21))
var a: any;
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
var b: boolean;
->b : boolean
+>b : boolean, Symbol(b, Decl(additionOperatorWithAnyAndEveryType.ts, 9, 3))
var c: number;
->c : number
+>c : number, Symbol(c, Decl(additionOperatorWithAnyAndEveryType.ts, 10, 3))
var d: string;
->d : string
+>d : string, Symbol(d, Decl(additionOperatorWithAnyAndEveryType.ts, 11, 3))
var e: Object;
->e : Object
->Object : Object
+>e : Object, Symbol(e, Decl(additionOperatorWithAnyAndEveryType.ts, 12, 3))
+>Object : Object, Symbol(Object, Decl(lib.d.ts, 92, 1), Decl(lib.d.ts, 223, 11))
// any as left operand, result is type Any except plusing string
var r1 = a + a;
->r1 : any
+>r1 : any, Symbol(r1, Decl(additionOperatorWithAnyAndEveryType.ts, 15, 3))
>a + a : any
->a : any
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
var r2 = a + b;
->r2 : any
+>r2 : any, Symbol(r2, Decl(additionOperatorWithAnyAndEveryType.ts, 16, 3))
>a + b : any
->a : any
->b : boolean
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>b : boolean, Symbol(b, Decl(additionOperatorWithAnyAndEveryType.ts, 9, 3))
var r3 = a + c;
->r3 : any
+>r3 : any, Symbol(r3, Decl(additionOperatorWithAnyAndEveryType.ts, 17, 3))
>a + c : any
->a : any
->c : number
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>c : number, Symbol(c, Decl(additionOperatorWithAnyAndEveryType.ts, 10, 3))
var r4 = a + d;
->r4 : string
+>r4 : string, Symbol(r4, Decl(additionOperatorWithAnyAndEveryType.ts, 18, 3))
>a + d : string
->a : any
->d : string
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>d : string, Symbol(d, Decl(additionOperatorWithAnyAndEveryType.ts, 11, 3))
var r5 = a + e;
->r5 : any
+>r5 : any, Symbol(r5, Decl(additionOperatorWithAnyAndEveryType.ts, 19, 3))
>a + e : any
->a : any
->e : Object
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>e : Object, Symbol(e, Decl(additionOperatorWithAnyAndEveryType.ts, 12, 3))
// any as right operand, result is type Any except plusing string
var r6 = b + a;
->r6 : any
+>r6 : any, Symbol(r6, Decl(additionOperatorWithAnyAndEveryType.ts, 22, 3))
>b + a : any
->b : boolean
->a : any
+>b : boolean, Symbol(b, Decl(additionOperatorWithAnyAndEveryType.ts, 9, 3))
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
var r7 = c + a;
->r7 : any
+>r7 : any, Symbol(r7, Decl(additionOperatorWithAnyAndEveryType.ts, 23, 3))
>c + a : any
->c : number
->a : any
+>c : number, Symbol(c, Decl(additionOperatorWithAnyAndEveryType.ts, 10, 3))
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
var r8 = d + a;
->r8 : string
+>r8 : string, Symbol(r8, Decl(additionOperatorWithAnyAndEveryType.ts, 24, 3))
>d + a : string
->d : string
->a : any
+>d : string, Symbol(d, Decl(additionOperatorWithAnyAndEveryType.ts, 11, 3))
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
var r9 = e + a;
->r9 : any
+>r9 : any, Symbol(r9, Decl(additionOperatorWithAnyAndEveryType.ts, 25, 3))
>e + a : any
->e : Object
->a : any
+>e : Object, Symbol(e, Decl(additionOperatorWithAnyAndEveryType.ts, 12, 3))
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
// other cases
var r10 = a + foo;
->r10 : any
+>r10 : any, Symbol(r10, Decl(additionOperatorWithAnyAndEveryType.ts, 28, 3))
>a + foo : any
->a : any
->foo : () => void
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>foo : () => void, Symbol(foo, Decl(additionOperatorWithAnyAndEveryType.ts, 0, 0))
var r11 = a + foo();
->r11 : any
+>r11 : any, Symbol(r11, Decl(additionOperatorWithAnyAndEveryType.ts, 29, 3))
>a + foo() : any
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
>foo() : void
->foo : () => void
+>foo : () => void, Symbol(foo, Decl(additionOperatorWithAnyAndEveryType.ts, 0, 0))
var r12 = a + C;
->r12 : any
+>r12 : any, Symbol(r12, Decl(additionOperatorWithAnyAndEveryType.ts, 30, 3))
>a + C : any
->a : any
->C : typeof C
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>C : typeof C, Symbol(C, Decl(additionOperatorWithAnyAndEveryType.ts, 0, 18))
var r13 = a + new C();
->r13 : any
+>r13 : any, Symbol(r13, Decl(additionOperatorWithAnyAndEveryType.ts, 31, 3))
>a + new C() : any
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
>new C() : C
->C : typeof C
+>C : typeof C, Symbol(C, Decl(additionOperatorWithAnyAndEveryType.ts, 0, 18))
var r14 = a + E;
->r14 : any
+>r14 : any, Symbol(r14, Decl(additionOperatorWithAnyAndEveryType.ts, 32, 3))
>a + E : any
->a : any
->E : typeof E
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>E : typeof E, Symbol(E, Decl(additionOperatorWithAnyAndEveryType.ts, 4, 1))
var r15 = a + E.a;
->r15 : any
+>r15 : any, Symbol(r15, Decl(additionOperatorWithAnyAndEveryType.ts, 33, 3))
>a + E.a : any
->a : any
->E.a : E
->E : typeof E
->a : E
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>E.a : E, Symbol(E.a, Decl(additionOperatorWithAnyAndEveryType.ts, 5, 8))
+>E : typeof E, Symbol(E, Decl(additionOperatorWithAnyAndEveryType.ts, 4, 1))
+>a : E, Symbol(E.a, Decl(additionOperatorWithAnyAndEveryType.ts, 5, 8))
var r16 = a + M;
->r16 : any
+>r16 : any, Symbol(r16, Decl(additionOperatorWithAnyAndEveryType.ts, 34, 3))
>a + M : any
->a : any
->M : typeof M
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>M : typeof M, Symbol(M, Decl(additionOperatorWithAnyAndEveryType.ts, 5, 18))
var r17 = a + '';
->r17 : string
+>r17 : string, Symbol(r17, Decl(additionOperatorWithAnyAndEveryType.ts, 35, 3))
>a + '' : string
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>'' : string
var r18 = a + 123;
->r18 : any
+>r18 : any, Symbol(r18, Decl(additionOperatorWithAnyAndEveryType.ts, 36, 3))
>a + 123 : any
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
+>123 : number
var r19 = a + { a: '' };
->r19 : any
+>r19 : any, Symbol(r19, Decl(additionOperatorWithAnyAndEveryType.ts, 37, 3))
>a + { a: '' } : any
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
>{ a: '' } : { a: string; }
->a : string
+>a : string, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 37, 15))
+>'' : string
var r20 = a + ((a: string) => { return a });
->r20 : any
+>r20 : any, Symbol(r20, Decl(additionOperatorWithAnyAndEveryType.ts, 38, 3))
>a + ((a: string) => { return a }) : any
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 8, 3))
>((a: string) => { return a }) : (a: string) => string
>(a: string) => { return a } : (a: string) => string
->a : string
->a : string
+>a : string, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 38, 16))
+>a : string, Symbol(a, Decl(additionOperatorWithAnyAndEveryType.ts, 38, 16))
diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types
index 4dade89f5e4..62db775555a 100644
--- a/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types
+++ b/tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.types
@@ -2,106 +2,128 @@
// If one operand is the null or undefined value, it is treated as having the type of the other operand.
enum E { a, b, c }
->E : E
->a : E
->b : E
->c : E
+>E : E, Symbol(E, Decl(additionOperatorWithNullValueAndValidOperator.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 2, 8))
+>b : E, Symbol(E.b, Decl(additionOperatorWithNullValueAndValidOperator.ts, 2, 11))
+>c : E, Symbol(E.c, Decl(additionOperatorWithNullValueAndValidOperator.ts, 2, 14))
var a: any;
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 4, 3))
var b: number;
->b : number
+>b : number, Symbol(b, Decl(additionOperatorWithNullValueAndValidOperator.ts, 5, 3))
var c: E;
->c : E
->E : E
+>c : E, Symbol(c, Decl(additionOperatorWithNullValueAndValidOperator.ts, 6, 3))
+>E : E, Symbol(E, Decl(additionOperatorWithNullValueAndValidOperator.ts, 0, 0))
var d: string;
->d : string
+>d : string, Symbol(d, Decl(additionOperatorWithNullValueAndValidOperator.ts, 7, 3))
// null + any
var r1: any = null + a;
->r1 : any
+>r1 : any, Symbol(r1, Decl(additionOperatorWithNullValueAndValidOperator.ts, 10, 3))
>null + a : any
->a : any
+>null : null
+>a : any, Symbol(a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 4, 3))
var r2: any = a + null;
->r2 : any
+>r2 : any, Symbol(r2, Decl(additionOperatorWithNullValueAndValidOperator.ts, 11, 3))
>a + null : any
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 4, 3))
+>null : null
// null + number/enum
var r3 = null + b;
->r3 : number
+>r3 : number, Symbol(r3, Decl(additionOperatorWithNullValueAndValidOperator.ts, 14, 3))
>null + b : number
->b : number
+>null : null
+>b : number, Symbol(b, Decl(additionOperatorWithNullValueAndValidOperator.ts, 5, 3))
var r4 = null + 1;
->r4 : number
+>r4 : number, Symbol(r4, Decl(additionOperatorWithNullValueAndValidOperator.ts, 15, 3))
>null + 1 : number
+>null : null
+>1 : number
var r5 = null + c;
->r5 : number
+>r5 : number, Symbol(r5, Decl(additionOperatorWithNullValueAndValidOperator.ts, 16, 3))
>null + c : number
->c : E
+>null : null
+>c : E, Symbol(c, Decl(additionOperatorWithNullValueAndValidOperator.ts, 6, 3))
var r6 = null + E.a;
->r6 : number
+>r6 : number, Symbol(r6, Decl(additionOperatorWithNullValueAndValidOperator.ts, 17, 3))
>null + E.a : number
->E.a : E
->E : typeof E
->a : E
+>null : null
+>E.a : E, Symbol(E.a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(additionOperatorWithNullValueAndValidOperator.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 2, 8))
var r7 = null + E['a'];
->r7 : number
+>r7 : number, Symbol(r7, Decl(additionOperatorWithNullValueAndValidOperator.ts, 18, 3))
>null + E['a'] : number
+>null : null
>E['a'] : E
->E : typeof E
+>E : typeof E, Symbol(E, Decl(additionOperatorWithNullValueAndValidOperator.ts, 0, 0))
+>'a' : string, Symbol(E.a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 2, 8))
var r8 = b + null;
->r8 : number
+>r8 : number, Symbol(r8, Decl(additionOperatorWithNullValueAndValidOperator.ts, 19, 3))
>b + null : number
->b : number
+>b : number, Symbol(b, Decl(additionOperatorWithNullValueAndValidOperator.ts, 5, 3))
+>null : null
var r9 = 1 + null;
->r9 : number
+>r9 : number, Symbol(r9, Decl(additionOperatorWithNullValueAndValidOperator.ts, 20, 3))
>1 + null : number
+>1 : number
+>null : null
var r10 = c + null
->r10 : number
+>r10 : number, Symbol(r10, Decl(additionOperatorWithNullValueAndValidOperator.ts, 21, 3))
>c + null : number
->c : E
+>c : E, Symbol(c, Decl(additionOperatorWithNullValueAndValidOperator.ts, 6, 3))
+>null : null
var r11 = E.a + null;
->r11 : number
+>r11 : number, Symbol(r11, Decl(additionOperatorWithNullValueAndValidOperator.ts, 22, 3))
>E.a + null : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(additionOperatorWithNullValueAndValidOperator.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 2, 8))
+>null : null
var r12 = E['a'] + null;
->r12 : number
+>r12 : number, Symbol(r12, Decl(additionOperatorWithNullValueAndValidOperator.ts, 23, 3))
>E['a'] + null : number
>E['a'] : E
->E : typeof E
+>E : typeof E, Symbol(E, Decl(additionOperatorWithNullValueAndValidOperator.ts, 0, 0))
+>'a' : string, Symbol(E.a, Decl(additionOperatorWithNullValueAndValidOperator.ts, 2, 8))
+>null : null
// null + string
var r13 = null + d;
->r13 : string
+>r13 : string, Symbol(r13, Decl(additionOperatorWithNullValueAndValidOperator.ts, 26, 3))
>null + d : string
->d : string
+>null : null
+>d : string, Symbol(d, Decl(additionOperatorWithNullValueAndValidOperator.ts, 7, 3))
var r14 = null + '';
->r14 : string
+>r14 : string, Symbol(r14, Decl(additionOperatorWithNullValueAndValidOperator.ts, 27, 3))
>null + '' : string
+>null : null
+>'' : string
var r15 = d + null;
->r15 : string
+>r15 : string, Symbol(r15, Decl(additionOperatorWithNullValueAndValidOperator.ts, 28, 3))
>d + null : string
->d : string
+>d : string, Symbol(d, Decl(additionOperatorWithNullValueAndValidOperator.ts, 7, 3))
+>null : null
var r16 = '' + null;
->r16 : string
+>r16 : string, Symbol(r16, Decl(additionOperatorWithNullValueAndValidOperator.ts, 29, 3))
>'' + null : string
+>'' : string
+>null : null
diff --git a/tests/baselines/reference/additionOperatorWithNumberAndEnum.types b/tests/baselines/reference/additionOperatorWithNumberAndEnum.types
index c22939ffd98..ffca2d5d5cd 100644
--- a/tests/baselines/reference/additionOperatorWithNumberAndEnum.types
+++ b/tests/baselines/reference/additionOperatorWithNumberAndEnum.types
@@ -1,115 +1,121 @@
=== tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNumberAndEnum.ts ===
enum E { a, b }
->E : E
->a : E
->b : E
+>E : E, Symbol(E, Decl(additionOperatorWithNumberAndEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(additionOperatorWithNumberAndEnum.ts, 0, 8))
+>b : E, Symbol(E.b, Decl(additionOperatorWithNumberAndEnum.ts, 0, 11))
enum F { c, d }
->F : F
->c : F
->d : F
+>F : F, Symbol(F, Decl(additionOperatorWithNumberAndEnum.ts, 0, 15))
+>c : F, Symbol(F.c, Decl(additionOperatorWithNumberAndEnum.ts, 1, 8))
+>d : F, Symbol(F.d, Decl(additionOperatorWithNumberAndEnum.ts, 1, 11))
var a: number;
->a : number
+>a : number, Symbol(a, Decl(additionOperatorWithNumberAndEnum.ts, 3, 3))
var b: E;
->b : E
->E : E
+>b : E, Symbol(b, Decl(additionOperatorWithNumberAndEnum.ts, 4, 3))
+>E : E, Symbol(E, Decl(additionOperatorWithNumberAndEnum.ts, 0, 0))
var c: E | F;
->c : E | F
->E : E
->F : F
+>c : E | F, Symbol(c, Decl(additionOperatorWithNumberAndEnum.ts, 5, 3))
+>E : E, Symbol(E, Decl(additionOperatorWithNumberAndEnum.ts, 0, 0))
+>F : F, Symbol(F, Decl(additionOperatorWithNumberAndEnum.ts, 0, 15))
var r1 = a + a;
->r1 : number
+>r1 : number, Symbol(r1, Decl(additionOperatorWithNumberAndEnum.ts, 7, 3))
>a + a : number
->a : number
->a : number
+>a : number, Symbol(a, Decl(additionOperatorWithNumberAndEnum.ts, 3, 3))
+>a : number, Symbol(a, Decl(additionOperatorWithNumberAndEnum.ts, 3, 3))
var r2 = a + b;
->r2 : number
+>r2 : number, Symbol(r2, Decl(additionOperatorWithNumberAndEnum.ts, 8, 3))
>a + b : number
->a : number
->b : E
+>a : number, Symbol(a, Decl(additionOperatorWithNumberAndEnum.ts, 3, 3))
+>b : E, Symbol(b, Decl(additionOperatorWithNumberAndEnum.ts, 4, 3))
var r3 = b + a;
->r3 : number
+>r3 : number, Symbol(r3, Decl(additionOperatorWithNumberAndEnum.ts, 9, 3))
>b + a : number
->b : E
->a : number
+>b : E, Symbol(b, Decl(additionOperatorWithNumberAndEnum.ts, 4, 3))
+>a : number, Symbol(a, Decl(additionOperatorWithNumberAndEnum.ts, 3, 3))
var r4 = b + b;
->r4 : number
+>r4 : number, Symbol(r4, Decl(additionOperatorWithNumberAndEnum.ts, 10, 3))
>b + b : number
->b : E
->b : E
+>b : E, Symbol(b, Decl(additionOperatorWithNumberAndEnum.ts, 4, 3))
+>b : E, Symbol(b, Decl(additionOperatorWithNumberAndEnum.ts, 4, 3))
var r5 = 0 + a;
->r5 : number
+>r5 : number, Symbol(r5, Decl(additionOperatorWithNumberAndEnum.ts, 12, 3))
>0 + a : number
->a : number
+>0 : number
+>a : number, Symbol(a, Decl(additionOperatorWithNumberAndEnum.ts, 3, 3))
var r6 = E.a + 0;
->r6 : number
+>r6 : number, Symbol(r6, Decl(additionOperatorWithNumberAndEnum.ts, 13, 3))
>E.a + 0 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(additionOperatorWithNumberAndEnum.ts, 0, 8))
+>E : typeof E, Symbol(E, Decl(additionOperatorWithNumberAndEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(additionOperatorWithNumberAndEnum.ts, 0, 8))
+>0 : number
var r7 = E.a + E.b;
->r7 : number
+>r7 : number, Symbol(r7, Decl(additionOperatorWithNumberAndEnum.ts, 14, 3))
>E.a + E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(additionOperatorWithNumberAndEnum.ts, 0, 8))
+>E : typeof E, Symbol(E, Decl(additionOperatorWithNumberAndEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(additionOperatorWithNumberAndEnum.ts, 0, 8))
+>E.b : E, Symbol(E.b, Decl(additionOperatorWithNumberAndEnum.ts, 0, 11))
+>E : typeof E, Symbol(E, Decl(additionOperatorWithNumberAndEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(additionOperatorWithNumberAndEnum.ts, 0, 11))
var r8 = E['a'] + E['b'];
->r8 : number
+>r8 : number, Symbol(r8, Decl(additionOperatorWithNumberAndEnum.ts, 15, 3))
>E['a'] + E['b'] : number
>E['a'] : E
->E : typeof E
+>E : typeof E, Symbol(E, Decl(additionOperatorWithNumberAndEnum.ts, 0, 0))
+>'a' : string, Symbol(E.a, Decl(additionOperatorWithNumberAndEnum.ts, 0, 8))
>E['b'] : E
->E : typeof E
+>E : typeof E, Symbol(E, Decl(additionOperatorWithNumberAndEnum.ts, 0, 0))
+>'b' : string, Symbol(E.b, Decl(additionOperatorWithNumberAndEnum.ts, 0, 11))
var r9 = E['a'] + F['c'];
->r9 : number
+>r9 : number, Symbol(r9, Decl(additionOperatorWithNumberAndEnum.ts, 16, 3))
>E['a'] + F['c'] : number
>E['a'] : E
->E : typeof E
+>E : typeof E, Symbol(E, Decl(additionOperatorWithNumberAndEnum.ts, 0, 0))
+>'a' : string, Symbol(E.a, Decl(additionOperatorWithNumberAndEnum.ts, 0, 8))
>F['c'] : F
->F : typeof F
+>F : typeof F, Symbol(F, Decl(additionOperatorWithNumberAndEnum.ts, 0, 15))
+>'c' : string, Symbol(F.c, Decl(additionOperatorWithNumberAndEnum.ts, 1, 8))
var r10 = a + c;
->r10 : number
+>r10 : number, Symbol(r10, Decl(additionOperatorWithNumberAndEnum.ts, 18, 3))
>a + c : number
->a : number
->c : E | F
+>a : number, Symbol(a, Decl(additionOperatorWithNumberAndEnum.ts, 3, 3))
+>c : E | F, Symbol(c, Decl(additionOperatorWithNumberAndEnum.ts, 5, 3))
var r11 = c + a;
->r11 : number
+>r11 : number, Symbol(r11, Decl(additionOperatorWithNumberAndEnum.ts, 19, 3))
>c + a : number
->c : E | F
->a : number
+>c : E | F, Symbol(c, Decl(additionOperatorWithNumberAndEnum.ts, 5, 3))
+>a : number, Symbol(a, Decl(additionOperatorWithNumberAndEnum.ts, 3, 3))
var r12 = b + c;
->r12 : number
+>r12 : number, Symbol(r12, Decl(additionOperatorWithNumberAndEnum.ts, 20, 3))
>b + c : number
->b : E
->c : E | F
+>b : E, Symbol(b, Decl(additionOperatorWithNumberAndEnum.ts, 4, 3))
+>c : E | F, Symbol(c, Decl(additionOperatorWithNumberAndEnum.ts, 5, 3))
var r13 = c + b;
->r13 : number
+>r13 : number, Symbol(r13, Decl(additionOperatorWithNumberAndEnum.ts, 21, 3))
>c + b : number
->c : E | F
->b : E
+>c : E | F, Symbol(c, Decl(additionOperatorWithNumberAndEnum.ts, 5, 3))
+>b : E, Symbol(b, Decl(additionOperatorWithNumberAndEnum.ts, 4, 3))
var r14 = c + c;
->r14 : number
+>r14 : number, Symbol(r14, Decl(additionOperatorWithNumberAndEnum.ts, 22, 3))
>c + c : number
->c : E | F
->c : E | F
+>c : E | F, Symbol(c, Decl(additionOperatorWithNumberAndEnum.ts, 5, 3))
+>c : E | F, Symbol(c, Decl(additionOperatorWithNumberAndEnum.ts, 5, 3))
diff --git a/tests/baselines/reference/additionOperatorWithStringAndEveryType.types b/tests/baselines/reference/additionOperatorWithStringAndEveryType.types
index 9d5a926c427..31fa60a2562 100644
--- a/tests/baselines/reference/additionOperatorWithStringAndEveryType.types
+++ b/tests/baselines/reference/additionOperatorWithStringAndEveryType.types
@@ -1,158 +1,161 @@
=== tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithStringAndEveryType.ts ===
enum E { a, b, c }
->E : E
->a : E
->b : E
->c : E
+>E : E, Symbol(E, Decl(additionOperatorWithStringAndEveryType.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(additionOperatorWithStringAndEveryType.ts, 0, 8))
+>b : E, Symbol(E.b, Decl(additionOperatorWithStringAndEveryType.ts, 0, 11))
+>c : E, Symbol(E.c, Decl(additionOperatorWithStringAndEveryType.ts, 0, 14))
var a: any;
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithStringAndEveryType.ts, 2, 3))
var b: boolean;
->b : boolean
+>b : boolean, Symbol(b, Decl(additionOperatorWithStringAndEveryType.ts, 3, 3))
var c: number;
->c : number
+>c : number, Symbol(c, Decl(additionOperatorWithStringAndEveryType.ts, 4, 3))
var d: string;
->d : string
+>d : string, Symbol(d, Decl(additionOperatorWithStringAndEveryType.ts, 5, 3))
var e: Object;
->e : Object
->Object : Object
+>e : Object, Symbol(e, Decl(additionOperatorWithStringAndEveryType.ts, 6, 3))
+>Object : Object, Symbol(Object, Decl(lib.d.ts, 92, 1), Decl(lib.d.ts, 223, 11))
var f: void;
->f : void
+>f : void, Symbol(f, Decl(additionOperatorWithStringAndEveryType.ts, 7, 3))
var g: E;
->g : E
->E : E
+>g : E, Symbol(g, Decl(additionOperatorWithStringAndEveryType.ts, 8, 3))
+>E : E, Symbol(E, Decl(additionOperatorWithStringAndEveryType.ts, 0, 0))
var x: string;
->x : string
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
// string could plus every type, and the result is always string
// string as left operand
var r1 = x + a;
->r1 : string
+>r1 : string, Symbol(r1, Decl(additionOperatorWithStringAndEveryType.ts, 14, 3))
>x + a : string
->x : string
->a : any
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
+>a : any, Symbol(a, Decl(additionOperatorWithStringAndEveryType.ts, 2, 3))
var r2 = x + b;
->r2 : string
+>r2 : string, Symbol(r2, Decl(additionOperatorWithStringAndEveryType.ts, 15, 3))
>x + b : string
->x : string
->b : boolean
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
+>b : boolean, Symbol(b, Decl(additionOperatorWithStringAndEveryType.ts, 3, 3))
var r3 = x + c;
->r3 : string
+>r3 : string, Symbol(r3, Decl(additionOperatorWithStringAndEveryType.ts, 16, 3))
>x + c : string
->x : string
->c : number
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
+>c : number, Symbol(c, Decl(additionOperatorWithStringAndEveryType.ts, 4, 3))
var r4 = x + d;
->r4 : string
+>r4 : string, Symbol(r4, Decl(additionOperatorWithStringAndEveryType.ts, 17, 3))
>x + d : string
->x : string
->d : string
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
+>d : string, Symbol(d, Decl(additionOperatorWithStringAndEveryType.ts, 5, 3))
var r5 = x + e;
->r5 : string
+>r5 : string, Symbol(r5, Decl(additionOperatorWithStringAndEveryType.ts, 18, 3))
>x + e : string
->x : string
->e : Object
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
+>e : Object, Symbol(e, Decl(additionOperatorWithStringAndEveryType.ts, 6, 3))
var r6 = x + f;
->r6 : string
+>r6 : string, Symbol(r6, Decl(additionOperatorWithStringAndEveryType.ts, 19, 3))
>x + f : string
->x : string
->f : void
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
+>f : void, Symbol(f, Decl(additionOperatorWithStringAndEveryType.ts, 7, 3))
var r7 = x + g;
->r7 : string
+>r7 : string, Symbol(r7, Decl(additionOperatorWithStringAndEveryType.ts, 20, 3))
>x + g : string
->x : string
->g : E
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
+>g : E, Symbol(g, Decl(additionOperatorWithStringAndEveryType.ts, 8, 3))
// string as right operand
var r8 = a + x;
->r8 : string
+>r8 : string, Symbol(r8, Decl(additionOperatorWithStringAndEveryType.ts, 23, 3))
>a + x : string
->a : any
->x : string
+>a : any, Symbol(a, Decl(additionOperatorWithStringAndEveryType.ts, 2, 3))
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r9 = b + x;
->r9 : string
+>r9 : string, Symbol(r9, Decl(additionOperatorWithStringAndEveryType.ts, 24, 3))
>b + x : string
->b : boolean
->x : string
+>b : boolean, Symbol(b, Decl(additionOperatorWithStringAndEveryType.ts, 3, 3))
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r10 = c + x;
->r10 : string
+>r10 : string, Symbol(r10, Decl(additionOperatorWithStringAndEveryType.ts, 25, 3))
>c + x : string
->c : number
->x : string
+>c : number, Symbol(c, Decl(additionOperatorWithStringAndEveryType.ts, 4, 3))
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r11 = d + x;
->r11 : string
+>r11 : string, Symbol(r11, Decl(additionOperatorWithStringAndEveryType.ts, 26, 3))
>d + x : string
->d : string
->x : string
+>d : string, Symbol(d, Decl(additionOperatorWithStringAndEveryType.ts, 5, 3))
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r12 = e + x;
->r12 : string
+>r12 : string, Symbol(r12, Decl(additionOperatorWithStringAndEveryType.ts, 27, 3))
>e + x : string
->e : Object
->x : string
+>e : Object, Symbol(e, Decl(additionOperatorWithStringAndEveryType.ts, 6, 3))
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r13 = f + x;
->r13 : string
+>r13 : string, Symbol(r13, Decl(additionOperatorWithStringAndEveryType.ts, 28, 3))
>f + x : string
->f : void
->x : string
+>f : void, Symbol(f, Decl(additionOperatorWithStringAndEveryType.ts, 7, 3))
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r14 = g + x;
->r14 : string
+>r14 : string, Symbol(r14, Decl(additionOperatorWithStringAndEveryType.ts, 29, 3))
>g + x : string
->g : E
->x : string
+>g : E, Symbol(g, Decl(additionOperatorWithStringAndEveryType.ts, 8, 3))
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
// other cases
var r15 = x + E;
->r15 : string
+>r15 : string, Symbol(r15, Decl(additionOperatorWithStringAndEveryType.ts, 32, 3))
>x + E : string
->x : string
->E : typeof E
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
+>E : typeof E, Symbol(E, Decl(additionOperatorWithStringAndEveryType.ts, 0, 0))
var r16 = x + E.a;
->r16 : string
+>r16 : string, Symbol(r16, Decl(additionOperatorWithStringAndEveryType.ts, 33, 3))
>x + E.a : string
->x : string
->E.a : E
->E : typeof E
->a : E
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
+>E.a : E, Symbol(E.a, Decl(additionOperatorWithStringAndEveryType.ts, 0, 8))
+>E : typeof E, Symbol(E, Decl(additionOperatorWithStringAndEveryType.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(additionOperatorWithStringAndEveryType.ts, 0, 8))
var r17 = x + '';
->r17 : string
+>r17 : string, Symbol(r17, Decl(additionOperatorWithStringAndEveryType.ts, 34, 3))
>x + '' : string
->x : string
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
+>'' : string
var r18 = x + 0;
->r18 : string
+>r18 : string, Symbol(r18, Decl(additionOperatorWithStringAndEveryType.ts, 35, 3))
>x + 0 : string
->x : string
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
+>0 : number
var r19 = x + { a: '' };
->r19 : string
+>r19 : string, Symbol(r19, Decl(additionOperatorWithStringAndEveryType.ts, 36, 3))
>x + { a: '' } : string
->x : string
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>{ a: '' } : { a: string; }
->a : string
+>a : string, Symbol(a, Decl(additionOperatorWithStringAndEveryType.ts, 36, 15))
+>'' : string
var r20 = x + [];
->r20 : string
+>r20 : string, Symbol(r20, Decl(additionOperatorWithStringAndEveryType.ts, 37, 3))
>x + [] : string
->x : string
+>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>[] : undefined[]
diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types
index 9a67b25024c..966c19aa8c4 100644
--- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types
+++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.types
@@ -2,122 +2,128 @@
// If one operand is the null or undefined value, it is treated as having the type of the other operand.
enum E { a, b, c }
->E : E
->a : E
->b : E
->c : E
+>E : E, Symbol(E, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 2, 8))
+>b : E, Symbol(E.b, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 2, 11))
+>c : E, Symbol(E.c, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 2, 14))
var a: any;
->a : any
+>a : any, Symbol(a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 4, 3))
var b: number;
->b : number
+>b : number, Symbol(b, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 5, 3))
var c: E;
->c : E
->E : E
+>c : E, Symbol(c, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 6, 3))
+>E : E, Symbol(E, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 0, 0))
var d: string;
->d : string
+>d : string, Symbol(d, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 7, 3))
// undefined + any
var r1: any = undefined + a;
->r1 : any
+>r1 : any, Symbol(r1, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 10, 3))
>undefined + a : any
->undefined : undefined
->a : any
+>undefined : undefined, Symbol(undefined)
+>a : any, Symbol(a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 4, 3))
var r2: any = a + undefined;
->r2 : any
+>r2 : any, Symbol(r2, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 11, 3))
>a + undefined : any
->a : any
->undefined : undefined
+>a : any, Symbol(a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 4, 3))
+>undefined : undefined, Symbol(undefined)
// undefined + number/enum
var r3 = undefined + b;
->r3 : number
+>r3 : number, Symbol(r3, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 14, 3))
>undefined + b : number
->undefined : undefined
->b : number
+>undefined : undefined, Symbol(undefined)
+>b : number, Symbol(b, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 5, 3))
var r4 = undefined + 1;
->r4 : number
+>r4 : number, Symbol(r4, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 15, 3))
>undefined + 1 : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>1 : number
var r5 = undefined + c;
->r5 : number
+>r5 : number, Symbol(r5, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 16, 3))
>undefined + c : number
->undefined : undefined
->c : E
+>undefined : undefined, Symbol(undefined)
+>c : E, Symbol(c, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 6, 3))
var r6 = undefined + E.a;
->r6 : number
+>r6 : number, Symbol(r6, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 17, 3))
>undefined + E.a : number
->undefined : undefined
->E.a : E
->E : typeof E
->a : E
+>undefined : undefined, Symbol(undefined)
+>E.a : E, Symbol(E.a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 2, 8))
var r7 = undefined + E['a'];
->r7 : number
+>r7 : number, Symbol(r7, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 18, 3))
>undefined + E['a'] : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
>E['a'] : E
->E : typeof E
+>E : typeof E, Symbol(E, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 0, 0))
+>'a' : string, Symbol(E.a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 2, 8))
var r8 = b + undefined;
->r8 : number
+>r8 : number, Symbol(r8, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 19, 3))
>b + undefined : number
->b : number
->undefined : undefined
+>b : number, Symbol(b, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 5, 3))
+>undefined : undefined, Symbol(undefined)
var r9 = 1 + undefined;
->r9 : number
+>r9 : number, Symbol(r9, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 20, 3))
>1 + undefined : number
->undefined : undefined
+>1 : number
+>undefined : undefined, Symbol(undefined)
var r10 = c + undefined
->r10 : number
+>r10 : number, Symbol(r10, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 21, 3))
>c + undefined : number
->c : E
->undefined : undefined
+>c : E, Symbol(c, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 6, 3))
+>undefined : undefined, Symbol(undefined)
var r11 = E.a + undefined;
->r11 : number
+>r11 : number, Symbol(r11, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 22, 3))
>E.a + undefined : number
->E.a : E
->E : typeof E
->a : E
->undefined : undefined
+>E.a : E, Symbol(E.a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 2, 8))
+>undefined : undefined, Symbol(undefined)
var r12 = E['a'] + undefined;
->r12 : number
+>r12 : number, Symbol(r12, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 23, 3))
>E['a'] + undefined : number
>E['a'] : E
->E : typeof E
->undefined : undefined
+>E : typeof E, Symbol(E, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 0, 0))
+>'a' : string, Symbol(E.a, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 2, 8))
+>undefined : undefined, Symbol(undefined)
// undefined + string
var r13 = undefined + d;
->r13 : string
+>r13 : string, Symbol(r13, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 26, 3))
>undefined + d : string
->undefined : undefined
->d : string
+>undefined : undefined, Symbol(undefined)
+>d : string, Symbol(d, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 7, 3))
var r14 = undefined + '';
->r14 : string
+>r14 : string, Symbol(r14, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 27, 3))
>undefined + '' : string
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>'' : string
var r15 = d + undefined;
->r15 : string
+>r15 : string, Symbol(r15, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 28, 3))
>d + undefined : string
->d : string
->undefined : undefined
+>d : string, Symbol(d, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 7, 3))
+>undefined : undefined, Symbol(undefined)
var r16 = '' + undefined;
->r16 : string
+>r16 : string, Symbol(r16, Decl(additionOperatorWithUndefinedValueAndValidOperator.ts, 29, 3))
>'' + undefined : string
->undefined : undefined
+>'' : string
+>undefined : undefined, Symbol(undefined)
diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types
index a666d2cee98..0a580a47b16 100644
--- a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types
+++ b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types
@@ -1,59 +1,61 @@
=== tests/cases/compiler/aliasUsage1_main.ts ===
import Backbone = require("aliasUsage1_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsage1_main.ts, 0, 0))
import moduleA = require("aliasUsage1_moduleA");
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsage1_main.ts, 0, 50))
interface IHasVisualizationModel {
->IHasVisualizationModel : IHasVisualizationModel
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsage1_main.ts, 1, 48))
VisualizationModel: typeof Backbone.Model;
->VisualizationModel : typeof Backbone.Model
->Backbone : typeof Backbone
->Model : typeof Backbone.Model
+>VisualizationModel : typeof Backbone.Model, Symbol(VisualizationModel, Decl(aliasUsage1_main.ts, 2, 34))
+>Backbone.Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsage1_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsage1_main.ts, 0, 0))
+>Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsage1_backbone.ts, 0, 0))
}
class C2 {
->C2 : C2
+>C2 : C2, Symbol(C2, Decl(aliasUsage1_main.ts, 4, 1))
x: IHasVisualizationModel;
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsage1_main.ts, 5, 10))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsage1_main.ts, 1, 48))
get A() {
->A : IHasVisualizationModel
+>A : IHasVisualizationModel, Symbol(A, Decl(aliasUsage1_main.ts, 6, 30), Decl(aliasUsage1_main.ts, 9, 5))
return this.x;
->this.x : IHasVisualizationModel
->this : C2
->x : IHasVisualizationModel
+>this.x : IHasVisualizationModel, Symbol(x, Decl(aliasUsage1_main.ts, 5, 10))
+>this : C2, Symbol(C2, Decl(aliasUsage1_main.ts, 4, 1))
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsage1_main.ts, 5, 10))
}
set A(x) {
->A : IHasVisualizationModel
->x : IHasVisualizationModel
+>A : IHasVisualizationModel, Symbol(A, Decl(aliasUsage1_main.ts, 6, 30), Decl(aliasUsage1_main.ts, 9, 5))
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsage1_main.ts, 10, 10))
x = moduleA;
>x = moduleA : typeof moduleA
->x : IHasVisualizationModel
->moduleA : typeof moduleA
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsage1_main.ts, 10, 10))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsage1_main.ts, 0, 50))
}
}
=== tests/cases/compiler/aliasUsage1_backbone.ts ===
export class Model {
->Model : Model
+>Model : Model, Symbol(Model, Decl(aliasUsage1_backbone.ts, 0, 0))
public someData: string;
->someData : string
+>someData : string, Symbol(someData, Decl(aliasUsage1_backbone.ts, 0, 20))
}
=== tests/cases/compiler/aliasUsage1_moduleA.ts ===
import Backbone = require("aliasUsage1_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsage1_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : VisualizationModel
->Backbone : typeof Backbone
->Model : Backbone.Model
+>VisualizationModel : VisualizationModel, Symbol(VisualizationModel, Decl(aliasUsage1_moduleA.ts, 0, 50))
+>Backbone.Model : any, Symbol(Backbone.Model, Decl(aliasUsage1_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsage1_moduleA.ts, 0, 0))
+>Model : Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsage1_backbone.ts, 0, 0))
// interesting stuff here
}
diff --git a/tests/baselines/reference/aliasUsageInArray.types b/tests/baselines/reference/aliasUsageInArray.types
index f7e2beb49dd..b7ff2670cd2 100644
--- a/tests/baselines/reference/aliasUsageInArray.types
+++ b/tests/baselines/reference/aliasUsageInArray.types
@@ -1,47 +1,49 @@
=== tests/cases/compiler/aliasUsageInArray_main.ts ===
import Backbone = require("aliasUsageInArray_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInArray_main.ts, 0, 0))
import moduleA = require("aliasUsageInArray_moduleA");
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 56))
interface IHasVisualizationModel {
->IHasVisualizationModel : IHasVisualizationModel
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInArray_main.ts, 1, 54))
VisualizationModel: typeof Backbone.Model;
->VisualizationModel : typeof Backbone.Model
->Backbone : typeof Backbone
->Model : typeof Backbone.Model
+>VisualizationModel : typeof Backbone.Model, Symbol(VisualizationModel, Decl(aliasUsageInArray_main.ts, 2, 34))
+>Backbone.Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInArray_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInArray_main.ts, 0, 0))
+>Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInArray_backbone.ts, 0, 0))
}
var xs: IHasVisualizationModel[] = [moduleA];
->xs : IHasVisualizationModel[]
->IHasVisualizationModel : IHasVisualizationModel
+>xs : IHasVisualizationModel[], Symbol(xs, Decl(aliasUsageInArray_main.ts, 6, 3))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInArray_main.ts, 1, 54))
>[moduleA] : typeof moduleA[]
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 56))
var xs2: typeof moduleA[] = [moduleA];
->xs2 : typeof moduleA[]
->moduleA : typeof moduleA
+>xs2 : typeof moduleA[], Symbol(xs2, Decl(aliasUsageInArray_main.ts, 7, 3))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 56))
>[moduleA] : typeof moduleA[]
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 56))
=== tests/cases/compiler/aliasUsageInArray_backbone.ts ===
export class Model {
->Model : Model
+>Model : Model, Symbol(Model, Decl(aliasUsageInArray_backbone.ts, 0, 0))
public someData: string;
->someData : string
+>someData : string, Symbol(someData, Decl(aliasUsageInArray_backbone.ts, 0, 20))
}
=== tests/cases/compiler/aliasUsageInArray_moduleA.ts ===
import Backbone = require("aliasUsageInArray_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInArray_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : VisualizationModel
->Backbone : typeof Backbone
->Model : Backbone.Model
+>VisualizationModel : VisualizationModel, Symbol(VisualizationModel, Decl(aliasUsageInArray_moduleA.ts, 0, 56))
+>Backbone.Model : any, Symbol(Backbone.Model, Decl(aliasUsageInArray_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInArray_moduleA.ts, 0, 0))
+>Model : Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInArray_backbone.ts, 0, 0))
// interesting stuff here
}
diff --git a/tests/baselines/reference/aliasUsageInFunctionExpression.types b/tests/baselines/reference/aliasUsageInFunctionExpression.types
index 392481d2d02..46ca7a9a76c 100644
--- a/tests/baselines/reference/aliasUsageInFunctionExpression.types
+++ b/tests/baselines/reference/aliasUsageInFunctionExpression.types
@@ -1,48 +1,50 @@
=== tests/cases/compiler/aliasUsageInFunctionExpression_main.ts ===
import Backbone = require("aliasUsageInFunctionExpression_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInFunctionExpression_main.ts, 0, 0))
import moduleA = require("aliasUsageInFunctionExpression_moduleA");
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInFunctionExpression_main.ts, 0, 69))
interface IHasVisualizationModel {
->IHasVisualizationModel : IHasVisualizationModel
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInFunctionExpression_main.ts, 1, 67))
VisualizationModel: typeof Backbone.Model;
->VisualizationModel : typeof Backbone.Model
->Backbone : typeof Backbone
->Model : typeof Backbone.Model
+>VisualizationModel : typeof Backbone.Model, Symbol(VisualizationModel, Decl(aliasUsageInFunctionExpression_main.ts, 2, 34))
+>Backbone.Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInFunctionExpression_main.ts, 0, 0))
+>Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 0))
}
var f = (x: IHasVisualizationModel) => x;
->f : (x: IHasVisualizationModel) => IHasVisualizationModel
+>f : (x: IHasVisualizationModel) => IHasVisualizationModel, Symbol(f, Decl(aliasUsageInFunctionExpression_main.ts, 5, 3))
>(x: IHasVisualizationModel) => x : (x: IHasVisualizationModel) => IHasVisualizationModel
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
->x : IHasVisualizationModel
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInFunctionExpression_main.ts, 5, 9))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInFunctionExpression_main.ts, 1, 67))
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInFunctionExpression_main.ts, 5, 9))
f = (x) => moduleA;
>f = (x) => moduleA : (x: IHasVisualizationModel) => typeof moduleA
->f : (x: IHasVisualizationModel) => IHasVisualizationModel
+>f : (x: IHasVisualizationModel) => IHasVisualizationModel, Symbol(f, Decl(aliasUsageInFunctionExpression_main.ts, 5, 3))
>(x) => moduleA : (x: IHasVisualizationModel) => typeof moduleA
->x : IHasVisualizationModel
->moduleA : typeof moduleA
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInFunctionExpression_main.ts, 6, 5))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInFunctionExpression_main.ts, 0, 69))
=== tests/cases/compiler/aliasUsageInFunctionExpression_backbone.ts ===
export class Model {
->Model : Model
+>Model : Model, Symbol(Model, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 0))
public someData: string;
->someData : string
+>someData : string, Symbol(someData, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 20))
}
=== tests/cases/compiler/aliasUsageInFunctionExpression_moduleA.ts ===
import Backbone = require("aliasUsageInFunctionExpression_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInFunctionExpression_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : VisualizationModel
->Backbone : typeof Backbone
->Model : Backbone.Model
+>VisualizationModel : VisualizationModel, Symbol(VisualizationModel, Decl(aliasUsageInFunctionExpression_moduleA.ts, 0, 69))
+>Backbone.Model : any, Symbol(Backbone.Model, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInFunctionExpression_moduleA.ts, 0, 0))
+>Model : Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 0))
// interesting stuff here
}
diff --git a/tests/baselines/reference/aliasUsageInGenericFunction.types b/tests/baselines/reference/aliasUsageInGenericFunction.types
index 568e885f51f..b32eb87fb19 100644
--- a/tests/baselines/reference/aliasUsageInGenericFunction.types
+++ b/tests/baselines/reference/aliasUsageInGenericFunction.types
@@ -1,62 +1,65 @@
=== tests/cases/compiler/aliasUsageInGenericFunction_main.ts ===
import Backbone = require("aliasUsageInGenericFunction_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInGenericFunction_main.ts, 0, 0))
import moduleA = require("aliasUsageInGenericFunction_moduleA");
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInGenericFunction_main.ts, 0, 66))
interface IHasVisualizationModel {
->IHasVisualizationModel : IHasVisualizationModel
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 1, 64))
VisualizationModel: typeof Backbone.Model;
->VisualizationModel : typeof Backbone.Model
->Backbone : typeof Backbone
->Model : typeof Backbone.Model
+>VisualizationModel : typeof Backbone.Model, Symbol(VisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 2, 34))
+>Backbone.Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInGenericFunction_main.ts, 0, 0))
+>Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 0))
}
function foo(x: T) {
->foo : (x: T) => T
->T : T
->a : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
->x : T
->T : T
+>foo : (x: T) => T, Symbol(foo, Decl(aliasUsageInGenericFunction_main.ts, 4, 1))
+>T : T, Symbol(T, Decl(aliasUsageInGenericFunction_main.ts, 5, 13))
+>a : IHasVisualizationModel, Symbol(a, Decl(aliasUsageInGenericFunction_main.ts, 5, 24))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 1, 64))
+>x : T, Symbol(x, Decl(aliasUsageInGenericFunction_main.ts, 5, 54))
+>T : T, Symbol(T, Decl(aliasUsageInGenericFunction_main.ts, 5, 13))
return x;
->x : T
+>x : T, Symbol(x, Decl(aliasUsageInGenericFunction_main.ts, 5, 54))
}
var r = foo({ a: moduleA });
->r : { a: typeof moduleA; }
+>r : { a: typeof moduleA; }, Symbol(r, Decl(aliasUsageInGenericFunction_main.ts, 8, 3))
>foo({ a: moduleA }) : { a: typeof moduleA; }
->foo : (x: T) => T
+>foo : (x: T) => T, Symbol(foo, Decl(aliasUsageInGenericFunction_main.ts, 4, 1))
>{ a: moduleA } : { a: typeof moduleA; }
->a : typeof moduleA
->moduleA : typeof moduleA
+>a : typeof moduleA, Symbol(a, Decl(aliasUsageInGenericFunction_main.ts, 8, 13))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInGenericFunction_main.ts, 0, 66))
var r2 = foo({ a: null });
->r2 : { a: IHasVisualizationModel; }
+>r2 : { a: IHasVisualizationModel; }, Symbol(r2, Decl(aliasUsageInGenericFunction_main.ts, 9, 3))
>foo({ a: null }) : { a: IHasVisualizationModel; }
->foo : (x: T) => T
+>foo : (x: T) => T, Symbol(foo, Decl(aliasUsageInGenericFunction_main.ts, 4, 1))
>{ a: null } : { a: IHasVisualizationModel; }
->a : IHasVisualizationModel
+>a : IHasVisualizationModel, Symbol(a, Decl(aliasUsageInGenericFunction_main.ts, 9, 14))
>null : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 1, 64))
+>null : null
=== tests/cases/compiler/aliasUsageInGenericFunction_backbone.ts ===
export class Model {
->Model : Model
+>Model : Model, Symbol(Model, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 0))
public someData: string;
->someData : string
+>someData : string, Symbol(someData, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 20))
}
=== tests/cases/compiler/aliasUsageInGenericFunction_moduleA.ts ===
import Backbone = require("aliasUsageInGenericFunction_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInGenericFunction_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : VisualizationModel
->Backbone : typeof Backbone
->Model : Backbone.Model
+>VisualizationModel : VisualizationModel, Symbol(VisualizationModel, Decl(aliasUsageInGenericFunction_moduleA.ts, 0, 66))
+>Backbone.Model : any, Symbol(Backbone.Model, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInGenericFunction_moduleA.ts, 0, 0))
+>Model : Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 0))
// interesting stuff here
}
diff --git a/tests/baselines/reference/aliasUsageInIndexerOfClass.types b/tests/baselines/reference/aliasUsageInIndexerOfClass.types
index e968abe597f..af3a88e9762 100644
--- a/tests/baselines/reference/aliasUsageInIndexerOfClass.types
+++ b/tests/baselines/reference/aliasUsageInIndexerOfClass.types
@@ -1,56 +1,58 @@
=== tests/cases/compiler/aliasUsageInIndexerOfClass_main.ts ===
import Backbone = require("aliasUsageInIndexerOfClass_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 0))
import moduleA = require("aliasUsageInIndexerOfClass_moduleA");
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 65))
interface IHasVisualizationModel {
->IHasVisualizationModel : IHasVisualizationModel
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 63))
VisualizationModel: typeof Backbone.Model;
->VisualizationModel : typeof Backbone.Model
->Backbone : typeof Backbone
->Model : typeof Backbone.Model
+>VisualizationModel : typeof Backbone.Model, Symbol(VisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 2, 34))
+>Backbone.Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 0))
+>Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 0))
}
class N {
->N : N
+>N : N, Symbol(N, Decl(aliasUsageInIndexerOfClass_main.ts, 4, 1))
[idx: string]: IHasVisualizationModel
->idx : string
->IHasVisualizationModel : IHasVisualizationModel
+>idx : string, Symbol(idx, Decl(aliasUsageInIndexerOfClass_main.ts, 6, 5))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 63))
x = moduleA;
->x : typeof moduleA
->moduleA : typeof moduleA
+>x : typeof moduleA, Symbol(x, Decl(aliasUsageInIndexerOfClass_main.ts, 6, 41))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 65))
}
class N2 {
->N2 : N2
+>N2 : N2, Symbol(N2, Decl(aliasUsageInIndexerOfClass_main.ts, 8, 1))
[idx: string]: typeof moduleA
->idx : string
->moduleA : typeof moduleA
+>idx : string, Symbol(idx, Decl(aliasUsageInIndexerOfClass_main.ts, 10, 5))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 65))
x: IHasVisualizationModel;
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInIndexerOfClass_main.ts, 10, 33))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 63))
}
=== tests/cases/compiler/aliasUsageInIndexerOfClass_backbone.ts ===
export class Model {
->Model : Model
+>Model : Model, Symbol(Model, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 0))
public someData: string;
->someData : string
+>someData : string, Symbol(someData, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 20))
}
=== tests/cases/compiler/aliasUsageInIndexerOfClass_moduleA.ts ===
import Backbone = require("aliasUsageInIndexerOfClass_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInIndexerOfClass_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : VisualizationModel
->Backbone : typeof Backbone
->Model : Backbone.Model
+>VisualizationModel : VisualizationModel, Symbol(VisualizationModel, Decl(aliasUsageInIndexerOfClass_moduleA.ts, 0, 65))
+>Backbone.Model : any, Symbol(Backbone.Model, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInIndexerOfClass_moduleA.ts, 0, 0))
+>Model : Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 0))
// interesting stuff here
}
diff --git a/tests/baselines/reference/aliasUsageInObjectLiteral.types b/tests/baselines/reference/aliasUsageInObjectLiteral.types
index 2e631a41cdf..8d5eed3ca7b 100644
--- a/tests/baselines/reference/aliasUsageInObjectLiteral.types
+++ b/tests/baselines/reference/aliasUsageInObjectLiteral.types
@@ -1,61 +1,63 @@
=== tests/cases/compiler/aliasUsageInObjectLiteral_main.ts ===
import Backbone = require("aliasUsageInObjectLiteral_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInObjectLiteral_main.ts, 0, 0))
import moduleA = require("aliasUsageInObjectLiteral_moduleA");
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 64))
interface IHasVisualizationModel {
->IHasVisualizationModel : IHasVisualizationModel
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 1, 62))
VisualizationModel: typeof Backbone.Model;
->VisualizationModel : typeof Backbone.Model
->Backbone : typeof Backbone
->Model : typeof Backbone.Model
+>VisualizationModel : typeof Backbone.Model, Symbol(VisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 2, 34))
+>Backbone.Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInObjectLiteral_main.ts, 0, 0))
+>Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 0))
}
var a: { x: typeof moduleA } = { x: moduleA };
->a : { x: typeof moduleA; }
->x : typeof moduleA
->moduleA : typeof moduleA
+>a : { x: typeof moduleA; }, Symbol(a, Decl(aliasUsageInObjectLiteral_main.ts, 5, 3))
+>x : typeof moduleA, Symbol(x, Decl(aliasUsageInObjectLiteral_main.ts, 5, 8))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 64))
>{ x: moduleA } : { x: typeof moduleA; }
->x : typeof moduleA
->moduleA : typeof moduleA
+>x : typeof moduleA, Symbol(x, Decl(aliasUsageInObjectLiteral_main.ts, 5, 32))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 64))
var b: { x: IHasVisualizationModel } = { x: moduleA };
->b : { x: IHasVisualizationModel; }
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>b : { x: IHasVisualizationModel; }, Symbol(b, Decl(aliasUsageInObjectLiteral_main.ts, 6, 3))
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInObjectLiteral_main.ts, 6, 8))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 1, 62))
>{ x: moduleA } : { x: typeof moduleA; }
->x : typeof moduleA
->moduleA : typeof moduleA
+>x : typeof moduleA, Symbol(x, Decl(aliasUsageInObjectLiteral_main.ts, 6, 40))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 64))
var c: { y: { z: IHasVisualizationModel } } = { y: { z: moduleA } };
->c : { y: { z: IHasVisualizationModel; }; }
->y : { z: IHasVisualizationModel; }
->z : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>c : { y: { z: IHasVisualizationModel; }; }, Symbol(c, Decl(aliasUsageInObjectLiteral_main.ts, 7, 3))
+>y : { z: IHasVisualizationModel; }, Symbol(y, Decl(aliasUsageInObjectLiteral_main.ts, 7, 8))
+>z : IHasVisualizationModel, Symbol(z, Decl(aliasUsageInObjectLiteral_main.ts, 7, 13))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 1, 62))
>{ y: { z: moduleA } } : { y: { z: typeof moduleA; }; }
->y : { z: typeof moduleA; }
+>y : { z: typeof moduleA; }, Symbol(y, Decl(aliasUsageInObjectLiteral_main.ts, 7, 47))
>{ z: moduleA } : { z: typeof moduleA; }
->z : typeof moduleA
->moduleA : typeof moduleA
+>z : typeof moduleA, Symbol(z, Decl(aliasUsageInObjectLiteral_main.ts, 7, 52))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 64))
=== tests/cases/compiler/aliasUsageInObjectLiteral_backbone.ts ===
export class Model {
->Model : Model
+>Model : Model, Symbol(Model, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 0))
public someData: string;
->someData : string
+>someData : string, Symbol(someData, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 20))
}
=== tests/cases/compiler/aliasUsageInObjectLiteral_moduleA.ts ===
import Backbone = require("aliasUsageInObjectLiteral_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInObjectLiteral_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : VisualizationModel
->Backbone : typeof Backbone
->Model : Backbone.Model
+>VisualizationModel : VisualizationModel, Symbol(VisualizationModel, Decl(aliasUsageInObjectLiteral_moduleA.ts, 0, 64))
+>Backbone.Model : any, Symbol(Backbone.Model, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInObjectLiteral_moduleA.ts, 0, 0))
+>Model : Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 0))
// interesting stuff here
}
diff --git a/tests/baselines/reference/aliasUsageInOrExpression.types b/tests/baselines/reference/aliasUsageInOrExpression.types
index 1a4dae90356..dace1e1f7fa 100644
--- a/tests/baselines/reference/aliasUsageInOrExpression.types
+++ b/tests/baselines/reference/aliasUsageInOrExpression.types
@@ -1,82 +1,87 @@
=== tests/cases/compiler/aliasUsageInOrExpression_main.ts ===
import Backbone = require("aliasUsageInOrExpression_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInOrExpression_main.ts, 0, 0))
import moduleA = require("aliasUsageInOrExpression_moduleA");
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
interface IHasVisualizationModel {
->IHasVisualizationModel : IHasVisualizationModel
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
VisualizationModel: typeof Backbone.Model;
->VisualizationModel : typeof Backbone.Model
->Backbone : typeof Backbone
->Model : typeof Backbone.Model
+>VisualizationModel : typeof Backbone.Model, Symbol(VisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 2, 34))
+>Backbone.Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInOrExpression_main.ts, 0, 0))
+>Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
}
var i: IHasVisualizationModel;
->i : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>i : IHasVisualizationModel, Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
var d1 = i || moduleA;
->d1 : IHasVisualizationModel
+>d1 : IHasVisualizationModel, Symbol(d1, Decl(aliasUsageInOrExpression_main.ts, 6, 3))
>i || moduleA : IHasVisualizationModel
->i : IHasVisualizationModel
->moduleA : typeof moduleA
+>i : IHasVisualizationModel, Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
var d2: IHasVisualizationModel = i || moduleA;
->d2 : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>d2 : IHasVisualizationModel, Symbol(d2, Decl(aliasUsageInOrExpression_main.ts, 7, 3), Decl(aliasUsageInOrExpression_main.ts, 8, 3))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
>i || moduleA : IHasVisualizationModel
->i : IHasVisualizationModel
->moduleA : typeof moduleA
+>i : IHasVisualizationModel, Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
var d2: IHasVisualizationModel = moduleA || i;
->d2 : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>d2 : IHasVisualizationModel, Symbol(d2, Decl(aliasUsageInOrExpression_main.ts, 7, 3), Decl(aliasUsageInOrExpression_main.ts, 8, 3))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
>moduleA || i : IHasVisualizationModel
->moduleA : typeof moduleA
->i : IHasVisualizationModel
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
+>i : IHasVisualizationModel, Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
var e: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null || { x: moduleA };
->e : { x: IHasVisualizationModel; }
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>e : { x: IHasVisualizationModel; }, Symbol(e, Decl(aliasUsageInOrExpression_main.ts, 9, 3))
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 9, 8))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
><{ x: IHasVisualizationModel }>null || { x: moduleA } : { x: IHasVisualizationModel; }
><{ x: IHasVisualizationModel }>null : { x: IHasVisualizationModel; }
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 9, 41))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
+>null : null
>{ x: moduleA } : { x: typeof moduleA; }
->x : typeof moduleA
->moduleA : typeof moduleA
+>x : typeof moduleA, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 9, 79))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
var f: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null ? { x: moduleA } : null;
->f : { x: IHasVisualizationModel; }
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>f : { x: IHasVisualizationModel; }, Symbol(f, Decl(aliasUsageInOrExpression_main.ts, 10, 3))
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 10, 8))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
><{ x: IHasVisualizationModel }>null ? { x: moduleA } : null : { x: typeof moduleA; }
><{ x: IHasVisualizationModel }>null : { x: IHasVisualizationModel; }
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 10, 41))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
+>null : null
>{ x: moduleA } : { x: typeof moduleA; }
->x : typeof moduleA
->moduleA : typeof moduleA
+>x : typeof moduleA, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 10, 78))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
+>null : null
=== tests/cases/compiler/aliasUsageInOrExpression_backbone.ts ===
export class Model {
->Model : Model
+>Model : Model, Symbol(Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
public someData: string;
->someData : string
+>someData : string, Symbol(someData, Decl(aliasUsageInOrExpression_backbone.ts, 0, 20))
}
=== tests/cases/compiler/aliasUsageInOrExpression_moduleA.ts ===
import Backbone = require("aliasUsageInOrExpression_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInOrExpression_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : VisualizationModel
->Backbone : typeof Backbone
->Model : Backbone.Model
+>VisualizationModel : VisualizationModel, Symbol(VisualizationModel, Decl(aliasUsageInOrExpression_moduleA.ts, 0, 63))
+>Backbone.Model : any, Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInOrExpression_moduleA.ts, 0, 0))
+>Model : Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
// interesting stuff here
}
diff --git a/tests/baselines/reference/aliasUsageInOrExpression.types.pull b/tests/baselines/reference/aliasUsageInOrExpression.types.pull
index 3b138d1404a..37fc6d54f33 100644
--- a/tests/baselines/reference/aliasUsageInOrExpression.types.pull
+++ b/tests/baselines/reference/aliasUsageInOrExpression.types.pull
@@ -1,82 +1,87 @@
=== tests/cases/compiler/aliasUsageInOrExpression_main.ts ===
import Backbone = require("aliasUsageInOrExpression_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInOrExpression_main.ts, 0, 0))
import moduleA = require("aliasUsageInOrExpression_moduleA");
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
interface IHasVisualizationModel {
->IHasVisualizationModel : IHasVisualizationModel
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
VisualizationModel: typeof Backbone.Model;
->VisualizationModel : typeof Backbone.Model
->Backbone : typeof Backbone
->Model : typeof Backbone.Model
+>VisualizationModel : typeof Backbone.Model, Symbol(VisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 2, 34))
+>Backbone.Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInOrExpression_main.ts, 0, 0))
+>Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
}
var i: IHasVisualizationModel;
->i : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>i : IHasVisualizationModel, Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
var d1 = i || moduleA;
->d1 : typeof moduleA
+>d1 : typeof moduleA, Symbol(d1, Decl(aliasUsageInOrExpression_main.ts, 6, 3))
>i || moduleA : typeof moduleA
->i : IHasVisualizationModel
->moduleA : typeof moduleA
+>i : IHasVisualizationModel, Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
var d2: IHasVisualizationModel = i || moduleA;
->d2 : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>d2 : IHasVisualizationModel, Symbol(d2, Decl(aliasUsageInOrExpression_main.ts, 7, 3), Decl(aliasUsageInOrExpression_main.ts, 8, 3))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
>i || moduleA : typeof moduleA
->i : IHasVisualizationModel
->moduleA : typeof moduleA
+>i : IHasVisualizationModel, Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
var d2: IHasVisualizationModel = moduleA || i;
->d2 : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>d2 : IHasVisualizationModel, Symbol(d2, Decl(aliasUsageInOrExpression_main.ts, 7, 3), Decl(aliasUsageInOrExpression_main.ts, 8, 3))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
>moduleA || i : typeof moduleA
->moduleA : typeof moduleA
->i : IHasVisualizationModel
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
+>i : IHasVisualizationModel, Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
var e: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null || { x: moduleA };
->e : { x: IHasVisualizationModel; }
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>e : { x: IHasVisualizationModel; }, Symbol(e, Decl(aliasUsageInOrExpression_main.ts, 9, 3))
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 9, 8))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
><{ x: IHasVisualizationModel }>null || { x: moduleA } : { x: IHasVisualizationModel; }
><{ x: IHasVisualizationModel }>null : { x: IHasVisualizationModel; }
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 9, 41))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
+>null : null
>{ x: moduleA } : { x: typeof moduleA; }
->x : typeof moduleA
->moduleA : typeof moduleA
+>x : typeof moduleA, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 9, 79))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
var f: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null ? { x: moduleA } : null;
->f : { x: IHasVisualizationModel; }
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>f : { x: IHasVisualizationModel; }, Symbol(f, Decl(aliasUsageInOrExpression_main.ts, 10, 3))
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 10, 8))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
><{ x: IHasVisualizationModel }>null ? { x: moduleA } : null : { x: typeof moduleA; }
><{ x: IHasVisualizationModel }>null : { x: IHasVisualizationModel; }
->x : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>x : IHasVisualizationModel, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 10, 41))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
+>null : null
>{ x: moduleA } : { x: typeof moduleA; }
->x : typeof moduleA
->moduleA : typeof moduleA
+>x : typeof moduleA, Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 10, 78))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
+>null : null
=== tests/cases/compiler/aliasUsageInOrExpression_backbone.ts ===
export class Model {
->Model : Model
+>Model : Model, Symbol(Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
public someData: string;
->someData : string
+>someData : string, Symbol(someData, Decl(aliasUsageInOrExpression_backbone.ts, 0, 20))
}
=== tests/cases/compiler/aliasUsageInOrExpression_moduleA.ts ===
import Backbone = require("aliasUsageInOrExpression_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInOrExpression_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : VisualizationModel
->Backbone : typeof Backbone
->Model : Backbone.Model
+>VisualizationModel : VisualizationModel, Symbol(VisualizationModel, Decl(aliasUsageInOrExpression_moduleA.ts, 0, 63))
+>Backbone.Model : any, Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInOrExpression_moduleA.ts, 0, 0))
+>Model : Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
// interesting stuff here
}
diff --git a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types
index 72f0aaf9e20..aef12f4fb23 100644
--- a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types
+++ b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types
@@ -1,52 +1,54 @@
=== tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_main.ts ===
import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 0, 0))
import moduleA = require("aliasUsageInTypeArgumentOfExtendsClause_moduleA");
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 0, 78))
interface IHasVisualizationModel {
->IHasVisualizationModel : IHasVisualizationModel
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 76))
VisualizationModel: typeof Backbone.Model;
->VisualizationModel : typeof Backbone.Model
->Backbone : typeof Backbone
->Model : typeof Backbone.Model
+>VisualizationModel : typeof Backbone.Model, Symbol(VisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 2, 34))
+>Backbone.Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 0, 0))
+>Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 0))
}
class C {
->C : C
->T : T
->IHasVisualizationModel : IHasVisualizationModel
+>C : C, Symbol(C, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 4, 1))
+>T : T, Symbol(T, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 5, 8))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 76))
x: T;
->x : T
->T : T
+>x : T, Symbol(x, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 5, 43))
+>T : T, Symbol(T, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 5, 8))
}
class D extends C {
->D : D
->C : C
->IHasVisualizationModel : IHasVisualizationModel
+>D : D, Symbol(D, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 7, 1))
+>C : C, Symbol(C, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 4, 1))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 76))
x = moduleA;
->x : typeof moduleA
->moduleA : typeof moduleA
+>x : typeof moduleA, Symbol(x, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 8, 43))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 0, 78))
}
=== tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_backbone.ts ===
export class Model {
->Model : Model
+>Model : Model, Symbol(Model, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 0))
public someData: string;
->someData : string
+>someData : string, Symbol(someData, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 20))
}
=== tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts ===
import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : VisualizationModel
->Backbone : typeof Backbone
->Model : Backbone.Model
+>VisualizationModel : VisualizationModel, Symbol(VisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts, 0, 78))
+>Backbone.Model : any, Symbol(Backbone.Model, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts, 0, 0))
+>Model : Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 0))
// interesting stuff here
}
diff --git a/tests/baselines/reference/aliasUsageInVarAssignment.types b/tests/baselines/reference/aliasUsageInVarAssignment.types
index 6b1c097ad97..b31cd522978 100644
--- a/tests/baselines/reference/aliasUsageInVarAssignment.types
+++ b/tests/baselines/reference/aliasUsageInVarAssignment.types
@@ -1,43 +1,45 @@
=== tests/cases/compiler/aliasUsageInVarAssignment_main.ts ===
import Backbone = require("aliasUsageInVarAssignment_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInVarAssignment_main.ts, 0, 0))
import moduleA = require("aliasUsageInVarAssignment_moduleA");
->moduleA : typeof moduleA
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInVarAssignment_main.ts, 0, 64))
interface IHasVisualizationModel {
->IHasVisualizationModel : IHasVisualizationModel
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInVarAssignment_main.ts, 1, 62))
VisualizationModel: typeof Backbone.Model;
->VisualizationModel : typeof Backbone.Model
->Backbone : typeof Backbone
->Model : typeof Backbone.Model
+>VisualizationModel : typeof Backbone.Model, Symbol(VisualizationModel, Decl(aliasUsageInVarAssignment_main.ts, 2, 34))
+>Backbone.Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInVarAssignment_main.ts, 0, 0))
+>Model : typeof Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 0))
}
var i: IHasVisualizationModel;
->i : IHasVisualizationModel
->IHasVisualizationModel : IHasVisualizationModel
+>i : IHasVisualizationModel, Symbol(i, Decl(aliasUsageInVarAssignment_main.ts, 5, 3))
+>IHasVisualizationModel : IHasVisualizationModel, Symbol(IHasVisualizationModel, Decl(aliasUsageInVarAssignment_main.ts, 1, 62))
var m: typeof moduleA = i;
->m : typeof moduleA
->moduleA : typeof moduleA
->i : IHasVisualizationModel
+>m : typeof moduleA, Symbol(m, Decl(aliasUsageInVarAssignment_main.ts, 6, 3))
+>moduleA : typeof moduleA, Symbol(moduleA, Decl(aliasUsageInVarAssignment_main.ts, 0, 64))
+>i : IHasVisualizationModel, Symbol(i, Decl(aliasUsageInVarAssignment_main.ts, 5, 3))
=== tests/cases/compiler/aliasUsageInVarAssignment_backbone.ts ===
export class Model {
->Model : Model
+>Model : Model, Symbol(Model, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 0))
public someData: string;
->someData : string
+>someData : string, Symbol(someData, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 20))
}
=== tests/cases/compiler/aliasUsageInVarAssignment_moduleA.ts ===
import Backbone = require("aliasUsageInVarAssignment_backbone");
->Backbone : typeof Backbone
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInVarAssignment_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : VisualizationModel
->Backbone : typeof Backbone
->Model : Backbone.Model
+>VisualizationModel : VisualizationModel, Symbol(VisualizationModel, Decl(aliasUsageInVarAssignment_moduleA.ts, 0, 64))
+>Backbone.Model : any, Symbol(Backbone.Model, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 0))
+>Backbone : typeof Backbone, Symbol(Backbone, Decl(aliasUsageInVarAssignment_moduleA.ts, 0, 0))
+>Model : Backbone.Model, Symbol(Backbone.Model, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 0))
// interesting stuff here
}
diff --git a/tests/baselines/reference/aliasUsedAsNameValue.types b/tests/baselines/reference/aliasUsedAsNameValue.types
index b8d92f28496..fc006f03a1b 100644
--- a/tests/baselines/reference/aliasUsedAsNameValue.types
+++ b/tests/baselines/reference/aliasUsedAsNameValue.types
@@ -2,30 +2,31 @@
///
///
import mod = require("aliasUsedAsNameValue_0");
->mod : typeof mod
+>mod : typeof mod, Symbol(mod, Decl(aliasUsedAsNameValue_2.ts, 0, 0))
import b = require("aliasUsedAsNameValue_1");
->b : typeof b
+>b : typeof b, Symbol(b, Decl(aliasUsedAsNameValue_2.ts, 2, 47))
export var a = function () {
->a : () => void
+>a : () => void, Symbol(a, Decl(aliasUsedAsNameValue_2.ts, 5, 10))
>function () { //var x = mod.id; // TODO needed hack that mod is loaded b.b(mod);} : () => void
//var x = mod.id; // TODO needed hack that mod is loaded
b.b(mod);
>b.b(mod) : any
->b.b : (a: any) => any
->b : typeof b
->b : (a: any) => any
->mod : typeof mod
+>b.b : (a: any) => any, Symbol(b.b, Decl(aliasUsedAsNameValue_1.ts, 0, 0))
+>b : typeof b, Symbol(b, Decl(aliasUsedAsNameValue_2.ts, 2, 47))
+>b : (a: any) => any, Symbol(b.b, Decl(aliasUsedAsNameValue_1.ts, 0, 0))
+>mod : typeof mod, Symbol(mod, Decl(aliasUsedAsNameValue_2.ts, 0, 0))
}
=== tests/cases/compiler/aliasUsedAsNameValue_0.ts ===
export var id: number;
->id : number
+>id : number, Symbol(id, Decl(aliasUsedAsNameValue_0.ts, 0, 10))
=== tests/cases/compiler/aliasUsedAsNameValue_1.ts ===
export function b(a: any): any { return null; }
->b : (a: any) => any
->a : any
+>b : (a: any) => any, Symbol(b, Decl(aliasUsedAsNameValue_1.ts, 0, 0))
+>a : any, Symbol(a, Decl(aliasUsedAsNameValue_1.ts, 0, 18))
+>null : null
diff --git a/tests/baselines/reference/ambientClassDeclarationWithExtends.types b/tests/baselines/reference/ambientClassDeclarationWithExtends.types
index 7609856882b..b8d3df42f2b 100644
--- a/tests/baselines/reference/ambientClassDeclarationWithExtends.types
+++ b/tests/baselines/reference/ambientClassDeclarationWithExtends.types
@@ -1,8 +1,8 @@
=== tests/cases/compiler/ambientClassDeclarationWithExtends.ts ===
declare class A { }
->A : A
+>A : A, Symbol(A, Decl(ambientClassDeclarationWithExtends.ts, 0, 0))
declare class B extends A { }
->B : B
->A : A
+>B : B, Symbol(B, Decl(ambientClassDeclarationWithExtends.ts, 0, 19))
+>A : A, Symbol(A, Decl(ambientClassDeclarationWithExtends.ts, 0, 0))
diff --git a/tests/baselines/reference/ambientDeclarations.types b/tests/baselines/reference/ambientDeclarations.types
index 38814405521..0bc407c7ef4 100644
--- a/tests/baselines/reference/ambientDeclarations.types
+++ b/tests/baselines/reference/ambientDeclarations.types
@@ -1,168 +1,170 @@
=== tests/cases/conformance/ambient/ambientDeclarations.ts ===
// Ambient variable without type annotation
declare var n;
->n : any
+>n : any, Symbol(n, Decl(ambientDeclarations.ts, 1, 11))
// Ambient variable with type annotation
declare var m: string;
->m : string
+>m : string, Symbol(m, Decl(ambientDeclarations.ts, 4, 11))
// Ambient function with no type annotations
declare function fn1();
->fn1 : () => any
+>fn1 : () => any, Symbol(fn1, Decl(ambientDeclarations.ts, 4, 22))
// Ambient function with type annotations
declare function fn2(n: string): number;
->fn2 : (n: string) => number
->n : string
+>fn2 : (n: string) => number, Symbol(fn2, Decl(ambientDeclarations.ts, 7, 23))
+>n : string, Symbol(n, Decl(ambientDeclarations.ts, 10, 21))
// Ambient function with valid overloads
declare function fn3(n: string): number;
->fn3 : (n: string) => number
->n : string
+>fn3 : (n: string) => number, Symbol(fn3, Decl(ambientDeclarations.ts, 10, 40))
+>n : string, Symbol(n, Decl(ambientDeclarations.ts, 13, 21))
declare function fn4(n: number, y: number): string;
->fn4 : (n: number, y: number) => string
->n : number
->y : number
+>fn4 : (n: number, y: number) => string, Symbol(fn4, Decl(ambientDeclarations.ts, 13, 40))
+>n : number, Symbol(n, Decl(ambientDeclarations.ts, 14, 21))
+>y : number, Symbol(y, Decl(ambientDeclarations.ts, 14, 31))
// Ambient function with optional parameters
declare function fn5(x, y?);
->fn5 : (x: any, y?: any) => any
->x : any
->y : any
+>fn5 : (x: any, y?: any) => any, Symbol(fn5, Decl(ambientDeclarations.ts, 14, 51))
+>x : any, Symbol(x, Decl(ambientDeclarations.ts, 17, 21))
+>y : any, Symbol(y, Decl(ambientDeclarations.ts, 17, 23))
declare function fn6(e?);
->fn6 : (e?: any) => any
->e : any
+>fn6 : (e?: any) => any, Symbol(fn6, Decl(ambientDeclarations.ts, 17, 28))
+>e : any, Symbol(e, Decl(ambientDeclarations.ts, 18, 21))
declare function fn7(x, y?, ...z);
->fn7 : (x: any, y?: any, ...z: any[]) => any
->x : any
->y : any
->z : any[]
+>fn7 : (x: any, y?: any, ...z: any[]) => any, Symbol(fn7, Decl(ambientDeclarations.ts, 18, 25))
+>x : any, Symbol(x, Decl(ambientDeclarations.ts, 19, 21))
+>y : any, Symbol(y, Decl(ambientDeclarations.ts, 19, 23))
+>z : any[], Symbol(z, Decl(ambientDeclarations.ts, 19, 27))
declare function fn8(y?, ...z: number[]);
->fn8 : (y?: any, ...z: number[]) => any
->y : any
->z : number[]
+>fn8 : (y?: any, ...z: number[]) => any, Symbol(fn8, Decl(ambientDeclarations.ts, 19, 34))
+>y : any, Symbol(y, Decl(ambientDeclarations.ts, 20, 21))
+>z : number[], Symbol(z, Decl(ambientDeclarations.ts, 20, 24))
declare function fn9(...q: {}[]);
->fn9 : (...q: {}[]) => any
->q : {}[]
+>fn9 : (...q: {}[]) => any, Symbol(fn9, Decl(ambientDeclarations.ts, 20, 41))
+>q : {}[], Symbol(q, Decl(ambientDeclarations.ts, 21, 21))
declare function fn10(...q: T[]);
->fn10 : (...q: T[]) => any
->T : T
->q : T[]
->T : T
+>fn10 : (...q: T[]) => any, Symbol(fn10, Decl(ambientDeclarations.ts, 21, 33))
+>T : T, Symbol(T, Decl(ambientDeclarations.ts, 22, 22))
+>q : T[], Symbol(q, Decl(ambientDeclarations.ts, 22, 25))
+>T : T, Symbol(T, Decl(ambientDeclarations.ts, 22, 22))
// Ambient class
declare class cls {
->cls : cls
+>cls : cls, Symbol(cls, Decl(ambientDeclarations.ts, 22, 36))
constructor();
method(): cls;
->method : () => cls
->cls : cls
+>method : () => cls, Symbol(method, Decl(ambientDeclarations.ts, 26, 18))
+>cls : cls, Symbol(cls, Decl(ambientDeclarations.ts, 22, 36))
static static(p): number;
->static : (p: any) => number
->p : any
+>static : (p: any) => number, Symbol(cls.static, Decl(ambientDeclarations.ts, 27, 18))
+>p : any, Symbol(p, Decl(ambientDeclarations.ts, 28, 18))
static q;
->q : any
+>q : any, Symbol(cls.q, Decl(ambientDeclarations.ts, 28, 29))
private fn();
->fn : () => any
+>fn : () => any, Symbol(fn, Decl(ambientDeclarations.ts, 29, 13))
private static fns();
->fns : () => any
+>fns : () => any, Symbol(cls.fns, Decl(ambientDeclarations.ts, 30, 17))
}
// Ambient enum
declare enum E1 {
->E1 : E1
+>E1 : E1, Symbol(E1, Decl(ambientDeclarations.ts, 32, 1))
x,
->x : E1
+>x : E1, Symbol(E1.x, Decl(ambientDeclarations.ts, 35, 17))
y,
->y : E1
+>y : E1, Symbol(E1.y, Decl(ambientDeclarations.ts, 36, 6))
z
->z : E1
+>z : E1, Symbol(E1.z, Decl(ambientDeclarations.ts, 37, 6))
}
// Ambient enum with integer literal initializer
declare enum E2 {
->E2 : E2
+>E2 : E2, Symbol(E2, Decl(ambientDeclarations.ts, 39, 1))
q,
->q : E2
+>q : E2, Symbol(E2.q, Decl(ambientDeclarations.ts, 42, 17))
a = 1,
->a : E2
+>a : E2, Symbol(E2.a, Decl(ambientDeclarations.ts, 43, 6))
+>1 : number
b,
->b : E2
+>b : E2, Symbol(E2.b, Decl(ambientDeclarations.ts, 44, 10))
c = 2,
->c : E2
+>c : E2, Symbol(E2.c, Decl(ambientDeclarations.ts, 45, 6))
+>2 : number
d
->d : E2
+>d : E2, Symbol(E2.d, Decl(ambientDeclarations.ts, 46, 10))
}
// Ambient enum members are always exported with or without export keyword
declare enum E3 {
->E3 : E3
+>E3 : E3, Symbol(E3, Decl(ambientDeclarations.ts, 48, 1), Decl(ambientDeclarations.ts, 53, 1))
A
->A : E3
+>A : E3, Symbol(E3.A, Decl(ambientDeclarations.ts, 51, 17))
}
declare module E3 {
->E3 : typeof E3
+>E3 : typeof E3, Symbol(E3, Decl(ambientDeclarations.ts, 48, 1), Decl(ambientDeclarations.ts, 53, 1))
var B;
->B : any
+>B : any, Symbol(B, Decl(ambientDeclarations.ts, 55, 7))
}
var x = E3.B;
->x : any
->E3.B : any
->E3 : typeof E3
->B : any
+>x : any, Symbol(x, Decl(ambientDeclarations.ts, 57, 3))
+>E3.B : any, Symbol(E3.B, Decl(ambientDeclarations.ts, 55, 7))
+>E3 : typeof E3, Symbol(E3, Decl(ambientDeclarations.ts, 48, 1), Decl(ambientDeclarations.ts, 53, 1))
+>B : any, Symbol(E3.B, Decl(ambientDeclarations.ts, 55, 7))
// Ambient module
declare module M1 {
->M1 : typeof M1
+>M1 : typeof M1, Symbol(M1, Decl(ambientDeclarations.ts, 57, 13))
var x;
->x : any
+>x : any, Symbol(x, Decl(ambientDeclarations.ts, 61, 7))
function fn(): number;
->fn : () => number
+>fn : () => number, Symbol(fn, Decl(ambientDeclarations.ts, 61, 10))
}
// Ambient module members are always exported with or without export keyword
var p = M1.x;
->p : any
->M1.x : any
->M1 : typeof M1
->x : any
+>p : any, Symbol(p, Decl(ambientDeclarations.ts, 66, 3))
+>M1.x : any, Symbol(M1.x, Decl(ambientDeclarations.ts, 61, 7))
+>M1 : typeof M1, Symbol(M1, Decl(ambientDeclarations.ts, 57, 13))
+>x : any, Symbol(M1.x, Decl(ambientDeclarations.ts, 61, 7))
var q = M1.fn();
->q : number
+>q : number, Symbol(q, Decl(ambientDeclarations.ts, 67, 3))
>M1.fn() : number
->M1.fn : () => number
->M1 : typeof M1
->fn : () => number
+>M1.fn : () => number, Symbol(M1.fn, Decl(ambientDeclarations.ts, 61, 10))
+>M1 : typeof M1, Symbol(M1, Decl(ambientDeclarations.ts, 57, 13))
+>fn : () => number, Symbol(M1.fn, Decl(ambientDeclarations.ts, 61, 10))
// Ambient external module in the global module
// Ambient external module with a string literal name that is a top level external module name
declare module 'external1' {
var q;
->q : any
+>q : any, Symbol(q, Decl(ambientDeclarations.ts, 72, 7))
}
diff --git a/tests/baselines/reference/ambientEnumElementInitializer1.types b/tests/baselines/reference/ambientEnumElementInitializer1.types
index da80015cbd5..7239ccac246 100644
--- a/tests/baselines/reference/ambientEnumElementInitializer1.types
+++ b/tests/baselines/reference/ambientEnumElementInitializer1.types
@@ -1,7 +1,8 @@
=== tests/cases/compiler/ambientEnumElementInitializer1.ts ===
declare enum E {
->E : E
+>E : E, Symbol(E, Decl(ambientEnumElementInitializer1.ts, 0, 0))
e = 3
->e : E
+>e : E, Symbol(E.e, Decl(ambientEnumElementInitializer1.ts, 0, 16))
+>3 : number
}
diff --git a/tests/baselines/reference/ambientEnumElementInitializer2.types b/tests/baselines/reference/ambientEnumElementInitializer2.types
index cb1414630b9..61ef74cb6bf 100644
--- a/tests/baselines/reference/ambientEnumElementInitializer2.types
+++ b/tests/baselines/reference/ambientEnumElementInitializer2.types
@@ -1,8 +1,9 @@
=== tests/cases/compiler/ambientEnumElementInitializer2.ts ===
declare enum E {
->E : E
+>E : E, Symbol(E, Decl(ambientEnumElementInitializer2.ts, 0, 0))
e = -3 // Negative
->e : E
+>e : E, Symbol(E.e, Decl(ambientEnumElementInitializer2.ts, 0, 16))
>-3 : number
+>3 : number
}
diff --git a/tests/baselines/reference/ambientEnumElementInitializer4.types b/tests/baselines/reference/ambientEnumElementInitializer4.types
index 566c03103a1..ea7664ae6c6 100644
--- a/tests/baselines/reference/ambientEnumElementInitializer4.types
+++ b/tests/baselines/reference/ambientEnumElementInitializer4.types
@@ -1,7 +1,8 @@
=== tests/cases/compiler/ambientEnumElementInitializer4.ts ===
declare enum E {
->E : E
+>E : E, Symbol(E, Decl(ambientEnumElementInitializer4.ts, 0, 0))
e = 0xA
->e : E
+>e : E, Symbol(E.e, Decl(ambientEnumElementInitializer4.ts, 0, 16))
+>0xA : number
}
diff --git a/tests/baselines/reference/ambientEnumElementInitializer5.types b/tests/baselines/reference/ambientEnumElementInitializer5.types
index 3b6198f0e24..cb6fdc29fc1 100644
--- a/tests/baselines/reference/ambientEnumElementInitializer5.types
+++ b/tests/baselines/reference/ambientEnumElementInitializer5.types
@@ -1,8 +1,9 @@
=== tests/cases/compiler/ambientEnumElementInitializer5.ts ===
declare enum E {
->E : E
+>E : E, Symbol(E, Decl(ambientEnumElementInitializer5.ts, 0, 0))
e = -0xA
->e : E
+>e : E, Symbol(E.e, Decl(ambientEnumElementInitializer5.ts, 0, 16))
>-0xA : number
+>0xA : number
}
diff --git a/tests/baselines/reference/ambientEnumElementInitializer6.types b/tests/baselines/reference/ambientEnumElementInitializer6.types
index 3a38fd6912d..1756629e4f2 100644
--- a/tests/baselines/reference/ambientEnumElementInitializer6.types
+++ b/tests/baselines/reference/ambientEnumElementInitializer6.types
@@ -1,11 +1,12 @@
=== tests/cases/compiler/ambientEnumElementInitializer6.ts ===
declare module M {
->M : typeof M
+>M : typeof M, Symbol(M, Decl(ambientEnumElementInitializer6.ts, 0, 0))
enum E {
->E : E
+>E : E, Symbol(E, Decl(ambientEnumElementInitializer6.ts, 0, 18))
e = 3
->e : E
+>e : E, Symbol(E.e, Decl(ambientEnumElementInitializer6.ts, 1, 12))
+>3 : number
}
}
diff --git a/tests/baselines/reference/ambientExternalModuleMerging.types b/tests/baselines/reference/ambientExternalModuleMerging.types
index 1c1be0fd256..716cc64f248 100644
--- a/tests/baselines/reference/ambientExternalModuleMerging.types
+++ b/tests/baselines/reference/ambientExternalModuleMerging.types
@@ -1,28 +1,28 @@
=== tests/cases/conformance/ambient/ambientExternalModuleMerging_use.ts ===
import M = require("M");
->M : typeof M
+>M : typeof M, Symbol(M, Decl(ambientExternalModuleMerging_use.ts, 0, 0))
// Should be strings
var x = M.x;
->x : string
->M.x : string
->M : typeof M
->x : string
+>x : string, Symbol(x, Decl(ambientExternalModuleMerging_use.ts, 2, 3))
+>M.x : string, Symbol(M.x, Decl(ambientExternalModuleMerging_declare.ts, 1, 14))
+>M : typeof M, Symbol(M, Decl(ambientExternalModuleMerging_use.ts, 0, 0))
+>x : string, Symbol(M.x, Decl(ambientExternalModuleMerging_declare.ts, 1, 14))
var y = M.y;
->y : string
->M.y : string
->M : typeof M
->y : string
+>y : string, Symbol(y, Decl(ambientExternalModuleMerging_use.ts, 3, 3))
+>M.y : string, Symbol(M.y, Decl(ambientExternalModuleMerging_declare.ts, 6, 14))
+>M : typeof M, Symbol(M, Decl(ambientExternalModuleMerging_use.ts, 0, 0))
+>y : string, Symbol(M.y, Decl(ambientExternalModuleMerging_declare.ts, 6, 14))
=== tests/cases/conformance/ambient/ambientExternalModuleMerging_declare.ts ===
declare module "M" {
export var x: string;
->x : string
+>x : string, Symbol(x, Decl(ambientExternalModuleMerging_declare.ts, 1, 14))
}
// Merge
declare module "M" {
export var y: string;
->y : string
+>y : string, Symbol(y, Decl(ambientExternalModuleMerging_declare.ts, 6, 14))
}
diff --git a/tests/baselines/reference/ambientExternalModuleReopen.types b/tests/baselines/reference/ambientExternalModuleReopen.types
index 842d634344c..fdc40f4cd4b 100644
--- a/tests/baselines/reference/ambientExternalModuleReopen.types
+++ b/tests/baselines/reference/ambientExternalModuleReopen.types
@@ -1,9 +1,9 @@
=== tests/cases/compiler/ambientExternalModuleReopen.ts ===
declare module "fs" {
var x: string;
->x : string
+>x : string, Symbol(x, Decl(ambientExternalModuleReopen.ts, 1, 7))
}
declare module 'fs' {
var y: number;
->y : number
+>y : number, Symbol(y, Decl(ambientExternalModuleReopen.ts, 4, 7))
}
diff --git a/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.types b/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.types
index 4e9043d1b75..2bd3929e286 100644
--- a/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.types
+++ b/tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.types
@@ -1,33 +1,33 @@
=== tests/cases/compiler/ambientExternalModuleWithInternalImportDeclaration_1.ts ===
///
import A = require('M');
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ambientExternalModuleWithInternalImportDeclaration_1.ts, 0, 0))
var c = new A();
->c : A
+>c : A, Symbol(c, Decl(ambientExternalModuleWithInternalImportDeclaration_1.ts, 2, 3))
>new A() : A
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ambientExternalModuleWithInternalImportDeclaration_1.ts, 0, 0))
=== tests/cases/compiler/ambientExternalModuleWithInternalImportDeclaration_0.ts ===
declare module 'M' {
module C {
->C : typeof C
+>C : typeof C, Symbol(C, Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 0, 20), Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 3, 5))
export var f: number;
->f : number
+>f : number, Symbol(f, Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 2, 18))
}
class C {
->C : C
+>C : C, Symbol(C, Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 0, 20), Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 3, 5))
foo(): void;
->foo : () => void
+>foo : () => void, Symbol(foo, Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 4, 13))
}
import X = C;
->X : typeof C
->C : C
+>X : typeof C, Symbol(X, Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 6, 5))
+>C : C, Symbol(C, Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 0, 20), Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 3, 5))
export = X;
->X : C
+>X : C, Symbol(X, Decl(ambientExternalModuleWithInternalImportDeclaration_0.ts, 6, 5))
}
diff --git a/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.types b/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.types
index 0029817400b..7131f7bbe8b 100644
--- a/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.types
+++ b/tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.types
@@ -1,29 +1,29 @@
=== tests/cases/compiler/ambientExternalModuleWithoutInternalImportDeclaration_1.ts ===
///
import A = require('M');
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ambientExternalModuleWithoutInternalImportDeclaration_1.ts, 0, 0))
var c = new A();
->c : A
+>c : A, Symbol(c, Decl(ambientExternalModuleWithoutInternalImportDeclaration_1.ts, 2, 3))
>new A() : A
->A : typeof A
+>A : typeof A, Symbol(A, Decl(ambientExternalModuleWithoutInternalImportDeclaration_1.ts, 0, 0))
=== tests/cases/compiler/ambientExternalModuleWithoutInternalImportDeclaration_0.ts ===
declare module 'M' {
module C {
->C : typeof C
+>C : typeof C, Symbol(C, Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 0, 20), Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 3, 5))
export var f: number;
->f : number
+>f : number, Symbol(f, Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 2, 18))
}
class C {
->C : C
+>C : C, Symbol(C, Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 0, 20), Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 3, 5))
foo(): void;
->foo : () => void
+>foo : () => void, Symbol(foo, Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 4, 13))
}
export = C;
->C : C
+>C : C, Symbol(C, Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 0, 20), Decl(ambientExternalModuleWithoutInternalImportDeclaration_0.ts, 3, 5))
}
diff --git a/tests/baselines/reference/ambientFundule.types b/tests/baselines/reference/ambientFundule.types
index edd2290859c..686c7c6fb85 100644
--- a/tests/baselines/reference/ambientFundule.types
+++ b/tests/baselines/reference/ambientFundule.types
@@ -1,12 +1,12 @@
=== tests/cases/compiler/ambientFundule.ts ===
declare function f();
->f : typeof f
+>f : typeof f, Symbol(f, Decl(ambientFundule.ts, 0, 0), Decl(ambientFundule.ts, 0, 21), Decl(ambientFundule.ts, 1, 26))
declare module f { var x }
->f : typeof f
->x : any
+>f : typeof f, Symbol(f, Decl(ambientFundule.ts, 0, 0), Decl(ambientFundule.ts, 0, 21), Decl(ambientFundule.ts, 1, 26))
+>x : any, Symbol(x, Decl(ambientFundule.ts, 1, 22))
declare function f(x);
->f : typeof f
->x : any
+>f : typeof f, Symbol(f, Decl(ambientFundule.ts, 0, 0), Decl(ambientFundule.ts, 0, 21), Decl(ambientFundule.ts, 1, 26))
+>x : any, Symbol(x, Decl(ambientFundule.ts, 2, 19))
diff --git a/tests/baselines/reference/ambientInsideNonAmbient.types b/tests/baselines/reference/ambientInsideNonAmbient.types
index ee654aee333..6ccc20aba93 100644
--- a/tests/baselines/reference/ambientInsideNonAmbient.types
+++ b/tests/baselines/reference/ambientInsideNonAmbient.types
@@ -1,38 +1,38 @@
=== tests/cases/conformance/ambient/ambientInsideNonAmbient.ts ===
module M {
->M : typeof M
+>M : typeof M, Symbol(M, Decl(ambientInsideNonAmbient.ts, 0, 0))
export declare var x;
->x : any
+>x : any, Symbol(x, Decl(ambientInsideNonAmbient.ts, 1, 22))
export declare function f();
->f : () => any
+>f : () => any, Symbol(f, Decl(ambientInsideNonAmbient.ts, 1, 25))
export declare class C { }
->C : C
+>C : C, Symbol(C, Decl(ambientInsideNonAmbient.ts, 2, 32))
export declare enum E { }
->E : E
+>E : E, Symbol(E, Decl(ambientInsideNonAmbient.ts, 3, 30))
export declare module M { }
->M : unknown
+>M : any, Symbol(M, Decl(ambientInsideNonAmbient.ts, 4, 29))
}
module M2 {
->M2 : typeof M2
+>M2 : typeof M2, Symbol(M2, Decl(ambientInsideNonAmbient.ts, 6, 1))
declare var x;
->x : any
+>x : any, Symbol(x, Decl(ambientInsideNonAmbient.ts, 9, 15))
declare function f();
->f : () => any
+>f : () => any, Symbol(f, Decl(ambientInsideNonAmbient.ts, 9, 18))
declare class C { }
->C : C
+>C : C, Symbol(C, Decl(ambientInsideNonAmbient.ts, 10, 25))
declare enum E { }
->E : E
+>E : E, Symbol(E, Decl(ambientInsideNonAmbient.ts, 11, 23))
declare module M { }
->M : unknown
+>M : any, Symbol(M, Decl(ambientInsideNonAmbient.ts, 12, 22))
}
diff --git a/tests/baselines/reference/ambientInsideNonAmbientExternalModule.types b/tests/baselines/reference/ambientInsideNonAmbientExternalModule.types
index bda7a61a7f3..698b963c78d 100644
--- a/tests/baselines/reference/ambientInsideNonAmbientExternalModule.types
+++ b/tests/baselines/reference/ambientInsideNonAmbientExternalModule.types
@@ -1,16 +1,16 @@
=== tests/cases/conformance/ambient/ambientInsideNonAmbientExternalModule.ts ===
export declare var x;
->x : any
+>x : any, Symbol(x, Decl(ambientInsideNonAmbientExternalModule.ts, 0, 18))
export declare function f();
->f : () => any
+>f : () => any, Symbol(f, Decl(ambientInsideNonAmbientExternalModule.ts, 0, 21))
export declare class C { }
->C : C
+>C : C, Symbol(C, Decl(ambientInsideNonAmbientExternalModule.ts, 1, 28))
export declare enum E { }
->E : E
+>E : E, Symbol(E, Decl(ambientInsideNonAmbientExternalModule.ts, 2, 26))
export declare module M { }
->M : unknown
+>M : any, Symbol(M, Decl(ambientInsideNonAmbientExternalModule.ts, 3, 25))
diff --git a/tests/baselines/reference/ambientModuleExports.types b/tests/baselines/reference/ambientModuleExports.types
index 3f096afa838..8149ab0c5f9 100644
--- a/tests/baselines/reference/ambientModuleExports.types
+++ b/tests/baselines/reference/ambientModuleExports.types
@@ -1,63 +1,63 @@
=== tests/cases/compiler/ambientModuleExports.ts ===
declare module Foo {
->Foo : typeof Foo
+>Foo : typeof Foo, Symbol(Foo, Decl(ambientModuleExports.ts, 0, 0))
function a():void;
->a : () => void
+>a : () => void, Symbol(a, Decl(ambientModuleExports.ts, 0, 20))
var b:number;
->b : number
+>b : number, Symbol(b, Decl(ambientModuleExports.ts, 2, 4))
class C {}
->C : C
+>C : C, Symbol(C, Decl(ambientModuleExports.ts, 2, 14))
}
Foo.a();
>Foo.a() : void
->Foo.a : () => void
->Foo : typeof Foo
->a : () => void
+>Foo.a : () => void, Symbol(Foo.a, Decl(ambientModuleExports.ts, 0, 20))
+>Foo : typeof Foo, Symbol(Foo, Decl(ambientModuleExports.ts, 0, 0))
+>a : () => void, Symbol(Foo.a, Decl(ambientModuleExports.ts, 0, 20))
Foo.b;
->Foo.b : number
->Foo : typeof Foo
->b : number
+>Foo.b : number, Symbol(Foo.b, Decl(ambientModuleExports.ts, 2, 4))
+>Foo : typeof Foo, Symbol(Foo, Decl(ambientModuleExports.ts, 0, 0))
+>b : number, Symbol(Foo.b, Decl(ambientModuleExports.ts, 2, 4))
var c = new Foo.C();
->c : Foo.C
+>c : Foo.C, Symbol(c, Decl(ambientModuleExports.ts, 8, 3))
>new Foo.C() : Foo.C
->Foo.C : typeof Foo.C
->Foo : typeof Foo
->C : typeof Foo.C
+>Foo.C : typeof Foo.C, Symbol(Foo.C, Decl(ambientModuleExports.ts, 2, 14))
+>Foo : typeof Foo, Symbol(Foo, Decl(ambientModuleExports.ts, 0, 0))
+>C : typeof Foo.C, Symbol(Foo.C, Decl(ambientModuleExports.ts, 2, 14))
declare module Foo2 {
->Foo2 : typeof Foo2
+>Foo2 : typeof Foo2, Symbol(Foo2, Decl(ambientModuleExports.ts, 8, 20))
export function a(): void;
->a : () => void
+>a : () => void, Symbol(a, Decl(ambientModuleExports.ts, 10, 21))
export var b: number;
->b : number
+>b : number, Symbol(b, Decl(ambientModuleExports.ts, 12, 14))
export class C { }
->C : C
+>C : C, Symbol(C, Decl(ambientModuleExports.ts, 12, 25))
}
Foo2.a();
>Foo2.a() : void
->Foo2.a : () => void
->Foo2 : typeof Foo2
->a : () => void
+>Foo2.a : () => void, Symbol(Foo2.a, Decl(ambientModuleExports.ts, 10, 21))
+>Foo2 : typeof Foo2, Symbol(Foo2, Decl(ambientModuleExports.ts, 8, 20))
+>a : () => void, Symbol(Foo2.a, Decl(ambientModuleExports.ts, 10, 21))
Foo2.b;
->Foo2.b : number
->Foo2 : typeof Foo2
->b : number
+>Foo2.b : number, Symbol(Foo2.b, Decl(ambientModuleExports.ts, 12, 14))
+>Foo2 : typeof Foo2, Symbol(Foo2, Decl(ambientModuleExports.ts, 8, 20))
+>b : number, Symbol(Foo2.b, Decl(ambientModuleExports.ts, 12, 14))
var c2 = new Foo2.C();
->c2 : Foo2.C
+>c2 : Foo2.C, Symbol(c2, Decl(ambientModuleExports.ts, 18, 3))
>new Foo2.C() : Foo2.C
->Foo2.C : typeof Foo2.C
->Foo2 : typeof Foo2
->C : typeof Foo2.C
+>Foo2.C : typeof Foo2.C, Symbol(Foo2.C, Decl(ambientModuleExports.ts, 12, 25))
+>Foo2 : typeof Foo2, Symbol(Foo2, Decl(ambientModuleExports.ts, 8, 20))
+>C : typeof Foo2.C, Symbol(Foo2.C, Decl(ambientModuleExports.ts, 12, 25))
diff --git a/tests/baselines/reference/ambientModuleWithClassDeclarationWithExtends.types b/tests/baselines/reference/ambientModuleWithClassDeclarationWithExtends.types
index 2708946518f..c2036fd70ae 100644
--- a/tests/baselines/reference/ambientModuleWithClassDeclarationWithExtends.types
+++ b/tests/baselines/reference/ambientModuleWithClassDeclarationWithExtends.types
@@ -1,11 +1,11 @@
=== tests/cases/compiler/ambientModuleWithClassDeclarationWithExtends.ts ===
declare module foo {
->foo : typeof foo
+>foo : typeof foo, Symbol(foo, Decl(ambientModuleWithClassDeclarationWithExtends.ts, 0, 0))
class A { }
->A : A
+>A : A, Symbol(A, Decl(ambientModuleWithClassDeclarationWithExtends.ts, 0, 20))
class B extends A { }
->B : B
->A : A
+>B : B, Symbol(B, Decl(ambientModuleWithClassDeclarationWithExtends.ts, 1, 15))
+>A : A, Symbol(A, Decl(ambientModuleWithClassDeclarationWithExtends.ts, 0, 20))
}
diff --git a/tests/baselines/reference/ambientModules.types b/tests/baselines/reference/ambientModules.types
index fe0aceef810..1484888e14e 100644
--- a/tests/baselines/reference/ambientModules.types
+++ b/tests/baselines/reference/ambientModules.types
@@ -1,14 +1,15 @@
=== tests/cases/compiler/ambientModules.ts ===
declare module Foo.Bar { export var foo; };
->Foo : typeof Foo
->Bar : typeof Bar
->foo : any
+>Foo : typeof Foo, Symbol(Foo, Decl(ambientModules.ts, 0, 0))
+>Bar : typeof Bar, Symbol(Bar, Decl(ambientModules.ts, 0, 19))
+>foo : any, Symbol(foo, Decl(ambientModules.ts, 0, 35))
Foo.Bar.foo = 5;
>Foo.Bar.foo = 5 : number
->Foo.Bar.foo : any
->Foo.Bar : typeof Foo.Bar
->Foo : typeof Foo
->Bar : typeof Foo.Bar
->foo : any
+>Foo.Bar.foo : any, Symbol(Foo.Bar.foo, Decl(ambientModules.ts, 0, 35))
+>Foo.Bar : typeof Foo.Bar, Symbol(Foo.Bar, Decl(ambientModules.ts, 0, 19))
+>Foo : typeof Foo, Symbol(Foo, Decl(ambientModules.ts, 0, 0))
+>Bar : typeof Foo.Bar, Symbol(Foo.Bar, Decl(ambientModules.ts, 0, 19))
+>foo : any, Symbol(Foo.Bar.foo, Decl(ambientModules.ts, 0, 35))
+>5 : number
diff --git a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types
index 4e508ba2df5..16d4d6f7d40 100644
--- a/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types
+++ b/tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.types
@@ -1,78 +1,79 @@
=== tests/cases/compiler/ambiguousCallsWhereReturnTypesAgree.ts ===
class TestClass {
->TestClass : TestClass
+>TestClass : TestClass, Symbol(TestClass, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 0))
public bar(x: string): void;
->bar : { (x: string): void; (x: string[]): void; }
->x : string
+>bar : { (x: string): void; (x: string[]): void; }, Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34))
+>x : string, Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 15))
public bar(x: string[]): void;
->bar : { (x: string): void; (x: string[]): void; }
->x : string[]
+>bar : { (x: string): void; (x: string[]): void; }, Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34))
+>x : string[], Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 15))
public bar(x: any): void {
->bar : { (x: string): void; (x: string[]): void; }
->x : any
+>bar : { (x: string): void; (x: string[]): void; }, Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34))
+>x : any, Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 3, 15))
}
public foo(x: string): void;
->foo : { (x: string): void; (x: string[]): void; }
->x : string
+>foo : { (x: string): void; (x: string[]): void; }, Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 5, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 7, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 8, 34))
+>x : string, Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 7, 15))
public foo(x: string[]): void;
->foo : { (x: string): void; (x: string[]): void; }
->x : string[]
+>foo : { (x: string): void; (x: string[]): void; }, Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 5, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 7, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 8, 34))
+>x : string[], Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 8, 15))
public foo(x: any): void {
->foo : { (x: string): void; (x: string[]): void; }
->x : any
+>foo : { (x: string): void; (x: string[]): void; }, Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 5, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 7, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 8, 34))
+>x : any, Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 9, 15))
this.bar(x); // should not error
>this.bar(x) : void
->this.bar : { (x: string): void; (x: string[]): void; }
->this : TestClass
->bar : { (x: string): void; (x: string[]): void; }
->x : any
+>this.bar : { (x: string): void; (x: string[]): void; }, Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34))
+>this : TestClass, Symbol(TestClass, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 0))
+>bar : { (x: string): void; (x: string[]): void; }, Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 0, 17), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 1, 32), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 2, 34))
+>x : any, Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 9, 15))
}
}
class TestClass2 {
->TestClass2 : TestClass2
+>TestClass2 : TestClass2, Symbol(TestClass2, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 12, 1))
public bar(x: string): number;
->bar : { (x: string): number; (x: string[]): number; }
->x : string
+>bar : { (x: string): number; (x: string[]): number; }, Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36))
+>x : string, Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 15))
public bar(x: string[]): number;
->bar : { (x: string): number; (x: string[]): number; }
->x : string[]
+>bar : { (x: string): number; (x: string[]): number; }, Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36))
+>x : string[], Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 15))
public bar(x: any): number {
->bar : { (x: string): number; (x: string[]): number; }
->x : any
+>bar : { (x: string): number; (x: string[]): number; }, Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36))
+>x : any, Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 17, 15))
return 0;
+>0 : number
}
public foo(x: string): number;
->foo : { (x: string): number; (x: string[]): number; }
->x : string
+>foo : { (x: string): number; (x: string[]): number; }, Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 19, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 21, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 22, 36))
+>x : string, Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 21, 15))
public foo(x: string[]): number;
->foo : { (x: string): number; (x: string[]): number; }
->x : string[]
+>foo : { (x: string): number; (x: string[]): number; }, Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 19, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 21, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 22, 36))
+>x : string[], Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 22, 15))
public foo(x: any): number {
->foo : { (x: string): number; (x: string[]): number; }
->x : any
+>foo : { (x: string): number; (x: string[]): number; }, Symbol(foo, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 19, 5), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 21, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 22, 36))
+>x : any, Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 23, 15))
return this.bar(x); // should not error
>this.bar(x) : number
->this.bar : { (x: string): number; (x: string[]): number; }
->this : TestClass2
->bar : { (x: string): number; (x: string[]): number; }
->x : any
+>this.bar : { (x: string): number; (x: string[]): number; }, Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36))
+>this : TestClass2, Symbol(TestClass2, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 12, 1))
+>bar : { (x: string): number; (x: string[]): number; }, Symbol(bar, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 14, 18), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 15, 34), Decl(ambiguousCallsWhereReturnTypesAgree.ts, 16, 36))
+>x : any, Symbol(x, Decl(ambiguousCallsWhereReturnTypesAgree.ts, 23, 15))
}
}
diff --git a/tests/baselines/reference/ambiguousOverloadResolution.types b/tests/baselines/reference/ambiguousOverloadResolution.types
index dd42b44d7c3..94d8a590155 100644
--- a/tests/baselines/reference/ambiguousOverloadResolution.types
+++ b/tests/baselines/reference/ambiguousOverloadResolution.types
@@ -1,34 +1,34 @@
=== tests/cases/compiler/ambiguousOverloadResolution.ts ===
class A { }
->A : A
+>A : A, Symbol(A, Decl(ambiguousOverloadResolution.ts, 0, 0))
class B extends A { x: number; }
->B : B
->A : A
->x : number
+>B : B, Symbol(B, Decl(ambiguousOverloadResolution.ts, 0, 11))
+>A : A, Symbol(A, Decl(ambiguousOverloadResolution.ts, 0, 0))
+>x : number, Symbol(x, Decl(ambiguousOverloadResolution.ts, 1, 19))
declare function f(p: A, q: B): number;
->f : { (p: A, q: B): number; (p: B, q: A): string; }
->p : A
->A : A
->q : B
->B : B
+>f : { (p: A, q: B): number; (p: B, q: A): string; }, Symbol(f, Decl(ambiguousOverloadResolution.ts, 1, 32), Decl(ambiguousOverloadResolution.ts, 3, 39))
+>p : A, Symbol(p, Decl(ambiguousOverloadResolution.ts, 3, 19))
+>A : A, Symbol(A, Decl(ambiguousOverloadResolution.ts, 0, 0))
+>q : B, Symbol(q, Decl(ambiguousOverloadResolution.ts, 3, 24))
+>B : B, Symbol(B, Decl(ambiguousOverloadResolution.ts, 0, 11))
declare function f(p: B, q: A): string;
->f : { (p: A, q: B): number; (p: B, q: A): string; }
->p : B
->B : B
->q : A
->A : A
+>f : { (p: A, q: B): number; (p: B, q: A): string; }, Symbol(f, Decl(ambiguousOverloadResolution.ts, 1, 32), Decl(ambiguousOverloadResolution.ts, 3, 39))
+>p : B, Symbol(p, Decl(ambiguousOverloadResolution.ts, 4, 19))
+>B : B, Symbol(B, Decl(ambiguousOverloadResolution.ts, 0, 11))
+>q : A, Symbol(q, Decl(ambiguousOverloadResolution.ts, 4, 24))
+>A : A, Symbol(A, Decl(ambiguousOverloadResolution.ts, 0, 0))
var x: B;
->x : B
->B : B
+>x : B, Symbol(x, Decl(ambiguousOverloadResolution.ts, 6, 3))
+>B : B, Symbol(B, Decl(ambiguousOverloadResolution.ts, 0, 11))
var t: number = f(x, x); // Not an error
->t : number
+>t : number, Symbol(t, Decl(ambiguousOverloadResolution.ts, 7, 3))
>f(x, x) : number
->f : { (p: A, q: B): number; (p: B, q: A): string; }
->x : B
->x : B
+>f : { (p: A, q: B): number; (p: B, q: A): string; }, Symbol(f, Decl(ambiguousOverloadResolution.ts, 1, 32), Decl(ambiguousOverloadResolution.ts, 3, 39))
+>x : B, Symbol(x, Decl(ambiguousOverloadResolution.ts, 6, 3))
+>x : B, Symbol(x, Decl(ambiguousOverloadResolution.ts, 6, 3))
diff --git a/tests/baselines/reference/amdImportAsPrimaryExpression.types b/tests/baselines/reference/amdImportAsPrimaryExpression.types
index f88bc9a1ffe..f055c162d09 100644
--- a/tests/baselines/reference/amdImportAsPrimaryExpression.types
+++ b/tests/baselines/reference/amdImportAsPrimaryExpression.types
@@ -1,25 +1,26 @@
=== tests/cases/conformance/externalModules/foo_1.ts ===
import foo = require("./foo_0");
->foo : typeof foo
+>foo : typeof foo, Symbol(foo, Decl(foo_1.ts, 0, 0))
if(foo.E1.A === 0){
>foo.E1.A === 0 : boolean
->foo.E1.A : foo.E1
->foo.E1 : typeof foo.E1
->foo : typeof foo
->E1 : typeof foo.E1
->A : foo.E1
+>foo.E1.A : foo.E1, Symbol(foo.E1.A, Decl(foo_0.ts, 0, 16))
+>foo.E1 : typeof foo.E1, Symbol(foo.E1, Decl(foo_0.ts, 0, 0))
+>foo : typeof foo, Symbol(foo, Decl(foo_1.ts, 0, 0))
+>E1 : typeof foo.E1, Symbol(foo.E1, Decl(foo_0.ts, 0, 0))
+>A : foo.E1, Symbol(foo.E1.A, Decl(foo_0.ts, 0, 16))
+>0 : number
// Should cause runtime import - interesting optimization possibility, as gets inlined to 0.
}
=== tests/cases/conformance/externalModules/foo_0.ts ===
export enum E1 {
->E1 : E1
+>E1 : E1, Symbol(E1, Decl(foo_0.ts, 0, 0))
A,B,C
->A : E1
->B : E1
->C : E1
+>A : E1, Symbol(E1.A, Decl(foo_0.ts, 0, 16))
+>B : E1, Symbol(E1.B, Decl(foo_0.ts, 1, 3))
+>C : E1, Symbol(E1.C, Decl(foo_0.ts, 1, 5))
}
diff --git a/tests/baselines/reference/amdImportNotAsPrimaryExpression.types b/tests/baselines/reference/amdImportNotAsPrimaryExpression.types
index bde0cb02b1e..61a55d73b0c 100644
--- a/tests/baselines/reference/amdImportNotAsPrimaryExpression.types
+++ b/tests/baselines/reference/amdImportNotAsPrimaryExpression.types
@@ -1,82 +1,88 @@
=== tests/cases/conformance/externalModules/foo_1.ts ===
import foo = require("./foo_0");
->foo : typeof foo
+>foo : typeof foo, Symbol(foo, Decl(foo_1.ts, 0, 0))
// None of the below should cause a runtime dependency on foo_0
import f = foo.M1;
->f : unknown
->foo : typeof foo
->M1 : unknown
+>f : any, Symbol(f, Decl(foo_1.ts, 0, 32))
+>foo : typeof foo, Symbol(foo, Decl(foo_0.ts, 0, 0))
+>M1 : any, Symbol(foo.M1, Decl(foo_0.ts, 8, 1))
var i: f.I2;
->i : f.I2
->f : unknown
->I2 : f.I2
+>i : f.I2, Symbol(i, Decl(foo_1.ts, 3, 3))
+>f : any, Symbol(f, Decl(foo_1.ts, 0, 32))
+>I2 : f.I2, Symbol(f.I2, Decl(foo_0.ts, 10, 18))
var x: foo.C1 = <{m1: number}>{};
->x : foo.C1
->foo : unknown
->C1 : foo.C1
+>x : foo.C1, Symbol(x, Decl(foo_1.ts, 4, 3))
+>foo : any, Symbol(foo, Decl(foo_1.ts, 0, 0))
+>C1 : foo.C1, Symbol(foo.C1, Decl(foo_0.ts, 0, 0))
><{m1: number}>{} : { m1: number; }
->m1 : number
+>m1 : number, Symbol(m1, Decl(foo_1.ts, 4, 18))
>{} : {}
var y: typeof foo.C1.s1 = false;
->y : boolean
->foo : typeof foo
->C1 : typeof foo.C1
->s1 : boolean
+>y : boolean, Symbol(y, Decl(foo_1.ts, 5, 3))
+>foo.C1.s1 : boolean, Symbol(foo.C1.s1, Decl(foo_0.ts, 1, 9))
+>foo.C1 : typeof foo.C1, Symbol(foo.C1, Decl(foo_0.ts, 0, 0))
+>foo : typeof foo, Symbol(foo, Decl(foo_1.ts, 0, 0))
+>C1 : typeof foo.C1, Symbol(foo.C1, Decl(foo_0.ts, 0, 0))
+>s1 : boolean, Symbol(foo.C1.s1, Decl(foo_0.ts, 1, 9))
+>false : boolean
var z: foo.M1.I2;
->z : f.I2
->foo : unknown
->M1 : unknown
->I2 : f.I2
+>z : f.I2, Symbol(z, Decl(foo_1.ts, 6, 3))
+>foo : any, Symbol(foo, Decl(foo_1.ts, 0, 0))
+>M1 : any, Symbol(foo.M1, Decl(foo_0.ts, 8, 1))
+>I2 : f.I2, Symbol(f.I2, Decl(foo_0.ts, 10, 18))
var e: number = 0;
->e : number
+>e : number, Symbol(e, Decl(foo_1.ts, 7, 3))
>0 : foo.E1
->foo : unknown
->E1 : foo.E1
+>foo : any, Symbol(foo, Decl(foo_1.ts, 0, 0))
+>E1 : foo.E1, Symbol(foo.E1, Decl(foo_0.ts, 14, 1))
+>0 : number
=== tests/cases/conformance/externalModules/foo_0.ts ===
export class C1 {
->C1 : C1
+>C1 : C1, Symbol(C1, Decl(foo_0.ts, 0, 0))
m1 = 42;
->m1 : number
+>m1 : number, Symbol(m1, Decl(foo_0.ts, 0, 17))
+>42 : number
static s1 = true;
->s1 : boolean
+>s1 : boolean, Symbol(C1.s1, Decl(foo_0.ts, 1, 9))
+>true : boolean
}
export interface I1 {
->I1 : I1
+>I1 : I1, Symbol(I1, Decl(foo_0.ts, 3, 1))
name: string;
->name : string
+>name : string, Symbol(name, Decl(foo_0.ts, 5, 21))
age: number;
->age : number
+>age : number, Symbol(age, Decl(foo_0.ts, 6, 14))
}
export module M1 {
->M1 : unknown
+>M1 : any, Symbol(M1, Decl(foo_0.ts, 8, 1))
export interface I2 {
->I2 : I2
+>I2 : I2, Symbol(I2, Decl(foo_0.ts, 10, 18))
foo: string;
->foo : string
+>foo : string, Symbol(foo, Decl(foo_0.ts, 11, 22))
}
}
export enum E1 {
->E1 : E1
+>E1 : E1, Symbol(E1, Decl(foo_0.ts, 14, 1))
A,B,C
->A : E1
->B : E1
->C : E1
+>A : E1, Symbol(E1.A, Decl(foo_0.ts, 16, 16))
+>B : E1, Symbol(E1.B, Decl(foo_0.ts, 17, 3))
+>C : E1, Symbol(E1.C, Decl(foo_0.ts, 17, 5))
}
diff --git a/tests/baselines/reference/amdModuleName1.types b/tests/baselines/reference/amdModuleName1.types
index 02ad9472354..90fdfcc9aa8 100644
--- a/tests/baselines/reference/amdModuleName1.types
+++ b/tests/baselines/reference/amdModuleName1.types
@@ -1,19 +1,20 @@
=== tests/cases/compiler/amdModuleName1.ts ===
///
class Foo {
->Foo : Foo
+>Foo : Foo, Symbol(Foo, Decl(amdModuleName1.ts, 0, 0))
x: number;
->x : number
+>x : number, Symbol(x, Decl(amdModuleName1.ts, 1, 11))
constructor() {
this.x = 5;
>this.x = 5 : number
->this.x : number
->this : Foo
->x : number
+>this.x : number, Symbol(x, Decl(amdModuleName1.ts, 1, 11))
+>this : Foo, Symbol(Foo, Decl(amdModuleName1.ts, 0, 0))
+>x : number, Symbol(x, Decl(amdModuleName1.ts, 1, 11))
+>5 : number
}
}
export = Foo;
->Foo : Foo
+>Foo : Foo, Symbol(Foo, Decl(amdModuleName1.ts, 0, 0))
diff --git a/tests/baselines/reference/anonterface.types b/tests/baselines/reference/anonterface.types
index 7b5b1401cac..1d84fe8f8e0 100644
--- a/tests/baselines/reference/anonterface.types
+++ b/tests/baselines/reference/anonterface.types
@@ -1,40 +1,42 @@
=== tests/cases/compiler/anonterface.ts ===
module M {
->M : typeof M
+>M : typeof M, Symbol(M, Decl(anonterface.ts, 0, 0))
export class C {
->C : C
+>C : C, Symbol(C, Decl(anonterface.ts, 0, 10))
m(fn:{ (n:number):string; },n2:number):string {
->m : (fn: (n: number) => string, n2: number) => string
->fn : (n: number) => string
->n : number
->n2 : number
+>m : (fn: (n: number) => string, n2: number) => string, Symbol(m, Decl(anonterface.ts, 1, 20))
+>fn : (n: number) => string, Symbol(fn, Decl(anonterface.ts, 2, 10))
+>n : number, Symbol(n, Decl(anonterface.ts, 2, 16))
+>n2 : number, Symbol(n2, Decl(anonterface.ts, 2, 36))
return fn(n2);
>fn(n2) : string
->fn : (n: number) => string
->n2 : number
+>fn : (n: number) => string, Symbol(fn, Decl(anonterface.ts, 2, 10))
+>n2 : number, Symbol(n2, Decl(anonterface.ts, 2, 36))
}
}
}
var c=new M.C();
->c : M.C
+>c : M.C, Symbol(c, Decl(anonterface.ts, 8, 3))
>new M.C() : M.C
->M.C : typeof M.C
->M : typeof M
->C : typeof M.C
+>M.C : typeof M.C, Symbol(M.C, Decl(anonterface.ts, 0, 10))
+>M : typeof M, Symbol(M, Decl(anonterface.ts, 0, 0))
+>C : typeof M.C, Symbol(M.C, Decl(anonterface.ts, 0, 10))
c.m(function(n) { return "hello: "+n; },18);
>c.m(function(n) { return "hello: "+n; },18) : string
->c.m : (fn: (n: number) => string, n2: number) => string
->c : M.C
->m : (fn: (n: number) => string, n2: number) => string
+>c.m : (fn: (n: number) => string, n2: number) => string, Symbol(M.C.m, Decl(anonterface.ts, 1, 20))
+>c : M.C, Symbol(c, Decl(anonterface.ts, 8, 3))
+>m : (fn: (n: number) => string, n2: number) => string, Symbol(M.C.m, Decl(anonterface.ts, 1, 20))
>function(n) { return "hello: "+n; } : (n: number) => string
->n : number
+>n : number, Symbol(n, Decl(anonterface.ts, 9, 13))
>"hello: "+n : string
->n : number
+>"hello: " : string
+>n : number, Symbol(n, Decl(anonterface.ts, 9, 13))
+>18 : number
diff --git a/tests/baselines/reference/anyAsFunctionCall.types b/tests/baselines/reference/anyAsFunctionCall.types
index 6492dce37d2..80e039f76dd 100644
--- a/tests/baselines/reference/anyAsFunctionCall.types
+++ b/tests/baselines/reference/anyAsFunctionCall.types
@@ -3,21 +3,22 @@
// can be called except with type arguments which is an error
var x: any;
->x : any
+>x : any, Symbol(x, Decl(anyAsFunctionCall.ts, 3, 3))
var a = x();
->a : any
+>a : any, Symbol(a, Decl(anyAsFunctionCall.ts, 4, 3))
>x() : any
->x : any
+>x : any, Symbol(x, Decl(anyAsFunctionCall.ts, 3, 3))
var b = x('hello');
->b : any
+>b : any, Symbol(b, Decl(anyAsFunctionCall.ts, 5, 3))
>x('hello') : any
->x : any
+>x : any, Symbol(x, Decl(anyAsFunctionCall.ts, 3, 3))
+>'hello' : string
var c = x(x);
->c : any
+>c : any, Symbol(c, Decl(anyAsFunctionCall.ts, 6, 3))
>x(x) : any
->x : any
->x : any
+>x : any, Symbol(x, Decl(anyAsFunctionCall.ts, 3, 3))
+>x : any, Symbol(x, Decl(anyAsFunctionCall.ts, 3, 3))
diff --git a/tests/baselines/reference/anyAsReturnTypeForNewOnCall.types b/tests/baselines/reference/anyAsReturnTypeForNewOnCall.types
index f25cd57831b..2abdb1cbeda 100644
--- a/tests/baselines/reference/anyAsReturnTypeForNewOnCall.types
+++ b/tests/baselines/reference/anyAsReturnTypeForNewOnCall.types
@@ -1,34 +1,36 @@
=== tests/cases/compiler/anyAsReturnTypeForNewOnCall.ts ===
function Point(x, y) {
->Point : (x: any, y: any) => void
->x : any
->y : any
+>Point : (x: any, y: any) => void, Symbol(Point, Decl(anyAsReturnTypeForNewOnCall.ts, 0, 0))
+>x : any, Symbol(x, Decl(anyAsReturnTypeForNewOnCall.ts, 0, 15))
+>y : any, Symbol(y, Decl(anyAsReturnTypeForNewOnCall.ts, 0, 17))
this.x = x;
>this.x = x : any
>this.x : any
>this : any
>x : any
->x : any
+>x : any, Symbol(x, Decl(anyAsReturnTypeForNewOnCall.ts, 0, 15))
this.y = y;
>this.y = y : any
>this.y : any
>this : any
>y : any
->y : any
+>y : any, Symbol(y, Decl(anyAsReturnTypeForNewOnCall.ts, 0, 17))
}
var o = new Point(3, 4);
->o : any
+>o : any, Symbol(o, Decl(anyAsReturnTypeForNewOnCall.ts, 8, 3))
>new Point(3, 4) : any
->Point : (x: any, y: any) => void
+>Point : (x: any, y: any) => void, Symbol(Point, Decl(anyAsReturnTypeForNewOnCall.ts, 0, 0))
+>3 : number
+>4 : number
var xx = o.x;
->xx : any
+>xx : any, Symbol(xx, Decl(anyAsReturnTypeForNewOnCall.ts, 10, 3))
>o.x : any
->o : any
+>o : any, Symbol(o, Decl(anyAsReturnTypeForNewOnCall.ts, 8, 3))
>x : any
diff --git a/tests/baselines/reference/anyAssignabilityInInheritance.types b/tests/baselines/reference/anyAssignabilityInInheritance.types
index f5a4f22ef3f..8f54b6761c8 100644
--- a/tests/baselines/reference/anyAssignabilityInInheritance.types
+++ b/tests/baselines/reference/anyAssignabilityInInheritance.types
@@ -2,320 +2,322 @@
// any is not a subtype of any other types, errors expected on all the below derived classes unless otherwise noted
interface I {
->I : I
+>I : I, Symbol(I, Decl(anyAssignabilityInInheritance.ts, 0, 0))
[x: string]: any;
->x : string
+>x : string, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 3, 5))
foo: any; // ok, any identical to itself
->foo : any
+>foo : any, Symbol(foo, Decl(anyAssignabilityInInheritance.ts, 3, 21))
}
var a: any;
->a : any
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
declare function foo2(x: number): number;
->foo2 : { (x: number): number; (x: any): any; }
->x : number
+>foo2 : { (x: number): number; (x: any): any; }, Symbol(foo2, Decl(anyAssignabilityInInheritance.ts, 7, 11), Decl(anyAssignabilityInInheritance.ts, 9, 41))
+>x : number, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 9, 22))
declare function foo2(x: any): any;
->foo2 : { (x: number): number; (x: any): any; }
->x : any
+>foo2 : { (x: number): number; (x: any): any; }, Symbol(foo2, Decl(anyAssignabilityInInheritance.ts, 7, 11), Decl(anyAssignabilityInInheritance.ts, 9, 41))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 10, 22))
var r3 = foo2(a); // any, not a subtype of number so it skips that overload, is a subtype of itself so it picks second (if truly ambiguous it would pick first overload)
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo2(a) : any
->foo2 : { (x: number): number; (x: any): any; }
->a : any
+>foo2 : { (x: number): number; (x: any): any; }, Symbol(foo2, Decl(anyAssignabilityInInheritance.ts, 7, 11), Decl(anyAssignabilityInInheritance.ts, 9, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
declare function foo3(x: string): string;
->foo3 : { (x: string): string; (x: any): any; }
->x : string
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>x : string, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 13, 22))
declare function foo3(x: any): any;
->foo3 : { (x: string): string; (x: any): any; }
->x : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 14, 22))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
declare function foo4(x: boolean): boolean;
->foo4 : { (x: boolean): boolean; (x: any): any; }
->x : boolean
+>foo4 : { (x: boolean): boolean; (x: any): any; }, Symbol(foo4, Decl(anyAssignabilityInInheritance.ts, 15, 17), Decl(anyAssignabilityInInheritance.ts, 17, 43))
+>x : boolean, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 17, 22))
declare function foo4(x: any): any;
->foo4 : { (x: boolean): boolean; (x: any): any; }
->x : any
+>foo4 : { (x: boolean): boolean; (x: any): any; }, Symbol(foo4, Decl(anyAssignabilityInInheritance.ts, 15, 17), Decl(anyAssignabilityInInheritance.ts, 17, 43))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 18, 22))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
declare function foo5(x: Date): Date;
->foo5 : { (x: Date): Date; (x: any): any; }
->x : Date
->Date : Date
->Date : Date
+>foo5 : { (x: Date): Date; (x: any): any; }, Symbol(foo5, Decl(anyAssignabilityInInheritance.ts, 19, 17), Decl(anyAssignabilityInInheritance.ts, 21, 37))
+>x : Date, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 21, 22))
+>Date : Date, Symbol(Date, Decl(lib.d.ts, 633, 23), Decl(lib.d.ts, 815, 11))
+>Date : Date, Symbol(Date, Decl(lib.d.ts, 633, 23), Decl(lib.d.ts, 815, 11))
declare function foo5(x: any): any;
->foo5 : { (x: Date): Date; (x: any): any; }
->x : any
+>foo5 : { (x: Date): Date; (x: any): any; }, Symbol(foo5, Decl(anyAssignabilityInInheritance.ts, 19, 17), Decl(anyAssignabilityInInheritance.ts, 21, 37))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 22, 22))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
declare function foo6(x: RegExp): RegExp;
->foo6 : { (x: RegExp): RegExp; (x: any): any; }
->x : RegExp
->RegExp : RegExp
->RegExp : RegExp
+>foo6 : { (x: RegExp): RegExp; (x: any): any; }, Symbol(foo6, Decl(anyAssignabilityInInheritance.ts, 23, 17), Decl(anyAssignabilityInInheritance.ts, 25, 41))
+>x : RegExp, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 25, 22))
+>RegExp : RegExp, Symbol(RegExp, Decl(lib.d.ts, 825, 1), Decl(lib.d.ts, 876, 11))
+>RegExp : RegExp, Symbol(RegExp, Decl(lib.d.ts, 825, 1), Decl(lib.d.ts, 876, 11))
declare function foo6(x: any): any;
->foo6 : { (x: RegExp): RegExp; (x: any): any; }
->x : any
+>foo6 : { (x: RegExp): RegExp; (x: any): any; }, Symbol(foo6, Decl(anyAssignabilityInInheritance.ts, 23, 17), Decl(anyAssignabilityInInheritance.ts, 25, 41))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 26, 22))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
declare function foo7(x: { bar: number }): { bar: number };
->foo7 : { (x: { bar: number; }): { bar: number; }; (x: any): any; }
->x : { bar: number; }
->bar : number
->bar : number
+>foo7 : { (x: { bar: number; }): { bar: number; }; (x: any): any; }, Symbol(foo7, Decl(anyAssignabilityInInheritance.ts, 27, 17), Decl(anyAssignabilityInInheritance.ts, 29, 59))
+>x : { bar: number; }, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 29, 22))
+>bar : number, Symbol(bar, Decl(anyAssignabilityInInheritance.ts, 29, 26))
+>bar : number, Symbol(bar, Decl(anyAssignabilityInInheritance.ts, 29, 44))
declare function foo7(x: any): any;
->foo7 : { (x: { bar: number; }): { bar: number; }; (x: any): any; }
->x : any
+>foo7 : { (x: { bar: number; }): { bar: number; }; (x: any): any; }, Symbol(foo7, Decl(anyAssignabilityInInheritance.ts, 27, 17), Decl(anyAssignabilityInInheritance.ts, 29, 59))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 30, 22))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
declare function foo8(x: number[]): number[];
->foo8 : { (x: number[]): number[]; (x: any): any; }
->x : number[]
+>foo8 : { (x: number[]): number[]; (x: any): any; }, Symbol(foo8, Decl(anyAssignabilityInInheritance.ts, 31, 17), Decl(anyAssignabilityInInheritance.ts, 33, 45))
+>x : number[], Symbol(x, Decl(anyAssignabilityInInheritance.ts, 33, 22))
declare function foo8(x: any): any;
->foo8 : { (x: number[]): number[]; (x: any): any; }
->x : any
+>foo8 : { (x: number[]): number[]; (x: any): any; }, Symbol(foo8, Decl(anyAssignabilityInInheritance.ts, 31, 17), Decl(anyAssignabilityInInheritance.ts, 33, 45))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 34, 22))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
interface I8 { foo: string }
->I8 : I8
->foo : string
+>I8 : I8, Symbol(I8, Decl(anyAssignabilityInInheritance.ts, 35, 17))
+>foo : string, Symbol(foo, Decl(anyAssignabilityInInheritance.ts, 37, 14))
declare function foo9(x: I8): I8;
->foo9 : { (x: I8): I8; (x: any): any; }
->x : I8
->I8 : I8
->I8 : I8
+>foo9 : { (x: I8): I8; (x: any): any; }, Symbol(foo9, Decl(anyAssignabilityInInheritance.ts, 37, 28), Decl(anyAssignabilityInInheritance.ts, 38, 33))
+>x : I8, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 38, 22))
+>I8 : I8, Symbol(I8, Decl(anyAssignabilityInInheritance.ts, 35, 17))
+>I8 : I8, Symbol(I8, Decl(anyAssignabilityInInheritance.ts, 35, 17))
declare function foo9(x: any): any;
->foo9 : { (x: I8): I8; (x: any): any; }
->x : any
+>foo9 : { (x: I8): I8; (x: any): any; }, Symbol(foo9, Decl(anyAssignabilityInInheritance.ts, 37, 28), Decl(anyAssignabilityInInheritance.ts, 38, 33))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 39, 22))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
class A { foo: number; }
->A : A
->foo : number
+>A : A, Symbol(A, Decl(anyAssignabilityInInheritance.ts, 40, 17))
+>foo : number, Symbol(foo, Decl(anyAssignabilityInInheritance.ts, 42, 9))
declare function foo10(x: A): A;
->foo10 : { (x: A): A; (x: any): any; }
->x : A
->A : A
->A : A
+>foo10 : { (x: A): A; (x: any): any; }, Symbol(foo10, Decl(anyAssignabilityInInheritance.ts, 42, 24), Decl(anyAssignabilityInInheritance.ts, 43, 32))
+>x : A, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 43, 23))
+>A : A, Symbol(A, Decl(anyAssignabilityInInheritance.ts, 40, 17))
+>A : A, Symbol(A, Decl(anyAssignabilityInInheritance.ts, 40, 17))
declare function foo10(x: any): any;
->foo10 : { (x: A): A; (x: any): any; }
->x : any
+>foo10 : { (x: A): A; (x: any): any; }, Symbol(foo10, Decl(anyAssignabilityInInheritance.ts, 42, 24), Decl(anyAssignabilityInInheritance.ts, 43, 32))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 44, 23))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
class A2 { foo: T; }
->A2 : A2
->T : T
->foo : T
->T : T
+>A2 : A2, Symbol(A2, Decl(anyAssignabilityInInheritance.ts, 45, 17))
+>T : T, Symbol(T, Decl(anyAssignabilityInInheritance.ts, 47, 9))
+>foo : T, Symbol(foo, Decl(anyAssignabilityInInheritance.ts, 47, 13))
+>T : T, Symbol(T, Decl(anyAssignabilityInInheritance.ts, 47, 9))
declare function foo11(x: A2): A2;
->foo11 : { (x: A2): A2; (x: any): any; }
->x : A2
->A2 : A2
->A2 : A2
+>foo11 : { (x: A2): A2; (x: any): any; }, Symbol(foo11, Decl(anyAssignabilityInInheritance.ts, 47, 23), Decl(anyAssignabilityInInheritance.ts, 48, 50))
+>x : A2, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 48, 23))
+>A2 : A2, Symbol(A2, Decl(anyAssignabilityInInheritance.ts, 45, 17))
+>A2 : A2, Symbol(A2, Decl(anyAssignabilityInInheritance.ts, 45, 17))
declare function foo11(x: any): any;
->foo11 : { (x: A2): A2; (x: any): any; }
->x : any
+>foo11 : { (x: A2): A2; (x: any): any; }, Symbol(foo11, Decl(anyAssignabilityInInheritance.ts, 47, 23), Decl(anyAssignabilityInInheritance.ts, 48, 50))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 49, 23))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
declare function foo12(x: (x) => number): (x) => number;
->foo12 : { (x: (x: any) => number): (x: any) => number; (x: any): any; }
->x : (x: any) => number
->x : any
->x : any
+>foo12 : { (x: (x: any) => number): (x: any) => number; (x: any): any; }, Symbol(foo12, Decl(anyAssignabilityInInheritance.ts, 50, 17), Decl(anyAssignabilityInInheritance.ts, 52, 56))
+>x : (x: any) => number, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 52, 23))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 52, 27))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 52, 43))
declare function foo12(x: any): any;
->foo12 : { (x: (x: any) => number): (x: any) => number; (x: any): any; }
->x : any
+>foo12 : { (x: (x: any) => number): (x: any) => number; (x: any): any; }, Symbol(foo12, Decl(anyAssignabilityInInheritance.ts, 50, 17), Decl(anyAssignabilityInInheritance.ts, 52, 56))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 53, 23))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
declare function foo13(x: (x: T) => T): (x: T) => T;
->foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; }
->x : (x: T) => T
->T : T
->x : T
->T : T
->T : T
->T : T
->x : T
->T : T
->T : T
+>foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; }, Symbol(foo13, Decl(anyAssignabilityInInheritance.ts, 54, 17), Decl(anyAssignabilityInInheritance.ts, 56, 58))
+>x : (x: T) => T, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 56, 23))
+>T : T, Symbol(T, Decl(anyAssignabilityInInheritance.ts, 56, 27))
+>x : T, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 56, 30))
+>T : T, Symbol(T, Decl(anyAssignabilityInInheritance.ts, 56, 27))
+>T : T, Symbol(T, Decl(anyAssignabilityInInheritance.ts, 56, 27))
+>T : T, Symbol(T, Decl(anyAssignabilityInInheritance.ts, 56, 44))
+>x : T, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 56, 47))
+>T : T, Symbol(T, Decl(anyAssignabilityInInheritance.ts, 56, 44))
+>T : T, Symbol(T, Decl(anyAssignabilityInInheritance.ts, 56, 44))
declare function foo13(x: any): any;
->foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; }
->x : any
+>foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; }, Symbol(foo13, Decl(anyAssignabilityInInheritance.ts, 54, 17), Decl(anyAssignabilityInInheritance.ts, 56, 58))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 57, 23))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
enum E { A }
->E : E
->A : E
+>E : E, Symbol(E, Decl(anyAssignabilityInInheritance.ts, 58, 17))
+>A : E, Symbol(E.A, Decl(anyAssignabilityInInheritance.ts, 60, 8))
declare function foo14(x: E): E;
->foo14 : { (x: E): E; (x: any): any; }
->x : E
->E : E
->E : E
+>foo14 : { (x: E): E; (x: any): any; }, Symbol(foo14, Decl(anyAssignabilityInInheritance.ts, 60, 12), Decl(anyAssignabilityInInheritance.ts, 61, 32))
+>x : E, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 61, 23))
+>E : E, Symbol(E, Decl(anyAssignabilityInInheritance.ts, 58, 17))
+>E : E, Symbol(E, Decl(anyAssignabilityInInheritance.ts, 58, 17))
declare function foo14(x: any): any;
->foo14 : { (x: E): E; (x: any): any; }
->x : any
+>foo14 : { (x: E): E; (x: any): any; }, Symbol(foo14, Decl(anyAssignabilityInInheritance.ts, 60, 12), Decl(anyAssignabilityInInheritance.ts, 61, 32))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 62, 23))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
function f() { }
->f : typeof f
+>f : typeof f, Symbol(f, Decl(anyAssignabilityInInheritance.ts, 63, 17), Decl(anyAssignabilityInInheritance.ts, 65, 16))
module f {
->f : typeof f
+>f : typeof f, Symbol(f, Decl(anyAssignabilityInInheritance.ts, 63, 17), Decl(anyAssignabilityInInheritance.ts, 65, 16))
export var bar = 1;
->bar : number
+>bar : number, Symbol(bar, Decl(anyAssignabilityInInheritance.ts, 67, 14))
+>1 : number
}
declare function foo15(x: typeof f): typeof f;
->foo15 : { (x: typeof f): typeof f; (x: any): any; }
->x : typeof f
->f : typeof f
->f : typeof f
+>foo15 : { (x: typeof f): typeof f; (x: any): any; }, Symbol(foo15, Decl(anyAssignabilityInInheritance.ts, 68, 1), Decl(anyAssignabilityInInheritance.ts, 69, 46))
+>x : typeof f, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 69, 23))
+>f : typeof f, Symbol(f, Decl(anyAssignabilityInInheritance.ts, 63, 17), Decl(anyAssignabilityInInheritance.ts, 65, 16))
+>f : typeof f, Symbol(f, Decl(anyAssignabilityInInheritance.ts, 63, 17), Decl(anyAssignabilityInInheritance.ts, 65, 16))
declare function foo15(x: any): any;
->foo15 : { (x: typeof f): typeof f; (x: any): any; }
->x : any
+>foo15 : { (x: typeof f): typeof f; (x: any): any; }, Symbol(foo15, Decl(anyAssignabilityInInheritance.ts, 68, 1), Decl(anyAssignabilityInInheritance.ts, 69, 46))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 70, 23))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
class CC { baz: string }
->CC : CC
->baz : string
+>CC : CC, Symbol(CC, Decl(anyAssignabilityInInheritance.ts, 71, 17), Decl(anyAssignabilityInInheritance.ts, 73, 24))
+>baz : string, Symbol(baz, Decl(anyAssignabilityInInheritance.ts, 73, 10))
module CC {
->CC : typeof CC
+>CC : typeof CC, Symbol(CC, Decl(anyAssignabilityInInheritance.ts, 71, 17), Decl(anyAssignabilityInInheritance.ts, 73, 24))
export var bar = 1;
->bar : number
+>bar : number, Symbol(bar, Decl(anyAssignabilityInInheritance.ts, 75, 14))
+>1 : number
}
declare function foo16(x: CC): CC;
->foo16 : { (x: CC): CC; (x: any): any; }
->x : CC
->CC : CC
->CC : CC
+>foo16 : { (x: CC): CC; (x: any): any; }, Symbol(foo16, Decl(anyAssignabilityInInheritance.ts, 76, 1), Decl(anyAssignabilityInInheritance.ts, 77, 34))
+>x : CC, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 77, 23))
+>CC : CC, Symbol(CC, Decl(anyAssignabilityInInheritance.ts, 71, 17), Decl(anyAssignabilityInInheritance.ts, 73, 24))
+>CC : CC, Symbol(CC, Decl(anyAssignabilityInInheritance.ts, 71, 17), Decl(anyAssignabilityInInheritance.ts, 73, 24))
declare function foo16(x: any): any;
->foo16 : { (x: CC): CC; (x: any): any; }
->x : any
+>foo16 : { (x: CC): CC; (x: any): any; }, Symbol(foo16, Decl(anyAssignabilityInInheritance.ts, 76, 1), Decl(anyAssignabilityInInheritance.ts, 77, 34))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 78, 23))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
declare function foo17(x: Object): Object;
->foo17 : { (x: Object): Object; (x: any): any; }
->x : Object
->Object : Object
->Object : Object
+>foo17 : { (x: Object): Object; (x: any): any; }, Symbol(foo17, Decl(anyAssignabilityInInheritance.ts, 79, 17), Decl(anyAssignabilityInInheritance.ts, 81, 42))
+>x : Object, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 81, 23))
+>Object : Object, Symbol(Object, Decl(lib.d.ts, 92, 1), Decl(lib.d.ts, 223, 11))
+>Object : Object, Symbol(Object, Decl(lib.d.ts, 92, 1), Decl(lib.d.ts, 223, 11))
declare function foo17(x: any): any;
->foo17 : { (x: Object): Object; (x: any): any; }
->x : any
+>foo17 : { (x: Object): Object; (x: any): any; }, Symbol(foo17, Decl(anyAssignabilityInInheritance.ts, 79, 17), Decl(anyAssignabilityInInheritance.ts, 81, 42))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 82, 23))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
declare function foo18(x: {}): {};
->foo18 : { (x: {}): {}; (x: any): any; }
->x : {}
+>foo18 : { (x: {}): {}; (x: any): any; }, Symbol(foo18, Decl(anyAssignabilityInInheritance.ts, 83, 17), Decl(anyAssignabilityInInheritance.ts, 85, 34))
+>x : {}, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 85, 23))
declare function foo18(x: any): any;
->foo18 : { (x: {}): {}; (x: any): any; }
->x : any
+>foo18 : { (x: {}): {}; (x: any): any; }, Symbol(foo18, Decl(anyAssignabilityInInheritance.ts, 83, 17), Decl(anyAssignabilityInInheritance.ts, 85, 34))
+>x : any, Symbol(x, Decl(anyAssignabilityInInheritance.ts, 86, 23))
var r3 = foo3(a); // any
->r3 : any
+>r3 : any, Symbol(r3, Decl(anyAssignabilityInInheritance.ts, 11, 3), Decl(anyAssignabilityInInheritance.ts, 15, 3), Decl(anyAssignabilityInInheritance.ts, 19, 3), Decl(anyAssignabilityInInheritance.ts, 23, 3), Decl(anyAssignabilityInInheritance.ts, 27, 3), Decl(anyAssignabilityInInheritance.ts, 31, 3), Decl(anyAssignabilityInInheritance.ts, 35, 3), Decl(anyAssignabilityInInheritance.ts, 40, 3), Decl(anyAssignabilityInInheritance.ts, 45, 3), Decl(anyAssignabilityInInheritance.ts, 50, 3), Decl(anyAssignabilityInInheritance.ts, 54, 3), Decl(anyAssignabilityInInheritance.ts, 58, 3), Decl(anyAssignabilityInInheritance.ts, 63, 3), Decl(anyAssignabilityInInheritance.ts, 71, 3), Decl(anyAssignabilityInInheritance.ts, 79, 3), Decl(anyAssignabilityInInheritance.ts, 83, 3), Decl(anyAssignabilityInInheritance.ts, 87, 3))
>foo3(a) : any
->foo3 : { (x: string): string; (x: any): any; }
->a : any
+>foo3 : { (x: string): string; (x: any): any; }, Symbol(foo3, Decl(anyAssignabilityInInheritance.ts, 11, 17), Decl(anyAssignabilityInInheritance.ts, 13, 41))
+>a : any, Symbol(a, Decl(anyAssignabilityInInheritance.ts, 7, 3))
diff --git a/tests/baselines/reference/anyAssignableToEveryType.types b/tests/baselines/reference/anyAssignableToEveryType.types
index c2a9b324d96..b6e420facb2 100644
--- a/tests/baselines/reference/anyAssignableToEveryType.types
+++ b/tests/baselines/reference/anyAssignableToEveryType.types
@@ -1,152 +1,152 @@
=== tests/cases/conformance/types/typeRelationships/assignmentCompatibility/anyAssignableToEveryType.ts ===
var a: any;
->a : any
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
class C {
->C : C
+>C : C, Symbol(C, Decl(anyAssignableToEveryType.ts, 0, 11))
foo: string;
->foo : string
+>foo : string, Symbol(foo, Decl(anyAssignableToEveryType.ts, 2, 9))
}
var ac: C;
->ac : C
->C : C
+>ac : C, Symbol(ac, Decl(anyAssignableToEveryType.ts, 5, 3))
+>C : C, Symbol(C, Decl(anyAssignableToEveryType.ts, 0, 11))
interface I {
->I : I
+>I : I, Symbol(I, Decl(anyAssignableToEveryType.ts, 5, 10))
foo: string;
->foo : string
+>foo : string, Symbol(foo, Decl(anyAssignableToEveryType.ts, 6, 13))
}
var ai: I;
->ai : I
->I : I
+>ai : I, Symbol(ai, Decl(anyAssignableToEveryType.ts, 9, 3))
+>I : I, Symbol(I, Decl(anyAssignableToEveryType.ts, 5, 10))
enum E { A }
->E : E
->A : E
+>E : E, Symbol(E, Decl(anyAssignableToEveryType.ts, 9, 10))
+>A : E, Symbol(E.A, Decl(anyAssignableToEveryType.ts, 11, 8))
var ae: E;
->ae : E
->E : E
+>ae : E, Symbol(ae, Decl(anyAssignableToEveryType.ts, 12, 3))
+>E : E, Symbol(E, Decl(anyAssignableToEveryType.ts, 9, 10))
var b: number = a;
->b : number
->a : any
+>b : number, Symbol(b, Decl(anyAssignableToEveryType.ts, 14, 3))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var c: string = a;
->c : string
->a : any
+>c : string, Symbol(c, Decl(anyAssignableToEveryType.ts, 15, 3))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var d: boolean = a;
->d : boolean
->a : any
+>d : boolean, Symbol(d, Decl(anyAssignableToEveryType.ts, 16, 3))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var e: Date = a;
->e : Date
->Date : Date
->a : any
+>e : Date, Symbol(e, Decl(anyAssignableToEveryType.ts, 17, 3))
+>Date : Date, Symbol(Date, Decl(lib.d.ts, 633, 23), Decl(lib.d.ts, 815, 11))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var f: any = a;
->f : any
->a : any
+>f : any, Symbol(f, Decl(anyAssignableToEveryType.ts, 18, 3))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var g: void = a;
->g : void
->a : any
+>g : void, Symbol(g, Decl(anyAssignableToEveryType.ts, 19, 3))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var h: Object = a;
->h : Object
->Object : Object
->a : any
+>h : Object, Symbol(h, Decl(anyAssignableToEveryType.ts, 20, 3))
+>Object : Object, Symbol(Object, Decl(lib.d.ts, 92, 1), Decl(lib.d.ts, 223, 11))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var i: {} = a;
->i : {}
->a : any
+>i : {}, Symbol(i, Decl(anyAssignableToEveryType.ts, 21, 3))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var j: () => {} = a;
->j : () => {}
->a : any
+>j : () => {}, Symbol(j, Decl(anyAssignableToEveryType.ts, 22, 3))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var k: Function = a;
->k : Function
->Function : Function
->a : any
+>k : Function, Symbol(k, Decl(anyAssignableToEveryType.ts, 23, 3))
+>Function : Function, Symbol(Function, Decl(lib.d.ts, 223, 38), Decl(lib.d.ts, 269, 11))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var l: (x: number) => string = a;
->l : (x: number) => string
->x : number
->a : any
+>l : (x: number) => string, Symbol(l, Decl(anyAssignableToEveryType.ts, 24, 3))
+>x : number, Symbol(x, Decl(anyAssignableToEveryType.ts, 24, 8))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
ac = a;
>ac = a : any
->ac : C
->a : any
+>ac : C, Symbol(ac, Decl(anyAssignableToEveryType.ts, 5, 3))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
ai = a;
>ai = a : any
->ai : I
->a : any
+>ai : I, Symbol(ai, Decl(anyAssignableToEveryType.ts, 9, 3))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
ae = a;
>ae = a : any
->ae : E
->a : any
+>ae : E, Symbol(ae, Decl(anyAssignableToEveryType.ts, 12, 3))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var m: number[] = a;
->m : number[]
->a : any
+>m : number[], Symbol(m, Decl(anyAssignableToEveryType.ts, 28, 3))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var n: { foo: string } = a;
->n : { foo: string; }
->foo : string
->a : any
+>n : { foo: string; }, Symbol(n, Decl(anyAssignableToEveryType.ts, 29, 3))
+>foo : string, Symbol(foo, Decl(anyAssignableToEveryType.ts, 29, 8))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var o: (x: T) => T = a;
->o : (x: T) => T
->T : T
->x : T
->T : T
->T : T
->a : any
+>o : (x: T) => T, Symbol(o, Decl(anyAssignableToEveryType.ts, 30, 3))
+>T : T, Symbol(T, Decl(anyAssignableToEveryType.ts, 30, 8))
+>x : T, Symbol(x, Decl(anyAssignableToEveryType.ts, 30, 11))
+>T : T, Symbol(T, Decl(anyAssignableToEveryType.ts, 30, 8))
+>T : T, Symbol(T, Decl(anyAssignableToEveryType.ts, 30, 8))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var p: Number = a;
->p : Number
->Number : Number
->a : any
+>p : Number, Symbol(p, Decl(anyAssignableToEveryType.ts, 31, 3))
+>Number : Number, Symbol(Number, Decl(lib.d.ts, 456, 40), Decl(lib.d.ts, 518, 11))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
var q: String = a;
->q : String
->String : String
->a : any
+>q : String, Symbol(q, Decl(anyAssignableToEveryType.ts, 32, 3))
+>String : String, Symbol(String, Decl(lib.d.ts, 275, 1), Decl(lib.d.ts, 443, 11))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
function foo(x: T, y: U, z: V) {
->foo : (x: T, y: U, z: V) => void
->T : T
->U : U
->V : V
->Date : Date
->x : T
->T : T
->y : U
->U : U
->z : V
->V : V
+>foo : (x: T, y: U, z: V) => void, Symbol(foo, Decl(anyAssignableToEveryType.ts, 32, 18))
+>T : T, Symbol(T, Decl(anyAssignableToEveryType.ts, 34, 13))
+>U : U, Symbol(U, Decl(anyAssignableToEveryType.ts, 34, 15))
+>V : V, Symbol(V, Decl(anyAssignableToEveryType.ts, 34, 32))
+>Date : Date, Symbol(Date, Decl(lib.d.ts, 633, 23), Decl(lib.d.ts, 815, 11))
+>x : T, Symbol(x, Decl(anyAssignableToEveryType.ts, 34, 49))
+>T : T, Symbol(T, Decl(anyAssignableToEveryType.ts, 34, 13))
+>y : U, Symbol(y, Decl(anyAssignableToEveryType.ts, 34, 54))
+>U : U, Symbol(U, Decl(anyAssignableToEveryType.ts, 34, 15))
+>z : V, Symbol(z, Decl(anyAssignableToEveryType.ts, 34, 60))
+>V : V, Symbol(V, Decl(anyAssignableToEveryType.ts, 34, 32))
x = a;
>x = a : any
->x : T
->a : any
+>x : T, Symbol(x, Decl(anyAssignableToEveryType.ts, 34, 49))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
y = a;
>y = a : any
->y : U
->a : any
+>y : U, Symbol(y, Decl(anyAssignableToEveryType.ts, 34, 54))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
z = a;
>z = a : any
->z : V
->a : any
+>z : V, Symbol(z, Decl(anyAssignableToEveryType.ts, 34, 60))
+>a : any, Symbol(a, Decl(anyAssignableToEveryType.ts, 0, 3))
}
//function foo(x: T, y: U, z: V) {
diff --git a/tests/baselines/reference/anyInferenceAnonymousFunctions.types b/tests/baselines/reference/anyInferenceAnonymousFunctions.types
index 8dc7fdcb90f..f434d147990 100644
--- a/tests/baselines/reference/anyInferenceAnonymousFunctions.types
+++ b/tests/baselines/reference/anyInferenceAnonymousFunctions.types
@@ -1,20 +1,20 @@
=== tests/cases/compiler/anyInferenceAnonymousFunctions.ts ===
var paired: any[];
->paired : any[]
+>paired : any[], Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3))
paired.reduce(function (a1, a2) {
>paired.reduce(function (a1, a2) { return a1.concat({});} , []) : any
->paired.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }
->paired : any[]
->reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }
+>paired.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }, Symbol(Array.reduce, Decl(lib.d.ts, 1129, 93), Decl(lib.d.ts, 1136, 120))
+>paired : any[], Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3))
+>reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }, Symbol(Array.reduce, Decl(lib.d.ts, 1129, 93), Decl(lib.d.ts, 1136, 120))
>function (a1, a2) { return a1.concat({});} : (a1: any, a2: any) => any
->a1 : any
->a2 : any
+>a1 : any, Symbol(a1, Decl(anyInferenceAnonymousFunctions.ts, 2, 24))
+>a2 : any, Symbol(a2, Decl(anyInferenceAnonymousFunctions.ts, 2, 27))
return a1.concat({});
>a1.concat({}) : any
>a1.concat : any
->a1 : any
+>a1 : any, Symbol(a1, Decl(anyInferenceAnonymousFunctions.ts, 2, 24))
>concat : any
>{} : {}
@@ -23,17 +23,17 @@ paired.reduce(function (a1, a2) {
paired.reduce((b1, b2) => {
>paired.reduce((b1, b2) => { return b1.concat({});} , []) : any
->paired.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }
->paired : any[]
->reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }
+>paired.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }, Symbol(Array.reduce, Decl(lib.d.ts, 1129, 93), Decl(lib.d.ts, 1136, 120))
+>paired : any[], Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3))
+>reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }, Symbol(Array.reduce, Decl(lib.d.ts, 1129, 93), Decl(lib.d.ts, 1136, 120))
>(b1, b2) => { return b1.concat({});} : (b1: any, b2: any) => any
->b1 : any
->b2 : any
+>b1 : any, Symbol(b1, Decl(anyInferenceAnonymousFunctions.ts, 8, 15))
+>b2 : any, Symbol(b2, Decl(anyInferenceAnonymousFunctions.ts, 8, 18))
return b1.concat({});
>b1.concat({}) : any
>b1.concat : any
->b1 : any
+>b1 : any, Symbol(b1, Decl(anyInferenceAnonymousFunctions.ts, 8, 15))
>concat : any
>{} : {}
@@ -42,38 +42,38 @@ paired.reduce((b1, b2) => {
paired.reduce((b3, b4) => b3.concat({}), []);
>paired.reduce((b3, b4) => b3.concat({}), []) : any
->paired.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }
->paired : any[]
->reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }
+>paired.reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }, Symbol(Array.reduce, Decl(lib.d.ts, 1129, 93), Decl(lib.d.ts, 1136, 120))
+>paired : any[], Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3))
+>reduce : { (callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: any[]) => any, initialValue?: any): any; (callbackfn: (previousValue: U, currentValue: any, currentIndex: number, array: any[]) => U, initialValue: U): U; }, Symbol(Array.reduce, Decl(lib.d.ts, 1129, 93), Decl(lib.d.ts, 1136, 120))
>(b3, b4) => b3.concat({}) : (b3: any, b4: any) => any
->b3 : any
->b4 : any
+>b3 : any, Symbol(b3, Decl(anyInferenceAnonymousFunctions.ts, 13, 15))
+>b4 : any, Symbol(b4, Decl(anyInferenceAnonymousFunctions.ts, 13, 18))
>b3.concat({}) : any
>b3.concat : any
->b3 : any
+>b3 : any, Symbol(b3, Decl(anyInferenceAnonymousFunctions.ts, 13, 15))
>concat : any
>{} : {}
>[] : undefined[]
paired.map((c1) => c1.count);
>paired.map((c1) => c1.count) : any[]
->paired.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[]
->paired : any[]
->map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[]
+>paired.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[], Symbol(Array.map, Decl(lib.d.ts, 1115, 92))
+>paired : any[], Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3))
+>map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[], Symbol(Array.map, Decl(lib.d.ts, 1115, 92))
>(c1) => c1.count : (c1: any) => any
->c1 : any
+>c1 : any, Symbol(c1, Decl(anyInferenceAnonymousFunctions.ts, 15, 12))
>c1.count : any
->c1 : any
+>c1 : any, Symbol(c1, Decl(anyInferenceAnonymousFunctions.ts, 15, 12))
>count : any
paired.map(function (c2) { return c2.count; });
>paired.map(function (c2) { return c2.count; }) : any[]
->paired.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[]
->paired : any[]
->map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[]
+>paired.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[], Symbol(Array.map, Decl(lib.d.ts, 1115, 92))
+>paired : any[], Symbol(paired, Decl(anyInferenceAnonymousFunctions.ts, 0, 3))
+>map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[], Symbol(Array.map, Decl(lib.d.ts, 1115, 92))
>function (c2) { return c2.count; } : (c2: any) => any
->c2 : any
+>c2 : any, Symbol(c2, Decl(anyInferenceAnonymousFunctions.ts, 16, 21))
>c2.count : any
->c2 : any
+>c2 : any, Symbol(c2, Decl(anyInferenceAnonymousFunctions.ts, 16, 21))
>count : any
diff --git a/tests/baselines/reference/anyIsAssignableToObject.types b/tests/baselines/reference/anyIsAssignableToObject.types
index 5df5d3b345f..73e1ef8b8dc 100644
--- a/tests/baselines/reference/anyIsAssignableToObject.types
+++ b/tests/baselines/reference/anyIsAssignableToObject.types
@@ -1,15 +1,15 @@
=== tests/cases/compiler/anyIsAssignableToObject.ts ===
interface P {
->P : P
+>P : P, Symbol(P, Decl(anyIsAssignableToObject.ts, 0, 0))
p: {};
->p : {}
+>p : {}, Symbol(p, Decl(anyIsAssignableToObject.ts, 0, 13))
}
interface Q extends P { // Check assignability here. Any is assignable to {}
->Q : Q
->P : P
+>Q : Q, Symbol(Q, Decl(anyIsAssignableToObject.ts, 2, 1))
+>P : P, Symbol(P, Decl(anyIsAssignableToObject.ts, 0, 0))
p: any;
->p : any
+>p : any, Symbol(p, Decl(anyIsAssignableToObject.ts, 4, 23))
}
diff --git a/tests/baselines/reference/anyIsAssignableToVoid.types b/tests/baselines/reference/anyIsAssignableToVoid.types
index 0e1af90971f..33d2b35bef2 100644
--- a/tests/baselines/reference/anyIsAssignableToVoid.types
+++ b/tests/baselines/reference/anyIsAssignableToVoid.types
@@ -1,15 +1,15 @@
=== tests/cases/compiler/anyIsAssignableToVoid.ts ===
interface P {
->P : P
+>P : P, Symbol(P, Decl(anyIsAssignableToVoid.ts, 0, 0))
p: void;
->p : void
+>p : void, Symbol(p, Decl(anyIsAssignableToVoid.ts, 0, 13))
}
interface Q extends P { // check assignability here. any is assignable to void.
->Q : Q
->P : P
+>Q : Q, Symbol(Q, Decl(anyIsAssignableToVoid.ts, 2, 1))
+>P : P, Symbol(P, Decl(anyIsAssignableToVoid.ts, 0, 0))
p: any;
->p : any
+>p : any, Symbol(p, Decl(anyIsAssignableToVoid.ts, 4, 23))
}
diff --git a/tests/baselines/reference/anyPlusAny1.types b/tests/baselines/reference/anyPlusAny1.types
index aeda001eeaa..003781fb0f4 100644
--- a/tests/baselines/reference/anyPlusAny1.types
+++ b/tests/baselines/reference/anyPlusAny1.types
@@ -1,16 +1,17 @@
=== tests/cases/compiler/anyPlusAny1.ts ===
var x;
->x : any
+>x : any, Symbol(x, Decl(anyPlusAny1.ts, 0, 3))
x.name = "hello";
>x.name = "hello" : string
>x.name : any
->x : any
+>x : any, Symbol(x, Decl(anyPlusAny1.ts, 0, 3))
>name : any
+>"hello" : string
var z = x + x;
->z : any
+>z : any, Symbol(z, Decl(anyPlusAny1.ts, 2, 3))
>x + x : any
->x : any
->x : any
+>x : any, Symbol(x, Decl(anyPlusAny1.ts, 0, 3))
+>x : any, Symbol(x, Decl(anyPlusAny1.ts, 0, 3))
diff --git a/tests/baselines/reference/anyPropertyAccess.types b/tests/baselines/reference/anyPropertyAccess.types
index 5ea20cefdd6..20ceabe687b 100644
--- a/tests/baselines/reference/anyPropertyAccess.types
+++ b/tests/baselines/reference/anyPropertyAccess.types
@@ -1,43 +1,47 @@
=== tests/cases/conformance/types/any/anyPropertyAccess.ts ===
var x: any;
->x : any
+>x : any, Symbol(x, Decl(anyPropertyAccess.ts, 0, 3))
var a = x.foo;
->a : any
+>a : any, Symbol(a, Decl(anyPropertyAccess.ts, 1, 3))
>x.foo : any
->x : any
+>x : any, Symbol(x, Decl(anyPropertyAccess.ts, 0, 3))
>foo : any
var b = x['foo'];
->b : any
+>b : any, Symbol(b, Decl(anyPropertyAccess.ts, 2, 3))
>x['foo'] : any
->x : any
+>x : any, Symbol(x, Decl(anyPropertyAccess.ts, 0, 3))
+>'foo' : string
var c = x['fn']();
->c : any
+>c : any, Symbol(c, Decl(anyPropertyAccess.ts, 3, 3))
>x['fn']() : any
>x['fn'] : any
->x : any
+>x : any, Symbol(x, Decl(anyPropertyAccess.ts, 0, 3))
+>'fn' : string
var d = x.bar.baz;
->d : any
+>d : any, Symbol(d, Decl(anyPropertyAccess.ts, 4, 3))
>x.bar.baz : any
>x.bar : any
->x : any
+>x : any, Symbol(x, Decl(anyPropertyAccess.ts, 0, 3))
>bar : any
>baz : any
var e = x[0].foo;
->e : any
+>e : any, Symbol(e, Decl(anyPropertyAccess.ts, 5, 3))
>x[0].foo : any
>x[0] : any
->x : any
+>x : any, Symbol(x, Decl(anyPropertyAccess.ts, 0, 3))
+>0 : number
>foo : any
var f = x['0'].bar;
->f : any
+>f : any, Symbol(f, Decl(anyPropertyAccess.ts, 6, 3))
>x['0'].bar : any
>x['0'] : any
->x : any
+>x : any, Symbol(x, Decl(anyPropertyAccess.ts, 0, 3))
+>'0' : string
>bar : any
diff --git a/tests/baselines/reference/argsInScope.types b/tests/baselines/reference/argsInScope.types
index 010e5624039..52f474c11c9 100644
--- a/tests/baselines/reference/argsInScope.types
+++ b/tests/baselines/reference/argsInScope.types
@@ -1,22 +1,23 @@
=== tests/cases/compiler/argsInScope.ts ===
class C {
->C : C
+>C : C, Symbol(C, Decl(argsInScope.ts, 0, 0))
P(ii:number, j:number, k:number) {
->P : (ii: number, j: number, k: number) => void
->ii : number
->j : number
->k : number
+>P : (ii: number, j: number, k: number) => void, Symbol(P, Decl(argsInScope.ts, 0, 9))
+>ii : number, Symbol(ii, Decl(argsInScope.ts, 1, 6))
+>j : number, Symbol(j, Decl(argsInScope.ts, 1, 16))
+>k : number, Symbol(k, Decl(argsInScope.ts, 1, 26))
for (var i = 0; i < arguments.length; i++) {
->i : number
+>i : number, Symbol(i, Decl(argsInScope.ts, 2, 15))
+>0 : number
>i < arguments.length : boolean
->i : number
->arguments.length : number
->arguments : IArguments
->length : number
+>i : number, Symbol(i, Decl(argsInScope.ts, 2, 15))
+>arguments.length : number, Symbol(IArguments.length, Decl(lib.d.ts, 272, 25))
+>arguments : IArguments, Symbol(arguments)
+>length : number, Symbol(IArguments.length, Decl(lib.d.ts, 272, 25))
>i++ : number
->i : number
+>i : number, Symbol(i, Decl(argsInScope.ts, 2, 15))
// WScript.Echo("param: " + arguments[i]);
}
@@ -24,13 +25,16 @@ class C {
}
var c = new C();
->c : C
+>c : C, Symbol(c, Decl(argsInScope.ts, 8, 3))
>new C() : C
->C : typeof C
+>C : typeof C, Symbol(C, Decl(argsInScope.ts, 0, 0))
c.P(1,2,3);
>c.P(1,2,3) : void
->c.P : (ii: number, j: number, k: number) => void
->c : C
->P : (ii: number, j: number, k: number) => void
+>c.P : (ii: number, j: number, k: number) => void, Symbol(C.P, Decl(argsInScope.ts, 0, 9))
+>c : C, Symbol(c, Decl(argsInScope.ts, 8, 3))
+>P : (ii: number, j: number, k: number) => void, Symbol(C.P, Decl(argsInScope.ts, 0, 9))
+>1 : number
+>2 : number
+>3 : number
diff --git a/tests/baselines/reference/arguments.types b/tests/baselines/reference/arguments.types
index 1902e459316..c1d618e99b3 100644
--- a/tests/baselines/reference/arguments.types
+++ b/tests/baselines/reference/arguments.types
@@ -1,9 +1,10 @@
=== tests/cases/compiler/arguments.ts ===
function f() {
->f : () => void
+>f : () => void, Symbol(f, Decl(arguments.ts, 0, 0))
var x=arguments[12];
->x : any
+>x : any, Symbol(x, Decl(arguments.ts, 1, 7))
>arguments[12] : any
->arguments : IArguments
+>arguments : IArguments, Symbol(arguments)
+>12 : number
}
diff --git a/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.types b/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.types
index 697858534db..a2f20b8c2fd 100644
--- a/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.types
+++ b/tests/baselines/reference/argumentsUsedInObjectLiteralProperty.types
@@ -1,20 +1,20 @@
=== tests/cases/compiler/argumentsUsedInObjectLiteralProperty.ts ===
class A {
->A : A
+>A : A, Symbol(A, Decl(argumentsUsedInObjectLiteralProperty.ts, 0, 0))
public static createSelectableViewModel(initialState?: any, selectedValue?: any) {
->createSelectableViewModel : (initialState?: any, selectedValue?: any) => { selectedValue: number; }
->initialState : any
->selectedValue : any
+>createSelectableViewModel : (initialState?: any, selectedValue?: any) => { selectedValue: number; }, Symbol(A.createSelectableViewModel, Decl(argumentsUsedInObjectLiteralProperty.ts, 0, 9))
+>initialState : any, Symbol(initialState, Decl(argumentsUsedInObjectLiteralProperty.ts, 1, 44))
+>selectedValue : any, Symbol(selectedValue, Decl(argumentsUsedInObjectLiteralProperty.ts, 1, 63))
return {
>{ selectedValue: arguments.length } : { selectedValue: number; }
selectedValue: arguments.length
->selectedValue : number
->arguments.length : number
->arguments : IArguments
->length : number
+>selectedValue : number, Symbol(selectedValue, Decl(argumentsUsedInObjectLiteralProperty.ts, 2, 16))
+>arguments.length : number, Symbol(IArguments.length, Decl(lib.d.ts, 272, 25))
+>arguments : IArguments, Symbol(arguments)
+>length : number, Symbol(IArguments.length, Decl(lib.d.ts, 272, 25))
};
}
diff --git a/tests/baselines/reference/arithmeticOperatorWithAnyAndNumber.types b/tests/baselines/reference/arithmeticOperatorWithAnyAndNumber.types
index f0120f328c4..2eea0222969 100644
--- a/tests/baselines/reference/arithmeticOperatorWithAnyAndNumber.types
+++ b/tests/baselines/reference/arithmeticOperatorWithAnyAndNumber.types
@@ -1,437 +1,497 @@
=== tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithAnyAndNumber.ts ===
var a: any;
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var b: number;
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
// operator *
var ra1 = a * a;
->ra1 : number
+>ra1 : number, Symbol(ra1, Decl(arithmeticOperatorWithAnyAndNumber.ts, 4, 3))
>a * a : number
->a : any
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var ra2 = a * b;
->ra2 : number
+>ra2 : number, Symbol(ra2, Decl(arithmeticOperatorWithAnyAndNumber.ts, 5, 3))
>a * b : number
->a : any
->b : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var ra3 = a * 0;
->ra3 : number
+>ra3 : number, Symbol(ra3, Decl(arithmeticOperatorWithAnyAndNumber.ts, 6, 3))
>a * 0 : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>0 : number
var ra4 = 0 * a;
->ra4 : number
+>ra4 : number, Symbol(ra4, Decl(arithmeticOperatorWithAnyAndNumber.ts, 7, 3))
>0 * a : number
->a : any
+>0 : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var ra5 = 0 * 0;
->ra5 : number
+>ra5 : number, Symbol(ra5, Decl(arithmeticOperatorWithAnyAndNumber.ts, 8, 3))
>0 * 0 : number
+>0 : number
+>0 : number
var ra6 = b * 0;
->ra6 : number
+>ra6 : number, Symbol(ra6, Decl(arithmeticOperatorWithAnyAndNumber.ts, 9, 3))
>b * 0 : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>0 : number
var ra7 = 0 * b;
->ra7 : number
+>ra7 : number, Symbol(ra7, Decl(arithmeticOperatorWithAnyAndNumber.ts, 10, 3))
>0 * b : number
->b : number
+>0 : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var ra8 = b * b;
->ra8 : number
+>ra8 : number, Symbol(ra8, Decl(arithmeticOperatorWithAnyAndNumber.ts, 11, 3))
>b * b : number
->b : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
// operator /
var rb1 = a / a;
->rb1 : number
+>rb1 : number, Symbol(rb1, Decl(arithmeticOperatorWithAnyAndNumber.ts, 14, 3))
>a / a : number
->a : any
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rb2 = a / b;
->rb2 : number
+>rb2 : number, Symbol(rb2, Decl(arithmeticOperatorWithAnyAndNumber.ts, 15, 3))
>a / b : number
->a : any
->b : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rb3 = a / 0;
->rb3 : number
+>rb3 : number, Symbol(rb3, Decl(arithmeticOperatorWithAnyAndNumber.ts, 16, 3))
>a / 0 : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>0 : number
var rb4 = 0 / a;
->rb4 : number
+>rb4 : number, Symbol(rb4, Decl(arithmeticOperatorWithAnyAndNumber.ts, 17, 3))
>0 / a : number
->a : any
+>0 : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rb5 = 0 / 0;
->rb5 : number
+>rb5 : number, Symbol(rb5, Decl(arithmeticOperatorWithAnyAndNumber.ts, 18, 3))
>0 / 0 : number
+>0 : number
+>0 : number
var rb6 = b / 0;
->rb6 : number
+>rb6 : number, Symbol(rb6, Decl(arithmeticOperatorWithAnyAndNumber.ts, 19, 3))
>b / 0 : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>0 : number
var rb7 = 0 / b;
->rb7 : number
+>rb7 : number, Symbol(rb7, Decl(arithmeticOperatorWithAnyAndNumber.ts, 20, 3))
>0 / b : number
->b : number
+>0 : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rb8 = b / b;
->rb8 : number
+>rb8 : number, Symbol(rb8, Decl(arithmeticOperatorWithAnyAndNumber.ts, 21, 3))
>b / b : number
->b : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
// operator %
var rc1 = a % a;
->rc1 : number
+>rc1 : number, Symbol(rc1, Decl(arithmeticOperatorWithAnyAndNumber.ts, 24, 3))
>a % a : number
->a : any
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rc2 = a % b;
->rc2 : number
+>rc2 : number, Symbol(rc2, Decl(arithmeticOperatorWithAnyAndNumber.ts, 25, 3))
>a % b : number
->a : any
->b : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rc3 = a % 0;
->rc3 : number
+>rc3 : number, Symbol(rc3, Decl(arithmeticOperatorWithAnyAndNumber.ts, 26, 3))
>a % 0 : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>0 : number
var rc4 = 0 % a;
->rc4 : number
+>rc4 : number, Symbol(rc4, Decl(arithmeticOperatorWithAnyAndNumber.ts, 27, 3))
>0 % a : number
->a : any
+>0 : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rc5 = 0 % 0;
->rc5 : number
+>rc5 : number, Symbol(rc5, Decl(arithmeticOperatorWithAnyAndNumber.ts, 28, 3))
>0 % 0 : number
+>0 : number
+>0 : number
var rc6 = b % 0;
->rc6 : number
+>rc6 : number, Symbol(rc6, Decl(arithmeticOperatorWithAnyAndNumber.ts, 29, 3))
>b % 0 : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>0 : number
var rc7 = 0 % b;
->rc7 : number
+>rc7 : number, Symbol(rc7, Decl(arithmeticOperatorWithAnyAndNumber.ts, 30, 3))
>0 % b : number
->b : number
+>0 : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rc8 = b % b;
->rc8 : number
+>rc8 : number, Symbol(rc8, Decl(arithmeticOperatorWithAnyAndNumber.ts, 31, 3))
>b % b : number
->b : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
// operator -
var rd1 = a - a;
->rd1 : number
+>rd1 : number, Symbol(rd1, Decl(arithmeticOperatorWithAnyAndNumber.ts, 34, 3))
>a - a : number
->a : any
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rd2 = a - b;
->rd2 : number
+>rd2 : number, Symbol(rd2, Decl(arithmeticOperatorWithAnyAndNumber.ts, 35, 3))
>a - b : number
->a : any
->b : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rd3 = a - 0;
->rd3 : number
+>rd3 : number, Symbol(rd3, Decl(arithmeticOperatorWithAnyAndNumber.ts, 36, 3))
>a - 0 : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>0 : number
var rd4 = 0 - a;
->rd4 : number
+>rd4 : number, Symbol(rd4, Decl(arithmeticOperatorWithAnyAndNumber.ts, 37, 3))
>0 - a : number
->a : any
+>0 : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rd5 = 0 - 0;
->rd5 : number
+>rd5 : number, Symbol(rd5, Decl(arithmeticOperatorWithAnyAndNumber.ts, 38, 3))
>0 - 0 : number
+>0 : number
+>0 : number
var rd6 = b - 0;
->rd6 : number
+>rd6 : number, Symbol(rd6, Decl(arithmeticOperatorWithAnyAndNumber.ts, 39, 3))
>b - 0 : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>0 : number
var rd7 = 0 - b;
->rd7 : number
+>rd7 : number, Symbol(rd7, Decl(arithmeticOperatorWithAnyAndNumber.ts, 40, 3))
>0 - b : number
->b : number
+>0 : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rd8 = b - b;
->rd8 : number
+>rd8 : number, Symbol(rd8, Decl(arithmeticOperatorWithAnyAndNumber.ts, 41, 3))
>b - b : number
->b : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
// operator <<
var re1 = a << a;
->re1 : number
+>re1 : number, Symbol(re1, Decl(arithmeticOperatorWithAnyAndNumber.ts, 44, 3))
>a << a : number
->a : any
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var re2 = a << b;
->re2 : number
+>re2 : number, Symbol(re2, Decl(arithmeticOperatorWithAnyAndNumber.ts, 45, 3))
>a << b : number
->a : any
->b : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var re3 = a << 0;
->re3 : number
+>re3 : number, Symbol(re3, Decl(arithmeticOperatorWithAnyAndNumber.ts, 46, 3))
>a << 0 : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>0 : number
var re4 = 0 << a;
->re4 : number
+>re4 : number, Symbol(re4, Decl(arithmeticOperatorWithAnyAndNumber.ts, 47, 3))
>0 << a : number
->a : any
+>0 : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var re5 = 0 << 0;
->re5 : number
+>re5 : number, Symbol(re5, Decl(arithmeticOperatorWithAnyAndNumber.ts, 48, 3))
>0 << 0 : number
+>0 : number
+>0 : number
var re6 = b << 0;
->re6 : number
+>re6 : number, Symbol(re6, Decl(arithmeticOperatorWithAnyAndNumber.ts, 49, 3))
>b << 0 : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>0 : number
var re7 = 0 << b;
->re7 : number
+>re7 : number, Symbol(re7, Decl(arithmeticOperatorWithAnyAndNumber.ts, 50, 3))
>0 << b : number
->b : number
+>0 : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var re8 = b << b;
->re8 : number
+>re8 : number, Symbol(re8, Decl(arithmeticOperatorWithAnyAndNumber.ts, 51, 3))
>b << b : number
->b : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
// operator >>
var rf1 = a >> a;
->rf1 : number
+>rf1 : number, Symbol(rf1, Decl(arithmeticOperatorWithAnyAndNumber.ts, 54, 3))
>a >> a : number
->a : any
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rf2 = a >> b;
->rf2 : number
+>rf2 : number, Symbol(rf2, Decl(arithmeticOperatorWithAnyAndNumber.ts, 55, 3))
>a >> b : number
->a : any
->b : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rf3 = a >> 0;
->rf3 : number
+>rf3 : number, Symbol(rf3, Decl(arithmeticOperatorWithAnyAndNumber.ts, 56, 3))
>a >> 0 : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>0 : number
var rf4 = 0 >> a;
->rf4 : number
+>rf4 : number, Symbol(rf4, Decl(arithmeticOperatorWithAnyAndNumber.ts, 57, 3))
>0 >> a : number
->a : any
+>0 : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rf5 = 0 >> 0;
->rf5 : number
+>rf5 : number, Symbol(rf5, Decl(arithmeticOperatorWithAnyAndNumber.ts, 58, 3))
>0 >> 0 : number
+>0 : number
+>0 : number
var rf6 = b >> 0;
->rf6 : number
+>rf6 : number, Symbol(rf6, Decl(arithmeticOperatorWithAnyAndNumber.ts, 59, 3))
>b >> 0 : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>0 : number
var rf7 = 0 >> b;
->rf7 : number
+>rf7 : number, Symbol(rf7, Decl(arithmeticOperatorWithAnyAndNumber.ts, 60, 3))
>0 >> b : number
->b : number
+>0 : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rf8 = b >> b;
->rf8 : number
+>rf8 : number, Symbol(rf8, Decl(arithmeticOperatorWithAnyAndNumber.ts, 61, 3))
>b >> b : number
->b : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
// operator >>>
var rg1 = a >>> a;
->rg1 : number
+>rg1 : number, Symbol(rg1, Decl(arithmeticOperatorWithAnyAndNumber.ts, 64, 3))
>a >>> a : number
->a : any
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rg2 = a >>> b;
->rg2 : number
+>rg2 : number, Symbol(rg2, Decl(arithmeticOperatorWithAnyAndNumber.ts, 65, 3))
>a >>> b : number
->a : any
->b : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rg3 = a >>> 0;
->rg3 : number
+>rg3 : number, Symbol(rg3, Decl(arithmeticOperatorWithAnyAndNumber.ts, 66, 3))
>a >>> 0 : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>0 : number
var rg4 = 0 >>> a;
->rg4 : number
+>rg4 : number, Symbol(rg4, Decl(arithmeticOperatorWithAnyAndNumber.ts, 67, 3))
>0 >>> a : number
->a : any
+>0 : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rg5 = 0 >>> 0;
->rg5 : number
+>rg5 : number, Symbol(rg5, Decl(arithmeticOperatorWithAnyAndNumber.ts, 68, 3))
>0 >>> 0 : number
+>0 : number
+>0 : number
var rg6 = b >>> 0;
->rg6 : number
+>rg6 : number, Symbol(rg6, Decl(arithmeticOperatorWithAnyAndNumber.ts, 69, 3))
>b >>> 0 : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>0 : number
var rg7 = 0 >>> b;
->rg7 : number
+>rg7 : number, Symbol(rg7, Decl(arithmeticOperatorWithAnyAndNumber.ts, 70, 3))
>0 >>> b : number
->b : number
+>0 : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rg8 = b >>> b;
->rg8 : number
+>rg8 : number, Symbol(rg8, Decl(arithmeticOperatorWithAnyAndNumber.ts, 71, 3))
>b >>> b : number
->b : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
// operator &
var rh1 = a & a;
->rh1 : number
+>rh1 : number, Symbol(rh1, Decl(arithmeticOperatorWithAnyAndNumber.ts, 74, 3))
>a & a : number
->a : any
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rh2 = a & b;
->rh2 : number
+>rh2 : number, Symbol(rh2, Decl(arithmeticOperatorWithAnyAndNumber.ts, 75, 3))
>a & b : number
->a : any
->b : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rh3 = a & 0;
->rh3 : number
+>rh3 : number, Symbol(rh3, Decl(arithmeticOperatorWithAnyAndNumber.ts, 76, 3))
>a & 0 : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>0 : number
var rh4 = 0 & a;
->rh4 : number
+>rh4 : number, Symbol(rh4, Decl(arithmeticOperatorWithAnyAndNumber.ts, 77, 3))
>0 & a : number
->a : any
+>0 : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rh5 = 0 & 0;
->rh5 : number
+>rh5 : number, Symbol(rh5, Decl(arithmeticOperatorWithAnyAndNumber.ts, 78, 3))
>0 & 0 : number
+>0 : number
+>0 : number
var rh6 = b & 0;
->rh6 : number
+>rh6 : number, Symbol(rh6, Decl(arithmeticOperatorWithAnyAndNumber.ts, 79, 3))
>b & 0 : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>0 : number
var rh7 = 0 & b;
->rh7 : number
+>rh7 : number, Symbol(rh7, Decl(arithmeticOperatorWithAnyAndNumber.ts, 80, 3))
>0 & b : number
->b : number
+>0 : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rh8 = b & b;
->rh8 : number
+>rh8 : number, Symbol(rh8, Decl(arithmeticOperatorWithAnyAndNumber.ts, 81, 3))
>b & b : number
->b : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
// operator ^
var ri1 = a ^ a;
->ri1 : number
+>ri1 : number, Symbol(ri1, Decl(arithmeticOperatorWithAnyAndNumber.ts, 84, 3))
>a ^ a : number
->a : any
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var ri2 = a ^ b;
->ri2 : number
+>ri2 : number, Symbol(ri2, Decl(arithmeticOperatorWithAnyAndNumber.ts, 85, 3))
>a ^ b : number
->a : any
->b : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var ri3 = a ^ 0;
->ri3 : number
+>ri3 : number, Symbol(ri3, Decl(arithmeticOperatorWithAnyAndNumber.ts, 86, 3))
>a ^ 0 : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>0 : number
var ri4 = 0 ^ a;
->ri4 : number
+>ri4 : number, Symbol(ri4, Decl(arithmeticOperatorWithAnyAndNumber.ts, 87, 3))
>0 ^ a : number
->a : any
+>0 : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var ri5 = 0 ^ 0;
->ri5 : number
+>ri5 : number, Symbol(ri5, Decl(arithmeticOperatorWithAnyAndNumber.ts, 88, 3))
>0 ^ 0 : number
+>0 : number
+>0 : number
var ri6 = b ^ 0;
->ri6 : number
+>ri6 : number, Symbol(ri6, Decl(arithmeticOperatorWithAnyAndNumber.ts, 89, 3))
>b ^ 0 : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>0 : number
var ri7 = 0 ^ b;
->ri7 : number
+>ri7 : number, Symbol(ri7, Decl(arithmeticOperatorWithAnyAndNumber.ts, 90, 3))
>0 ^ b : number
->b : number
+>0 : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var ri8 = b ^ b;
->ri8 : number
+>ri8 : number, Symbol(ri8, Decl(arithmeticOperatorWithAnyAndNumber.ts, 91, 3))
>b ^ b : number
->b : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
// operator |
var rj1 = a | a;
->rj1 : number
+>rj1 : number, Symbol(rj1, Decl(arithmeticOperatorWithAnyAndNumber.ts, 94, 3))
>a | a : number
->a : any
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rj2 = a | b;
->rj2 : number
+>rj2 : number, Symbol(rj2, Decl(arithmeticOperatorWithAnyAndNumber.ts, 95, 3))
>a | b : number
->a : any
->b : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rj3 = a | 0;
->rj3 : number
+>rj3 : number, Symbol(rj3, Decl(arithmeticOperatorWithAnyAndNumber.ts, 96, 3))
>a | 0 : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
+>0 : number
var rj4 = 0 | a;
->rj4 : number
+>rj4 : number, Symbol(rj4, Decl(arithmeticOperatorWithAnyAndNumber.ts, 97, 3))
>0 | a : number
->a : any
+>0 : number
+>a : any, Symbol(a, Decl(arithmeticOperatorWithAnyAndNumber.ts, 0, 3))
var rj5 = 0 | 0;
->rj5 : number
+>rj5 : number, Symbol(rj5, Decl(arithmeticOperatorWithAnyAndNumber.ts, 98, 3))
>0 | 0 : number
+>0 : number
+>0 : number
var rj6 = b | 0;
->rj6 : number
+>rj6 : number, Symbol(rj6, Decl(arithmeticOperatorWithAnyAndNumber.ts, 99, 3))
>b | 0 : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>0 : number
var rj7 = 0 | b;
->rj7 : number
+>rj7 : number, Symbol(rj7, Decl(arithmeticOperatorWithAnyAndNumber.ts, 100, 3))
>0 | b : number
->b : number
+>0 : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
var rj8 = b | b;
->rj8 : number
+>rj8 : number, Symbol(rj8, Decl(arithmeticOperatorWithAnyAndNumber.ts, 101, 3))
>b | b : number
->b : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithAnyAndNumber.ts, 1, 3))
diff --git a/tests/baselines/reference/arithmeticOperatorWithEnum.types b/tests/baselines/reference/arithmeticOperatorWithEnum.types
index 2f4ebce8f32..923163200d5 100644
--- a/tests/baselines/reference/arithmeticOperatorWithEnum.types
+++ b/tests/baselines/reference/arithmeticOperatorWithEnum.types
@@ -2,892 +2,912 @@
// operands of an enum type are treated as having the primitive type Number.
enum E {
->E : E
+>E : E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
a,
->a : E
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
b
->b : E
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
}
var a: any;
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var b: number;
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var c: E;
->c : E
->E : E
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>E : E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
// operator *
var ra1 = c * a;
->ra1 : number
+>ra1 : number, Symbol(ra1, Decl(arithmeticOperatorWithEnum.ts, 12, 3))
>c * a : number
->c : E
->a : any
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var ra2 = c * b;
->ra2 : number
+>ra2 : number, Symbol(ra2, Decl(arithmeticOperatorWithEnum.ts, 13, 3))
>c * b : number
->c : E
->b : number
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var ra3 = c * c;
->ra3 : number
+>ra3 : number, Symbol(ra3, Decl(arithmeticOperatorWithEnum.ts, 14, 3))
>c * c : number
->c : E
->c : E
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var ra4 = a * c;
->ra4 : number
+>ra4 : number, Symbol(ra4, Decl(arithmeticOperatorWithEnum.ts, 15, 3))
>a * c : number
->a : any
->c : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var ra5 = b * c;
->ra5 : number
+>ra5 : number, Symbol(ra5, Decl(arithmeticOperatorWithEnum.ts, 16, 3))
>b * c : number
->b : number
->c : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var ra6 = E.a * a;
->ra6 : number
+>ra6 : number, Symbol(ra6, Decl(arithmeticOperatorWithEnum.ts, 17, 3))
>E.a * a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var ra7 = E.a * b;
->ra7 : number
+>ra7 : number, Symbol(ra7, Decl(arithmeticOperatorWithEnum.ts, 18, 3))
>E.a * b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var ra8 = E.a * E.b;
->ra8 : number
+>ra8 : number, Symbol(ra8, Decl(arithmeticOperatorWithEnum.ts, 19, 3))
>E.a * E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var ra9 = E.a * 1;
->ra9 : number
+>ra9 : number, Symbol(ra9, Decl(arithmeticOperatorWithEnum.ts, 20, 3))
>E.a * 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>1 : number
var ra10 = a * E.b;
->ra10 : number
+>ra10 : number, Symbol(ra10, Decl(arithmeticOperatorWithEnum.ts, 21, 3))
>a * E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var ra11 = b * E.b;
->ra11 : number
+>ra11 : number, Symbol(ra11, Decl(arithmeticOperatorWithEnum.ts, 22, 3))
>b * E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var ra12 = 1 * E.b;
->ra12 : number
+>ra12 : number, Symbol(ra12, Decl(arithmeticOperatorWithEnum.ts, 23, 3))
>1 * E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
// operator /
var rb1 = c / a;
->rb1 : number
+>rb1 : number, Symbol(rb1, Decl(arithmeticOperatorWithEnum.ts, 26, 3))
>c / a : number
->c : E
->a : any
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rb2 = c / b;
->rb2 : number
+>rb2 : number, Symbol(rb2, Decl(arithmeticOperatorWithEnum.ts, 27, 3))
>c / b : number
->c : E
->b : number
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rb3 = c / c;
->rb3 : number
+>rb3 : number, Symbol(rb3, Decl(arithmeticOperatorWithEnum.ts, 28, 3))
>c / c : number
->c : E
->c : E
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rb4 = a / c;
->rb4 : number
+>rb4 : number, Symbol(rb4, Decl(arithmeticOperatorWithEnum.ts, 29, 3))
>a / c : number
->a : any
->c : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rb5 = b / c;
->rb5 : number
+>rb5 : number, Symbol(rb5, Decl(arithmeticOperatorWithEnum.ts, 30, 3))
>b / c : number
->b : number
->c : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rb6 = E.a / a;
->rb6 : number
+>rb6 : number, Symbol(rb6, Decl(arithmeticOperatorWithEnum.ts, 31, 3))
>E.a / a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rb7 = E.a / b;
->rb7 : number
+>rb7 : number, Symbol(rb7, Decl(arithmeticOperatorWithEnum.ts, 32, 3))
>E.a / b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rb8 = E.a / E.b;
->rb8 : number
+>rb8 : number, Symbol(rb8, Decl(arithmeticOperatorWithEnum.ts, 33, 3))
>E.a / E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rb9 = E.a / 1;
->rb9 : number
+>rb9 : number, Symbol(rb9, Decl(arithmeticOperatorWithEnum.ts, 34, 3))
>E.a / 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>1 : number
var rb10 = a / E.b;
->rb10 : number
+>rb10 : number, Symbol(rb10, Decl(arithmeticOperatorWithEnum.ts, 35, 3))
>a / E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rb11 = b / E.b;
->rb11 : number
+>rb11 : number, Symbol(rb11, Decl(arithmeticOperatorWithEnum.ts, 36, 3))
>b / E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rb12 = 1 / E.b;
->rb12 : number
+>rb12 : number, Symbol(rb12, Decl(arithmeticOperatorWithEnum.ts, 37, 3))
>1 / E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
// operator %
var rc1 = c % a;
->rc1 : number
+>rc1 : number, Symbol(rc1, Decl(arithmeticOperatorWithEnum.ts, 40, 3))
>c % a : number
->c : E
->a : any
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rc2 = c % b;
->rc2 : number
+>rc2 : number, Symbol(rc2, Decl(arithmeticOperatorWithEnum.ts, 41, 3))
>c % b : number
->c : E
->b : number
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rc3 = c % c;
->rc3 : number
+>rc3 : number, Symbol(rc3, Decl(arithmeticOperatorWithEnum.ts, 42, 3))
>c % c : number
->c : E
->c : E
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rc4 = a % c;
->rc4 : number
+>rc4 : number, Symbol(rc4, Decl(arithmeticOperatorWithEnum.ts, 43, 3))
>a % c : number
->a : any
->c : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rc5 = b % c;
->rc5 : number
+>rc5 : number, Symbol(rc5, Decl(arithmeticOperatorWithEnum.ts, 44, 3))
>b % c : number
->b : number
->c : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rc6 = E.a % a;
->rc6 : number
+>rc6 : number, Symbol(rc6, Decl(arithmeticOperatorWithEnum.ts, 45, 3))
>E.a % a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rc7 = E.a % b;
->rc7 : number
+>rc7 : number, Symbol(rc7, Decl(arithmeticOperatorWithEnum.ts, 46, 3))
>E.a % b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rc8 = E.a % E.b;
->rc8 : number
+>rc8 : number, Symbol(rc8, Decl(arithmeticOperatorWithEnum.ts, 47, 3))
>E.a % E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rc9 = E.a % 1;
->rc9 : number
+>rc9 : number, Symbol(rc9, Decl(arithmeticOperatorWithEnum.ts, 48, 3))
>E.a % 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>1 : number
var rc10 = a % E.b;
->rc10 : number
+>rc10 : number, Symbol(rc10, Decl(arithmeticOperatorWithEnum.ts, 49, 3))
>a % E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rc11 = b % E.b;
->rc11 : number
+>rc11 : number, Symbol(rc11, Decl(arithmeticOperatorWithEnum.ts, 50, 3))
>b % E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rc12 = 1 % E.b;
->rc12 : number
+>rc12 : number, Symbol(rc12, Decl(arithmeticOperatorWithEnum.ts, 51, 3))
>1 % E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
// operator -
var rd1 = c - a;
->rd1 : number
+>rd1 : number, Symbol(rd1, Decl(arithmeticOperatorWithEnum.ts, 54, 3))
>c - a : number
->c : E
->a : any
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rd2 = c - b;
->rd2 : number
+>rd2 : number, Symbol(rd2, Decl(arithmeticOperatorWithEnum.ts, 55, 3))
>c - b : number
->c : E
->b : number
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rd3 = c - c;
->rd3 : number
+>rd3 : number, Symbol(rd3, Decl(arithmeticOperatorWithEnum.ts, 56, 3))
>c - c : number
->c : E
->c : E
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rd4 = a - c;
->rd4 : number
+>rd4 : number, Symbol(rd4, Decl(arithmeticOperatorWithEnum.ts, 57, 3))
>a - c : number
->a : any
->c : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rd5 = b - c;
->rd5 : number
+>rd5 : number, Symbol(rd5, Decl(arithmeticOperatorWithEnum.ts, 58, 3))
>b - c : number
->b : number
->c : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rd6 = E.a - a;
->rd6 : number
+>rd6 : number, Symbol(rd6, Decl(arithmeticOperatorWithEnum.ts, 59, 3))
>E.a - a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rd7 = E.a - b;
->rd7 : number
+>rd7 : number, Symbol(rd7, Decl(arithmeticOperatorWithEnum.ts, 60, 3))
>E.a - b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rd8 = E.a - E.b;
->rd8 : number
+>rd8 : number, Symbol(rd8, Decl(arithmeticOperatorWithEnum.ts, 61, 3))
>E.a - E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rd9 = E.a - 1;
->rd9 : number
+>rd9 : number, Symbol(rd9, Decl(arithmeticOperatorWithEnum.ts, 62, 3))
>E.a - 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>1 : number
var rd10 = a - E.b;
->rd10 : number
+>rd10 : number, Symbol(rd10, Decl(arithmeticOperatorWithEnum.ts, 63, 3))
>a - E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rd11 = b - E.b;
->rd11 : number
+>rd11 : number, Symbol(rd11, Decl(arithmeticOperatorWithEnum.ts, 64, 3))
>b - E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rd12 = 1 - E.b;
->rd12 : number
+>rd12 : number, Symbol(rd12, Decl(arithmeticOperatorWithEnum.ts, 65, 3))
>1 - E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
// operator <<
var re1 = c << a;
->re1 : number
+>re1 : number, Symbol(re1, Decl(arithmeticOperatorWithEnum.ts, 68, 3))
>c << a : number
->c : E
->a : any
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var re2 = c << b;
->re2 : number
+>re2 : number, Symbol(re2, Decl(arithmeticOperatorWithEnum.ts, 69, 3))
>c << b : number
->c : E
->b : number
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var re3 = c << c;
->re3 : number
+>re3 : number, Symbol(re3, Decl(arithmeticOperatorWithEnum.ts, 70, 3))
>c << c : number
->c : E
->c : E
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var re4 = a << c;
->re4 : number
+>re4 : number, Symbol(re4, Decl(arithmeticOperatorWithEnum.ts, 71, 3))
>a << c : number
->a : any
->c : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var re5 = b << c;
->re5 : number
+>re5 : number, Symbol(re5, Decl(arithmeticOperatorWithEnum.ts, 72, 3))
>b << c : number
->b : number
->c : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var re6 = E.a << a;
->re6 : number
+>re6 : number, Symbol(re6, Decl(arithmeticOperatorWithEnum.ts, 73, 3))
>E.a << a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var re7 = E.a << b;
->re7 : number
+>re7 : number, Symbol(re7, Decl(arithmeticOperatorWithEnum.ts, 74, 3))
>E.a << b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var re8 = E.a << E.b;
->re8 : number
+>re8 : number, Symbol(re8, Decl(arithmeticOperatorWithEnum.ts, 75, 3))
>E.a << E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var re9 = E.a << 1;
->re9 : number
+>re9 : number, Symbol(re9, Decl(arithmeticOperatorWithEnum.ts, 76, 3))
>E.a << 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>1 : number
var re10 = a << E.b;
->re10 : number
+>re10 : number, Symbol(re10, Decl(arithmeticOperatorWithEnum.ts, 77, 3))
>a << E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var re11 = b << E.b;
->re11 : number
+>re11 : number, Symbol(re11, Decl(arithmeticOperatorWithEnum.ts, 78, 3))
>b << E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var re12 = 1 << E.b;
->re12 : number
+>re12 : number, Symbol(re12, Decl(arithmeticOperatorWithEnum.ts, 79, 3))
>1 << E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
// operator >>
var rf1 = c >> a;
->rf1 : number
+>rf1 : number, Symbol(rf1, Decl(arithmeticOperatorWithEnum.ts, 82, 3))
>c >> a : number
->c : E
->a : any
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rf2 = c >> b;
->rf2 : number
+>rf2 : number, Symbol(rf2, Decl(arithmeticOperatorWithEnum.ts, 83, 3))
>c >> b : number
->c : E
->b : number
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rf3 = c >> c;
->rf3 : number
+>rf3 : number, Symbol(rf3, Decl(arithmeticOperatorWithEnum.ts, 84, 3))
>c >> c : number
->c : E
->c : E
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rf4 = a >> c;
->rf4 : number
+>rf4 : number, Symbol(rf4, Decl(arithmeticOperatorWithEnum.ts, 85, 3))
>a >> c : number
->a : any
->c : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rf5 = b >> c;
->rf5 : number
+>rf5 : number, Symbol(rf5, Decl(arithmeticOperatorWithEnum.ts, 86, 3))
>b >> c : number
->b : number
->c : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rf6 = E.a >> a;
->rf6 : number
+>rf6 : number, Symbol(rf6, Decl(arithmeticOperatorWithEnum.ts, 87, 3))
>E.a >> a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rf7 = E.a >> b;
->rf7 : number
+>rf7 : number, Symbol(rf7, Decl(arithmeticOperatorWithEnum.ts, 88, 3))
>E.a >> b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rf8 = E.a >> E.b;
->rf8 : number
+>rf8 : number, Symbol(rf8, Decl(arithmeticOperatorWithEnum.ts, 89, 3))
>E.a >> E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rf9 = E.a >> 1;
->rf9 : number
+>rf9 : number, Symbol(rf9, Decl(arithmeticOperatorWithEnum.ts, 90, 3))
>E.a >> 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>1 : number
var rf10 = a >> E.b;
->rf10 : number
+>rf10 : number, Symbol(rf10, Decl(arithmeticOperatorWithEnum.ts, 91, 3))
>a >> E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rf11 = b >> E.b;
->rf11 : number
+>rf11 : number, Symbol(rf11, Decl(arithmeticOperatorWithEnum.ts, 92, 3))
>b >> E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rf12 = 1 >> E.b;
->rf12 : number
+>rf12 : number, Symbol(rf12, Decl(arithmeticOperatorWithEnum.ts, 93, 3))
>1 >> E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
// operator >>>
var rg1 = c >>> a;
->rg1 : number
+>rg1 : number, Symbol(rg1, Decl(arithmeticOperatorWithEnum.ts, 96, 3))
>c >>> a : number
->c : E
->a : any
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rg2 = c >>> b;
->rg2 : number
+>rg2 : number, Symbol(rg2, Decl(arithmeticOperatorWithEnum.ts, 97, 3))
>c >>> b : number
->c : E
->b : number
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rg3 = c >>> c;
->rg3 : number
+>rg3 : number, Symbol(rg3, Decl(arithmeticOperatorWithEnum.ts, 98, 3))
>c >>> c : number
->c : E
->c : E
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rg4 = a >>> c;
->rg4 : number
+>rg4 : number, Symbol(rg4, Decl(arithmeticOperatorWithEnum.ts, 99, 3))
>a >>> c : number
->a : any
->c : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rg5 = b >>> c;
->rg5 : number
+>rg5 : number, Symbol(rg5, Decl(arithmeticOperatorWithEnum.ts, 100, 3))
>b >>> c : number
->b : number
->c : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rg6 = E.a >>> a;
->rg6 : number
+>rg6 : number, Symbol(rg6, Decl(arithmeticOperatorWithEnum.ts, 101, 3))
>E.a >>> a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rg7 = E.a >>> b;
->rg7 : number
+>rg7 : number, Symbol(rg7, Decl(arithmeticOperatorWithEnum.ts, 102, 3))
>E.a >>> b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rg8 = E.a >>> E.b;
->rg8 : number
+>rg8 : number, Symbol(rg8, Decl(arithmeticOperatorWithEnum.ts, 103, 3))
>E.a >>> E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rg9 = E.a >>> 1;
->rg9 : number
+>rg9 : number, Symbol(rg9, Decl(arithmeticOperatorWithEnum.ts, 104, 3))
>E.a >>> 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>1 : number
var rg10 = a >>> E.b;
->rg10 : number
+>rg10 : number, Symbol(rg10, Decl(arithmeticOperatorWithEnum.ts, 105, 3))
>a >>> E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rg11 = b >>> E.b;
->rg11 : number
+>rg11 : number, Symbol(rg11, Decl(arithmeticOperatorWithEnum.ts, 106, 3))
>b >>> E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rg12 = 1 >>> E.b;
->rg12 : number
+>rg12 : number, Symbol(rg12, Decl(arithmeticOperatorWithEnum.ts, 107, 3))
>1 >>> E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
// operator &
var rh1 = c & a;
->rh1 : number
+>rh1 : number, Symbol(rh1, Decl(arithmeticOperatorWithEnum.ts, 110, 3))
>c & a : number
->c : E
->a : any
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rh2 = c & b;
->rh2 : number
+>rh2 : number, Symbol(rh2, Decl(arithmeticOperatorWithEnum.ts, 111, 3))
>c & b : number
->c : E
->b : number
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rh3 = c & c;
->rh3 : number
+>rh3 : number, Symbol(rh3, Decl(arithmeticOperatorWithEnum.ts, 112, 3))
>c & c : number
->c : E
->c : E
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rh4 = a & c;
->rh4 : number
+>rh4 : number, Symbol(rh4, Decl(arithmeticOperatorWithEnum.ts, 113, 3))
>a & c : number
->a : any
->c : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rh5 = b & c;
->rh5 : number
+>rh5 : number, Symbol(rh5, Decl(arithmeticOperatorWithEnum.ts, 114, 3))
>b & c : number
->b : number
->c : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rh6 = E.a & a;
->rh6 : number
+>rh6 : number, Symbol(rh6, Decl(arithmeticOperatorWithEnum.ts, 115, 3))
>E.a & a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rh7 = E.a & b;
->rh7 : number
+>rh7 : number, Symbol(rh7, Decl(arithmeticOperatorWithEnum.ts, 116, 3))
>E.a & b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rh8 = E.a & E.b;
->rh8 : number
+>rh8 : number, Symbol(rh8, Decl(arithmeticOperatorWithEnum.ts, 117, 3))
>E.a & E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rh9 = E.a & 1;
->rh9 : number
+>rh9 : number, Symbol(rh9, Decl(arithmeticOperatorWithEnum.ts, 118, 3))
>E.a & 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>1 : number
var rh10 = a & E.b;
->rh10 : number
+>rh10 : number, Symbol(rh10, Decl(arithmeticOperatorWithEnum.ts, 119, 3))
>a & E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rh11 = b & E.b;
->rh11 : number
+>rh11 : number, Symbol(rh11, Decl(arithmeticOperatorWithEnum.ts, 120, 3))
>b & E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rh12 = 1 & E.b;
->rh12 : number
+>rh12 : number, Symbol(rh12, Decl(arithmeticOperatorWithEnum.ts, 121, 3))
>1 & E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
// operator ^
var ri1 = c ^ a;
->ri1 : number
+>ri1 : number, Symbol(ri1, Decl(arithmeticOperatorWithEnum.ts, 124, 3))
>c ^ a : number
->c : E
->a : any
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var ri2 = c ^ b;
->ri2 : number
+>ri2 : number, Symbol(ri2, Decl(arithmeticOperatorWithEnum.ts, 125, 3))
>c ^ b : number
->c : E
->b : number
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var ri3 = c ^ c;
->ri3 : number
+>ri3 : number, Symbol(ri3, Decl(arithmeticOperatorWithEnum.ts, 126, 3))
>c ^ c : number
->c : E
->c : E
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var ri4 = a ^ c;
->ri4 : number
+>ri4 : number, Symbol(ri4, Decl(arithmeticOperatorWithEnum.ts, 127, 3))
>a ^ c : number
->a : any
->c : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var ri5 = b ^ c;
->ri5 : number
+>ri5 : number, Symbol(ri5, Decl(arithmeticOperatorWithEnum.ts, 128, 3))
>b ^ c : number
->b : number
->c : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var ri6 = E.a ^ a;
->ri6 : number
+>ri6 : number, Symbol(ri6, Decl(arithmeticOperatorWithEnum.ts, 129, 3))
>E.a ^ a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var ri7 = E.a ^ b;
->ri7 : number
+>ri7 : number, Symbol(ri7, Decl(arithmeticOperatorWithEnum.ts, 130, 3))
>E.a ^ b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var ri8 = E.a ^ E.b;
->ri8 : number
+>ri8 : number, Symbol(ri8, Decl(arithmeticOperatorWithEnum.ts, 131, 3))
>E.a ^ E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var ri9 = E.a ^ 1;
->ri9 : number
+>ri9 : number, Symbol(ri9, Decl(arithmeticOperatorWithEnum.ts, 132, 3))
>E.a ^ 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>1 : number
var ri10 = a ^ E.b;
->ri10 : number
+>ri10 : number, Symbol(ri10, Decl(arithmeticOperatorWithEnum.ts, 133, 3))
>a ^ E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var ri11 = b ^ E.b;
->ri11 : number
+>ri11 : number, Symbol(ri11, Decl(arithmeticOperatorWithEnum.ts, 134, 3))
>b ^ E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var ri12 = 1 ^ E.b;
->ri12 : number
+>ri12 : number, Symbol(ri12, Decl(arithmeticOperatorWithEnum.ts, 135, 3))
>1 ^ E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
// operator |
var rj1 = c | a;
->rj1 : number
+>rj1 : number, Symbol(rj1, Decl(arithmeticOperatorWithEnum.ts, 138, 3))
>c | a : number
->c : E
->a : any
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rj2 = c | b;
->rj2 : number
+>rj2 : number, Symbol(rj2, Decl(arithmeticOperatorWithEnum.ts, 139, 3))
>c | b : number
->c : E
->b : number
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rj3 = c | c;
->rj3 : number
+>rj3 : number, Symbol(rj3, Decl(arithmeticOperatorWithEnum.ts, 140, 3))
>c | c : number
->c : E
->c : E
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rj4 = a | c;
->rj4 : number
+>rj4 : number, Symbol(rj4, Decl(arithmeticOperatorWithEnum.ts, 141, 3))
>a | c : number
->a : any
->c : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rj5 = b | c;
->rj5 : number
+>rj5 : number, Symbol(rj5, Decl(arithmeticOperatorWithEnum.ts, 142, 3))
>b | c : number
->b : number
->c : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>c : E, Symbol(c, Decl(arithmeticOperatorWithEnum.ts, 9, 3))
var rj6 = E.a | a;
->rj6 : number
+>rj6 : number, Symbol(rj6, Decl(arithmeticOperatorWithEnum.ts, 143, 3))
>E.a | a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
var rj7 = E.a | b;
->rj7 : number
+>rj7 : number, Symbol(rj7, Decl(arithmeticOperatorWithEnum.ts, 144, 3))
>E.a | b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
var rj8 = E.a | E.b;
->rj8 : number
+>rj8 : number, Symbol(rj8, Decl(arithmeticOperatorWithEnum.ts, 145, 3))
>E.a | E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rj9 = E.a | 1;
->rj9 : number
+>rj9 : number, Symbol(rj9, Decl(arithmeticOperatorWithEnum.ts, 146, 3))
>E.a | 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnum.ts, 2, 8))
+>1 : number
var rj10 = a | E.b;
->rj10 : number
+>rj10 : number, Symbol(rj10, Decl(arithmeticOperatorWithEnum.ts, 147, 3))
>a | E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnum.ts, 7, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rj11 = b | E.b;
->rj11 : number
+>rj11 : number, Symbol(rj11, Decl(arithmeticOperatorWithEnum.ts, 148, 3))
>b | E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnum.ts, 8, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
var rj12 = 1 | E.b;
->rj12 : number
+>rj12 : number, Symbol(rj12, Decl(arithmeticOperatorWithEnum.ts, 149, 3))
>1 | E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnum.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnum.ts, 3, 6))
diff --git a/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types b/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types
index 7b65ddf7f00..698be4feb7f 100644
--- a/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types
+++ b/tests/baselines/reference/arithmeticOperatorWithEnumUnion.types
@@ -2,902 +2,922 @@
// operands of an enum type are treated as having the primitive type Number.
enum E {
->E : E
+>E : E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
a,
->a : E
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
b
->b : E
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
}
enum F {
->F : F
+>F : F, Symbol(F, Decl(arithmeticOperatorWithEnumUnion.ts, 5, 1))
c,
->c : F
+>c : F, Symbol(F.c, Decl(arithmeticOperatorWithEnumUnion.ts, 6, 8))
d
->d : F
+>d : F, Symbol(F.d, Decl(arithmeticOperatorWithEnumUnion.ts, 7, 6))
}
var a: any;
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var b: number;
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var c: E | F;
->c : E | F
->E : E
->F : F
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>E : E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>F : F, Symbol(F, Decl(arithmeticOperatorWithEnumUnion.ts, 5, 1))
// operator *
var ra1 = c * a;
->ra1 : number
+>ra1 : number, Symbol(ra1, Decl(arithmeticOperatorWithEnumUnion.ts, 16, 3))
>c * a : number
->c : E | F
->a : any
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var ra2 = c * b;
->ra2 : number
+>ra2 : number, Symbol(ra2, Decl(arithmeticOperatorWithEnumUnion.ts, 17, 3))
>c * b : number
->c : E | F
->b : number
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var ra3 = c * c;
->ra3 : number
+>ra3 : number, Symbol(ra3, Decl(arithmeticOperatorWithEnumUnion.ts, 18, 3))
>c * c : number
->c : E | F
->c : E | F
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var ra4 = a * c;
->ra4 : number
+>ra4 : number, Symbol(ra4, Decl(arithmeticOperatorWithEnumUnion.ts, 19, 3))
>a * c : number
->a : any
->c : E | F
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var ra5 = b * c;
->ra5 : number
+>ra5 : number, Symbol(ra5, Decl(arithmeticOperatorWithEnumUnion.ts, 20, 3))
>b * c : number
->b : number
->c : E | F
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var ra6 = E.a * a;
->ra6 : number
+>ra6 : number, Symbol(ra6, Decl(arithmeticOperatorWithEnumUnion.ts, 21, 3))
>E.a * a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var ra7 = E.a * b;
->ra7 : number
+>ra7 : number, Symbol(ra7, Decl(arithmeticOperatorWithEnumUnion.ts, 22, 3))
>E.a * b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var ra8 = E.a * E.b;
->ra8 : number
+>ra8 : number, Symbol(ra8, Decl(arithmeticOperatorWithEnumUnion.ts, 23, 3))
>E.a * E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var ra9 = E.a * 1;
->ra9 : number
+>ra9 : number, Symbol(ra9, Decl(arithmeticOperatorWithEnumUnion.ts, 24, 3))
>E.a * 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>1 : number
var ra10 = a * E.b;
->ra10 : number
+>ra10 : number, Symbol(ra10, Decl(arithmeticOperatorWithEnumUnion.ts, 25, 3))
>a * E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var ra11 = b * E.b;
->ra11 : number
+>ra11 : number, Symbol(ra11, Decl(arithmeticOperatorWithEnumUnion.ts, 26, 3))
>b * E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var ra12 = 1 * E.b;
->ra12 : number
+>ra12 : number, Symbol(ra12, Decl(arithmeticOperatorWithEnumUnion.ts, 27, 3))
>1 * E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
// operator /
var rb1 = c / a;
->rb1 : number
+>rb1 : number, Symbol(rb1, Decl(arithmeticOperatorWithEnumUnion.ts, 30, 3))
>c / a : number
->c : E | F
->a : any
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rb2 = c / b;
->rb2 : number
+>rb2 : number, Symbol(rb2, Decl(arithmeticOperatorWithEnumUnion.ts, 31, 3))
>c / b : number
->c : E | F
->b : number
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rb3 = c / c;
->rb3 : number
+>rb3 : number, Symbol(rb3, Decl(arithmeticOperatorWithEnumUnion.ts, 32, 3))
>c / c : number
->c : E | F
->c : E | F
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rb4 = a / c;
->rb4 : number
+>rb4 : number, Symbol(rb4, Decl(arithmeticOperatorWithEnumUnion.ts, 33, 3))
>a / c : number
->a : any
->c : E | F
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rb5 = b / c;
->rb5 : number
+>rb5 : number, Symbol(rb5, Decl(arithmeticOperatorWithEnumUnion.ts, 34, 3))
>b / c : number
->b : number
->c : E | F
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rb6 = E.a / a;
->rb6 : number
+>rb6 : number, Symbol(rb6, Decl(arithmeticOperatorWithEnumUnion.ts, 35, 3))
>E.a / a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rb7 = E.a / b;
->rb7 : number
+>rb7 : number, Symbol(rb7, Decl(arithmeticOperatorWithEnumUnion.ts, 36, 3))
>E.a / b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rb8 = E.a / E.b;
->rb8 : number
+>rb8 : number, Symbol(rb8, Decl(arithmeticOperatorWithEnumUnion.ts, 37, 3))
>E.a / E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rb9 = E.a / 1;
->rb9 : number
+>rb9 : number, Symbol(rb9, Decl(arithmeticOperatorWithEnumUnion.ts, 38, 3))
>E.a / 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>1 : number
var rb10 = a / E.b;
->rb10 : number
+>rb10 : number, Symbol(rb10, Decl(arithmeticOperatorWithEnumUnion.ts, 39, 3))
>a / E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rb11 = b / E.b;
->rb11 : number
+>rb11 : number, Symbol(rb11, Decl(arithmeticOperatorWithEnumUnion.ts, 40, 3))
>b / E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rb12 = 1 / E.b;
->rb12 : number
+>rb12 : number, Symbol(rb12, Decl(arithmeticOperatorWithEnumUnion.ts, 41, 3))
>1 / E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
// operator %
var rc1 = c % a;
->rc1 : number
+>rc1 : number, Symbol(rc1, Decl(arithmeticOperatorWithEnumUnion.ts, 44, 3))
>c % a : number
->c : E | F
->a : any
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rc2 = c % b;
->rc2 : number
+>rc2 : number, Symbol(rc2, Decl(arithmeticOperatorWithEnumUnion.ts, 45, 3))
>c % b : number
->c : E | F
->b : number
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rc3 = c % c;
->rc3 : number
+>rc3 : number, Symbol(rc3, Decl(arithmeticOperatorWithEnumUnion.ts, 46, 3))
>c % c : number
->c : E | F
->c : E | F
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rc4 = a % c;
->rc4 : number
+>rc4 : number, Symbol(rc4, Decl(arithmeticOperatorWithEnumUnion.ts, 47, 3))
>a % c : number
->a : any
->c : E | F
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rc5 = b % c;
->rc5 : number
+>rc5 : number, Symbol(rc5, Decl(arithmeticOperatorWithEnumUnion.ts, 48, 3))
>b % c : number
->b : number
->c : E | F
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rc6 = E.a % a;
->rc6 : number
+>rc6 : number, Symbol(rc6, Decl(arithmeticOperatorWithEnumUnion.ts, 49, 3))
>E.a % a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rc7 = E.a % b;
->rc7 : number
+>rc7 : number, Symbol(rc7, Decl(arithmeticOperatorWithEnumUnion.ts, 50, 3))
>E.a % b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rc8 = E.a % E.b;
->rc8 : number
+>rc8 : number, Symbol(rc8, Decl(arithmeticOperatorWithEnumUnion.ts, 51, 3))
>E.a % E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rc9 = E.a % 1;
->rc9 : number
+>rc9 : number, Symbol(rc9, Decl(arithmeticOperatorWithEnumUnion.ts, 52, 3))
>E.a % 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>1 : number
var rc10 = a % E.b;
->rc10 : number
+>rc10 : number, Symbol(rc10, Decl(arithmeticOperatorWithEnumUnion.ts, 53, 3))
>a % E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rc11 = b % E.b;
->rc11 : number
+>rc11 : number, Symbol(rc11, Decl(arithmeticOperatorWithEnumUnion.ts, 54, 3))
>b % E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rc12 = 1 % E.b;
->rc12 : number
+>rc12 : number, Symbol(rc12, Decl(arithmeticOperatorWithEnumUnion.ts, 55, 3))
>1 % E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
// operator -
var rd1 = c - a;
->rd1 : number
+>rd1 : number, Symbol(rd1, Decl(arithmeticOperatorWithEnumUnion.ts, 58, 3))
>c - a : number
->c : E | F
->a : any
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rd2 = c - b;
->rd2 : number
+>rd2 : number, Symbol(rd2, Decl(arithmeticOperatorWithEnumUnion.ts, 59, 3))
>c - b : number
->c : E | F
->b : number
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rd3 = c - c;
->rd3 : number
+>rd3 : number, Symbol(rd3, Decl(arithmeticOperatorWithEnumUnion.ts, 60, 3))
>c - c : number
->c : E | F
->c : E | F
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rd4 = a - c;
->rd4 : number
+>rd4 : number, Symbol(rd4, Decl(arithmeticOperatorWithEnumUnion.ts, 61, 3))
>a - c : number
->a : any
->c : E | F
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rd5 = b - c;
->rd5 : number
+>rd5 : number, Symbol(rd5, Decl(arithmeticOperatorWithEnumUnion.ts, 62, 3))
>b - c : number
->b : number
->c : E | F
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rd6 = E.a - a;
->rd6 : number
+>rd6 : number, Symbol(rd6, Decl(arithmeticOperatorWithEnumUnion.ts, 63, 3))
>E.a - a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rd7 = E.a - b;
->rd7 : number
+>rd7 : number, Symbol(rd7, Decl(arithmeticOperatorWithEnumUnion.ts, 64, 3))
>E.a - b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rd8 = E.a - E.b;
->rd8 : number
+>rd8 : number, Symbol(rd8, Decl(arithmeticOperatorWithEnumUnion.ts, 65, 3))
>E.a - E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rd9 = E.a - 1;
->rd9 : number
+>rd9 : number, Symbol(rd9, Decl(arithmeticOperatorWithEnumUnion.ts, 66, 3))
>E.a - 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>1 : number
var rd10 = a - E.b;
->rd10 : number
+>rd10 : number, Symbol(rd10, Decl(arithmeticOperatorWithEnumUnion.ts, 67, 3))
>a - E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rd11 = b - E.b;
->rd11 : number
+>rd11 : number, Symbol(rd11, Decl(arithmeticOperatorWithEnumUnion.ts, 68, 3))
>b - E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rd12 = 1 - E.b;
->rd12 : number
+>rd12 : number, Symbol(rd12, Decl(arithmeticOperatorWithEnumUnion.ts, 69, 3))
>1 - E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
// operator <<
var re1 = c << a;
->re1 : number
+>re1 : number, Symbol(re1, Decl(arithmeticOperatorWithEnumUnion.ts, 72, 3))
>c << a : number
->c : E | F
->a : any
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var re2 = c << b;
->re2 : number
+>re2 : number, Symbol(re2, Decl(arithmeticOperatorWithEnumUnion.ts, 73, 3))
>c << b : number
->c : E | F
->b : number
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var re3 = c << c;
->re3 : number
+>re3 : number, Symbol(re3, Decl(arithmeticOperatorWithEnumUnion.ts, 74, 3))
>c << c : number
->c : E | F
->c : E | F
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var re4 = a << c;
->re4 : number
+>re4 : number, Symbol(re4, Decl(arithmeticOperatorWithEnumUnion.ts, 75, 3))
>a << c : number
->a : any
->c : E | F
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var re5 = b << c;
->re5 : number
+>re5 : number, Symbol(re5, Decl(arithmeticOperatorWithEnumUnion.ts, 76, 3))
>b << c : number
->b : number
->c : E | F
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var re6 = E.a << a;
->re6 : number
+>re6 : number, Symbol(re6, Decl(arithmeticOperatorWithEnumUnion.ts, 77, 3))
>E.a << a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var re7 = E.a << b;
->re7 : number
+>re7 : number, Symbol(re7, Decl(arithmeticOperatorWithEnumUnion.ts, 78, 3))
>E.a << b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var re8 = E.a << E.b;
->re8 : number
+>re8 : number, Symbol(re8, Decl(arithmeticOperatorWithEnumUnion.ts, 79, 3))
>E.a << E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var re9 = E.a << 1;
->re9 : number
+>re9 : number, Symbol(re9, Decl(arithmeticOperatorWithEnumUnion.ts, 80, 3))
>E.a << 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>1 : number
var re10 = a << E.b;
->re10 : number
+>re10 : number, Symbol(re10, Decl(arithmeticOperatorWithEnumUnion.ts, 81, 3))
>a << E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var re11 = b << E.b;
->re11 : number
+>re11 : number, Symbol(re11, Decl(arithmeticOperatorWithEnumUnion.ts, 82, 3))
>b << E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var re12 = 1 << E.b;
->re12 : number
+>re12 : number, Symbol(re12, Decl(arithmeticOperatorWithEnumUnion.ts, 83, 3))
>1 << E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
// operator >>
var rf1 = c >> a;
->rf1 : number
+>rf1 : number, Symbol(rf1, Decl(arithmeticOperatorWithEnumUnion.ts, 86, 3))
>c >> a : number
->c : E | F
->a : any
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rf2 = c >> b;
->rf2 : number
+>rf2 : number, Symbol(rf2, Decl(arithmeticOperatorWithEnumUnion.ts, 87, 3))
>c >> b : number
->c : E | F
->b : number
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rf3 = c >> c;
->rf3 : number
+>rf3 : number, Symbol(rf3, Decl(arithmeticOperatorWithEnumUnion.ts, 88, 3))
>c >> c : number
->c : E | F
->c : E | F
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rf4 = a >> c;
->rf4 : number
+>rf4 : number, Symbol(rf4, Decl(arithmeticOperatorWithEnumUnion.ts, 89, 3))
>a >> c : number
->a : any
->c : E | F
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rf5 = b >> c;
->rf5 : number
+>rf5 : number, Symbol(rf5, Decl(arithmeticOperatorWithEnumUnion.ts, 90, 3))
>b >> c : number
->b : number
->c : E | F
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rf6 = E.a >> a;
->rf6 : number
+>rf6 : number, Symbol(rf6, Decl(arithmeticOperatorWithEnumUnion.ts, 91, 3))
>E.a >> a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rf7 = E.a >> b;
->rf7 : number
+>rf7 : number, Symbol(rf7, Decl(arithmeticOperatorWithEnumUnion.ts, 92, 3))
>E.a >> b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rf8 = E.a >> E.b;
->rf8 : number
+>rf8 : number, Symbol(rf8, Decl(arithmeticOperatorWithEnumUnion.ts, 93, 3))
>E.a >> E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rf9 = E.a >> 1;
->rf9 : number
+>rf9 : number, Symbol(rf9, Decl(arithmeticOperatorWithEnumUnion.ts, 94, 3))
>E.a >> 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>1 : number
var rf10 = a >> E.b;
->rf10 : number
+>rf10 : number, Symbol(rf10, Decl(arithmeticOperatorWithEnumUnion.ts, 95, 3))
>a >> E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rf11 = b >> E.b;
->rf11 : number
+>rf11 : number, Symbol(rf11, Decl(arithmeticOperatorWithEnumUnion.ts, 96, 3))
>b >> E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rf12 = 1 >> E.b;
->rf12 : number
+>rf12 : number, Symbol(rf12, Decl(arithmeticOperatorWithEnumUnion.ts, 97, 3))
>1 >> E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
// operator >>>
var rg1 = c >>> a;
->rg1 : number
+>rg1 : number, Symbol(rg1, Decl(arithmeticOperatorWithEnumUnion.ts, 100, 3))
>c >>> a : number
->c : E | F
->a : any
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rg2 = c >>> b;
->rg2 : number
+>rg2 : number, Symbol(rg2, Decl(arithmeticOperatorWithEnumUnion.ts, 101, 3))
>c >>> b : number
->c : E | F
->b : number
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rg3 = c >>> c;
->rg3 : number
+>rg3 : number, Symbol(rg3, Decl(arithmeticOperatorWithEnumUnion.ts, 102, 3))
>c >>> c : number
->c : E | F
->c : E | F
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rg4 = a >>> c;
->rg4 : number
+>rg4 : number, Symbol(rg4, Decl(arithmeticOperatorWithEnumUnion.ts, 103, 3))
>a >>> c : number
->a : any
->c : E | F
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rg5 = b >>> c;
->rg5 : number
+>rg5 : number, Symbol(rg5, Decl(arithmeticOperatorWithEnumUnion.ts, 104, 3))
>b >>> c : number
->b : number
->c : E | F
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rg6 = E.a >>> a;
->rg6 : number
+>rg6 : number, Symbol(rg6, Decl(arithmeticOperatorWithEnumUnion.ts, 105, 3))
>E.a >>> a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rg7 = E.a >>> b;
->rg7 : number
+>rg7 : number, Symbol(rg7, Decl(arithmeticOperatorWithEnumUnion.ts, 106, 3))
>E.a >>> b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rg8 = E.a >>> E.b;
->rg8 : number
+>rg8 : number, Symbol(rg8, Decl(arithmeticOperatorWithEnumUnion.ts, 107, 3))
>E.a >>> E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rg9 = E.a >>> 1;
->rg9 : number
+>rg9 : number, Symbol(rg9, Decl(arithmeticOperatorWithEnumUnion.ts, 108, 3))
>E.a >>> 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>1 : number
var rg10 = a >>> E.b;
->rg10 : number
+>rg10 : number, Symbol(rg10, Decl(arithmeticOperatorWithEnumUnion.ts, 109, 3))
>a >>> E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rg11 = b >>> E.b;
->rg11 : number
+>rg11 : number, Symbol(rg11, Decl(arithmeticOperatorWithEnumUnion.ts, 110, 3))
>b >>> E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rg12 = 1 >>> E.b;
->rg12 : number
+>rg12 : number, Symbol(rg12, Decl(arithmeticOperatorWithEnumUnion.ts, 111, 3))
>1 >>> E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
// operator &
var rh1 = c & a;
->rh1 : number
+>rh1 : number, Symbol(rh1, Decl(arithmeticOperatorWithEnumUnion.ts, 114, 3))
>c & a : number
->c : E | F
->a : any
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rh2 = c & b;
->rh2 : number
+>rh2 : number, Symbol(rh2, Decl(arithmeticOperatorWithEnumUnion.ts, 115, 3))
>c & b : number
->c : E | F
->b : number
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rh3 = c & c;
->rh3 : number
+>rh3 : number, Symbol(rh3, Decl(arithmeticOperatorWithEnumUnion.ts, 116, 3))
>c & c : number
->c : E | F
->c : E | F
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rh4 = a & c;
->rh4 : number
+>rh4 : number, Symbol(rh4, Decl(arithmeticOperatorWithEnumUnion.ts, 117, 3))
>a & c : number
->a : any
->c : E | F
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rh5 = b & c;
->rh5 : number
+>rh5 : number, Symbol(rh5, Decl(arithmeticOperatorWithEnumUnion.ts, 118, 3))
>b & c : number
->b : number
->c : E | F
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rh6 = E.a & a;
->rh6 : number
+>rh6 : number, Symbol(rh6, Decl(arithmeticOperatorWithEnumUnion.ts, 119, 3))
>E.a & a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rh7 = E.a & b;
->rh7 : number
+>rh7 : number, Symbol(rh7, Decl(arithmeticOperatorWithEnumUnion.ts, 120, 3))
>E.a & b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rh8 = E.a & E.b;
->rh8 : number
+>rh8 : number, Symbol(rh8, Decl(arithmeticOperatorWithEnumUnion.ts, 121, 3))
>E.a & E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rh9 = E.a & 1;
->rh9 : number
+>rh9 : number, Symbol(rh9, Decl(arithmeticOperatorWithEnumUnion.ts, 122, 3))
>E.a & 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>1 : number
var rh10 = a & E.b;
->rh10 : number
+>rh10 : number, Symbol(rh10, Decl(arithmeticOperatorWithEnumUnion.ts, 123, 3))
>a & E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rh11 = b & E.b;
->rh11 : number
+>rh11 : number, Symbol(rh11, Decl(arithmeticOperatorWithEnumUnion.ts, 124, 3))
>b & E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rh12 = 1 & E.b;
->rh12 : number
+>rh12 : number, Symbol(rh12, Decl(arithmeticOperatorWithEnumUnion.ts, 125, 3))
>1 & E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
// operator ^
var ri1 = c ^ a;
->ri1 : number
+>ri1 : number, Symbol(ri1, Decl(arithmeticOperatorWithEnumUnion.ts, 128, 3))
>c ^ a : number
->c : E | F
->a : any
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var ri2 = c ^ b;
->ri2 : number
+>ri2 : number, Symbol(ri2, Decl(arithmeticOperatorWithEnumUnion.ts, 129, 3))
>c ^ b : number
->c : E | F
->b : number
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var ri3 = c ^ c;
->ri3 : number
+>ri3 : number, Symbol(ri3, Decl(arithmeticOperatorWithEnumUnion.ts, 130, 3))
>c ^ c : number
->c : E | F
->c : E | F
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var ri4 = a ^ c;
->ri4 : number
+>ri4 : number, Symbol(ri4, Decl(arithmeticOperatorWithEnumUnion.ts, 131, 3))
>a ^ c : number
->a : any
->c : E | F
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var ri5 = b ^ c;
->ri5 : number
+>ri5 : number, Symbol(ri5, Decl(arithmeticOperatorWithEnumUnion.ts, 132, 3))
>b ^ c : number
->b : number
->c : E | F
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var ri6 = E.a ^ a;
->ri6 : number
+>ri6 : number, Symbol(ri6, Decl(arithmeticOperatorWithEnumUnion.ts, 133, 3))
>E.a ^ a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var ri7 = E.a ^ b;
->ri7 : number
+>ri7 : number, Symbol(ri7, Decl(arithmeticOperatorWithEnumUnion.ts, 134, 3))
>E.a ^ b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var ri8 = E.a ^ E.b;
->ri8 : number
+>ri8 : number, Symbol(ri8, Decl(arithmeticOperatorWithEnumUnion.ts, 135, 3))
>E.a ^ E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var ri9 = E.a ^ 1;
->ri9 : number
+>ri9 : number, Symbol(ri9, Decl(arithmeticOperatorWithEnumUnion.ts, 136, 3))
>E.a ^ 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>1 : number
var ri10 = a ^ E.b;
->ri10 : number
+>ri10 : number, Symbol(ri10, Decl(arithmeticOperatorWithEnumUnion.ts, 137, 3))
>a ^ E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var ri11 = b ^ E.b;
->ri11 : number
+>ri11 : number, Symbol(ri11, Decl(arithmeticOperatorWithEnumUnion.ts, 138, 3))
>b ^ E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var ri12 = 1 ^ E.b;
->ri12 : number
+>ri12 : number, Symbol(ri12, Decl(arithmeticOperatorWithEnumUnion.ts, 139, 3))
>1 ^ E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
// operator |
var rj1 = c | a;
->rj1 : number
+>rj1 : number, Symbol(rj1, Decl(arithmeticOperatorWithEnumUnion.ts, 142, 3))
>c | a : number
->c : E | F
->a : any
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rj2 = c | b;
->rj2 : number
+>rj2 : number, Symbol(rj2, Decl(arithmeticOperatorWithEnumUnion.ts, 143, 3))
>c | b : number
->c : E | F
->b : number
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rj3 = c | c;
->rj3 : number
+>rj3 : number, Symbol(rj3, Decl(arithmeticOperatorWithEnumUnion.ts, 144, 3))
>c | c : number
->c : E | F
->c : E | F
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rj4 = a | c;
->rj4 : number
+>rj4 : number, Symbol(rj4, Decl(arithmeticOperatorWithEnumUnion.ts, 145, 3))
>a | c : number
->a : any
->c : E | F
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rj5 = b | c;
->rj5 : number
+>rj5 : number, Symbol(rj5, Decl(arithmeticOperatorWithEnumUnion.ts, 146, 3))
>b | c : number
->b : number
->c : E | F
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>c : E | F, Symbol(c, Decl(arithmeticOperatorWithEnumUnion.ts, 13, 3))
var rj6 = E.a | a;
->rj6 : number
+>rj6 : number, Symbol(rj6, Decl(arithmeticOperatorWithEnumUnion.ts, 147, 3))
>E.a | a : number
->E.a : E
->E : typeof E
->a : E
->a : any
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
var rj7 = E.a | b;
->rj7 : number
+>rj7 : number, Symbol(rj7, Decl(arithmeticOperatorWithEnumUnion.ts, 148, 3))
>E.a | b : number
->E.a : E
->E : typeof E
->a : E
->b : number
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
var rj8 = E.a | E.b;
->rj8 : number
+>rj8 : number, Symbol(rj8, Decl(arithmeticOperatorWithEnumUnion.ts, 149, 3))
>E.a | E.b : number
->E.a : E
->E : typeof E
->a : E
->E.b : E
->E : typeof E
->b : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rj9 = E.a | 1;
->rj9 : number
+>rj9 : number, Symbol(rj9, Decl(arithmeticOperatorWithEnumUnion.ts, 150, 3))
>E.a | 1 : number
->E.a : E
->E : typeof E
->a : E
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithEnumUnion.ts, 2, 8))
+>1 : number
var rj10 = a | E.b;
->rj10 : number
+>rj10 : number, Symbol(rj10, Decl(arithmeticOperatorWithEnumUnion.ts, 151, 3))
>a | E.b : number
->a : any
->E.b : E
->E : typeof E
->b : E
+>a : any, Symbol(a, Decl(arithmeticOperatorWithEnumUnion.ts, 11, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rj11 = b | E.b;
->rj11 : number
+>rj11 : number, Symbol(rj11, Decl(arithmeticOperatorWithEnumUnion.ts, 152, 3))
>b | E.b : number
->b : number
->E.b : E
->E : typeof E
->b : E
+>b : number, Symbol(b, Decl(arithmeticOperatorWithEnumUnion.ts, 12, 3))
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
var rj12 = 1 | E.b;
->rj12 : number
+>rj12 : number, Symbol(rj12, Decl(arithmeticOperatorWithEnumUnion.ts, 153, 3))
>1 | E.b : number
->E.b : E
->E : typeof E
->b : E
+>1 : number
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithEnumUnion.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithEnumUnion.ts, 3, 6))
diff --git a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types
index 711ccd0c66c..120b7427453 100644
--- a/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types
+++ b/tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.types
@@ -3,448 +3,548 @@
// other operand.
enum E {
->E : E
+>E : E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
a,
->a : E
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
b
->b : E
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
}
var a: any;
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
var b: number;
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
// operator *
var ra1 = null * a;
->ra1 : number
+>ra1 : number, Symbol(ra1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 12, 3))
>null * a : number
->a : any
+>null : null
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
var ra2 = null * b;
->ra2 : number
+>ra2 : number, Symbol(ra2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 13, 3))
>null * b : number
->b : number
+>null : null
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
var ra3 = null * 1;
->ra3 : number
+>ra3 : number, Symbol(ra3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 14, 3))
>null * 1 : number
+>null : null
+>1 : number
var ra4 = null * E.a;
->ra4 : number
+>ra4 : number, Symbol(ra4, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 15, 3))
>null * E.a : number
->E.a : E
->E : typeof E
->a : E
+>null : null
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
var ra5 = a * null;
->ra5 : number
+>ra5 : number, Symbol(ra5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 16, 3))
>a * null : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
+>null : null
var ra6 = b * null;
->ra6 : number
+>ra6 : number, Symbol(ra6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 17, 3))
>b * null : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
+>null : null
var ra7 = 0 * null;
->ra7 : number
+>ra7 : number, Symbol(ra7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 18, 3))
>0 * null : number
+>0 : number
+>null : null
var ra8 = E.b * null;
->ra8 : number
+>ra8 : number, Symbol(ra8, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 19, 3))
>E.b * null : number
->E.b : E
->E : typeof E
->b : E
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>null : null
// operator /
var rb1 = null / a;
->rb1 : number
+>rb1 : number, Symbol(rb1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 22, 3))
>null / a : number
->a : any
+>null : null
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
var rb2 = null / b;
->rb2 : number
+>rb2 : number, Symbol(rb2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 23, 3))
>null / b : number
->b : number
+>null : null
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
var rb3 = null / 1;
->rb3 : number
+>rb3 : number, Symbol(rb3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 24, 3))
>null / 1 : number
+>null : null
+>1 : number
var rb4 = null / E.a;
->rb4 : number
+>rb4 : number, Symbol(rb4, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 25, 3))
>null / E.a : number
->E.a : E
->E : typeof E
->a : E
+>null : null
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
var rb5 = a / null;
->rb5 : number
+>rb5 : number, Symbol(rb5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 26, 3))
>a / null : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
+>null : null
var rb6 = b / null;
->rb6 : number
+>rb6 : number, Symbol(rb6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 27, 3))
>b / null : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
+>null : null
var rb7 = 0 / null;
->rb7 : number
+>rb7 : number, Symbol(rb7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 28, 3))
>0 / null : number
+>0 : number
+>null : null
var rb8 = E.b / null;
->rb8 : number
+>rb8 : number, Symbol(rb8, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 29, 3))
>E.b / null : number
->E.b : E
->E : typeof E
->b : E
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>null : null
// operator %
var rc1 = null % a;
->rc1 : number
+>rc1 : number, Symbol(rc1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 32, 3))
>null % a : number
->a : any
+>null : null
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
var rc2 = null % b;
->rc2 : number
+>rc2 : number, Symbol(rc2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 33, 3))
>null % b : number
->b : number
+>null : null
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
var rc3 = null % 1;
->rc3 : number
+>rc3 : number, Symbol(rc3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 34, 3))
>null % 1 : number
+>null : null
+>1 : number
var rc4 = null % E.a;
->rc4 : number
+>rc4 : number, Symbol(rc4, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 35, 3))
>null % E.a : number
->E.a : E
->E : typeof E
->a : E
+>null : null
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
var rc5 = a % null;
->rc5 : number
+>rc5 : number, Symbol(rc5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 36, 3))
>a % null : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
+>null : null
var rc6 = b % null;
->rc6 : number
+>rc6 : number, Symbol(rc6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 37, 3))
>b % null : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
+>null : null
var rc7 = 0 % null;
->rc7 : number
+>rc7 : number, Symbol(rc7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 38, 3))
>0 % null : number
+>0 : number
+>null : null
var rc8 = E.b % null;
->rc8 : number
+>rc8 : number, Symbol(rc8, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 39, 3))
>E.b % null : number
->E.b : E
->E : typeof E
->b : E
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>null : null
// operator -
var rd1 = null - a;
->rd1 : number
+>rd1 : number, Symbol(rd1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 42, 3))
>null - a : number
->a : any
+>null : null
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
var rd2 = null - b;
->rd2 : number
+>rd2 : number, Symbol(rd2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 43, 3))
>null - b : number
->b : number
+>null : null
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
var rd3 = null - 1;
->rd3 : number
+>rd3 : number, Symbol(rd3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 44, 3))
>null - 1 : number
+>null : null
+>1 : number
var rd4 = null - E.a;
->rd4 : number
+>rd4 : number, Symbol(rd4, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 45, 3))
>null - E.a : number
->E.a : E
->E : typeof E
->a : E
+>null : null
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
var rd5 = a - null;
->rd5 : number
+>rd5 : number, Symbol(rd5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 46, 3))
>a - null : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
+>null : null
var rd6 = b - null;
->rd6 : number
+>rd6 : number, Symbol(rd6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 47, 3))
>b - null : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
+>null : null
var rd7 = 0 - null;
->rd7 : number
+>rd7 : number, Symbol(rd7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 48, 3))
>0 - null : number
+>0 : number
+>null : null
var rd8 = E.b - null;
->rd8 : number
+>rd8 : number, Symbol(rd8, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 49, 3))
>E.b - null : number
->E.b : E
->E : typeof E
->b : E
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>null : null
// operator <<
var re1 = null << a;
->re1 : number
+>re1 : number, Symbol(re1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 52, 3))
>null << a : number
->a : any
+>null : null
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
var re2 = null << b;
->re2 : number
+>re2 : number, Symbol(re2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 53, 3))
>null << b : number
->b : number
+>null : null
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
var re3 = null << 1;
->re3 : number
+>re3 : number, Symbol(re3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 54, 3))
>null << 1 : number
+>null : null
+>1 : number
var re4 = null << E.a;
->re4 : number
+>re4 : number, Symbol(re4, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 55, 3))
>null << E.a : number
->E.a : E
->E : typeof E
->a : E
+>null : null
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
var re5 = a << null;
->re5 : number
+>re5 : number, Symbol(re5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 56, 3))
>a << null : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
+>null : null
var re6 = b << null;
->re6 : number
+>re6 : number, Symbol(re6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 57, 3))
>b << null : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
+>null : null
var re7 = 0 << null;
->re7 : number
+>re7 : number, Symbol(re7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 58, 3))
>0 << null : number
+>0 : number
+>null : null
var re8 = E.b << null;
->re8 : number
+>re8 : number, Symbol(re8, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 59, 3))
>E.b << null : number
->E.b : E
->E : typeof E
->b : E
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>null : null
// operator >>
var rf1 = null >> a;
->rf1 : number
+>rf1 : number, Symbol(rf1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 62, 3))
>null >> a : number
->a : any
+>null : null
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
var rf2 = null >> b;
->rf2 : number
+>rf2 : number, Symbol(rf2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 63, 3))
>null >> b : number
->b : number
+>null : null
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
var rf3 = null >> 1;
->rf3 : number
+>rf3 : number, Symbol(rf3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 64, 3))
>null >> 1 : number
+>null : null
+>1 : number
var rf4 = null >> E.a;
->rf4 : number
+>rf4 : number, Symbol(rf4, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 65, 3))
>null >> E.a : number
->E.a : E
->E : typeof E
->a : E
+>null : null
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
var rf5 = a >> null;
->rf5 : number
+>rf5 : number, Symbol(rf5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 66, 3))
>a >> null : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
+>null : null
var rf6 = b >> null;
->rf6 : number
+>rf6 : number, Symbol(rf6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 67, 3))
>b >> null : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
+>null : null
var rf7 = 0 >> null;
->rf7 : number
+>rf7 : number, Symbol(rf7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 68, 3))
>0 >> null : number
+>0 : number
+>null : null
var rf8 = E.b >> null;
->rf8 : number
+>rf8 : number, Symbol(rf8, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 69, 3))
>E.b >> null : number
->E.b : E
->E : typeof E
->b : E
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>null : null
// operator >>>
var rg1 = null >>> a;
->rg1 : number
+>rg1 : number, Symbol(rg1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 72, 3))
>null >>> a : number
->a : any
+>null : null
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
var rg2 = null >>> b;
->rg2 : number
+>rg2 : number, Symbol(rg2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 73, 3))
>null >>> b : number
->b : number
+>null : null
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
var rg3 = null >>> 1;
->rg3 : number
+>rg3 : number, Symbol(rg3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 74, 3))
>null >>> 1 : number
+>null : null
+>1 : number
var rg4 = null >>> E.a;
->rg4 : number
+>rg4 : number, Symbol(rg4, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 75, 3))
>null >>> E.a : number
->E.a : E
->E : typeof E
->a : E
+>null : null
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
var rg5 = a >>> null;
->rg5 : number
+>rg5 : number, Symbol(rg5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 76, 3))
>a >>> null : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
+>null : null
var rg6 = b >>> null;
->rg6 : number
+>rg6 : number, Symbol(rg6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 77, 3))
>b >>> null : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
+>null : null
var rg7 = 0 >>> null;
->rg7 : number
+>rg7 : number, Symbol(rg7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 78, 3))
>0 >>> null : number
+>0 : number
+>null : null
var rg8 = E.b >>> null;
->rg8 : number
+>rg8 : number, Symbol(rg8, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 79, 3))
>E.b >>> null : number
->E.b : E
->E : typeof E
->b : E
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>null : null
// operator &
var rh1 = null & a;
->rh1 : number
+>rh1 : number, Symbol(rh1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 82, 3))
>null & a : number
->a : any
+>null : null
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
var rh2 = null & b;
->rh2 : number
+>rh2 : number, Symbol(rh2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 83, 3))
>null & b : number
->b : number
+>null : null
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
var rh3 = null & 1;
->rh3 : number
+>rh3 : number, Symbol(rh3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 84, 3))
>null & 1 : number
+>null : null
+>1 : number
var rh4 = null & E.a;
->rh4 : number
+>rh4 : number, Symbol(rh4, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 85, 3))
>null & E.a : number
->E.a : E
->E : typeof E
->a : E
+>null : null
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
var rh5 = a & null;
->rh5 : number
+>rh5 : number, Symbol(rh5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 86, 3))
>a & null : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
+>null : null
var rh6 = b & null;
->rh6 : number
+>rh6 : number, Symbol(rh6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 87, 3))
>b & null : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
+>null : null
var rh7 = 0 & null;
->rh7 : number
+>rh7 : number, Symbol(rh7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 88, 3))
>0 & null : number
+>0 : number
+>null : null
var rh8 = E.b & null;
->rh8 : number
+>rh8 : number, Symbol(rh8, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 89, 3))
>E.b & null : number
->E.b : E
->E : typeof E
->b : E
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>null : null
// operator ^
var ri1 = null ^ a;
->ri1 : number
+>ri1 : number, Symbol(ri1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 92, 3))
>null ^ a : number
->a : any
+>null : null
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
var ri2 = null ^ b;
->ri2 : number
+>ri2 : number, Symbol(ri2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 93, 3))
>null ^ b : number
->b : number
+>null : null
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
var ri3 = null ^ 1;
->ri3 : number
+>ri3 : number, Symbol(ri3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 94, 3))
>null ^ 1 : number
+>null : null
+>1 : number
var ri4 = null ^ E.a;
->ri4 : number
+>ri4 : number, Symbol(ri4, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 95, 3))
>null ^ E.a : number
->E.a : E
->E : typeof E
->a : E
+>null : null
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
var ri5 = a ^ null;
->ri5 : number
+>ri5 : number, Symbol(ri5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 96, 3))
>a ^ null : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
+>null : null
var ri6 = b ^ null;
->ri6 : number
+>ri6 : number, Symbol(ri6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 97, 3))
>b ^ null : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
+>null : null
var ri7 = 0 ^ null;
->ri7 : number
+>ri7 : number, Symbol(ri7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 98, 3))
>0 ^ null : number
+>0 : number
+>null : null
var ri8 = E.b ^ null;
->ri8 : number
+>ri8 : number, Symbol(ri8, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 99, 3))
>E.b ^ null : number
->E.b : E
->E : typeof E
->b : E
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>null : null
// operator |
var rj1 = null | a;
->rj1 : number
+>rj1 : number, Symbol(rj1, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 102, 3))
>null | a : number
->a : any
+>null : null
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
var rj2 = null | b;
->rj2 : number
+>rj2 : number, Symbol(rj2, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 103, 3))
>null | b : number
->b : number
+>null : null
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
var rj3 = null | 1;
->rj3 : number
+>rj3 : number, Symbol(rj3, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 104, 3))
>null | 1 : number
+>null : null
+>1 : number
var rj4 = null | E.a;
->rj4 : number
+>rj4 : number, Symbol(rj4, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 105, 3))
>null | E.a : number
->E.a : E
->E : typeof E
->a : E
+>null : null
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 3, 8))
var rj5 = a | null;
->rj5 : number
+>rj5 : number, Symbol(rj5, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 106, 3))
>a | null : number
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 8, 3))
+>null : null
var rj6 = b | null;
->rj6 : number
+>rj6 : number, Symbol(rj6, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 107, 3))
>b | null : number
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 9, 3))
+>null : null
var rj7 = 0 | null;
->rj7 : number
+>rj7 : number, Symbol(rj7, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 108, 3))
>0 | null : number
+>0 : number
+>null : null
var rj8 = E.b | null;
->rj8 : number
+>rj8 : number, Symbol(rj8, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 109, 3))
>E.b | null : number
->E.b : E
->E : typeof E
->b : E
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithNullValueAndValidOperands.ts, 4, 6))
+>null : null
diff --git a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types
index 7db074df8bb..9dc36bd1d9b 100644
--- a/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types
+++ b/tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.types
@@ -3,528 +3,548 @@
// other operand.
enum E {
->E : E
+>E : E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
a,
->a : E
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
b
->b : E
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
}
var a: any;
->a : any
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
var b: number;
->b : number
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
// operator *
var ra1 = undefined * a;
->ra1 : number
+>ra1 : number, Symbol(ra1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 12, 3))
>undefined * a : number
->undefined : undefined
->a : any
+>undefined : undefined, Symbol(undefined)
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
var ra2 = undefined * b;
->ra2 : number
+>ra2 : number, Symbol(ra2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 13, 3))
>undefined * b : number
->undefined : undefined
->b : number
+>undefined : undefined, Symbol(undefined)
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
var ra3 = undefined * 1;
->ra3 : number
+>ra3 : number, Symbol(ra3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 14, 3))
>undefined * 1 : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>1 : number
var ra4 = undefined * E.a;
->ra4 : number
+>ra4 : number, Symbol(ra4, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 15, 3))
>undefined * E.a : number
->undefined : undefined
->E.a : E
->E : typeof E
->a : E
+>undefined : undefined, Symbol(undefined)
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
var ra5 = a * undefined;
->ra5 : number
+>ra5 : number, Symbol(ra5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 16, 3))
>a * undefined : number
->a : any
->undefined : undefined
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
+>undefined : undefined, Symbol(undefined)
var ra6 = b * undefined;
->ra6 : number
+>ra6 : number, Symbol(ra6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 17, 3))
>b * undefined : number
->b : number
->undefined : undefined
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
+>undefined : undefined, Symbol(undefined)
var ra7 = 0 * undefined;
->ra7 : number
+>ra7 : number, Symbol(ra7, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 18, 3))
>0 * undefined : number
->undefined : undefined
+>0 : number
+>undefined : undefined, Symbol(undefined)
var ra8 = E.b * undefined;
->ra8 : number
+>ra8 : number, Symbol(ra8, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 19, 3))
>E.b * undefined : number
->E.b : E
->E : typeof E
->b : E
->undefined : undefined
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>undefined : undefined, Symbol(undefined)
// operator /
var rb1 = undefined / a;
->rb1 : number
+>rb1 : number, Symbol(rb1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 22, 3))
>undefined / a : number
->undefined : undefined
->a : any
+>undefined : undefined, Symbol(undefined)
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
var rb2 = undefined / b;
->rb2 : number
+>rb2 : number, Symbol(rb2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 23, 3))
>undefined / b : number
->undefined : undefined
->b : number
+>undefined : undefined, Symbol(undefined)
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
var rb3 = undefined / 1;
->rb3 : number
+>rb3 : number, Symbol(rb3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 24, 3))
>undefined / 1 : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>1 : number
var rb4 = undefined / E.a;
->rb4 : number
+>rb4 : number, Symbol(rb4, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 25, 3))
>undefined / E.a : number
->undefined : undefined
->E.a : E
->E : typeof E
->a : E
+>undefined : undefined, Symbol(undefined)
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
var rb5 = a / undefined;
->rb5 : number
+>rb5 : number, Symbol(rb5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 26, 3))
>a / undefined : number
->a : any
->undefined : undefined
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
+>undefined : undefined, Symbol(undefined)
var rb6 = b / undefined;
->rb6 : number
+>rb6 : number, Symbol(rb6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 27, 3))
>b / undefined : number
->b : number
->undefined : undefined
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
+>undefined : undefined, Symbol(undefined)
var rb7 = 0 / undefined;
->rb7 : number
+>rb7 : number, Symbol(rb7, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 28, 3))
>0 / undefined : number
->undefined : undefined
+>0 : number
+>undefined : undefined, Symbol(undefined)
var rb8 = E.b / undefined;
->rb8 : number
+>rb8 : number, Symbol(rb8, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 29, 3))
>E.b / undefined : number
->E.b : E
->E : typeof E
->b : E
->undefined : undefined
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>undefined : undefined, Symbol(undefined)
// operator %
var rc1 = undefined % a;
->rc1 : number
+>rc1 : number, Symbol(rc1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 32, 3))
>undefined % a : number
->undefined : undefined
->a : any
+>undefined : undefined, Symbol(undefined)
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
var rc2 = undefined % b;
->rc2 : number
+>rc2 : number, Symbol(rc2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 33, 3))
>undefined % b : number
->undefined : undefined
->b : number
+>undefined : undefined, Symbol(undefined)
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
var rc3 = undefined % 1;
->rc3 : number
+>rc3 : number, Symbol(rc3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 34, 3))
>undefined % 1 : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>1 : number
var rc4 = undefined % E.a;
->rc4 : number
+>rc4 : number, Symbol(rc4, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 35, 3))
>undefined % E.a : number
->undefined : undefined
->E.a : E
->E : typeof E
->a : E
+>undefined : undefined, Symbol(undefined)
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
var rc5 = a % undefined;
->rc5 : number
+>rc5 : number, Symbol(rc5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 36, 3))
>a % undefined : number
->a : any
->undefined : undefined
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
+>undefined : undefined, Symbol(undefined)
var rc6 = b % undefined;
->rc6 : number
+>rc6 : number, Symbol(rc6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 37, 3))
>b % undefined : number
->b : number
->undefined : undefined
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
+>undefined : undefined, Symbol(undefined)
var rc7 = 0 % undefined;
->rc7 : number
+>rc7 : number, Symbol(rc7, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 38, 3))
>0 % undefined : number
->undefined : undefined
+>0 : number
+>undefined : undefined, Symbol(undefined)
var rc8 = E.b % undefined;
->rc8 : number
+>rc8 : number, Symbol(rc8, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 39, 3))
>E.b % undefined : number
->E.b : E
->E : typeof E
->b : E
->undefined : undefined
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>undefined : undefined, Symbol(undefined)
// operator -
var rd1 = undefined - a;
->rd1 : number
+>rd1 : number, Symbol(rd1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 42, 3))
>undefined - a : number
->undefined : undefined
->a : any
+>undefined : undefined, Symbol(undefined)
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
var rd2 = undefined - b;
->rd2 : number
+>rd2 : number, Symbol(rd2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 43, 3))
>undefined - b : number
->undefined : undefined
->b : number
+>undefined : undefined, Symbol(undefined)
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
var rd3 = undefined - 1;
->rd3 : number
+>rd3 : number, Symbol(rd3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 44, 3))
>undefined - 1 : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>1 : number
var rd4 = undefined - E.a;
->rd4 : number
+>rd4 : number, Symbol(rd4, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 45, 3))
>undefined - E.a : number
->undefined : undefined
->E.a : E
->E : typeof E
->a : E
+>undefined : undefined, Symbol(undefined)
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
var rd5 = a - undefined;
->rd5 : number
+>rd5 : number, Symbol(rd5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 46, 3))
>a - undefined : number
->a : any
->undefined : undefined
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
+>undefined : undefined, Symbol(undefined)
var rd6 = b - undefined;
->rd6 : number
+>rd6 : number, Symbol(rd6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 47, 3))
>b - undefined : number
->b : number
->undefined : undefined
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
+>undefined : undefined, Symbol(undefined)
var rd7 = 0 - undefined;
->rd7 : number
+>rd7 : number, Symbol(rd7, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 48, 3))
>0 - undefined : number
->undefined : undefined
+>0 : number
+>undefined : undefined, Symbol(undefined)
var rd8 = E.b - undefined;
->rd8 : number
+>rd8 : number, Symbol(rd8, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 49, 3))
>E.b - undefined : number
->E.b : E
->E : typeof E
->b : E
->undefined : undefined
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>undefined : undefined, Symbol(undefined)
// operator <<
var re1 = undefined << a;
->re1 : number
+>re1 : number, Symbol(re1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 52, 3))
>undefined << a : number
->undefined : undefined
->a : any
+>undefined : undefined, Symbol(undefined)
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
var re2 = undefined << b;
->re2 : number
+>re2 : number, Symbol(re2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 53, 3))
>undefined << b : number
->undefined : undefined
->b : number
+>undefined : undefined, Symbol(undefined)
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
var re3 = undefined << 1;
->re3 : number
+>re3 : number, Symbol(re3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 54, 3))
>undefined << 1 : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>1 : number
var re4 = undefined << E.a;
->re4 : number
+>re4 : number, Symbol(re4, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 55, 3))
>undefined << E.a : number
->undefined : undefined
->E.a : E
->E : typeof E
->a : E
+>undefined : undefined, Symbol(undefined)
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
var re5 = a << undefined;
->re5 : number
+>re5 : number, Symbol(re5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 56, 3))
>a << undefined : number
->a : any
->undefined : undefined
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
+>undefined : undefined, Symbol(undefined)
var re6 = b << undefined;
->re6 : number
+>re6 : number, Symbol(re6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 57, 3))
>b << undefined : number
->b : number
->undefined : undefined
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
+>undefined : undefined, Symbol(undefined)
var re7 = 0 << undefined;
->re7 : number
+>re7 : number, Symbol(re7, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 58, 3))
>0 << undefined : number
->undefined : undefined
+>0 : number
+>undefined : undefined, Symbol(undefined)
var re8 = E.b << undefined;
->re8 : number
+>re8 : number, Symbol(re8, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 59, 3))
>E.b << undefined : number
->E.b : E
->E : typeof E
->b : E
->undefined : undefined
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>undefined : undefined, Symbol(undefined)
// operator >>
var rf1 = undefined >> a;
->rf1 : number
+>rf1 : number, Symbol(rf1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 62, 3))
>undefined >> a : number
->undefined : undefined
->a : any
+>undefined : undefined, Symbol(undefined)
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
var rf2 = undefined >> b;
->rf2 : number
+>rf2 : number, Symbol(rf2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 63, 3))
>undefined >> b : number
->undefined : undefined
->b : number
+>undefined : undefined, Symbol(undefined)
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
var rf3 = undefined >> 1;
->rf3 : number
+>rf3 : number, Symbol(rf3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 64, 3))
>undefined >> 1 : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>1 : number
var rf4 = undefined >> E.a;
->rf4 : number
+>rf4 : number, Symbol(rf4, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 65, 3))
>undefined >> E.a : number
->undefined : undefined
->E.a : E
->E : typeof E
->a : E
+>undefined : undefined, Symbol(undefined)
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
var rf5 = a >> undefined;
->rf5 : number
+>rf5 : number, Symbol(rf5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 66, 3))
>a >> undefined : number
->a : any
->undefined : undefined
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
+>undefined : undefined, Symbol(undefined)
var rf6 = b >> undefined;
->rf6 : number
+>rf6 : number, Symbol(rf6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 67, 3))
>b >> undefined : number
->b : number
->undefined : undefined
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
+>undefined : undefined, Symbol(undefined)
var rf7 = 0 >> undefined;
->rf7 : number
+>rf7 : number, Symbol(rf7, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 68, 3))
>0 >> undefined : number
->undefined : undefined
+>0 : number
+>undefined : undefined, Symbol(undefined)
var rf8 = E.b >> undefined;
->rf8 : number
+>rf8 : number, Symbol(rf8, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 69, 3))
>E.b >> undefined : number
->E.b : E
->E : typeof E
->b : E
->undefined : undefined
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>undefined : undefined, Symbol(undefined)
// operator >>>
var rg1 = undefined >>> a;
->rg1 : number
+>rg1 : number, Symbol(rg1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 72, 3))
>undefined >>> a : number
->undefined : undefined
->a : any
+>undefined : undefined, Symbol(undefined)
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
var rg2 = undefined >>> b;
->rg2 : number
+>rg2 : number, Symbol(rg2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 73, 3))
>undefined >>> b : number
->undefined : undefined
->b : number
+>undefined : undefined, Symbol(undefined)
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
var rg3 = undefined >>> 1;
->rg3 : number
+>rg3 : number, Symbol(rg3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 74, 3))
>undefined >>> 1 : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>1 : number
var rg4 = undefined >>> E.a;
->rg4 : number
+>rg4 : number, Symbol(rg4, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 75, 3))
>undefined >>> E.a : number
->undefined : undefined
->E.a : E
->E : typeof E
->a : E
+>undefined : undefined, Symbol(undefined)
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
var rg5 = a >>> undefined;
->rg5 : number
+>rg5 : number, Symbol(rg5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 76, 3))
>a >>> undefined : number
->a : any
->undefined : undefined
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
+>undefined : undefined, Symbol(undefined)
var rg6 = b >>> undefined;
->rg6 : number
+>rg6 : number, Symbol(rg6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 77, 3))
>b >>> undefined : number
->b : number
->undefined : undefined
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
+>undefined : undefined, Symbol(undefined)
var rg7 = 0 >>> undefined;
->rg7 : number
+>rg7 : number, Symbol(rg7, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 78, 3))
>0 >>> undefined : number
->undefined : undefined
+>0 : number
+>undefined : undefined, Symbol(undefined)
var rg8 = E.b >>> undefined;
->rg8 : number
+>rg8 : number, Symbol(rg8, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 79, 3))
>E.b >>> undefined : number
->E.b : E
->E : typeof E
->b : E
->undefined : undefined
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>undefined : undefined, Symbol(undefined)
// operator &
var rh1 = undefined & a;
->rh1 : number
+>rh1 : number, Symbol(rh1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 82, 3))
>undefined & a : number
->undefined : undefined
->a : any
+>undefined : undefined, Symbol(undefined)
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
var rh2 = undefined & b;
->rh2 : number
+>rh2 : number, Symbol(rh2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 83, 3))
>undefined & b : number
->undefined : undefined
->b : number
+>undefined : undefined, Symbol(undefined)
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
var rh3 = undefined & 1;
->rh3 : number
+>rh3 : number, Symbol(rh3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 84, 3))
>undefined & 1 : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>1 : number
var rh4 = undefined & E.a;
->rh4 : number
+>rh4 : number, Symbol(rh4, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 85, 3))
>undefined & E.a : number
->undefined : undefined
->E.a : E
->E : typeof E
->a : E
+>undefined : undefined, Symbol(undefined)
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
var rh5 = a & undefined;
->rh5 : number
+>rh5 : number, Symbol(rh5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 86, 3))
>a & undefined : number
->a : any
->undefined : undefined
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
+>undefined : undefined, Symbol(undefined)
var rh6 = b & undefined;
->rh6 : number
+>rh6 : number, Symbol(rh6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 87, 3))
>b & undefined : number
->b : number
->undefined : undefined
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
+>undefined : undefined, Symbol(undefined)
var rh7 = 0 & undefined;
->rh7 : number
+>rh7 : number, Symbol(rh7, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 88, 3))
>0 & undefined : number
->undefined : undefined
+>0 : number
+>undefined : undefined, Symbol(undefined)
var rh8 = E.b & undefined;
->rh8 : number
+>rh8 : number, Symbol(rh8, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 89, 3))
>E.b & undefined : number
->E.b : E
->E : typeof E
->b : E
->undefined : undefined
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>undefined : undefined, Symbol(undefined)
// operator ^
var ri1 = undefined ^ a;
->ri1 : number
+>ri1 : number, Symbol(ri1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 92, 3))
>undefined ^ a : number
->undefined : undefined
->a : any
+>undefined : undefined, Symbol(undefined)
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
var ri2 = undefined ^ b;
->ri2 : number
+>ri2 : number, Symbol(ri2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 93, 3))
>undefined ^ b : number
->undefined : undefined
->b : number
+>undefined : undefined, Symbol(undefined)
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
var ri3 = undefined ^ 1;
->ri3 : number
+>ri3 : number, Symbol(ri3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 94, 3))
>undefined ^ 1 : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>1 : number
var ri4 = undefined ^ E.a;
->ri4 : number
+>ri4 : number, Symbol(ri4, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 95, 3))
>undefined ^ E.a : number
->undefined : undefined
->E.a : E
->E : typeof E
->a : E
+>undefined : undefined, Symbol(undefined)
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
var ri5 = a ^ undefined;
->ri5 : number
+>ri5 : number, Symbol(ri5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 96, 3))
>a ^ undefined : number
->a : any
->undefined : undefined
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
+>undefined : undefined, Symbol(undefined)
var ri6 = b ^ undefined;
->ri6 : number
+>ri6 : number, Symbol(ri6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 97, 3))
>b ^ undefined : number
->b : number
->undefined : undefined
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
+>undefined : undefined, Symbol(undefined)
var ri7 = 0 ^ undefined;
->ri7 : number
+>ri7 : number, Symbol(ri7, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 98, 3))
>0 ^ undefined : number
->undefined : undefined
+>0 : number
+>undefined : undefined, Symbol(undefined)
var ri8 = E.b ^ undefined;
->ri8 : number
+>ri8 : number, Symbol(ri8, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 99, 3))
>E.b ^ undefined : number
->E.b : E
->E : typeof E
->b : E
->undefined : undefined
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>undefined : undefined, Symbol(undefined)
// operator |
var rj1 = undefined | a;
->rj1 : number
+>rj1 : number, Symbol(rj1, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 102, 3))
>undefined | a : number
->undefined : undefined
->a : any
+>undefined : undefined, Symbol(undefined)
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
var rj2 = undefined | b;
->rj2 : number
+>rj2 : number, Symbol(rj2, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 103, 3))
>undefined | b : number
->undefined : undefined
->b : number
+>undefined : undefined, Symbol(undefined)
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
var rj3 = undefined | 1;
->rj3 : number
+>rj3 : number, Symbol(rj3, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 104, 3))
>undefined | 1 : number
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>1 : number
var rj4 = undefined | E.a;
->rj4 : number
+>rj4 : number, Symbol(rj4, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 105, 3))
>undefined | E.a : number
->undefined : undefined
->E.a : E
->E : typeof E
->a : E
+>undefined : undefined, Symbol(undefined)
+>E.a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>a : E, Symbol(E.a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 3, 8))
var rj5 = a | undefined;
->rj5 : number
+>rj5 : number, Symbol(rj5, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 106, 3))
>a | undefined : number
->a : any
->undefined : undefined
+>a : any, Symbol(a, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 8, 3))
+>undefined : undefined, Symbol(undefined)
var rj6 = b | undefined;
->rj6 : number
+>rj6 : number, Symbol(rj6, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 107, 3))
>b | undefined : number
->b : number
->undefined : undefined
+>b : number, Symbol(b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 9, 3))
+>undefined : undefined, Symbol(undefined)
var rj7 = 0 | undefined;
->rj7 : number
+>rj7 : number, Symbol(rj7, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 108, 3))
>0 | undefined : number
->undefined : undefined
+>0 : number
+>undefined : undefined, Symbol(undefined)
var rj8 = E.b | undefined;
->rj8 : number
+>rj8 : number, Symbol(rj8, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 109, 3))
>E.b | undefined : number
->E.b : E
->E : typeof E
->b : E
->undefined : undefined
+>E.b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>E : typeof E, Symbol(E, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 0, 0))
+>b : E, Symbol(E.b, Decl(arithmeticOperatorWithUndefinedValueAndValidOperands.ts, 4, 6))
+>undefined : undefined, Symbol(undefined)
diff --git a/tests/baselines/reference/arrayAssignmentTest6.types b/tests/baselines/reference/arrayAssignmentTest6.types
index 0c932cb7556..b9a486f103b 100644
--- a/tests/baselines/reference/arrayAssignmentTest6.types
+++ b/tests/baselines/reference/arrayAssignmentTest6.types
@@ -1,51 +1,52 @@
=== tests/cases/compiler/arrayAssignmentTest6.ts ===
module Test {
->Test : typeof Test
+>Test : typeof Test, Symbol(Test, Decl(arrayAssignmentTest6.ts, 0, 0))
interface IState {
->IState : IState
+>IState : IState, Symbol(IState, Decl(arrayAssignmentTest6.ts, 0, 13))
}
interface IToken {
->IToken : IToken
+>IToken : IToken, Symbol(IToken, Decl(arrayAssignmentTest6.ts, 2, 5))
startIndex: number;
->startIndex : number
+>startIndex : number, Symbol(startIndex, Decl(arrayAssignmentTest6.ts, 3, 22))
}
interface ILineTokens {
->ILineTokens : ILineTokens
+>ILineTokens : ILineTokens, Symbol(ILineTokens, Decl(arrayAssignmentTest6.ts, 5, 5))
tokens: IToken[];
->tokens : IToken[]
->IToken : IToken
+>tokens : IToken[], Symbol(tokens, Decl(arrayAssignmentTest6.ts, 6, 27))
+>IToken : IToken, Symbol(IToken, Decl(arrayAssignmentTest6.ts, 2, 5))
endState: IState;
->endState : IState
->IState : IState
+>endState : IState, Symbol(endState, Decl(arrayAssignmentTest6.ts, 7, 25))
+>IState : IState, Symbol(IState, Decl(arrayAssignmentTest6.ts, 0, 13))
}
interface IMode {
->IMode : IMode
+>IMode : IMode, Symbol(IMode, Decl(arrayAssignmentTest6.ts, 9, 5))
tokenize(line:string, state:IState, includeStates:boolean):ILineTokens;
->tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens
->line : string
->state : IState
->IState : IState
->includeStates : boolean
->ILineTokens : ILineTokens
+>tokenize : (line: string, state: IState, includeStates: boolean) => ILineTokens, Symbol(tokenize, Decl(arrayAssignmentTest6.ts, 10, 21))
+>line : string, Symbol(line, Decl(arrayAssignmentTest6.ts, 11, 17))
+>state : IState, Symbol(state, Decl(arrayAssignmentTest6.ts, 11, 29))
+>IState : IState, Symbol(IState, Decl(arrayAssignmentTest6.ts, 0, 13))
+>includeStates : boolean, Symbol(includeStates, Decl(arrayAssignmentTest6.ts, 11, 43))
+>ILineTokens : ILineTokens, Symbol(ILineTokens, Decl(arrayAssignmentTest6.ts, 5, 5))
}
export class Bug implements IMode {
->Bug : Bug
->IMode : IMode
+>Bug : Bug, Symbol(Bug, Decl(arrayAssignmentTest6.ts, 12, 5))
+>IMode : IMode, Symbol(IMode, Decl(arrayAssignmentTest6.ts, 9, 5))
public tokenize(line:string, tokens:IToken[], includeStates:boolean):ILineTokens {
->tokenize : (line: string, tokens: IToken[], includeStates: boolean) => ILineTokens
->line : string
->tokens : IToken[]
->IToken : IToken
->includeStates : boolean
->ILineTokens : ILineTokens
+>tokenize : (line: string, tokens: IToken[], includeStates: boolean) => ILineTokens, Symbol(tokenize, Decl(arrayAssignmentTest6.ts, 13, 39))
+>line : string, Symbol(line, Decl(arrayAssignmentTest6.ts, 14, 24))
+>tokens : IToken[], Symbol(tokens, Decl(arrayAssignmentTest6.ts, 14, 36))
+>IToken : IToken, Symbol(IToken, Decl(arrayAssignmentTest6.ts, 2, 5))
+>includeStates : boolean, Symbol(includeStates, Decl(arrayAssignmentTest6.ts, 14, 53))
+>ILineTokens : ILineTokens, Symbol(ILineTokens, Decl(arrayAssignmentTest6.ts, 5, 5))
return null;
+>null : null
}
}
}
diff --git a/tests/baselines/reference/arrayAugment.types b/tests/baselines/reference/arrayAugment.types
index b338d7f5c5f..e784d9cbb52 100644
--- a/tests/baselines/reference/arrayAugment.types
+++ b/tests/baselines/reference/arrayAugment.types
@@ -1,25 +1,27 @@
=== tests/cases/compiler/arrayAugment.ts ===
interface Array {
->Array : T[]
->T : T
+>Array : T[], Symbol(Array, Decl(lib.d.ts, 1000, 23), Decl(lib.d.ts, 1171, 11), Decl(arrayAugment.ts, 0, 0))
+>T : T, Symbol(T, Decl(lib.d.ts, 1007, 16), Decl(arrayAugment.ts, 0, 16))
split: (parts: number) => T[][];
->split : (parts: number) => T[][]
->parts : number
->T : T
+>split : (parts: number) => T[][], Symbol(split, Decl(arrayAugment.ts, 0, 20))
+>parts : number, Symbol(parts, Decl(arrayAugment.ts, 1, 12))
+>T : T, Symbol(T, Decl(lib.d.ts, 1007, 16), Decl(arrayAugment.ts, 0, 16))
}
var x = [''];
->x : string[]
+>x : string[], Symbol(x, Decl(arrayAugment.ts, 4, 3))
>[''] : string[]
+>'' : string
var y = x.split(4);
->y : string[][]
+>y : string[][], Symbol(y, Decl(arrayAugment.ts, 5, 3), Decl(arrayAugment.ts, 6, 3))
>x.split(4) : string[][]
->x.split : (parts: number) => string[][]
->x : string[]
->split : (parts: number) => string[][]
+>x.split : (parts: number) => string[][], Symbol(Array.split, Decl(arrayAugment.ts, 0, 20))
+>x : string[], Symbol(x, Decl(arrayAugment.ts, 4, 3))
+>split : (parts: number) => string[][], Symbol(Array.split, Decl(arrayAugment.ts, 0, 20))
+>4 : number
var y: string[][]; // Expect no error here
->y : string[][]
+>y : string[][], Symbol(y, Decl(arrayAugment.ts, 5, 3), Decl(arrayAugment.ts, 6, 3))
diff --git a/tests/baselines/reference/arrayBestCommonTypes.types b/tests/baselines/reference/arrayBestCommonTypes.types
index 5e34380673d..66cf874850e 100644
--- a/tests/baselines/reference/arrayBestCommonTypes.types
+++ b/tests/baselines/reference/arrayBestCommonTypes.types
@@ -1,662 +1,800 @@
=== tests/cases/compiler/arrayBestCommonTypes.ts ===
module EmptyTypes {
->EmptyTypes : typeof EmptyTypes
+>EmptyTypes : typeof EmptyTypes, Symbol(EmptyTypes, Decl(arrayBestCommonTypes.ts, 0, 0))
interface iface { }
->iface : iface
+>iface : iface, Symbol(iface, Decl(arrayBestCommonTypes.ts, 0, 19))
class base implements iface { }
->base : base
->iface : iface
+>base : base, Symbol(base, Decl(arrayBestCommonTypes.ts, 1, 23))
+>iface : iface, Symbol(iface, Decl(arrayBestCommonTypes.ts, 0, 19))
class base2 implements iface { }
->base2 : base2
->iface : iface
+>base2 : base2, Symbol(base2, Decl(arrayBestCommonTypes.ts, 2, 35))
+>iface : iface, Symbol(iface, Decl(arrayBestCommonTypes.ts, 0, 19))
class derived extends base { }
->derived : derived
->base : base
+>derived : derived, Symbol(derived, Decl(arrayBestCommonTypes.ts, 3, 36))
+>base : base, Symbol(base, Decl(arrayBestCommonTypes.ts, 1, 23))
class f {
->f : f
+>f : f, Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34))
public voidIfAny(x: boolean, y?: boolean): number;
->voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
->x : boolean
->y : boolean
+>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }, Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57))
+>x : boolean, Symbol(x, Decl(arrayBestCommonTypes.ts, 8, 25))
+>y : boolean, Symbol(y, Decl(arrayBestCommonTypes.ts, 8, 36))
public voidIfAny(x: string, y?: boolean): number;
->voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
->x : string
->y : boolean
+>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }, Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57))
+>x : string, Symbol(x, Decl(arrayBestCommonTypes.ts, 9, 25))
+>y : boolean, Symbol(y, Decl(arrayBestCommonTypes.ts, 9, 35))
public voidIfAny(x: number, y?: boolean): number;
->voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
->x : number
->y : boolean
+>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }, Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57))
+>x : number, Symbol(x, Decl(arrayBestCommonTypes.ts, 10, 25))
+>y : boolean, Symbol(y, Decl(arrayBestCommonTypes.ts, 10, 35))
public voidIfAny(x: any, y = false): any { return null; }
->voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
->x : any
->y : boolean
+>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }, Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57))
+>x : any, Symbol(x, Decl(arrayBestCommonTypes.ts, 11, 25))
+>y : boolean, Symbol(y, Decl(arrayBestCommonTypes.ts, 11, 32))
+>false : boolean
+>null : null
public x() {
->x : () => void
+>x : () => void, Symbol(x, Decl(arrayBestCommonTypes.ts, 11, 65))
(this.voidIfAny([4, 2][0]));
>(this.voidIfAny([4, 2][0])) : number
>(this.voidIfAny([4, 2][0])) : number
>this.voidIfAny([4, 2][0]) : number
->this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
->this : f
->voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
+>this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }, Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57))
+>this : f, Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34))
+>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }, Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57))
>[4, 2][0] : number
>[4, 2] : number[]
+>4 : number
+>2 : number
+>0 : number
(this.voidIfAny([4, 2, undefined][0]));
>(this.voidIfAny([4, 2, undefined][0])) : number
>(this.voidIfAny([4, 2, undefined][0])) : number
>this.voidIfAny([4, 2, undefined][0]) : number
->this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
->this : f
->voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
+>this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }, Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57))
+>this : f, Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34))
+>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }, Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57))
>[4, 2, undefined][0] : number
>[4, 2, undefined] : number[]
->undefined : undefined
+>4 : number
+>2 : number
+>undefined : undefined, Symbol(undefined)
+>0 : number
(this.voidIfAny([undefined, 2, 4][0]));
>(this.voidIfAny([undefined, 2, 4][0])) : number
>(this.voidIfAny([undefined, 2, 4][0])) : number
>this.voidIfAny([undefined, 2, 4][0]) : number
->this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
->this : f
->voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }
+>this.voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }, Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57))
+>this : f, Symbol(f, Decl(arrayBestCommonTypes.ts, 4, 34))
+>voidIfAny : { (x: boolean, y?: boolean): number; (x: string, y?: boolean): number; (x: number, y?: boolean): number; }, Symbol(voidIfAny, Decl(arrayBestCommonTypes.ts, 7, 13), Decl(arrayBestCommonTypes.ts, 8, 58), Decl(arrayBestCommonTypes.ts, 9, 57), Decl(arrayBestCommonTypes.ts, 10, 57))
>[undefined, 2, 4][0] : number
>[undefined, 2, 4] : number[]
->undefined : undefined
+>undefined : undefined, Symbol(undefined)
+>2 : number
+>4 : number
+>0 : number