From 87c0a13ec78061a6347d77ace1206de4adfcc219 Mon Sep 17 00:00:00 2001
From: sidlamsal <98344853+sidlamsal@users.noreply.github.com>
Date: Wed, 30 Apr 2025 21:48:21 -0400
Subject: [PATCH 1/2] fix and test
---
src/compiler/binder.ts | 10 +++++++--
...notationOnExports43-expando-functions-6.ts | 22 +++++++++++++++++++
2 files changed, 30 insertions(+), 2 deletions(-)
create mode 100644 tests/cases/fourslash/codeFixMissingTypeAnnotationOnExports43-expando-functions-6.ts
diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts
index 27ec079f614ab..0233755172b62 100644
--- a/src/compiler/binder.ts
+++ b/src/compiler/binder.ts
@@ -3491,8 +3491,14 @@ function createBinder(): (file: SourceFile, options: CompilerOptions) => void {
let excludes = SymbolFlags.None;
// Method-like
if (isFunctionLikeDeclaration(getAssignedExpandoInitializer(declaration)!)) {
- includes = SymbolFlags.Method;
- excludes = SymbolFlags.MethodExcludes;
+ if (isPrototypeProperty) {
+ includes = SymbolFlags.Method;
+ excludes = SymbolFlags.MethodExcludes;
+ }
+ else {
+ includes = SymbolFlags.Method | SymbolFlags.Property;
+ excludes = SymbolFlags.PropertyExcludes;
+ }
}
// Maybe accessor-like
else if (isCallExpression(declaration) && isBindableObjectDefinePropertyCall(declaration)) {
diff --git a/tests/cases/fourslash/codeFixMissingTypeAnnotationOnExports43-expando-functions-6.ts b/tests/cases/fourslash/codeFixMissingTypeAnnotationOnExports43-expando-functions-6.ts
new file mode 100644
index 0000000000000..08e40b38ff6bc
--- /dev/null
+++ b/tests/cases/fourslash/codeFixMissingTypeAnnotationOnExports43-expando-functions-6.ts
@@ -0,0 +1,22 @@
+///
+
+// @isolatedDeclarations: true
+// @declaration: true
+// @lib: es2019
+
+// @Filename: /code.ts
+//// export function ImportExcelProgressModal(): number {
+//// return 12
+//// }
+////
+///// export declare namespace ImportExcelProgressModal {
+//// export var show: () => boolean;
+//// export var n: number
+//// }
+////
+//// ImportExcelProgressModal.show = (): boolean => {
+//// return false;
+//// };
+//// ImportExcelProgressModal.n = 13
+
+verify.noErrors();
From 734c33f92fbb753db796d0b6a24311c39b95752a Mon Sep 17 00:00:00 2001
From: sidlamsal <98344853+sidlamsal@users.noreply.github.com>
Date: Wed, 30 Apr 2025 22:04:17 -0400
Subject: [PATCH 2/2] fix
---
...notationOnExports43-expando-functions-6.ts | 22 -------------------
1 file changed, 22 deletions(-)
delete mode 100644 tests/cases/fourslash/codeFixMissingTypeAnnotationOnExports43-expando-functions-6.ts
diff --git a/tests/cases/fourslash/codeFixMissingTypeAnnotationOnExports43-expando-functions-6.ts b/tests/cases/fourslash/codeFixMissingTypeAnnotationOnExports43-expando-functions-6.ts
deleted file mode 100644
index 08e40b38ff6bc..0000000000000
--- a/tests/cases/fourslash/codeFixMissingTypeAnnotationOnExports43-expando-functions-6.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-///
-
-// @isolatedDeclarations: true
-// @declaration: true
-// @lib: es2019
-
-// @Filename: /code.ts
-//// export function ImportExcelProgressModal(): number {
-//// return 12
-//// }
-////
-///// export declare namespace ImportExcelProgressModal {
-//// export var show: () => boolean;
-//// export var n: number
-//// }
-////
-//// ImportExcelProgressModal.show = (): boolean => {
-//// return false;
-//// };
-//// ImportExcelProgressModal.n = 13
-
-verify.noErrors();