Skip to content

Commit 3906ed7

Browse files
committed
Fix error location
Fix location in error messages by preserving token information
1 parent 6bce348 commit 3906ed7

File tree

1 file changed

+4
-5
lines changed
  • Source/DafnyCore/Resolver/PreType

1 file changed

+4
-5
lines changed

Source/DafnyCore/Resolver/PreType/Flows.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -230,15 +230,14 @@ Type JoinChildren(UserDefinedType udtA, UserDefinedType udtB) {
230230
var bTypeSubstMap = TypeParameter.SubstitutionMap(bDecl.TypeArgs, b.TypeArgs);
231231
(bDecl as TopLevelDeclWithMembers)?.AddParentTypeParameterSubstitutions(bTypeSubstMap);
232232

233-
a = UserDefinedType.FromTopLevelDecl(commonSupertypeDecl.tok, commonSupertypeDecl).Subst(aTypeSubstMap);
234-
b = UserDefinedType.FromTopLevelDecl(commonSupertypeDecl.tok, commonSupertypeDecl).Subst(bTypeSubstMap);
233+
var aSubst = UserDefinedType.FromTopLevelDecl(commonSupertypeDecl.tok, commonSupertypeDecl).Subst(aTypeSubstMap);
234+
var bSubst = UserDefinedType.FromTopLevelDecl(commonSupertypeDecl.tok, commonSupertypeDecl).Subst(bTypeSubstMap);
235235

236-
var joinedTypeArgs = Joins(TypeParameter.Variances(commonSupertypeDecl.TypeArgs), a.TypeArgs, b.TypeArgs, context);
236+
var joinedTypeArgs = Joins(TypeParameter.Variances(commonSupertypeDecl.TypeArgs), aSubst.TypeArgs, bSubst.TypeArgs, context);
237237
if (joinedTypeArgs == null) {
238238
return null;
239239
}
240-
var udt = (UserDefinedType)a;
241-
var result = UserDefinedType.FromTopLevelDecl(udt.tok, commonSupertypeDecl, joinedTypeArgs);
240+
var result = UserDefinedType.FromTopLevelDecl(a.tok, commonSupertypeDecl, joinedTypeArgs);
242241
return abNonNullTypes && result.IsRefType ? UserDefinedType.CreateNonNullType(result) : result;
243242
}
244243

0 commit comments

Comments
 (0)