Skip to content

Commit a0597e1

Browse files
ValdezFOmarDetachHead
authored andcommitted
Remove duplicate semantic tokens for readonly properties
1 parent 4f6228f commit a0597e1

File tree

2 files changed

+1
-26
lines changed

2 files changed

+1
-26
lines changed

packages/pyright-internal/src/analyzer/semanticTokensWalker.ts

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,13 @@
11
import { ParseTreeWalker } from './parseTreeWalker';
22
import { TypeEvaluator } from './typeEvaluatorTypes';
3-
import {
4-
ClassType,
5-
FunctionType,
6-
getTypeAliasInfo,
7-
isClass,
8-
OverloadedType,
9-
Type,
10-
TypeBase,
11-
TypeCategory,
12-
} from './types';
3+
import { ClassType, FunctionType, getTypeAliasInfo, OverloadedType, Type, TypeBase, TypeCategory } from './types';
134
import {
145
ClassNode,
156
DecoratorNode,
167
FunctionNode,
178
ImportAsNode,
189
ImportFromAsNode,
1910
ImportFromNode,
20-
MemberAccessNode,
2111
NameNode,
2212
ParameterNode,
2313
ParseNodeType,
@@ -144,19 +134,6 @@ export class SemanticTokensWalker extends ParseTreeWalker {
144134
return super.visitTypeAlias(node);
145135
}
146136

147-
override visitMemberAccess(node: MemberAccessNode): boolean {
148-
// check for properties without a setter
149-
if (node.parent && this._evaluator) {
150-
const declaredType = this._evaluator.getDeclaredTypeForExpression(node, {
151-
method: 'set',
152-
});
153-
if (declaredType && isClass(declaredType) && ClassType.isPropertyClass(declaredType)) {
154-
this._addItemForNameNode(node.d.member, SemanticTokenTypes.variable, [SemanticTokenModifiers.readonly]);
155-
}
156-
}
157-
return super.visitMemberAccess(node);
158-
}
159-
160137
private _visitNameWithType(node: NameNode, type: Type) {
161138
switch (type.category) {
162139
case TypeCategory.Any:

packages/pyright-internal/src/tests/semanticTokensProvider.test.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,13 @@ if (process.platform !== 'win32' || !process.env['CI']) {
7777
{ type: 'selfParameter', modifiers: ['definition'], start: 198, length: 4 },
7878
{ type: 'parameter', modifiers: ['definition'], start: 204, length: 5 },
7979
{ type: 'class', modifiers: ['defaultLibrary', 'builtin'], start: 211, length: 3 },
80-
{ type: 'variable', modifiers: ['readonly'], start: 229, length: 3 },
8180
{ type: 'class', modifiers: [], start: 223, length: 3 },
8281
{ type: 'variable', modifiers: ['readonly'], start: 229, length: 3 },
8382
{ type: 'class', modifiers: [], start: 233, length: 3 },
8483
{ type: 'variable', modifiers: [], start: 239, length: 3 },
8584
{ type: 'variable', modifiers: [], start: 244, length: 3 },
8685
{ type: 'class', modifiers: [], start: 250, length: 3 },
8786
{ type: 'variable', modifiers: [], start: 256, length: 1 },
88-
{ type: 'variable', modifiers: ['readonly'], start: 264, length: 3 },
8987
{ type: 'variable', modifiers: [], start: 260, length: 3 },
9088
{ type: 'variable', modifiers: ['readonly'], start: 264, length: 3 },
9189
]);

0 commit comments

Comments
 (0)