Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preserve string delimiter in type printing. #60729

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Prev Previous commit
Revereted to using [] for missing names.
dragomirtitian committed Jan 13, 2025
commit 569b7ce747f24f2bbe24675140e81a8271c64bb1
2 changes: 1 addition & 1 deletion src/compiler/checker.ts
Original file line number Diff line number Diff line change
@@ -8554,7 +8554,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
moduleName.symbol = symbol;
return moduleName;
}
if ((symbolNameSource && isIdentifier(symbolNameSource)) || canUsePropertyAccess(symbolName, languageVersion)) {
if ((symbolNameSource && isIdentifier(symbolNameSource) && getFullWidth(symbolNameSource) !== 0) || canUsePropertyAccess(symbolName, languageVersion)) {
const identifier = setEmitFlags(factory.createIdentifier(symbolName), EmitFlags.NoAsciiEscaping);
if (typeParameterNodes) setIdentifierTypeArguments(identifier, factory.createNodeArray<TypeNode | TypeParameterDeclaration>(typeParameterNodes));
identifier.symbol = symbol;
2 changes: 1 addition & 1 deletion src/harness/typeWriter.ts
Original file line number Diff line number Diff line change
@@ -304,7 +304,7 @@ export class TypeWriterWalker {
if (!symbol) {
return;
}
let symbolString = "Symbol(" + this.checker.symbolToString(symbol, node.parent, /*meaning*/ undefined, ts.SymbolFormatFlags.AllowAnyNodeKind);
let symbolString = "Symbol(" + this.checker.symbolToString(symbol, node.parent);
if (symbol.declarations) {
let count = 0;
for (const declaration of symbol.declarations) {
Original file line number Diff line number Diff line change
@@ -5,5 +5,5 @@ class C {
>C : Symbol(C, Decl(MemberFunctionDeclaration4_es6.ts, 0, 0))

*() { }
> : Symbol(C.(Missing), Decl(MemberFunctionDeclaration4_es6.ts, 0, 9))
> : Symbol(C[(Missing)], Decl(MemberFunctionDeclaration4_es6.ts, 0, 9))
}
Original file line number Diff line number Diff line change
@@ -6,5 +6,5 @@ class C {

*
}
> : Symbol(C.(Missing), Decl(MemberFunctionDeclaration5_es6.ts, 0, 9))
> : Symbol(C[(Missing)], Decl(MemberFunctionDeclaration5_es6.ts, 0, 9))

Original file line number Diff line number Diff line change
@@ -5,5 +5,5 @@ class C {
>C : Symbol(C, Decl(classMemberWithMissingIdentifier.ts, 0, 0))

public {};
> : Symbol(C.(Missing), Decl(classMemberWithMissingIdentifier.ts, 0, 9))
> : Symbol(C[(Missing)], Decl(classMemberWithMissingIdentifier.ts, 0, 9))
}
Original file line number Diff line number Diff line change
@@ -5,6 +5,6 @@ class C {
>C : Symbol(C, Decl(classMemberWithMissingIdentifier2.ts, 0, 0))

public {[name:string]:VariableDeclaration};
> : Symbol(C.(Missing), Decl(classMemberWithMissingIdentifier2.ts, 0, 9))
> : Symbol(C[(Missing)], Decl(classMemberWithMissingIdentifier2.ts, 0, 9))
>name : Symbol(name, Decl(lib.dom.d.ts, --, --))
}