|
47 | 47 | #include "swift/Basic/SourceManager.h"
|
48 | 48 | #include "swift/Basic/Statistic.h"
|
49 | 49 | #include "swift/Basic/StringExtras.h"
|
50 |
| -#include "swift/Bridging/ASTGen.h" |
51 | 50 | #include "swift/Demangling/ManglingMacros.h"
|
52 | 51 | #include "swift/Parse/Token.h"
|
53 | 52 | #include "swift/Strings.h"
|
@@ -2970,76 +2969,6 @@ void SourceFile::recordIfConfigClauseRangeInfo(
|
2970 | 2969 | #endif
|
2971 | 2970 | }
|
2972 | 2971 |
|
2973 |
| -ArrayRef<IfConfigClauseRangeInfo> SourceFile::getIfConfigClauseRanges() const { |
2974 |
| -#if SWIFT_BUILD_SWIFT_SYNTAX |
2975 |
| - if (!IfConfigClauseRanges.IsSorted) { |
2976 |
| - IfConfigClauseRanges.Ranges.clear(); |
2977 |
| - |
2978 |
| - BridgedIfConfigClauseRangeInfo *regions; |
2979 |
| - intptr_t numRegions = swift_ASTGen_configuredRegions( |
2980 |
| - getASTContext(), getExportedSourceFile(), ®ions); |
2981 |
| - IfConfigClauseRanges.Ranges.reserve(numRegions); |
2982 |
| - for (intptr_t i = 0; i != numRegions; ++i) |
2983 |
| - IfConfigClauseRanges.Ranges.push_back(regions[i].unbridged()); |
2984 |
| - free(regions); |
2985 |
| - |
2986 |
| - IfConfigClauseRanges.IsSorted = true; |
2987 |
| - } |
2988 |
| -#else |
2989 |
| - if (!IfConfigClauseRanges.IsSorted) { |
2990 |
| - auto &SM = getASTContext().SourceMgr; |
2991 |
| - // Sort the ranges if we need to. |
2992 |
| - llvm::sort( |
2993 |
| - IfConfigClauseRanges.Ranges, [&](const IfConfigClauseRangeInfo &lhs, |
2994 |
| - const IfConfigClauseRangeInfo &rhs) { |
2995 |
| - return SM.isBeforeInBuffer(lhs.getStartLoc(), rhs.getStartLoc()); |
2996 |
| - }); |
2997 |
| - |
2998 |
| - // Be defensive and eliminate duplicates in case we've parsed twice. |
2999 |
| - auto newEnd = llvm::unique( |
3000 |
| - IfConfigClauseRanges.Ranges, [&](const IfConfigClauseRangeInfo &lhs, |
3001 |
| - const IfConfigClauseRangeInfo &rhs) { |
3002 |
| - if (lhs.getStartLoc() != rhs.getStartLoc()) |
3003 |
| - return false; |
3004 |
| - assert(lhs.getBodyRange(SM) == rhs.getBodyRange(SM) && |
3005 |
| - "range changed on a re-parse?"); |
3006 |
| - return true; |
3007 |
| - }); |
3008 |
| - IfConfigClauseRanges.Ranges.erase(newEnd, |
3009 |
| - IfConfigClauseRanges.Ranges.end()); |
3010 |
| - IfConfigClauseRanges.IsSorted = true; |
3011 |
| - } |
3012 |
| -#endif |
3013 |
| - |
3014 |
| - return IfConfigClauseRanges.Ranges; |
3015 |
| -} |
3016 |
| - |
3017 |
| -ArrayRef<IfConfigClauseRangeInfo> |
3018 |
| -SourceFile::getIfConfigClausesWithin(SourceRange outer) const { |
3019 |
| - auto &SM = getASTContext().SourceMgr; |
3020 |
| - assert(SM.getRangeForBuffer(BufferID).contains(outer.Start) && |
3021 |
| - "Range not within this file?"); |
3022 |
| - |
3023 |
| - // First let's find the first #if that is after the outer start loc. |
3024 |
| - auto ranges = getIfConfigClauseRanges(); |
3025 |
| - auto lower = llvm::lower_bound( |
3026 |
| - ranges, outer.Start, |
3027 |
| - [&](const IfConfigClauseRangeInfo &range, SourceLoc loc) { |
3028 |
| - return SM.isBeforeInBuffer(range.getStartLoc(), loc); |
3029 |
| - }); |
3030 |
| - if (lower == ranges.end() || |
3031 |
| - SM.isBeforeInBuffer(outer.End, lower->getStartLoc())) { |
3032 |
| - return {}; |
3033 |
| - } |
3034 |
| - // Next let's find the first #if that's after the outer end loc. |
3035 |
| - auto upper = llvm::upper_bound( |
3036 |
| - ranges, outer.End, |
3037 |
| - [&](SourceLoc loc, const IfConfigClauseRangeInfo &range) { |
3038 |
| - return SM.isBeforeInBuffer(loc, range.getStartLoc()); |
3039 |
| - }); |
3040 |
| - return llvm::ArrayRef(lower, upper - lower); |
3041 |
| -} |
3042 |
| - |
3043 | 2972 | void ModuleDecl::setPackageName(Identifier name) {
|
3044 | 2973 | Package = PackageUnit::create(name, *this, getASTContext());
|
3045 | 2974 | }
|
|
0 commit comments