mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[SourceKit] Make sure we reuse ASTContext in function bodies for solver-based cursor info
The main problem that prevented us from reusing the ASTContext was that we weren’t remapping the `LocToResolve` in the temporary buffer that only contains the re-parsed function back to the original buffer. Thus `NodeFinder` couldn’t find the node that we want to get cursor info for. Getting AST reuse to work for top-level items is harder because it currently heavily relies on the `HasCodeCompletion` state being set on the parser result. I’ll try that in a follow-up PR. rdar://103251263
This commit is contained in:
@@ -140,7 +140,7 @@ private:
|
||||
DeclContext *getCurrentDeclContext() { return DeclContextStack.back(); }
|
||||
|
||||
bool rangeContainsLocToResolve(SourceRange Range) const {
|
||||
return Range.contains(LocToResolve);
|
||||
return getSourceMgr().containsRespectingReplacedRanges(Range, LocToResolve);
|
||||
}
|
||||
|
||||
PreWalkAction walkToDeclPre(Decl *D) override {
|
||||
|
||||
Reference in New Issue
Block a user