Skip to content

Commit

Permalink
Fixed a bug that resulted in incorrect hover results for identifiers …
Browse files Browse the repository at this point in the history
…used as keys or values within a dictionary expression. This addresses #5422.
  • Loading branch information
msfterictraut committed Jul 3, 2023
1 parent 0a67c65 commit dbe1053
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions packages/pyright-internal/src/analyzer/typeEvaluator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12555,12 +12555,15 @@ export function createTypeEvaluator(importLookup: ImportLookup, evaluatorOptions
}

if (entryInferenceContext && !valueTypeResult.typeErrors) {
valueTypeResult.type =
inferTypeArgFromExpectedEntryType(
entryInferenceContext,
[valueTypeResult.type],
!isValueTypeInvariant
) ?? valueTypeResult.type;
const fromExpectedType = inferTypeArgFromExpectedEntryType(
entryInferenceContext,
[valueTypeResult.type],
!isValueTypeInvariant
);

if (fromExpectedType) {
valueTypeResult = { ...valueTypeResult, type: fromExpectedType };
}
}

if (expectedDiagAddendum && valueTypeResult.expectedTypeDiagAddendum) {
Expand Down Expand Up @@ -12593,19 +12596,22 @@ export function createTypeEvaluator(importLookup: ImportLookup, evaluatorOptions
}

const entryInferenceContext = makeInferenceContext(expectedType);
const unexpandedTypeResult = getTypeOfExpression(
let unexpandedTypeResult = getTypeOfExpression(
entryNode.expandExpression,
/* flags */ undefined,
entryInferenceContext
);

if (entryInferenceContext && !unexpandedTypeResult.typeErrors) {
unexpandedTypeResult.type =
inferTypeArgFromExpectedEntryType(
entryInferenceContext,
[unexpandedTypeResult.type],
!isValueTypeInvariant
) ?? unexpandedTypeResult.type;
const fromExpectedType = inferTypeArgFromExpectedEntryType(
entryInferenceContext,
[unexpandedTypeResult.type],
!isValueTypeInvariant
);

if (fromExpectedType) {
unexpandedTypeResult = { ...unexpandedTypeResult, type: fromExpectedType };
}
}

if (unexpandedTypeResult.isIncomplete) {
Expand Down

0 comments on commit dbe1053

Please sign in to comment.