Merge pull request #4888 from amartini51/seealso
diff --git a/include/swift/AST/DiagnosticsParse.def b/include/swift/AST/DiagnosticsParse.def
index d95189e..053f314 100644
--- a/include/swift/AST/DiagnosticsParse.def
+++ b/include/swift/AST/DiagnosticsParse.def
@@ -499,8 +499,12 @@
"witness_method is not a protocol method", ())
ERROR(sil_witness_method_type_does_not_conform,none,
"witness_method type does not conform to protocol", ())
-ERROR(sil_member_decl_not_found,none,
- "member not found in method instructions", ())
+ERROR(sil_member_decl_not_found,none, "member not found", ())
+ERROR(sil_named_member_decl_not_found,none,
+ "member %0 not found in type %1", (DeclName, Type))
+ERROR(sil_member_lookup_bad_type,none,
+ "cannot lookup member %0 in non-nominal, non-module type %1",
+ (DeclName, Type))
ERROR(sil_member_decl_type_mismatch,none,
"member defined with mismatching type %0 (expected %1)", (Type, Type))
ERROR(sil_substitution_mismatch,none,
diff --git a/include/swift/AST/LookupKinds.h b/include/swift/AST/LookupKinds.h
index 8903f45..f67dd66 100644
--- a/include/swift/AST/LookupKinds.h
+++ b/include/swift/AST/LookupKinds.h
@@ -28,10 +28,6 @@
/// Constants used to customize name lookup.
enum NLOptions : unsigned {
- /// Visit supertypes (such as superclasses or inherited protocols)
- /// and their extensions as well as the current extension.
- NL_VisitSupertypes = 0x01,
-
/// Consider declarations within protocols to which the context type conforms.
NL_ProtocolMembers = 0x02,
@@ -86,12 +82,10 @@
///
/// FIXME: Eventually, add NL_ProtocolMembers to this, once all of the
/// callers can handle it.
- NL_QualifiedDefault = NL_VisitSupertypes | NL_RemoveNonVisible |
- NL_RemoveOverridden,
+ NL_QualifiedDefault = NL_RemoveNonVisible | NL_RemoveOverridden,
/// The default set of options used for unqualified name lookup.
- NL_UnqualifiedDefault = NL_VisitSupertypes |
- NL_RemoveNonVisible | NL_RemoveOverridden
+ NL_UnqualifiedDefault = NL_RemoveNonVisible | NL_RemoveOverridden
};
static inline NLOptions operator|(NLOptions lhs, NLOptions rhs) {
diff --git a/include/swift/SILOptimizer/Analysis/BasicCalleeAnalysis.h b/include/swift/SILOptimizer/Analysis/BasicCalleeAnalysis.h
index 269be95..16adc78 100644
--- a/include/swift/SILOptimizer/Analysis/BasicCalleeAnalysis.h
+++ b/include/swift/SILOptimizer/Analysis/BasicCalleeAnalysis.h
@@ -101,6 +101,9 @@
/// Return the list of callees that can potentially be called at the
/// given apply site.
CalleeList getCalleeList(FullApplySite FAS) const;
+ /// Return the list of callees that can potentially be called at the
+ /// given instruction. E.g. it could be destructors.
+ CalleeList getCalleeList(SILInstruction *I) const;
private:
void enumerateFunctionsInModule();
@@ -141,6 +144,13 @@
return Cache->getCalleeList(FAS);
}
+
+ CalleeList getCalleeList(SILInstruction *I) {
+ if (!Cache)
+ Cache = llvm::make_unique<CalleeCache>(M);
+
+ return Cache->getCalleeList(I);
+ }
};
} // end namespace swift
diff --git a/include/swift/SILOptimizer/Analysis/BottomUpIPAnalysis.h b/include/swift/SILOptimizer/Analysis/BottomUpIPAnalysis.h
index dac6473..bb590d1 100644
--- a/include/swift/SILOptimizer/Analysis/BottomUpIPAnalysis.h
+++ b/include/swift/SILOptimizer/Analysis/BottomUpIPAnalysis.h
@@ -51,8 +51,11 @@
/// The caller function.
FunctionInfo *Caller;
- /// The apply-site.
- FullApplySite FAS;
+ /// The function apply-site.
+ /// It can be an apply instruction or an instruction,
+ /// which results in a call, e.g. strong_release results in
+ /// a destructor call.
+ SILInstruction *FAS;
/// Returns false, if the caller was invalidated since this entry had been
/// created.
@@ -62,7 +65,7 @@
/// Used to check if the caller and its apply-site is still valid.
int UpdateID;
- CallerEntry(FunctionInfo *Caller, FullApplySite FAS, int UpdateID) :
+ CallerEntry(FunctionInfo *Caller, SILInstruction *FAS, int UpdateID) :
Caller(Caller), FAS(FAS), UpdateID(UpdateID) { }
friend class FunctionInfoBase<FunctionInfo>;
@@ -140,11 +143,15 @@
ArrayRef<CallerEntry> getCallers() const { return Callers; }
/// Adds a caller for this function.
- void addCaller(FunctionInfo *CallerInfo, FullApplySite FAS) {
+ void addCaller(FunctionInfo *CallerInfo, SILInstruction *FAS) {
Callers.push_back(CallerEntry(CallerInfo, FAS, CallerInfo->UpdateID));
if (!isScheduled())
++CallerInfo->numUnscheduledCallees;
}
+
+ void addCaller(FunctionInfo *CallerInfo, FullApplySite FAS) {
+ addCaller(CallerInfo, FAS.getInstruction());
+ }
};
/// Computes and stores a bottom-up function order.
diff --git a/include/swift/SILOptimizer/Analysis/EscapeAnalysis.h b/include/swift/SILOptimizer/Analysis/EscapeAnalysis.h
index 47885f7..d766f95 100644
--- a/include/swift/SILOptimizer/Analysis/EscapeAnalysis.h
+++ b/include/swift/SILOptimizer/Analysis/EscapeAnalysis.h
@@ -15,6 +15,7 @@
#include "swift/SIL/SILInstruction.h"
#include "swift/SIL/SILFunction.h"
+#include "swift/SILOptimizer/Analysis/BasicCalleeAnalysis.h"
#include "swift/SILOptimizer/Analysis/BottomUpIPAnalysis.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SetVector.h"
@@ -673,6 +674,21 @@
return FInfo;
}
+ /// Build a connection graph for reach callee from the callee list.
+ bool buildConnectionGraphForCallees(SILInstruction *Caller,
+ CalleeList Callees,
+ FunctionInfo *FInfo,
+ FunctionOrder &BottomUpOrder,
+ int RecursionDepth);
+
+ /// Build a connection graph for the destructor invoked for a provided
+ /// SILValue.
+ bool buildConnectionGraphForDestructor(SILValue V,
+ SILInstruction *Caller,
+ FunctionInfo *FInfo,
+ FunctionOrder &BottomUpOrder,
+ int RecursionDepth);
+
/// Builds the connection graph for a function, including called functions.
/// Visited callees are added to \p BottomUpOrder until \p RecursionDepth
/// reaches MaxRecursionDepth.
@@ -703,7 +719,7 @@
/// Merges the graph of a callee function into the graph of
/// a caller function, whereas \p FAS is the call-site.
- bool mergeCalleeGraph(FullApplySite FAS,
+ bool mergeCalleeGraph(SILInstruction *FAS,
ConnectionGraph *CallerGraph,
ConnectionGraph *CalleeGraph);
diff --git a/include/swift/SILOptimizer/Analysis/SideEffectAnalysis.h b/include/swift/SILOptimizer/Analysis/SideEffectAnalysis.h
index e2a8ada..f229de7 100644
--- a/include/swift/SILOptimizer/Analysis/SideEffectAnalysis.h
+++ b/include/swift/SILOptimizer/Analysis/SideEffectAnalysis.h
@@ -252,6 +252,10 @@
/// Merge effects from \p RHS.
bool mergeFrom(const FunctionEffects &RHS);
+ /// Merge effects from an function apply site within the function.
+ bool mergeFromApply(const FunctionEffects &CalleeEffects,
+ SILInstruction *FAS);
+
/// Merge effects from an apply site within the function.
bool mergeFromApply(const FunctionEffects &CalleeEffects,
FullApplySite FAS);
diff --git a/lib/AST/DocComment.cpp b/lib/AST/DocComment.cpp
index 0ec4f8e..26ac959 100644
--- a/lib/AST/DocComment.cpp
+++ b/lib/AST/DocComment.cpp
@@ -423,10 +423,6 @@
if (auto Requirement = getSingleRequirementWithNonemptyDoc(ProtoExt, VD))
RequirementsWithDocs.push_back(Requirement);
- for (auto Proto : ProtoExt->getInheritedProtocols(/*resolver=*/nullptr))
- if (auto Requirement = getSingleRequirementWithNonemptyDoc(Proto, VD))
- RequirementsWithDocs.push_back(Requirement);
-
if (RequirementsWithDocs.size() == 1)
return getSingleDocComment(MC, RequirementsWithDocs.front());
}
diff --git a/lib/AST/NameLookup.cpp b/lib/AST/NameLookup.cpp
index db5513a..13db8db 100644
--- a/lib/AST/NameLookup.cpp
+++ b/lib/AST/NameLookup.cpp
@@ -1451,16 +1451,14 @@
if (visited.insert(proto).second)
stack.push_back(proto);
- // If requested, look into the superclasses of this archetype.
- if (options & NL_VisitSupertypes) {
- if (auto superclassTy = archetypeTy->getSuperclass()) {
- if (auto superclassDecl = superclassTy->getAnyNominal()) {
- if (visited.insert(superclassDecl).second) {
- stack.push_back(superclassDecl);
+ // Look into the superclasses of this archetype.
+ if (auto superclassTy = archetypeTy->getSuperclass()) {
+ if (auto superclassDecl = superclassTy->getAnyNominal()) {
+ if (visited.insert(superclassDecl).second) {
+ stack.push_back(superclassDecl);
- wantProtocolMembers = (options & NL_ProtocolMembers) &&
- !isa<ProtocolDecl>(superclassDecl);
- }
+ wantProtocolMembers = (options & NL_ProtocolMembers) &&
+ !isa<ProtocolDecl>(superclassDecl);
}
}
}
@@ -1564,10 +1562,6 @@
decls.push_back(decl);
}
- // If we're not supposed to visit our supertypes, we're done.
- if ((options & NL_VisitSupertypes) == 0)
- continue;
-
// Visit superclass.
if (auto classDecl = dyn_cast<ClassDecl>(current)) {
// If we're looking for initializers, only look at the superclass if the
diff --git a/lib/Basic/Demangle.cpp b/lib/Basic/Demangle.cpp
index 82f301a..665b7ef 100644
--- a/lib/Basic/Demangle.cpp
+++ b/lib/Basic/Demangle.cpp
@@ -1494,6 +1494,8 @@
if (Mangled.nextIf('S')) {
assocTy = demangleSubstitutionIndex();
+ if (!assocTy)
+ return nullptr;
if (assocTy->getKind() != Node::Kind::DependentAssociatedTypeRef)
return nullptr;
} else {
diff --git a/lib/ClangImporter/ImportMacro.cpp b/lib/ClangImporter/ImportMacro.cpp
index 58af14d..c154731 100644
--- a/lib/ClangImporter/ImportMacro.cpp
+++ b/lib/ClangImporter/ImportMacro.cpp
@@ -463,6 +463,12 @@
auto firstMacroInfo = impl.getClangPreprocessor().getMacroInfo(firstID);
auto secondMacroInfo = impl.getClangPreprocessor().getMacroInfo(
secondID);
+ auto firstIdentifier = impl.importMacroName(firstID, firstMacroInfo,
+ impl.getClangASTContext());
+ auto secondIdentifier = impl.importMacroName(secondID, secondMacroInfo,
+ impl.getClangASTContext());
+ impl.importMacro(firstIdentifier, firstMacroInfo);
+ impl.importMacro(secondIdentifier, secondMacroInfo);
auto firstIterator = impl.ImportedMacroConstants.find(firstMacroInfo);
if (firstIterator == impl.ImportedMacroConstants.end()) {
return nullptr;
diff --git a/lib/IRGen/GenFunc.cpp b/lib/IRGen/GenFunc.cpp
index 263fc99..404883d 100644
--- a/lib/IRGen/GenFunc.cpp
+++ b/lib/IRGen/GenFunc.cpp
@@ -841,6 +841,13 @@
(origType->hasSelfParam() &&
isSelfContextParameter(origType->getSelfParameter()));
+ // Witness method calls expect self, followed by the self type followed by,
+ // the witness table at the end of the parameter list. But polymorphic
+ // arguments come before this.
+ bool isWitnessMethodCallee = origType->getRepresentation() ==
+ SILFunctionTypeRepresentation::WitnessMethod;
+ Explosion witnessMethodSelfValue;
+
// If there's a data pointer required, but it's a swift-retainable
// value being passed as the context, just forward it down.
if (!layout) {
@@ -993,9 +1000,11 @@
emitApplyArgument(subIGF, origParamInfo,
substType->getParameters()[origParamI],
param, origParam);
-
- needsAllocas |=
- addNativeArgument(subIGF, origParam, origParamInfo, args);
+ bool isWitnessMethodCalleeSelf = (isWitnessMethodCallee &&
+ origParamI + 1 == origType->getParameters().size());
+ needsAllocas |= addNativeArgument(
+ subIGF, origParam, origParamInfo,
+ isWitnessMethodCalleeSelf ? witnessMethodSelfValue : args);
++origParamI;
} else {
args.add(param.claimAll());
@@ -1043,8 +1052,7 @@
// witness table. Metadata for Self is derived inside the partial
// application thunk and doesn't need to be stored in the outer
// context.
- if (origType->getRepresentation() ==
- SILFunctionTypeRepresentation::WitnessMethod) {
+ if (isWitnessMethodCallee) {
assert(fnContext->getType() == IGM.Int8PtrTy);
llvm::Value *wtable = subIGF.Builder.CreateBitCast(
fnContext, IGM.WitnessTablePtrTy);
@@ -1061,6 +1069,11 @@
args.add(llvm::UndefValue::get(IGM.RefCountedPtrTy));
}
+ // Add the witness methods self argument before the error parameter after the
+ // polymorphic arguments.
+ if (isWitnessMethodCallee)
+ witnessMethodSelfValue.transferInto(args, witnessMethodSelfValue.size());
+
// Pass down the error result.
if (origType->hasErrorResult()) {
llvm::Value *errorResultPtr = origParams.claimNext();
@@ -1070,8 +1083,7 @@
assert(origParams.empty());
- if (origType->getRepresentation() ==
- SILFunctionTypeRepresentation::WitnessMethod) {
+ if (isWitnessMethodCallee) {
assert(witnessMetadata.SelfMetadata->getType() == IGM.TypeMetadataPtrTy);
args.add(witnessMetadata.SelfMetadata);
assert(witnessMetadata.SelfWitnessTable->getType() == IGM.WitnessTablePtrTy);
diff --git a/lib/IRGen/GenValueWitness.cpp b/lib/IRGen/GenValueWitness.cpp
index 308a22e..acb4f8e 100644
--- a/lib/IRGen/GenValueWitness.cpp
+++ b/lib/IRGen/GenValueWitness.cpp
@@ -1522,8 +1522,7 @@
Size stride(1);
// TODO: Arrays currently lower-bound the stride to 1.
- if (!fixedTI
- || std::max(Size(1), fixedTI->getFixedStride()) != fixedTI->getFixedSize()) {
+ if (!fixedTI || fixedTI->getFixedStride() != fixedTI->getFixedSize()) {
llvm::Value *byteAddr = IGF.Builder.CreateBitCast(base.getAddress(),
IGF.IGM.Int8PtrTy);
llvm::Value *size = getStride(IGF, T);
diff --git a/lib/Parse/ParseSIL.cpp b/lib/Parse/ParseSIL.cpp
index 975c51e..02999c8 100644
--- a/lib/Parse/ParseSIL.cpp
+++ b/lib/Parse/ParseSIL.cpp
@@ -818,14 +818,23 @@
SourceLoc Loc,
SmallVectorImpl<ValueDecl *> &Lookup,
bool ExpectMultipleResults) {
- NLOptions options = NL_QualifiedDefault;
- // FIXME: a bit of a hack.
- if (Name == P.Context.Id_deinit || Name == P.Context.Id_init)
- options = options & ~NL_VisitSupertypes;
- P.SF.lookupQualified(Ty, Name, options, nullptr, Lookup);
+ Type CheckTy = Ty;
+ if (auto MetaTy = CheckTy->getAs<AnyMetatypeType>())
+ CheckTy = MetaTy->getInstanceType();
+
+ if (auto nominal = CheckTy->getAnyNominal()) {
+ auto found = nominal->lookupDirect(Name);
+ Lookup.append(found.begin(), found.end());
+ } else if (auto moduleTy = CheckTy->getAs<ModuleType>()) {
+ moduleTy->getModule()->lookupValue({ }, Name, NLKind::QualifiedLookup,
+ Lookup);
+ } else {
+ P.diagnose(Loc, diag::sil_member_lookup_bad_type, Name, Ty);
+ return nullptr;
+ }
if (Lookup.empty() || (!ExpectMultipleResults && Lookup.size() != 1)) {
- P.diagnose(Loc, diag::sil_member_decl_not_found);
+ P.diagnose(Loc, diag::sil_named_member_decl_not_found, Name, Ty);
return nullptr;
}
return Lookup[0];
diff --git a/lib/SILOptimizer/Analysis/BasicCalleeAnalysis.cpp b/lib/SILOptimizer/Analysis/BasicCalleeAnalysis.cpp
index 8de6aad..27ed1f9 100644
--- a/lib/SILOptimizer/Analysis/BasicCalleeAnalysis.cpp
+++ b/lib/SILOptimizer/Analysis/BasicCalleeAnalysis.cpp
@@ -213,3 +213,20 @@
CalleeList CalleeCache::getCalleeList(FullApplySite FAS) const {
return getCalleeListForCalleeKind(FAS.getCallee());
}
+
+// Return the list of functions that can be called via the given instruction.
+CalleeList CalleeCache::getCalleeList(SILInstruction *I) const {
+ // We support only deallocation instructions at the moment.
+ assert((isa<StrongReleaseInst>(I) || isa<ReleaseValueInst>(I)) &&
+ "A deallocation instruction expected");
+ auto Ty = I->getOperand(0)->getType();
+ while (Ty.getSwiftRValueType()->getAnyOptionalObjectType())
+ Ty = M.Types.getLoweredType(Ty.getSwiftRValueType()
+ ->getAnyOptionalObjectType()
+ .getCanonicalTypeOrNull());
+ auto Class = Ty.getSwiftRValueType().getClassOrBoundGenericClass();
+ if (!Class || !Class->hasDestructor())
+ return CalleeList();
+ auto Destructor = Class->getDestructor();
+ return getCalleeList(Destructor);
+}
diff --git a/lib/SILOptimizer/Analysis/EscapeAnalysis.cpp b/lib/SILOptimizer/Analysis/EscapeAnalysis.cpp
index b2d97dd..50de4fd 100644
--- a/lib/SILOptimizer/Analysis/EscapeAnalysis.cpp
+++ b/lib/SILOptimizer/Analysis/EscapeAnalysis.cpp
@@ -16,6 +16,7 @@
#include "swift/SILOptimizer/Analysis/ArraySemantic.h"
#include "swift/SILOptimizer/Analysis/ValueTracking.h"
#include "swift/SILOptimizer/PassManager/PassManager.h"
+#include "swift/SILOptimizer/Utils/Local.h"
#include "swift/SIL/SILArgument.h"
#include "swift/SIL/DebugUtils.h"
#include "llvm/Support/GraphWriter.h"
@@ -1117,6 +1118,64 @@
return true;
}
+bool EscapeAnalysis::buildConnectionGraphForCallees(
+ SILInstruction *Caller, CalleeList Callees, FunctionInfo *FInfo,
+ FunctionOrder &BottomUpOrder, int RecursionDepth) {
+ if (Callees.allCalleesVisible()) {
+ // Derive the connection graph of the apply from the known callees.
+ for (SILFunction *Callee : Callees) {
+ FunctionInfo *CalleeInfo = getFunctionInfo(Callee);
+ CalleeInfo->addCaller(FInfo, Caller);
+ if (!CalleeInfo->isVisited()) {
+ // Recursively visit the called function.
+ buildConnectionGraph(CalleeInfo, BottomUpOrder, RecursionDepth + 1);
+ BottomUpOrder.tryToSchedule(CalleeInfo);
+ }
+ }
+ return true;
+ }
+ return false;
+}
+
+/// Build the connection graph for destructors that may be called
+/// by a given instruction \I for the object \V.
+/// Returns true if V is a local object and destructors called by a given
+/// instruction could be determined. In all other cases returns false.
+bool EscapeAnalysis::buildConnectionGraphForDestructor(
+ SILValue V, SILInstruction *I, FunctionInfo *FInfo,
+ FunctionOrder &BottomUpOrder, int RecursionDepth) {
+ // It should be a locally allocated object.
+ if (!pointsToLocalObject(V))
+ return false;
+ SILModule &M = I->getFunction()->getModule();
+ // Determine the exact type of the value.
+ auto Ty = getExactDynamicTypeOfUnderlyingObject(V, M, nullptr);
+ if (!Ty) {
+ // The object is local, but we cannot determine its type.
+ return false;
+ }
+ // If Ty is a an optional, its deallocation is equivalent to the deallocation
+ // of its payload.
+ // TODO: Generalize it. Destructor of an aggrgate type is equivalent to calling
+ // destructors for its components.
+ while (Ty.getSwiftRValueType()->getAnyOptionalObjectType())
+ Ty = M.Types.getLoweredType(Ty.getSwiftRValueType()
+ ->getAnyOptionalObjectType()
+ .getCanonicalTypeOrNull());
+ auto Class = Ty.getSwiftRValueType().getClassOrBoundGenericClass();
+ if (!Class || !Class->hasDestructor())
+ return false;
+ auto Destructor = Class->getDestructor();
+ SILDeclRef DeallocRef(Destructor, SILDeclRef::Kind::Deallocator);
+ // Find a SILFunction for destructor.
+ SILFunction *Dealloc = M.lookUpFunction(DeallocRef);
+ if (!Dealloc)
+ return false;
+ CalleeList Callees(Dealloc);
+ return buildConnectionGraphForCallees(I, Callees, FInfo, BottomUpOrder,
+ RecursionDepth);
+}
+
void EscapeAnalysis::analyzeInstruction(SILInstruction *I,
FunctionInfo *FInfo,
FunctionOrder &BottomUpOrder,
@@ -1239,19 +1298,9 @@
if (RecursionDepth < MaxRecursionDepth) {
CalleeList Callees = BCA->getCalleeList(FAS);
- if (Callees.allCalleesVisible()) {
- // Derive the connection graph of the apply from the known callees.
- for (SILFunction *Callee : Callees) {
- FunctionInfo *CalleeInfo = getFunctionInfo(Callee);
- CalleeInfo->addCaller(FInfo, FAS);
- if (!CalleeInfo->isVisited()) {
- // Recursively visit the called function.
- buildConnectionGraph(CalleeInfo, BottomUpOrder, RecursionDepth + 1);
- BottomUpOrder.tryToSchedule(CalleeInfo);
- }
- }
+ if (buildConnectionGraphForCallees(FAS.getInstruction(), Callees, FInfo,
+ BottomUpOrder, RecursionDepth))
return;
- }
}
if (auto *Fn = FAS.getReferencedFunction()) {
@@ -1260,6 +1309,19 @@
return;
}
}
+
+ if (isa<StrongReleaseInst>(I) || isa<ReleaseValueInst>(I)) {
+ // Treat the release instruction as if it is the invocation
+ // of a deinit funciton.
+ if (RecursionDepth < MaxRecursionDepth) {
+ // Check if the destructor is known.
+ auto OpV = cast<RefCountingInst>(I)->getOperand(0);
+ if (buildConnectionGraphForDestructor(OpV, I, FInfo, BottomUpOrder,
+ RecursionDepth))
+ return;
+ }
+ }
+
if (isProjection(I))
return;
@@ -1289,6 +1351,8 @@
case ValueKind::InitExistentialMetatypeInst:
case ValueKind::OpenExistentialMetatypeInst:
case ValueKind::ExistentialMetatypeInst:
+ case ValueKind::DeallocRefInst:
+ case ValueKind::SetDeallocatingInst:
// These instructions don't have any effect on escaping.
return;
case ValueKind::StrongReleaseInst:
@@ -1613,7 +1677,7 @@
for (const auto &E : FInfo->getCallers()) {
assert(E.isValid());
if (BottomUpOrder.wasRecomputedWithCurrentUpdateID(E.Caller)) {
- setAllEscaping(E.FAS.getInstruction(), &E.Caller->Graph);
+ setAllEscaping(E.FAS, &E.Caller->Graph);
E.Caller->NeedUpdateSummaryGraph = true;
NeedAnotherIteration = true;
}
@@ -1632,14 +1696,15 @@
}
}
-bool EscapeAnalysis::mergeCalleeGraph(FullApplySite FAS,
+bool EscapeAnalysis::mergeCalleeGraph(SILInstruction *AS,
ConnectionGraph *CallerGraph,
ConnectionGraph *CalleeGraph) {
CGNodeMap Callee2CallerMapping;
// First map the callee parameters to the caller arguments.
SILFunction *Callee = CalleeGraph->F;
- unsigned numCallerArgs = FAS.getNumArguments();
+ auto FAS = FullApplySite::isa(AS);
+ unsigned numCallerArgs = FAS ? FAS.getNumArguments() : 1;
unsigned numCalleeArgs = Callee->getArguments().size();
assert(numCalleeArgs >= numCallerArgs);
for (unsigned Idx = 0; Idx < numCalleeArgs; ++Idx) {
@@ -1648,8 +1713,13 @@
// function also references the boxed partially applied arguments.
// Therefore we map all the extra callee parameters to the callee operand
// of the apply site.
- SILValue CallerArg = (Idx < numCallerArgs ? FAS.getArgument(Idx) :
- FAS.getCallee());
+ SILValue CallerArg;
+ if (FAS)
+ CallerArg =
+ (Idx < numCallerArgs ? FAS.getArgument(Idx) : FAS.getCallee());
+ else
+ CallerArg = (Idx < numCallerArgs ? AS->getOperand(Idx) : SILValue());
+
CGNode *CalleeNd = CalleeGraph->getNode(Callee->getArgument(Idx), this);
if (!CalleeNd)
continue;
@@ -1667,10 +1737,10 @@
// Map the return value.
if (CGNode *RetNd = CalleeGraph->getReturnNodeOrNull()) {
ValueBase *CallerReturnVal = nullptr;
- if (auto *TAI = dyn_cast<TryApplyInst>(FAS.getInstruction())) {
+ if (auto *TAI = dyn_cast<TryApplyInst>(AS)) {
CallerReturnVal = TAI->getNormalBB()->getBBArg(0);
} else {
- CallerReturnVal = FAS.getInstruction();
+ CallerReturnVal = AS;
}
CGNode *CallerRetNd = CallerGraph->getNode(CallerReturnVal, this);
Callee2CallerMapping.add(RetNd, CallerRetNd);
diff --git a/lib/SILOptimizer/Analysis/FunctionOrder.cpp b/lib/SILOptimizer/Analysis/FunctionOrder.cpp
index b069e51..4bd62f6 100644
--- a/lib/SILOptimizer/Analysis/FunctionOrder.cpp
+++ b/lib/SILOptimizer/Analysis/FunctionOrder.cpp
@@ -40,10 +40,10 @@
for (auto &B : *Start) {
for (auto &I : B) {
auto FAS = FullApplySite::isa(&I);
- if (!FAS)
+ if (!FAS && !isa<StrongReleaseInst>(&I) && !isa<ReleaseValueInst>(&I))
continue;
- auto Callees = BCA->getCalleeList(FAS);
+ auto Callees = FAS ? BCA->getCalleeList(FAS) : BCA->getCalleeList(&I);
for (auto *CalleeFn : Callees) {
// If not yet visited, visit the callee.
if (DFSNum.find(CalleeFn) == DFSNum.end()) {
diff --git a/lib/SILOptimizer/Analysis/MemoryBehavior.cpp b/lib/SILOptimizer/Analysis/MemoryBehavior.cpp
index 5acef49..8e67c84 100644
--- a/lib/SILOptimizer/Analysis/MemoryBehavior.cpp
+++ b/lib/SILOptimizer/Analysis/MemoryBehavior.cpp
@@ -101,6 +101,7 @@
MemBehavior visitStrongReleaseInst(StrongReleaseInst *BI);
MemBehavior visitUnownedReleaseInst(UnownedReleaseInst *BI);
MemBehavior visitReleaseValueInst(ReleaseValueInst *BI);
+ MemBehavior visitSetDeallocatingInst(SetDeallocatingInst *BI);
// Instructions which are none if our SILValue does not alias one of its
// arguments. If we cannot prove such a thing, return the relevant memory
@@ -296,6 +297,10 @@
return MemBehavior::MayHaveSideEffects;
}
+MemBehavior MemoryBehaviorVisitor::visitSetDeallocatingInst(SetDeallocatingInst *SDI) {
+ return MemBehavior::None;
+}
+
//===----------------------------------------------------------------------===//
// Top Level Entrypoint
//===----------------------------------------------------------------------===//
diff --git a/lib/SILOptimizer/Analysis/SideEffectAnalysis.cpp b/lib/SILOptimizer/Analysis/SideEffectAnalysis.cpp
index 93419bd..60a569f 100644
--- a/lib/SILOptimizer/Analysis/SideEffectAnalysis.cpp
+++ b/lib/SILOptimizer/Analysis/SideEffectAnalysis.cpp
@@ -66,16 +66,22 @@
bool FunctionEffects::mergeFromApply(
const FunctionEffects &ApplyEffects, FullApplySite FAS) {
+ return mergeFromApply(ApplyEffects, FAS.getInstruction());
+}
+
+bool FunctionEffects::mergeFromApply(
+ const FunctionEffects &ApplyEffects, SILInstruction *AS) {
bool Changed = mergeFlags(ApplyEffects);
Changed |= GlobalEffects.mergeFrom(ApplyEffects.GlobalEffects);
- unsigned numCallerArgs = FAS.getNumArguments();
+ auto FAS = FullApplySite::isa(AS);
+ unsigned numCallerArgs = FAS ? FAS.getNumArguments() : 1;
unsigned numCalleeArgs = ApplyEffects.ParamEffects.size();
assert(numCalleeArgs >= numCallerArgs);
for (unsigned Idx = 0; Idx < numCalleeArgs; Idx++) {
// Map the callee argument effects to parameters of this function.
// If there are more callee parameters than arguments it means that the
// callee is the result of a partial_apply.
- Effects *E = (Idx < numCallerArgs ? getEffectsOn(FAS.getArgument(Idx)) :
+ Effects *E = (Idx < numCallerArgs ? getEffectsOn(FAS ? FAS.getArgument(Idx) : AS->getOperand(Idx)) :
&GlobalEffects);
Changed |= E->mergeFrom(ApplyEffects.ParamEffects[Idx]);
}
diff --git a/lib/SILOptimizer/Analysis/ValueTracking.cpp b/lib/SILOptimizer/Analysis/ValueTracking.cpp
index aa0828e..63c9981 100644
--- a/lib/SILOptimizer/Analysis/ValueTracking.cpp
+++ b/lib/SILOptimizer/Analysis/ValueTracking.cpp
@@ -33,11 +33,66 @@
isInoutAliasing);
}
+/// Check if the the parameter \V is based on a local object, e.g. it is an
+/// allocation instruction or a struct/tuple constructed from the local objects.
+/// Returns a found local object. If a local object was not found, returns an
+/// empty SILValue.
+static bool isLocalObject(SILValue Obj) {
+ // Set of values to be checked for their locality.
+ SmallVector<SILValue, 8> WorkList;
+ // Set of processed values.
+ llvm::SmallPtrSet<SILValue, 8> Processed;
+ WorkList.push_back(Obj);
+
+ while (!WorkList.empty()) {
+ auto V = WorkList.pop_back_val();
+ if (!V)
+ return false;
+ if (Processed.count(V))
+ continue;
+ Processed.insert(V);
+ // It should be a local object.
+ V = getUnderlyingObject(V);
+ if (auto I = dyn_cast<SILInstruction>(V)) {
+ if (isa<AllocationInst>(V))
+ continue;
+ if (isa<StrongPinInst>(I)) {
+ WorkList.push_back(I->getOperand(0));
+ continue;
+ }
+ if (isa<StructInst>(I) || isa<TupleInst>(I) || isa<EnumInst>(I)) {
+ // A compound value is local, if all of its components are local.
+ for (auto &Op : I->getAllOperands()) {
+ WorkList.push_back(Op.get());
+ }
+ continue;
+ }
+ }
+
+ if (auto Arg = dyn_cast<SILArgument>(V)) {
+ // A BB argument is local if all of its
+ // incoming values are local.
+ if (Arg->isFunctionArg())
+ return false;
+ SmallVector<SILValue, 4> IncomingValues;
+ if (Arg->getIncomingValues(IncomingValues)) {
+ for (auto InValue : IncomingValues) {
+ WorkList.push_back(InValue);
+ }
+ continue;
+ }
+ }
+
+ // Everything else is considered to be non-local.
+ return false;
+ }
+ return true;
+}
+
bool swift::pointsToLocalObject(SILValue V,
InoutAliasingAssumption isInoutAliasing) {
V = getUnderlyingObject(V);
- return isa<AllocationInst>(V) ||
- isNotAliasingArgument(V, isInoutAliasing);
+ return isLocalObject(V) || isNotAliasingArgument(V, isInoutAliasing);
}
/// Check if the value \p Value is known to be zero, non-zero or unknown.
diff --git a/lib/SILOptimizer/LoopTransforms/ArrayBoundsCheckOpts.cpp b/lib/SILOptimizer/LoopTransforms/ArrayBoundsCheckOpts.cpp
index 7cc5b05..51b6e68 100644
--- a/lib/SILOptimizer/LoopTransforms/ArrayBoundsCheckOpts.cpp
+++ b/lib/SILOptimizer/LoopTransforms/ArrayBoundsCheckOpts.cpp
@@ -1010,6 +1010,10 @@
if (!ArrayIndex)
continue;
+ // Make sure we know how-to hoist the array call.
+ if (!ArrayCall.canHoist(Preheader->getTerminator(), DT))
+ continue;
+
// Invariant check.
if (blockAlwaysExecutes && dominates(DT, ArrayIndex, Preheader)) {
assert(ArrayCall.canHoist(Preheader->getTerminator(), DT) &&
diff --git a/lib/Sema/CSDiag.cpp b/lib/Sema/CSDiag.cpp
index 05be56a..a57438f 100644
--- a/lib/Sema/CSDiag.cpp
+++ b/lib/Sema/CSDiag.cpp
@@ -4127,6 +4127,12 @@
CS))
return true;
+ // Don't attempt fixits if we have an unsolved type variable, since
+ // the recovery path's recursion into the type checker via typeCheckCast()
+ // will confuse matters.
+ if (exprType->hasTypeVariable())
+ return false;
+
// When complaining about conversion to a protocol type, complain about
// conformance instead of "conversion".
if (contextualType->is<ProtocolType>() ||
diff --git a/lib/Sema/TypeCheckDecl.cpp b/lib/Sema/TypeCheckDecl.cpp
index 04af415..3eb081d 100644
--- a/lib/Sema/TypeCheckDecl.cpp
+++ b/lib/Sema/TypeCheckDecl.cpp
@@ -2116,9 +2116,10 @@
return;
// Only introduce 'dynamic' on declarations...
+ bool isNSManaged = D->getAttrs().hasAttribute<NSManagedAttr>();
if (!isa<ExtensionDecl>(D->getDeclContext())) {
// ...and in classes on decls marked @NSManaged.
- if (!D->getAttrs().hasAttribute<NSManagedAttr>())
+ if (!isNSManaged)
return;
}
@@ -2126,6 +2127,18 @@
if (D->isDynamic() || D->isFinal())
return;
+ // Variables declared with 'let' cannot be 'dynamic'.
+ if (auto VD = dyn_cast<VarDecl>(D)) {
+ if (VD->isLet() && !isNSManaged) return;
+ }
+
+ // The presence of 'final' on a class prevents 'dynamic'.
+ auto classDecl = D->getDeclContext()->getAsClassOrClassExtensionContext();
+ if (!classDecl) return;
+ if (!isNSManaged && classDecl->isFinal() &&
+ !classDecl->requiresStoredPropertyInits())
+ return;
+
// Add the 'dynamic' attribute.
D->getAttrs().add(new (ctx) DynamicAttr(/*isImplicit=*/true));
}
@@ -6448,18 +6461,23 @@
}
}
- // Type check the constructor parameters.
- GenericTypeToArchetypeResolver resolver;
- if (CD->isInvalid() || semaFuncParamPatterns(CD, &resolver)) {
- CD->overwriteType(ErrorType::get(TC.Context));
- CD->setInterfaceType(ErrorType::get(TC.Context));
- CD->setInvalid();
- } else {
- configureConstructorType(CD, SelfTy,
- CD->getParameterList(1)->getType(TC.Context));
+ {
+ CD->setIsBeingTypeChecked(true);
+ SWIFT_DEFER { CD->setIsBeingTypeChecked(false); };
- if (!CD->getGenericSignatureOfContext())
- TC.configureInterfaceType(CD);
+ // Type check the constructor parameters.
+ GenericTypeToArchetypeResolver resolver;
+ if (CD->isInvalid() || semaFuncParamPatterns(CD, &resolver)) {
+ CD->overwriteType(ErrorType::get(TC.Context));
+ CD->setInterfaceType(ErrorType::get(TC.Context));
+ CD->setInvalid();
+ } else {
+ configureConstructorType(CD, SelfTy,
+ CD->getParameterList(1)->getType(TC.Context));
+
+ if (!CD->getGenericSignatureOfContext())
+ TC.configureInterfaceType(CD);
+ }
}
validateAttributes(TC, CD);
diff --git a/stdlib/private/StdlibCollectionUnittest/CheckCollectionInstance.swift.gyb b/stdlib/private/StdlibCollectionUnittest/CheckCollectionInstance.swift.gyb
index 48fb3f8..1c9c3e6 100644
--- a/stdlib/private/StdlibCollectionUnittest/CheckCollectionInstance.swift.gyb
+++ b/stdlib/private/StdlibCollectionUnittest/CheckCollectionInstance.swift.gyb
@@ -61,7 +61,7 @@
Instances : Collection,
BaseCollection : ${protocol},
Instances.Iterator.Element == BaseCollection.Index,
- // FIXME(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#83 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
Instances.Indices.Iterator.Element == Instances.Index {
@@ -93,7 +93,7 @@
Instances : Collection,
BaseCollection : _Indexable,
Instances.Iterator.Element == BaseCollection.Index,
- // FIXME(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#84 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
Instances.Indices.Iterator.Element == Instances.Index {
for i in instances {
@@ -130,7 +130,7 @@
Instances : Collection,
BaseCollection : _Indexable,
Instances.Iterator.Element == BaseCollection.Index,
- // FIXME(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#85 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
Instances.Indices.Iterator.Element == Instances.Index {
@@ -160,7 +160,7 @@
Instances: Collection,
BaseCollection : _BidirectionalIndexable,
Instances.Iterator.Element == BaseCollection.Index,
- // FIXME(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#86 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
Instances.Indices.Iterator.Element == Instances.Index {
@@ -200,7 +200,7 @@
BaseCollection : _RandomAccessIndexable,
Instances.Iterator.Element == BaseCollection.Index,
Distances.Iterator.Element == BaseCollection.IndexDistance,
- // FIXME(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#87 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
Instances.Indices.Iterator.Element == Instances.Index,
Distances.Indices.Iterator.Element == Distances.Index {
@@ -233,7 +233,7 @@
BaseCollection : _Indexable,
Instances.Iterator.Element == BaseCollection.Index,
Distances.Iterator.Element == BaseCollection.IndexDistance,
- // FIXME(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#88 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
Instances.Indices.Iterator.Element == Instances.Index,
Distances.Indices.Iterator.Element == Distances.Index {
diff --git a/stdlib/private/StdlibUnittest/RaceTest.swift b/stdlib/private/StdlibUnittest/RaceTest.swift
index 8795ce1..ca78cf4 100644
--- a/stdlib/private/StdlibUnittest/RaceTest.swift
+++ b/stdlib/private/StdlibUnittest/RaceTest.swift
@@ -37,6 +37,7 @@
//===----------------------------------------------------------------------===//
import SwiftPrivate
+import SwiftPrivateLibcExtras
import SwiftPrivatePthreadExtras
#if os(OSX) || os(iOS)
import Darwin
@@ -391,6 +392,7 @@
class _RaceTestSharedState<RT : RaceTestWithPerTrialData> {
var racingThreadCount: Int
+ var stopNow = _stdlib_AtomicInt(0)
var trialBarrier: _stdlib_Barrier
var trialSpinBarrier: _stdlib_AtomicInt = _stdlib_AtomicInt()
@@ -411,6 +413,16 @@
}
}
+func _masterThreadStopWorkers<RT : RaceTestWithPerTrialData>(
+ _ sharedState: _RaceTestSharedState<RT>
+) {
+ // Workers are proceeding to the first barrier in _workerThreadOneTrial.
+ sharedState.stopNow.store(1)
+ // Allow workers to proceed past that first barrier. They will then see
+ // stopNow==true and stop.
+ sharedState.trialBarrier.wait()
+}
+
func _masterThreadOneTrial<RT : RaceTestWithPerTrialData>(
_ sharedState: _RaceTestSharedState<RT>
) {
@@ -475,13 +487,16 @@
func _workerThreadOneTrial<RT : RaceTestWithPerTrialData>(
_ tid: Int, _ sharedState: _RaceTestSharedState<RT>
-) {
+) -> Bool {
sharedState.trialBarrier.wait()
+ if sharedState.stopNow.load() == 1 {
+ return true
+ }
let racingThreadCount = sharedState.racingThreadCount
let workerState = sharedState.workerStates[tid]
let rt = RT()
var threadLocalData = rt.makeThreadLocalData()
- if true {
+ do {
let trialSpinBarrier = sharedState.trialSpinBarrier
_ = trialSpinBarrier.fetchAndAdd(1)
while trialSpinBarrier.load() < racingThreadCount {}
@@ -493,40 +508,111 @@
workerState.observations.append(rt.thread1(raceData, &threadLocalData))
}
sharedState.trialBarrier.wait()
+ return false
+}
+
+/// One-shot sleep in one thread, allowing interrupt by another.
+class _InterruptibleSleep {
+ let writeEnd: CInt
+ let readEnd: CInt
+ var completed = false
+
+ init() {
+ (readEnd: readEnd, writeEnd: writeEnd, _) = _stdlib_pipe()
+ }
+
+ deinit {
+ close(readEnd)
+ close(writeEnd)
+ }
+
+ /// Sleep for durationInSeconds or until another
+ /// thread calls wake(), whichever comes first.
+ func sleep(durationInSeconds duration: Int) {
+ if completed {
+ return
+ }
+
+ var timeout = timeval(tv_sec: duration, tv_usec: 0)
+
+ var readFDs = _stdlib_fd_set()
+ var writeFDs = _stdlib_fd_set()
+ var errorFDs = _stdlib_fd_set()
+ readFDs.set(readEnd)
+
+ let ret = _stdlib_select(&readFDs, &writeFDs, &errorFDs, &timeout)
+ precondition(ret >= 0)
+ completed = true
+ }
+
+ /// Wake the thread in sleep().
+ func wake() {
+ if completed { return }
+
+ let buffer: [UInt8] = [1]
+ let ret = write(writeEnd, buffer, 1)
+ precondition(ret >= 0)
+ }
}
public func runRaceTest<RT : RaceTestWithPerTrialData>(
_: RT.Type,
trials: Int,
+ timeoutInSeconds: Int? = nil,
threads: Int? = nil
) {
let racingThreadCount = threads ?? max(2, _stdlib_getHardwareConcurrency())
let sharedState = _RaceTestSharedState<RT>(racingThreadCount: racingThreadCount)
- let masterThreadBody: () -> Void = {
+ // Alarm thread sets timeoutReached.
+ // Master thread sees timeoutReached and tells worker threads to stop.
+ let timeoutReached = _stdlib_AtomicInt(0)
+ let alarmTimer = _InterruptibleSleep()
+
+ let masterThreadBody = {
() -> Void in
- for _ in 0..<trials {
+ for t in 0..<trials {
+ // Check for timeout.
+ // _masterThreadStopWorkers must run BEFORE the last _masterThreadOneTrial
+ // to make the thread coordination barriers work
+ // but we do want to run at least one trial even if the timeout occurs.
+ if timeoutReached.load() == 1 && t > 0 {
+ _masterThreadStopWorkers(sharedState)
+ break
+ }
+
autoreleasepool {
_masterThreadOneTrial(sharedState)
}
}
}
- let racingThreadBody: (Int) -> Void = {
+ let racingThreadBody = {
(tid: Int) -> Void in
- for _ in 0..<trials {
- _workerThreadOneTrial(tid, sharedState)
+ for t in 0..<trials {
+ let stopNow = _workerThreadOneTrial(tid, sharedState)
+ if stopNow { break }
}
}
- var allTids = [pthread_t]()
+ let alarmThreadBody = {
+ () -> Void in
+ guard let timeoutInSeconds = timeoutInSeconds
+ else { return }
+
+ alarmTimer.sleep(durationInSeconds: timeoutInSeconds)
+ _ = timeoutReached.fetchAndAdd(1)
+ }
+
+ var testTids = [pthread_t]()
+ var alarmTid: pthread_t
// Create the master thread.
- if true {
+ do {
let (ret, tid) = _stdlib_pthread_create_block(
nil, masterThreadBody, ())
expectEqual(0, ret)
- allTids.append(tid!)
+ testTids.append(tid!)
}
// Create racing threads.
@@ -534,15 +620,30 @@
let (ret, tid) = _stdlib_pthread_create_block(
nil, racingThreadBody, i)
expectEqual(0, ret)
- allTids.append(tid!)
+ testTids.append(tid!)
}
- // Join all threads.
- for tid in allTids {
+ // Create the alarm thread that enforces the timeout.
+ do {
+ let (ret, tid) = _stdlib_pthread_create_block(
+ nil, alarmThreadBody, ())
+ expectEqual(0, ret)
+ alarmTid = tid!
+ }
+
+ // Join all testing threads.
+ for tid in testTids {
let (ret, _) = _stdlib_pthread_join(tid, Void.self)
expectEqual(0, ret)
}
+ // Tell the alarm thread to stop if it hasn't already, then join it.
+ do {
+ alarmTimer.wake()
+ let (ret, _) = _stdlib_pthread_join(alarmTid, Void.self)
+ expectEqual(0, ret)
+ }
+
let aggregatedEvaluations = sharedState.aggregatedEvaluations
expectFalse(aggregatedEvaluations.isFailed)
print(aggregatedEvaluations)
@@ -555,6 +656,7 @@
public func runRaceTest<RT : RaceTestWithPerTrialData>(
_ test: RT.Type,
operations: Int,
+ timeoutInSeconds: Int? = nil,
threads: Int? = nil
) {
let racingThreadCount = threads ?? max(2, _stdlib_getHardwareConcurrency())
@@ -562,7 +664,8 @@
// Each trial runs threads^2 operations.
let operationsPerTrial = racingThreadCount * racingThreadCount
let trials = _divideRoundUp(operations, operationsPerTrial)
- runRaceTest(test, trials: trials, threads: threads)
+ runRaceTest(test, trials: trials, timeoutInSeconds: timeoutInSeconds,
+ threads: threads)
}
public func consumeCPU(units amountOfWork: Int) {
@@ -597,9 +700,24 @@
}
public func runRaceTest(
- trials: Int, threads: Int? = nil, invoking body: @escaping () -> ()
+ trials: Int,
+ timeoutInSeconds: Int? = nil,
+ threads: Int? = nil,
+ invoking body: @escaping () -> ()
) {
ClosureBasedRaceTest.thread = body
- runRaceTest(ClosureBasedRaceTest.self, trials: trials, threads: threads)
+ runRaceTest(ClosureBasedRaceTest.self, trials: trials,
+ timeoutInSeconds: timeoutInSeconds, threads: threads)
+}
+
+public func runRaceTest(
+ operations: Int,
+ timeoutInSeconds: Int? = nil,
+ threads: Int? = nil,
+ invoking body: @escaping () -> ()
+) {
+ ClosureBasedRaceTest.thread = body
+ runRaceTest(ClosureBasedRaceTest.self, operations: operations,
+ timeoutInSeconds: timeoutInSeconds, threads: threads)
}
diff --git a/stdlib/private/StdlibUnittest/StdlibUnittest.swift.gyb b/stdlib/private/StdlibUnittest/StdlibUnittest.swift.gyb
index aa2beeb..1052448 100644
--- a/stdlib/private/StdlibUnittest/StdlibUnittest.swift.gyb
+++ b/stdlib/private/StdlibUnittest/StdlibUnittest.swift.gyb
@@ -357,12 +357,12 @@
public func expect${Mutable}CollectionType<X : ${Mutable}Collection>(
_ x: X.Type
) where
- // FIXME(ABI)(compiler limitation): there should be no constraints in
+ // FIXME(ABI)#2 (Associated Types with where clauses): there should be no constraints in
// the 'where' clause, all of these should be required by the protocol.
X.SubSequence : Collection,
X.SubSequence.Iterator.Element == X.Iterator.Element,
X.SubSequence.Index == X.Index,
- // X.SubSequence.Indices == X.Indices, // FIXME: can't have this constraint now.
+ // X.SubSequence.Indices == X.Indices, // FIXME(ABI)#3 (Recursive Protocol Constraints): can't have this constraint now.
X.SubSequence.SubSequence == X.SubSequence,
X.Indices : Collection,
X.Indices.Iterator.Element == X.Index,
@@ -389,11 +389,11 @@
iteratorType: X.Iterator.Type,
subSequenceType: X.SubSequence.Type
) where
- // FIXME(ABI)(compiler limitation): there should be no constraints in
+ // FIXME(ABI)#4 (Associated Types with where clauses): there should be no constraints in
// the 'where' clause, all of these should be required by the protocol.
X.SubSequence : Sequence,
X.SubSequence.Iterator.Element == X.Iterator.Element,
- // X.SubSequence.Indices == X.Indices, // FIXME(ABI): can't have this constraint now.
+ // X.SubSequence.Indices == X.Indices, // FIXME(ABI)#5 (Recursive Protocol Constraints): can't have this constraint now.
X.SubSequence.SubSequence == X.SubSequence {}
/// Check that all associated types of a `Collection` are what we expect them
@@ -406,13 +406,13 @@
indexDistanceType: X.IndexDistance.Type,
indicesType: X.Indices.Type
) where
- // FIXME(ABI)(compiler limitation): there should be no constraints in
+ // FIXME(ABI)#6 (Associated Types with where clauses): there should be no constraints in
// the 'where' clause, all of these should be required by the protocol.
X._Element == X.Iterator.Element,
X.SubSequence : Collection,
X.SubSequence.Iterator.Element == X.Iterator.Element,
X.SubSequence.Index == X.Index,
- // X.SubSequence.Indices == X.Indices, // FIXME(ABI): can't have this constraint now.
+ // X.SubSequence.Indices == X.Indices, // FIXME(ABI)#7 (Recursive Protocol Constraints): can't have this constraint now.
X.SubSequence.SubSequence == X.SubSequence,
X.Indices : Collection,
X.Indices.Iterator.Element == X.Index,
@@ -429,13 +429,13 @@
indexDistanceType: X.IndexDistance.Type,
indicesType: X.Indices.Type
) where
- // FIXME(ABI)(compiler limitation): there should be no constraints in
+ // FIXME(ABI)#8 (Associated Types with where clauses): there should be no constraints in
// the 'where' clause, all of these should be required by the protocol.
X._Element == X.Iterator.Element,
X.SubSequence : BidirectionalCollection,
X.SubSequence.Iterator.Element == X.Iterator.Element,
X.SubSequence.Index == X.Index,
- // X.SubSequence.Indices == X.Indices, // FIXME(ABI): can't have this constraint now.
+ // X.SubSequence.Indices == X.Indices, // FIXME(ABI)#9 (Recursive Protocol Constraints): can't have this constraint now.
X.SubSequence.SubSequence == X.SubSequence,
X.Indices : BidirectionalCollection,
X.Indices.Iterator.Element == X.Index,
@@ -452,13 +452,13 @@
indexDistanceType: X.IndexDistance.Type,
indicesType: X.Indices.Type
) where
- // FIXME(ABI)(compiler limitation): there should be no constraints in
+ // FIXME(ABI)#10 (Associated Types with where clauses): there should be no constraints in
// the 'where' clause, all of these should be required by the protocol.
X._Element == X.Iterator.Element,
X.SubSequence : RandomAccessCollection,
X.SubSequence.Iterator.Element == X.Iterator.Element,
X.SubSequence.Index == X.Index,
- // X.SubSequence.Indices == X.Indices, // FIXME(ABI): can't have this constraint now.
+ // X.SubSequence.Indices == X.Indices, // FIXME(ABI)#11 (Recursive Protocol Constraints): can't have this constraint now.
X.SubSequence.SubSequence == X.SubSequence,
X.Indices : RandomAccessCollection,
X.Indices.Iterator.Element == X.Index,
@@ -1952,7 +1952,7 @@
${TRACE}
) where
Instances.Iterator.Element : Equatable,
- // FIXME(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#89 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
Instances.Indices.Iterator.Element == Instances.Index
{
@@ -2048,7 +2048,7 @@
${TRACE}
) where
Instances.Iterator.Element : Hashable,
- // FIXME(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#90 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
Instances.Indices.Iterator.Element == Instances.Index {
@@ -2143,7 +2143,7 @@
${TRACE}
) where
Instances.Iterator.Element : Comparable,
- // FIXME(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#91 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
Instances.Indices.Iterator.Element == Instances.Index {
@@ -2253,7 +2253,7 @@
) where
Instances.Iterator.Element : Strideable,
Instances.Iterator.Element.Stride == Strides.Iterator.Element,
- // FIXME(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#92 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
Instances.Indices.Iterator.Element == Instances.Index,
Strides.Indices.Iterator.Element == Strides.Index {
diff --git a/stdlib/private/SwiftPrivateLibcExtras/SwiftPrivateLibcExtras.swift b/stdlib/private/SwiftPrivateLibcExtras/SwiftPrivateLibcExtras.swift
index dd9056f..c8e7cdb 100644
--- a/stdlib/private/SwiftPrivateLibcExtras/SwiftPrivateLibcExtras.swift
+++ b/stdlib/private/SwiftPrivateLibcExtras/SwiftPrivateLibcExtras.swift
@@ -115,6 +115,17 @@
}
#endif
+
+/// Swift-y wrapper around pipe(2)
+public func _stdlib_pipe() -> (readEnd: CInt, writeEnd: CInt, error: CInt) {
+ var fds: [CInt] = [0, 0]
+ let ret = fds.withUnsafeMutableBufferPointer { unsafeFds -> CInt in
+ pipe(unsafeFds.baseAddress)
+ }
+ return (readEnd: fds[0], writeEnd: fds[1], error: ret)
+}
+
+
//
// Functions missing in `Darwin` module.
//
diff --git a/stdlib/public/SDK/Foundation/Foundation.swift b/stdlib/public/SDK/Foundation/Foundation.swift
index c51c8e2..75db8cd 100644
--- a/stdlib/public/SDK/Foundation/Foundation.swift
+++ b/stdlib/public/SDK/Foundation/Foundation.swift
@@ -1012,7 +1012,7 @@
length = x.count
}
- // FIXME(ABI)(compiler limitation): this API should be an extension on Range.
+ // FIXME(ABI)#75 (Conditional Conformance): this API should be an extension on Range.
// Can't express it now because the compiler does not support conditional
// extensions with type equality constraints.
public func toRange() -> Range<Int>? {
diff --git a/stdlib/public/core/Arrays.swift.gyb b/stdlib/public/core/Arrays.swift.gyb
index 543175a..d3d9aac 100644
--- a/stdlib/public/core/Arrays.swift.gyb
+++ b/stdlib/public/core/Arrays.swift.gyb
@@ -779,7 +779,7 @@
return Builtin.castToNativeObject(_buffer.owner)
}
- // FIXME(ABI): move to an initializer on _Buffer.
+ // FIXME(ABI)#12 : move to an initializer on _Buffer.
static internal func _copyBuffer(_ buffer: inout _Buffer) {
let newBuffer = _ContiguousArrayBuffer<Element>(
_uninitializedCount: buffer.count, minimumCapacity: buffer.count)
@@ -1306,7 +1306,7 @@
// An overload of `append(contentsOf:)` that uses the += that is optimized for
// collections.
- // FIXME(ABI): remove this entrypoint. The overload for `Sequence` should be
+ // FIXME(ABI)#13 (Performance): remove this entrypoint. The overload for `Sequence` should be
// made optimal for this case, too.
/// Adds the elements of a collection to the end of the array.
///
@@ -1666,7 +1666,7 @@
var newValues: C
}
-// FIXME(ABI): add argument labels.
+// FIXME(ABI)#14 : add argument labels.
@inline(never)
internal func _arrayOutOfPlaceReplace<B, C>(
_ source: inout B,
@@ -1694,7 +1694,7 @@
/// A _debugPrecondition check that `i` has exactly reached the end of
/// `s`. This test is never used to ensure memory safety; that is
/// always guaranteed by measuring `s` once and re-using that value.
-// FIXME(ABI): add argument labels.
+// FIXME(ABI)#15 : add argument labels.
internal func _expectEnd<C : Collection>(_ i: C.Index, _ s: C) {
_debugPrecondition(
i == s.endIndex,
@@ -1772,7 +1772,7 @@
}
}
-// FIXME(ABI): remove this entrypoint. The functionality should be provided by
+// FIXME(ABI)#16 : remove this entrypoint. The functionality should be provided by
// a `+=` operator on `RangeReplaceableCollection`.
/// Appends the elements of a sequence to ${a_Self}.
///
@@ -1796,7 +1796,7 @@
lhs.append(contentsOf: rhs)
}
-// FIXME(ABI): remove this entrypoint. The functionality should be provided by
+// FIXME(ABI)#17 : remove this entrypoint. The functionality should be provided by
// a `+=` operator on `RangeReplaceableCollection`.
/// Appends the elements of a collection to ${a_Self}.
///
diff --git a/stdlib/public/core/AssertCommon.swift b/stdlib/public/core/AssertCommon.swift
index 35679ba..1a05c6a 100644
--- a/stdlib/public/core/AssertCommon.swift
+++ b/stdlib/public/core/AssertCommon.swift
@@ -81,7 +81,7 @@
@inline(never)
@_semantics("stdlib_binary_only")
func _assertionFailed(
- // FIXME(ABI): add argument labels to conform to API guidelines.
+ // FIXME(ABI)#18 : add argument labels to conform to API guidelines.
_ prefix: StaticString, _ message: StaticString,
_ file: StaticString, _ line: UInt,
flags: UInt32
@@ -113,7 +113,7 @@
@inline(never)
@_semantics("stdlib_binary_only")
func _assertionFailed(
- // FIXME(ABI): add argument labels to conform to API guidelines.
+ // FIXME(ABI)#19 : add argument labels to conform to API guidelines.
_ prefix: StaticString, _ message: String,
_ file: StaticString, _ line: UInt,
flags: UInt32
@@ -146,7 +146,7 @@
@_semantics("stdlib_binary_only")
@_semantics("arc.programtermination_point")
func _fatalErrorMessage(
- // FIXME(ABI): add argument labels to conform to API guidelines.
+ // FIXME(ABI)#20 : add argument labels to conform to API guidelines.
_ prefix: StaticString, _ message: StaticString,
_ file: StaticString, _ line: UInt,
flags: UInt32
@@ -229,7 +229,7 @@
Builtin.int_trap()
}
-// FIXME(ABI): rename to something descriptive.
+// FIXME(ABI)#21 (Type Checker): rename to something descriptive.
public // COMPILER_INTRINSIC
func _undefined<T>(
_ message: @autoclosure () -> String = String(),
diff --git a/stdlib/public/core/BidirectionalCollection.swift b/stdlib/public/core/BidirectionalCollection.swift
index 0d99d47..53f3500 100644
--- a/stdlib/public/core/BidirectionalCollection.swift
+++ b/stdlib/public/core/BidirectionalCollection.swift
@@ -19,7 +19,7 @@
@available(*, deprecated, message: "it will be removed in Swift 4.0. Please use 'BidirectionalCollection' instead")
public typealias BidirectionalIndexable = _BidirectionalIndexable
public protocol _BidirectionalIndexable : _Indexable {
- // FIXME(ABI)(compiler limitation): there is no reason for this protocol
+ // FIXME(ABI)#22 (Recursive Protocol Constraints): there is no reason for this protocol
// to exist apart from missing compiler features that we emulate with it.
// rdar://problem/20531108
//
@@ -86,14 +86,20 @@
/// elements.
associatedtype SubSequence : _BidirectionalIndexable, Collection
= BidirectionalSlice<Self>
- // FIXME(compiler limitation):
+ // FIXME(ABI)#93 (Recursive Protocol Constraints):
+ // FIXME(ABI)#94 (Associated Types with where clauses):
+ // This is dependent on both recursive protocol constraints AND associated
+ // types with where clauses.
// associatedtype SubSequence : BidirectionalCollection
/// A type that can represent the indices that are valid for subscripting the
/// collection, in ascending order.
associatedtype Indices : _BidirectionalIndexable, Collection
= DefaultBidirectionalIndices<Self>
- // FIXME(compiler limitation):
+ // FIXME(ABI)#95 (Recursive Protocol Constraints):
+ // FIXME(ABI)#96 (Associated Types with where clauses):
+ // This is dependent on both recursive protocol constraints AND associated
+ // types with where clauses.
// associatedtype Indices : BidirectionalCollection
/// The indices that are valid for subscripting the collection, in ascending
diff --git a/stdlib/public/core/ClosedRange.swift b/stdlib/public/core/ClosedRange.swift
index c5dddee..e692cdb 100644
--- a/stdlib/public/core/ClosedRange.swift
+++ b/stdlib/public/core/ClosedRange.swift
@@ -22,7 +22,7 @@
case inRange(Bound)
}
-// FIXME(ABI)(compiler limitation): should be a nested type in
+// FIXME(ABI)#23 (Nesting types in generics): should be a nested type in
// `ClosedRange`.
/// A position in a `CountableClosedRange` instance.
public struct ClosedRangeIndex<Bound>
diff --git a/stdlib/public/core/Collection.swift b/stdlib/public/core/Collection.swift
index daeb5a0..86d3624 100644
--- a/stdlib/public/core/Collection.swift
+++ b/stdlib/public/core/Collection.swift
@@ -18,7 +18,7 @@
@available(*, deprecated, message: "it will be removed in Swift 4.0. Please use 'Collection' instead")
public typealias IndexableBase = _IndexableBase
public protocol _IndexableBase {
- // FIXME(ABI)(compiler limitation): there is no reason for this protocol
+ // FIXME(ABI)#24 (Recursive Protocol Constraints): there is no reason for this protocol
// to exist apart from missing compiler features that we emulate with it.
// rdar://problem/20531108
//
@@ -359,7 +359,8 @@
/// // Prints "20.0"
public struct IndexingIterator<
Elements : _IndexableBase
- // FIXME(compiler limitation):
+ // FIXME(ABI)#97 (Recursive Protocol Constraints):
+ // Should be written as:
// Elements : Collection
> : IteratorProtocol, Sequence {
@@ -560,7 +561,8 @@
/// protocol, but it is restated here with stricter constraints. In a
/// collection, the subsequence should also conform to `Collection`.
associatedtype SubSequence : _IndexableBase, Sequence = Slice<Self>
- // FIXME(compiler limitation):
+ // FIXME(ABI)#98 (Recursive Protocol Constraints):
+ // FIXME(ABI)#99 (Associated Types with where clauses):
// associatedtype SubSequence : Collection
// where
// Iterator.Element == SubSequence.Iterator.Element,
@@ -620,7 +622,8 @@
/// collection, in ascending order.
associatedtype Indices : _Indexable, Sequence = DefaultIndices<Self>
- // FIXME(compiler limitation):
+ // FIXME(ABI)#68 (Associated Types with where clauses):
+ // FIXME(ABI)#100 (Recursive Protocol Constraints):
// associatedtype Indices : Collection
// where
// Indices.Iterator.Element == Index,
diff --git a/stdlib/public/core/CommandLine.swift b/stdlib/public/core/CommandLine.swift
index 13ebf17..e0fef5a 100644
--- a/stdlib/public/core/CommandLine.swift
+++ b/stdlib/public/core/CommandLine.swift
@@ -48,7 +48,8 @@
= (0..<Int(argc)).map { String(cString: _unsafeArgv[$0]!) }
}
-// FIXME(ABI): Remove this and the entrypoints in SILGen.
+// FIXME(ABI)#25 : Remove this and the entrypoints in SILGen.
+// rdar://problem/19696522
@_transparent
public // COMPILER_INTRINSIC
func _stdlib_didEnterMain(
diff --git a/stdlib/public/core/ContiguousArrayBuffer.swift b/stdlib/public/core/ContiguousArrayBuffer.swift
index 1041287..f27d91ba 100644
--- a/stdlib/public/core/ContiguousArrayBuffer.swift
+++ b/stdlib/public/core/ContiguousArrayBuffer.swift
@@ -32,7 +32,7 @@
return try body(UnsafeBufferPointer(start: nil, count: 0))
}
- // FIXME(ABI): remove 'Void' arguments here and elsewhere in this file, they
+ // FIXME(ABI)#26 (Type Checker): remove 'Void' arguments here and elsewhere in this file, they
// are a workaround for an old compiler limitation.
override func _getNonVerbatimBridgedCount(_ dummy: Void) -> Int {
return 0
@@ -63,11 +63,12 @@
Builtin.addressof(&_swiftEmptyArrayStorage))
}
-// FIXME: This whole class is a workaround for
+// FIXME(ABI)#141 : This whole class is a workaround for
// <rdar://problem/18560464> Can't override generic method in generic
// subclass. If it weren't for that bug, we'd override
// _withVerbatimBridgedUnsafeBuffer directly in
// _ContiguousArrayStorage<Element>.
+// rdar://problem/19341002
class _ContiguousArrayStorage1 : _ContiguousArrayStorageBase {
#if _runtime(_ObjC)
/// If the `Element` is bridged verbatim, invoke `body` on an
diff --git a/stdlib/public/core/ExistentialCollection.swift.gyb b/stdlib/public/core/ExistentialCollection.swift.gyb
index 8d4b3d9..d142168 100644
--- a/stdlib/public/core/ExistentialCollection.swift.gyb
+++ b/stdlib/public/core/ExistentialCollection.swift.gyb
@@ -823,7 +823,7 @@
where
C.Iterator.Element == Element,
- // FIXME(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#101 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
C.SubSequence : ${SubProtocol},
C.SubSequence.Iterator.Element == Element,
diff --git a/stdlib/public/core/Filter.swift.gyb b/stdlib/public/core/Filter.swift.gyb
index 46cf7e0..de99723 100644
--- a/stdlib/public/core/Filter.swift.gyb
+++ b/stdlib/public/core/Filter.swift.gyb
@@ -157,7 +157,7 @@
}
}
-// FIXME(ABI)(compiler limitation): `LazyFilter*Collection` types should be
+// FIXME(ABI)#27 (Conditional Conformance): `LazyFilter*Collection` types should be
// collapsed into one `LazyFilterCollection` using conditional conformances.
// Maybe even combined with `LazyFilterSequence`.
// rdar://problem/17144340
@@ -268,7 +268,7 @@
return ${Slice}(base: self, bounds: bounds)
}
- // FIXME(ABI)(compiler limitation): we actually want to add:
+ // FIXME(ABI)#28 (Associated Types with where clauses): we actually want to add:
//
// typealias SubSequence = ${Self}<Base.SubSequence>
//
diff --git a/stdlib/public/core/FixedPoint.swift.gyb b/stdlib/public/core/FixedPoint.swift.gyb
index 0aa334f..ca2504b 100644
--- a/stdlib/public/core/FixedPoint.swift.gyb
+++ b/stdlib/public/core/FixedPoint.swift.gyb
@@ -89,13 +89,13 @@
}
extension SignedInteger {
- // FIXME(ABI): using Int as the return value is wrong.
+ // FIXME(ABI)#29 : using Int as the return value is wrong.
@_transparent
public func distance(to other: Self) -> Int {
return numericCast((numericCast(other) as IntMax) - numericCast(self))
}
- // FIXME(ABI): using Int as the return value is wrong.
+ // FIXME(ABI)#30 : using Int as the argument is wrong.
@_transparent
public func advanced(by n: Int) -> Self {
return numericCast((numericCast(self) as IntMax) + numericCast(n))
@@ -125,13 +125,13 @@
}
extension UnsignedInteger {
- // FIXME(ABI): using Int as the return value is wrong.
+ // FIXME(ABI)#31 : using Int as the return value is wrong.
@_transparent
public func distance(to other: Self) -> Int {
return numericCast((numericCast(other) as IntMax) - numericCast(self))
}
- // FIXME(ABI): using Int as the return value is wrong.
+ // FIXME(ABI)#32 : using Int as the return value is wrong.
@_transparent
public func advanced(by n: Int) -> Self {
return numericCast((numericCast(self) as IntMax) + numericCast(n))
diff --git a/stdlib/public/core/Hashable.swift b/stdlib/public/core/Hashable.swift
index dea00f5..ee0ca8e 100644
--- a/stdlib/public/core/Hashable.swift
+++ b/stdlib/public/core/Hashable.swift
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-// FIXME(ABI)(compiler limitation): This protocol exists to identify
+// FIXME(ABI)#33 (Generic subscripts): This protocol exists to identify
// hashable types. It is used for defining an imitation of a generic
// subscript on `Dictionary<AnyHashable, *>`.
public protocol _Hashable {
diff --git a/stdlib/public/core/HashedCollections.swift.gyb b/stdlib/public/core/HashedCollections.swift.gyb
index 6fadc67..d0bf575 100644
--- a/stdlib/public/core/HashedCollections.swift.gyb
+++ b/stdlib/public/core/HashedCollections.swift.gyb
@@ -262,6 +262,10 @@
//===--- Hacks and workarounds --------------------------------------------===//
+// FIXME(ABI)#158 (Performance)
+// There used to be a now-fixed optimizer bug that prevented using
+// UnsafePointer<Unmanaged<AnyObject>> in Dictionary implementation.
+// rdar://problem/16861508
/// Like `UnsafeMutablePointer<Unmanaged<AnyObject>>`, or `id
/// __unsafe_unretained *` in Objective-C ARC.
internal struct _UnmanagedAnyObjectArray {
@@ -4581,8 +4585,9 @@
${SubscriptingWithIndexDoc}
public struct ${Self}Index<${TypeParametersDecl}> :
Comparable {
- // FIXME(ABI)(compiler limitation): `DictionaryIndex` and `SetIndex` should
+ // FIXME(ABI)#34 (Nesting types in generics): `DictionaryIndex` and `SetIndex` should
// be nested types.
+ // rdar://problem/17002096
// Index for native storage is efficient. Index for bridged NS${Self} is
// not, because neither NSEnumerator nor fast enumeration support moving
diff --git a/stdlib/public/core/HashedCollectionsAnyHashableExtensions.swift.gyb b/stdlib/public/core/HashedCollectionsAnyHashableExtensions.swift.gyb
index 920fd25..406117e 100644
--- a/stdlib/public/core/HashedCollectionsAnyHashableExtensions.swift.gyb
+++ b/stdlib/public/core/HashedCollectionsAnyHashableExtensions.swift.gyb
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-// FIXME(ABI)(compiler limitation): This protocol exists to identify
+// FIXME(ABI)#35 (Concrete Same Type Requirements): This protocol exists to identify
// `AnyHashable` in conditional extensions. Replace this protocol
// with conditional extensions on `Set` and `Dictionary` "where Key ==
// AnyHashable".
@@ -24,7 +24,7 @@
// Convenience APIs for Set<AnyHashable>
//===----------------------------------------------------------------------===//
-// FIXME(ABI): remove these trampolines when extensions below can be
+// FIXME(ABI)#36 (Overload resolution): remove these trampolines when extensions below can be
// properly expressed in the language.
extension Set {
@inline(__always)
@@ -49,7 +49,7 @@
}
}
-// FIXME(ABI)(compiler limitation): replace with `where Element == AnyHashable`.
+// FIXME(ABI)#37 (Concrete Same Type Requirements): replace with `where Element == AnyHashable`.
extension Set where Element : _AnyHashableProtocol {
public mutating func insert<ConcreteElement : Hashable>(
_ newMember: ConcreteElement
@@ -82,7 +82,7 @@
// Convenience APIs for Dictionary<AnyHashable, *>
//===----------------------------------------------------------------------===//
-// FIXME(ABI): remove these trampolines when extensions below can be
+// FIXME(ABI)#38 (Overload resolution): remove these trampolines when extensions below can be
// properly expressed in the language.
extension Dictionary {
internal subscript(_concreteKey key: Key) -> Value? {
@@ -109,10 +109,10 @@
}
}
-// FIXME(ABI)(compiler limitation): replace with `where Element == AnyHashable`.
+// FIXME(ABI)#39 (Concrete Same Type Requirements): replace with `where Element == AnyHashable`.
extension Dictionary where Key : _AnyHashableProtocol {
public subscript(_ key: _Hashable) -> Value? {
- // FIXME(ABI)(compiler limitation): replace this API with a
+ // FIXME(ABI)#40 (Generic subscripts): replace this API with a
// generic subscript.
get {
return self[_concreteKey: key._toAnyHashable() as! Key]
diff --git a/stdlib/public/core/Hashing.swift b/stdlib/public/core/Hashing.swift
index 051b943..cf66ee8 100644
--- a/stdlib/public/core/Hashing.swift
+++ b/stdlib/public/core/Hashing.swift
@@ -25,7 +25,7 @@
public // @testable
struct _Hashing {
- // FIXME(ABI): make this an actual public API.
+ // FIXME(ABI)#41 : make this an actual public API.
public // SPI
static var secretKey: (UInt64, UInt64) {
get {
diff --git a/stdlib/public/core/Indices.swift.gyb b/stdlib/public/core/Indices.swift.gyb
index 0baa782..d329893 100644
--- a/stdlib/public/core/Indices.swift.gyb
+++ b/stdlib/public/core/Indices.swift.gyb
@@ -23,7 +23,7 @@
% Self = defaultIndicesForTraversal(Traversal)
% collection = documentationNameForTraversal(Traversal)
-// FIXME(ABI)(compiler limitation): There should be just one default
+// FIXME(ABI)#42 (Conditional Conformance): There should be just one default
// indices type that has conditional conformances to
// `BidirectionalCollection` and `RandomAccessCollection`.
// <rdar://problem/17144340>
@@ -31,7 +31,7 @@
/// A collection of indices for an arbitrary ${collection}.
public struct ${Self}<
Elements : _${collectionForTraversal(Traversal).replace('Collection', 'Indexable')}
- // FIXME(ABI)(compiler limitation):
+ // FIXME(ABI)#43 (Recursive Protocol Constraints):
// Elements : Collection
// rdar://problem/20531108
> : ${collectionForTraversal(Traversal)} {
diff --git a/stdlib/public/core/Integers.swift.gyb b/stdlib/public/core/Integers.swift.gyb
index 3c36735..4a92494 100644
--- a/stdlib/public/core/Integers.swift.gyb
+++ b/stdlib/public/core/Integers.swift.gyb
@@ -105,7 +105,7 @@
// FIXME(integers): implement
//init?<T : BinaryInteger>(exactly source: T)
- // FIXME(ABI): should be just Arithmetic
+ // FIXME(ABI)#44 (Recursive Protocol Constraints): should be just Arithmetic
associatedtype Magnitude : Equatable, ExpressibleByIntegerLiteral
var magnitude: Magnitude { get }
diff --git a/stdlib/public/core/Map.swift.gyb b/stdlib/public/core/Map.swift.gyb
index 124b6f3..d7e2bcf 100644
--- a/stdlib/public/core/Map.swift.gyb
+++ b/stdlib/public/core/Map.swift.gyb
@@ -78,7 +78,7 @@
//===--- Collections ------------------------------------------------------===//
-// FIXME(ABI)(compiler limitation): `LazyMap*Collection` types should be
+// FIXME(ABI)#45 (Conditional Conformance): `LazyMap*Collection` types should be
// collapsed into one `LazyMapCollection` using conditional conformances.
// Maybe even combined with `LazyMapSequence`.
// rdar://problem/17144340
@@ -127,7 +127,7 @@
return ${Slice}(base: self, bounds: bounds)
}
- // FIXME(ABI)(compiler limitation): we actually want to add:
+ // FIXME(ABI)#46 (Associated Types with where clauses): we actually want to add:
//
// typealias SubSequence = ${Self}<Base.SubSequence, Element>
//
diff --git a/stdlib/public/core/Mirror.swift b/stdlib/public/core/Mirror.swift
index af9a3a4..bed8ca1 100644
--- a/stdlib/public/core/Mirror.swift
+++ b/stdlib/public/core/Mirror.swift
@@ -215,7 +215,7 @@
ancestorRepresentation: AncestorRepresentation = .generated
) where
C.Iterator.Element == Child,
- // FIXME(ABI)(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#47 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
C.SubSequence : Collection,
C.SubSequence.Iterator.Element == Child,
@@ -276,7 +276,7 @@
displayStyle: DisplayStyle? = nil,
ancestorRepresentation: AncestorRepresentation = .generated
) where
- // FIXME(ABI)(compiler limitation): these constraints should be applied to
+ // FIXME(ABI)#48 (Associated Types with where clauses): these constraints should be applied to
// associated types of Collection.
C.SubSequence : Collection,
C.SubSequence.SubSequence == C.SubSequence,
@@ -385,7 +385,7 @@
///
/// Do not declare new conformances to this protocol; they will not
/// work as expected.
-// FIXME(ABI): this protocol should be "non-open" and you shouldn't be able to
+// FIXME(ABI)#49 (Sealed Protocols): this protocol should be "non-open" and you shouldn't be able to
// create conformances.
public protocol MirrorPath {}
extension IntMax : MirrorPath {}
@@ -715,8 +715,8 @@
}
-// A workaround for <rdar://problem/25971264>
-// FIXME(ABI)
+// A workaround for <rdar://problem/26182650>
+// FIXME(ABI)#50 (Dynamic Dispatch for Class Extensions) though not if it moves out of stdlib.
public protocol _DefaultCustomPlaygroundQuickLookable {
var _defaultCustomPlaygroundQuickLook: PlaygroundQuickLook { get }
}
diff --git a/stdlib/public/core/Misc.swift b/stdlib/public/core/Misc.swift
index ec29f15..e7ffd2d 100644
--- a/stdlib/public/core/Misc.swift
+++ b/stdlib/public/core/Misc.swift
@@ -67,9 +67,11 @@
return (bodyResult, stringResult)
}
-// FIXME(ABI): this API should allow controlling different kinds of
+// FIXME(ABI)#51 : this API should allow controlling different kinds of
// qualification separately: qualification with module names and qualification
// with type names that we are nested in.
+// But we can place it behind #if _runtime(_Native) and remove it from ABI on
+// Apple platforms, deferring discussions mentioned above.
@_silgen_name("swift_getTypeName")
public func _getTypeName(_ type: Any.Type, qualified: Bool)
-> (UnsafePointer<UInt8>, Int)
diff --git a/stdlib/public/core/MutableCollection.swift b/stdlib/public/core/MutableCollection.swift
index 4e34dad..382971d 100644
--- a/stdlib/public/core/MutableCollection.swift
+++ b/stdlib/public/core/MutableCollection.swift
@@ -18,7 +18,7 @@
@available(*, deprecated, message: "it will be removed in Swift 4.0. Please use 'MutableCollection' instead")
public typealias MutableIndexable = _MutableIndexable
public protocol _MutableIndexable : _Indexable {
- // FIXME(ABI)(compiler limitation): there is no reason for this protocol
+ // FIXME(ABI)#52 (Recursive Protocol Constraints): there is no reason for this protocol
// to exist apart from missing compiler features that we emulate with it.
// rdar://problem/20531108
//
@@ -323,7 +323,7 @@
mutating func _withUnsafeMutableBufferPointerIfSupported<R>(
_ body: (UnsafeMutablePointer<Iterator.Element>, Int) throws -> R
) rethrows -> R?
- // FIXME(ABI)(compiler limitation): the signature should use
+ // FIXME(ABI)#53 (Type Checker): the signature should use
// UnsafeMutableBufferPointer, but the compiler can't handle that.
//
// <rdar://problem/21933004> Restore the signature of
diff --git a/stdlib/public/core/RandomAccessCollection.swift b/stdlib/public/core/RandomAccessCollection.swift
index fe21430..b03fd8c 100644
--- a/stdlib/public/core/RandomAccessCollection.swift
+++ b/stdlib/public/core/RandomAccessCollection.swift
@@ -18,7 +18,7 @@
@available(*, deprecated, message: "it will be removed in Swift 4.0. Please use 'RandomAccessCollection' instead")
public typealias RandomAccessIndexable = _RandomAccessIndexable
public protocol _RandomAccessIndexable : _BidirectionalIndexable {
- // FIXME(ABI)(compiler limitation): there is no reason for this protocol
+ // FIXME(ABI)#54 (Recursive Protocol Constraints): there is no reason for this protocol
// to exist apart from missing compiler features that we emulate with it.
// rdar://problem/20531108
//
@@ -53,14 +53,14 @@
/// elements.
associatedtype SubSequence : _RandomAccessIndexable, BidirectionalCollection
= RandomAccessSlice<Self>
- // FIXME(compiler limitation):
+ // FIXME(ABI)#102 (Recursive Protocol Constraints):
// associatedtype SubSequence : RandomAccessCollection
/// A type that can represent the indices that are valid for subscripting the
/// collection, in ascending order.
associatedtype Indices : _RandomAccessIndexable, BidirectionalCollection
= DefaultRandomAccessIndices<Self>
- // FIXME(compiler limitation):
+ // FIXME(ABI)#103 (Recursive Protocol Constraints):
// associatedtype Indices : RandomAccessCollection
/// The indices that are valid for subscripting the collection, in ascending
diff --git a/stdlib/public/core/Range.swift.gyb b/stdlib/public/core/Range.swift.gyb
index dfd702c..201948d 100644
--- a/stdlib/public/core/Range.swift.gyb
+++ b/stdlib/public/core/Range.swift.gyb
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-// FIXME(ABI)(compiler limitation): remove this type, it creates an ABI burden
+// FIXME(ABI)#55 (Statically Unavailable/Dynamically Available): remove this type, it creates an ABI burden
// on the library.
//
// A dummy type that we can use when we /don't/ want to create an
@@ -200,7 +200,7 @@
// such as x = r[0], which will trap unless 0 happens to be contained in the
// range r.
//
-// FIXME(ABI)(compiler limitation): remove this code, it creates an ABI burden
+// FIXME(ABI)#56 (Statically Unavailable/Dynamically Available): remove this code, it creates an ABI burden
// on the library.
extension CountableRange {
/// Accesses the element at specified position.
@@ -533,7 +533,7 @@
% ('Range', 'CountableRange'),
% ('ClosedRange', 'CountableClosedRange'),
% ]:
-// FIXME(ABI)(compiler limitation): replace this extension with a conditional
+// FIXME(ABI)#57 (Conditional Conformance): replace this extension with a conditional
// conformance.
// rdar://problem/17144340
/// Ranges whose `Bound` is `Strideable` with `Integer` `Stride` have all
diff --git a/stdlib/public/core/RangeReplaceableCollection.swift.gyb b/stdlib/public/core/RangeReplaceableCollection.swift.gyb
index d3c3225..0b19c83 100644
--- a/stdlib/public/core/RangeReplaceableCollection.swift.gyb
+++ b/stdlib/public/core/RangeReplaceableCollection.swift.gyb
@@ -25,7 +25,7 @@
@available(*, deprecated, message: "it will be removed in Swift 4.0. Please use 'RandomAccessCollection' instead")
public typealias RangeReplaceableIndexable = _RangeReplaceableIndexable
public protocol _RangeReplaceableIndexable : _Indexable {
- // FIXME(ABI)(compiler limitation): there is no reason for this protocol
+ // FIXME(ABI)#58 (Recursive Protocol Constraints): there is no reason for this protocol
// to exist apart from missing compiler features that we emulate with it.
// rdar://problem/20531108
//
diff --git a/stdlib/public/core/Reverse.swift b/stdlib/public/core/Reverse.swift
index b55d55d..cc38148 100644
--- a/stdlib/public/core/Reverse.swift
+++ b/stdlib/public/core/Reverse.swift
@@ -34,7 +34,7 @@
}
}
-// FIXME(ABI)(compiler limitation): we should have just one type,
+// FIXME(ABI)#59 (Conditional Conformance): we should have just one type,
// `ReversedCollection`, that has conditional conformances to
// `RandomAccessCollection`, and possibly `MutableCollection` and
// `RangeReplaceableCollection`.
diff --git a/stdlib/public/core/Runtime.swift.gyb b/stdlib/public/core/Runtime.swift.gyb
index e2ca824..60f062e 100644
--- a/stdlib/public/core/Runtime.swift.gyb
+++ b/stdlib/public/core/Runtime.swift.gyb
@@ -495,13 +495,13 @@
@objc @_swift_native_objc_runtime_base(_SwiftNativeNSEnumeratorBase)
class _SwiftNativeNSEnumerator {}
-// FIXME(ABI): move into the Foundation overlay and remove 'open'
+// FIXME(ABI)#60 : move into the Foundation overlay and remove 'open'
@objc @_swift_native_objc_runtime_base(_SwiftNativeNSDataBase)
open class _SwiftNativeNSData {
public init() {}
}
-// FIXME(ABI): move into the Foundation overlay and remove 'open'
+// FIXME(ABI)#61 : move into the Foundation overlay and remove 'open'
@objc @_swift_native_objc_runtime_base(_SwiftNativeNSCharacterSetBase)
open class _SwiftNativeNSCharacterSet {
public init() {}
diff --git a/stdlib/public/core/Sequence.swift b/stdlib/public/core/Sequence.swift
index a213348..1bb9db2 100644
--- a/stdlib/public/core/Sequence.swift
+++ b/stdlib/public/core/Sequence.swift
@@ -334,7 +334,8 @@
/// A type that represents a subsequence of some of the sequence's elements.
associatedtype SubSequence
- // FIXME(compiler limitation):
+ // FIXME(ABI)#104 (Recursive Protocol Constraints):
+ // FIXME(ABI)#105 (Associated Types with where clauses):
// associatedtype SubSequence : Sequence
// where
// Iterator.Element == SubSequence.Iterator.Element,
diff --git a/stdlib/public/core/SipHash.swift.gyb b/stdlib/public/core/SipHash.swift.gyb
index 5134d45..4f92b5a 100644
--- a/stdlib/public/core/SipHash.swift.gyb
+++ b/stdlib/public/core/SipHash.swift.gyb
@@ -106,13 +106,13 @@
v0 ^= key.0
}
- // FIXME(ABI): Use UnsafeRawBufferPointer.
+ // FIXME(ABI)#62 (UnsafeRawBufferPointer): Use UnsafeRawBufferPointer.
public // @testable
mutating func append(_ data: UnsafeRawPointer, byteCount: Int) {
_append_alwaysInline(data, byteCount: byteCount)
}
- // FIXME(ABI): Use UnsafeRawBufferPointer.
+ // FIXME(ABI)#63 (UnsafeRawBufferPointer): Use UnsafeRawBufferPointer.
@inline(__always)
internal mutating func _append_alwaysInline(
_ data: UnsafeRawPointer,
@@ -224,7 +224,7 @@
#endif
}
- // FIXME(ABI): Use UnsafeRawBufferPointer.
+ // FIXME(ABI)#64 (UnsafeRawBufferPointer): Use UnsafeRawBufferPointer.
public // @testable
static func hash(
data: UnsafeRawPointer,
@@ -237,7 +237,7 @@
key: key)
}
- // FIXME(ABI): Use UnsafeRawBufferPointer.
+ // FIXME(ABI)#65 (UnsafeRawBufferPointer): Use UnsafeRawBufferPointer.
@inline(__always)
public // @testable
static func _hash_alwaysInline(
diff --git a/stdlib/public/core/Slice.swift.gyb b/stdlib/public/core/Slice.swift.gyb
index ee54592..9041b1e 100644
--- a/stdlib/public/core/Slice.swift.gyb
+++ b/stdlib/public/core/Slice.swift.gyb
@@ -86,11 +86,11 @@
""" % {"SliceType": Self}
}%
-// FIXME(ABI)(compiler limitation): There should be just one slice type
+// FIXME(ABI)#66 (Conditional Conformance): There should be just one slice type
// that has conditional conformances to `BidirectionalCollection`,
// `RandomAccessCollection`, `RangeReplaceableCollection`, and
// `MutableCollection`.
-// rdar://problem/17144340
+// rdar://problem/21935030
% for Traversal in TRAVERSALS:
% for Mutable in [ False, True ]:
@@ -161,7 +161,7 @@
% end
}
- // FIXME(ABI)(compiler limitation):
+ // FIXME(ABI)#67 (Associated Types with where clauses):
//
// public typealias Indices = Base.Indices
// public var indices: Indices { ... }
diff --git a/stdlib/public/core/Stride.swift.gyb b/stdlib/public/core/Stride.swift.gyb
index d850f42..fb65494 100644
--- a/stdlib/public/core/Stride.swift.gyb
+++ b/stdlib/public/core/Stride.swift.gyb
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-// FIXME(ABI)(compiler limitation): Remove `_Strideable`.
+// FIXME(ABI)#69 (Overload Resolution): Remove `_Strideable`.
// WORKAROUND rdar://25214598 - should be:
// protocol Strideable : Comparable {...}
diff --git a/stdlib/public/core/StringCharacterView.swift b/stdlib/public/core/StringCharacterView.swift
index 1ba40c5..3ff3c9e 100644
--- a/stdlib/public/core/StringCharacterView.swift
+++ b/stdlib/public/core/StringCharacterView.swift
@@ -15,7 +15,7 @@
//
//===----------------------------------------------------------------------===//
-// FIXME(ABI): The character string view should have a custom iterator type to
+// FIXME(ABI)#70 : The character string view should have a custom iterator type to
// allow performance optimizations of linear traversals.
extension String {
@@ -236,12 +236,12 @@
)
}
- // FIXME(ABI): don't make this function inlineable. Grapheme cluster
+ // NOTE: don't make this function inlineable. Grapheme cluster
// segmentation uses a completely different algorithm in Unicode 9.0.
//
/// Returns the length of the first extended grapheme cluster in UTF-16
/// code units.
- @inline(never)
+ @inline(never) // Don't remove, see above.
internal func _measureExtendedGraphemeClusterForward(
from start: UnicodeScalarView.Index
) -> Int {
@@ -279,12 +279,12 @@
return start._position - startIndexUTF16
}
- // FIXME(ABI): don't make this function inlineable. Grapheme cluster
+ // NOTE: don't make this function inlineable. Grapheme cluster
// segmentation uses a completely different algorithm in Unicode 9.0.
//
/// Returns the length of the previous extended grapheme cluster in UTF-16
/// code units.
- @inline(never)
+ @inline(never) // Don't remove, see above.
internal func _measureExtendedGraphemeClusterBackward(
from end: UnicodeScalarView.Index
) -> Int {
diff --git a/stdlib/public/core/StringUTF16.swift b/stdlib/public/core/StringUTF16.swift
index 264d976..8e2e8a0 100644
--- a/stdlib/public/core/StringUTF16.swift
+++ b/stdlib/public/core/StringUTF16.swift
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-// FIXME(ABI): The UTF-16 string view should have a custom iterator type to
+// FIXME(ABI)#71 : The UTF-16 string view should have a custom iterator type to
// allow performance optimizations of linear traversals.
extension String {
diff --git a/stdlib/public/core/StringUTF8.swift b/stdlib/public/core/StringUTF8.swift
index 32ee89f..c4e332b 100644
--- a/stdlib/public/core/StringUTF8.swift
+++ b/stdlib/public/core/StringUTF8.swift
@@ -16,10 +16,10 @@
//
//===----------------------------------------------------------------------===//
-// FIXME(ABI): The UTF-8 string view should conform to
+// FIXME(ABI)#72 : The UTF-8 string view should conform to
// `BidirectionalCollection`.
-// FIXME(ABI): The UTF-8 string view should have a custom iterator type to
+// FIXME(ABI)#73 : The UTF-8 string view should have a custom iterator type to
// allow performance optimizations of linear traversals.
extension _StringCore {
diff --git a/stdlib/public/core/StringUnicodeScalarView.swift b/stdlib/public/core/StringUnicodeScalarView.swift
index 58fe63e..f0b9a88 100644
--- a/stdlib/public/core/StringUnicodeScalarView.swift
+++ b/stdlib/public/core/StringUnicodeScalarView.swift
@@ -577,7 +577,7 @@
}
extension String.UnicodeScalarView {
- // FIXME(ABI): don't make this function inlineable. Grapheme cluster
+ // NOTE: Don't make this function inlineable. Grapheme cluster
// segmentation uses a completely different algorithm in Unicode 9.0.
internal func _isOnGraphemeClusterBoundary(_ i: Index) -> Bool {
if i == startIndex || i == endIndex {
diff --git a/stdlib/public/core/UnicodeTrie.swift.gyb b/stdlib/public/core/UnicodeTrie.swift.gyb
index 74832d1..fe7b2aa 100644
--- a/stdlib/public/core/UnicodeTrie.swift.gyb
+++ b/stdlib/public/core/UnicodeTrie.swift.gyb
@@ -206,7 +206,7 @@
}
}
-// FIXME(ABI): don't mark this type versioned, or any of its APIs inlineable.
+// FIXME(ABI)#74 : don't mark this type versioned, or any of its APIs inlineable.
// Grapheme cluster segmentation uses a completely different algorithm in
// Unicode 9.0.
internal struct _UnicodeExtendedGraphemeClusterSegmenter {
diff --git a/stdlib/public/runtime/SwiftValue.mm b/stdlib/public/runtime/SwiftValue.mm
index 64884e2..039573f 100644
--- a/stdlib/public/runtime/SwiftValue.mm
+++ b/stdlib/public/runtime/SwiftValue.mm
@@ -305,7 +305,7 @@
}
if (![other isKindOfClass:getSwiftValueClass()]) {
- return self == other;
+ return NO;
}
auto selfHeader = getSwiftValueHeader(self);
@@ -314,12 +314,12 @@
auto hashableBaseType = selfHeader->getHashableBaseType();
if (!hashableBaseType ||
otherHeader->getHashableBaseType() != hashableBaseType) {
- return self == other;
+ return NO;
}
auto hashableConformance = selfHeader->getHashableConformance();
if (!hashableConformance) {
- return self == other;
+ return NO;
}
return swift_stdlib_Hashable_isEqual_indirect(
diff --git a/stdlib/public/stubs/GlobalObjects.cpp b/stdlib/public/stubs/GlobalObjects.cpp
index bc833ba..1670596 100644
--- a/stdlib/public/stubs/GlobalObjects.cpp
+++ b/stdlib/public/stubs/GlobalObjects.cpp
@@ -22,7 +22,7 @@
#include <stdlib.h>
namespace swift {
-// FIXME(ABI): does this declaration need SWIFT_RUNTIME_STDLIB_INTERFACE?
+// FIXME(ABI)#76 : does this declaration need SWIFT_RUNTIME_STDLIB_INTERFACE?
// _direct type metadata for Swift._EmptyArrayStorage
SWIFT_RUNTIME_STDLIB_INTERFACE
extern "C" ClassMetadata _TMCs18_EmptyArrayStorage;
diff --git a/test/ClangModules/objc_final_dynamic.swift b/test/ClangModules/objc_final_dynamic.swift
new file mode 100644
index 0000000..ec92846
--- /dev/null
+++ b/test/ClangModules/objc_final_dynamic.swift
@@ -0,0 +1,17 @@
+// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -emit-sil -I %S/Inputs/custom-modules %s
+
+// REQUIRES: objc_interop
+
+import Foundation
+
+// Note: make sure we don't get a bogus error from nowhere,
+// error: a declaration cannot be both 'final' and 'dynamic'
+extension NSObject {
+ public static let staticIntProperty: Int = 17
+}
+
+final class MyClass : NSObject { }
+
+extension MyClass {
+ public static var otherStaticIntProperty: Int = 17
+}
diff --git a/test/Constraints/diagnostics.swift b/test/Constraints/diagnostics.swift
index fc0f463..25079d7 100644
--- a/test/Constraints/diagnostics.swift
+++ b/test/Constraints/diagnostics.swift
@@ -780,3 +780,18 @@
try rdar27891805(contentsOfURL: nil, usedEncoding: nil)
// expected-error@-1 {{argument labels '(contentsOfURL:, usedEncoding:)' do not match any available overloads}}
// expected-note@-2 {{overloads for 'rdar27891805' exist with these partially matching parameter lists: (contentsOf: String, encoding: String), (contentsOf: String, usedEncoding: inout String)}}
+
+// Make sure RawRepresentable fix-its don't crash in the presence of type variables
+class NSCache<K, V> {
+ func object(forKey: K) -> V? {}
+}
+
+class CacheValue {
+ func value(x: Int) -> Int {} // expected-note {{found this candidate}}
+ func value(y: String) -> String {} // expected-note {{found this candidate}}
+}
+
+func valueForKey<K>(_ key: K) -> CacheValue? {
+ let cache = NSCache<K, CacheValue>()
+ return cache.object(forKey: key)?.value // expected-error {{ambiguous reference to member 'value(x:)'}}
+}
diff --git a/test/Demangle/Inputs/manglings.txt b/test/Demangle/Inputs/manglings.txt
index d43903b..e7b07ad 100644
--- a/test/Demangle/Inputs/manglings.txt
+++ b/test/Demangle/Inputs/manglings.txt
@@ -222,4 +222,5 @@
_TFVV15nested_generics5Lunch6DinnerCfT11firstCoursex12secondCourseGSqqd___9leftoversx14transformationFxqd___GS1_x_qd___ ---> nested_generics.Lunch.Dinner.init (firstCourse : A, secondCourse : A1?, leftovers : A, transformation : (A) -> A1) -> nested_generics.Lunch<A>.Dinner<A1>
_TFVFC15nested_generics7HotDogs11applyRelishFT_T_L_6RelishCfT8materialx_GS1_x_ ---> nested_generics.HotDogs.(applyRelish () -> ()).(Relish #1).init (material : A) -> nested_generics.HotDogs.(applyRelish () -> ()).(Relish #1)<A>
_TFVFE15nested_genericsSS3fooFT_T_L_6CheeseCfT8materialx_GS0_x_ ---> (extension in nested_generics):Swift.String.(foo () -> ()).(Cheese #1).init (material : A) -> (extension in nested_generics):Swift.String.(foo () -> ()).(Cheese #1)<A>
+_TTWOE5imojiCSo5Imoji14ImojiMatchRankS_9RankValueS_FS2_g9rankValueqq_Ss16RawRepresentable8RawValue ---> _TTWOE5imojiCSo5Imoji14ImojiMatchRankS_9RankValueS_FS2_g9rankValueqq_Ss16RawRepresentable8RawValue
diff --git a/test/IRGen/partial_apply_forwarder.sil b/test/IRGen/partial_apply_forwarder.sil
index 1090f49..21d74a0 100644
--- a/test/IRGen/partial_apply_forwarder.sil
+++ b/test/IRGen/partial_apply_forwarder.sil
@@ -6,6 +6,22 @@
public class D<T : P> {}
class E {}
+public protocol Observable {
+ associatedtype Result
+ func subscribe<T: Observer>(o: T) -> ()
+}
+
+public protocol Observer {
+ associatedtype Result
+}
+
+sil hidden @witness_method : $@convention(thin) <S where S : Observable><O where O : Observer, S.Result == O.Result> (@in S) -> @owned @callee_owned (@in O) -> () {
+bb0(%0 : $*S):
+ %1 = witness_method $S, #Observable.subscribe!1 : $@convention(witness_method) <τ_0_0 where τ_0_0 : Observable><τ_1_0 where τ_1_0 : Observer, τ_0_0.Result == τ_1_0.Result> (@in τ_1_0, @in_guaranteed τ_0_0) -> ()
+ %2 = partial_apply %1<S, O, S.Result>(%0) : $@convention(witness_method) <τ_0_0 where τ_0_0 : Observable><τ_1_0 where τ_1_0 : Observer, τ_0_0.Result == τ_1_0.Result> (@in τ_1_0, @in_guaranteed τ_0_0) -> ()
+ return %2 : $@callee_owned (@in O) -> ()
+}
+
// CHECK-LABEL: define internal %GC23partial_apply_forwarder1DCS_1C_* @_TPA_unspecialized_uncurried(%swift.refcounted*
// CHECK: [[TYPE:%.*]] = call %swift.type* @_TMaC23partial_apply_forwarder1C()
// CHECK: [[CAST:%.*]] = bitcast %swift.refcounted* %0 to %C23partial_apply_forwarder1E*
diff --git a/test/Misc/serialized-diagnostics.swift b/test/Misc/serialized-diagnostics.swift
index 9145efd..b30f4df 100644
--- a/test/Misc/serialized-diagnostics.swift
+++ b/test/Misc/serialized-diagnostics.swift
@@ -6,7 +6,7 @@
// RUN: %FileCheck --input-file=%t.deserialized_diagnostics.txt %s
// Test swift_driver integrated frontend
-// RUN: %target-swift-frontend -parse -serialize-diagnostics -serialize-diagnostics-path %t.integrated_frontend.dia %s -verify
+// RUN: %target-swift-frontend -parse -serialize-diagnostics-path %t.integrated_frontend.dia %s -verify
// RUN: c-index-test -read-diagnostics %t.integrated_frontend.dia > %t.integrated_frontend.deserialized_diagnostics.txt 2>&1
// RUN: %FileCheck --input-file=%t.integrated_frontend.deserialized_diagnostics.txt %s
diff --git a/test/SILOptimizer/abcopts.sil b/test/SILOptimizer/abcopts.sil
index 144a18d..0b8d84b 100644
--- a/test/SILOptimizer/abcopts.sil
+++ b/test/SILOptimizer/abcopts.sil
@@ -1176,3 +1176,50 @@
%28 = builtin "cmp_eq_Int64"(%23 : $Builtin.Int64, %0 : $Builtin.Int64) : $Builtin.Int1
cond_br %28, bb2, bb3(%23 : $Builtin.Int64)
}
+
+// Don't assert when we have an isNativeTypeChecked parameter that is not a
+// constant or an array semantic call. It is valid for it to be a phi node.
+sil @bb_arg_is_native2 : $@convention(thin) (Int32, @inout ArrayInt, Builtin.Int1) -> Int32 {
+bb0(%0 : $Int32, %1 : $*ArrayInt, %2 : $Builtin.Int1):
+ cond_br %2, bb1, bb2
+
+bb1:
+ %4 = integer_literal $Builtin.Int1, -1
+ %5 = struct $Bool (%4 : $Builtin.Int1)
+ br bb3(%5 : $Bool)
+
+bb2:
+ %7 = integer_literal $Builtin.Int1, -1
+ %8 = struct $Bool (%7 : $Builtin.Int1)
+ br bb3(%8 : $Bool)
+
+bb3(%10 : $Bool):
+ %11 = struct_extract %0 : $Int32, #Int32._value
+ %12 = integer_literal $Builtin.Int32, 0
+ %13 = builtin "cmp_eq_Int32"(%12 : $Builtin.Int32, %11 : $Builtin.Int32) : $Builtin.Int1
+ cond_br %13, bb6(%12 : $Builtin.Int32), bb4
+
+bb4:
+ br bb5(%12 : $Builtin.Int32)
+
+bb5(%16 : $Builtin.Int32):
+ %17 = struct $Int32 (%16 : $Builtin.Int32)
+ %18 = function_ref @checkbounds : $@convention(method) (Int32, Bool, @owned ArrayInt) -> _DependenceToken
+ %19 = load %1 : $*ArrayInt
+ %20 = struct_extract %19 : $ArrayInt, #ArrayInt.buffer
+ %21 = struct_extract %20 : $ArrayIntBuffer, #ArrayIntBuffer.storage
+ retain_value %21 : $Builtin.NativeObject
+ %23 = apply %18(%17, %10, %19) : $@convention(method) (Int32, Bool, @owned ArrayInt) -> _DependenceToken
+ %24 = integer_literal $Builtin.Int32, 1
+ %25 = integer_literal $Builtin.Int1, -1
+ %26 = builtin "sadd_with_overflow_Int32"(%16 : $Builtin.Int32, %24 : $Builtin.Int32, %25 : $Builtin.Int1) : $(Builtin.Int32, Builtin.Int1)
+ %27 = tuple_extract %26 : $(Builtin.Int32, Builtin.Int1), 0
+ %28 = tuple_extract %26 : $(Builtin.Int32, Builtin.Int1), 1
+ cond_fail %28 : $Builtin.Int1
+ %30 = builtin "cmp_eq_Int32"(%27 : $Builtin.Int32, %11 : $Builtin.Int32) : $Builtin.Int1
+ cond_br %30, bb6(%27 : $Builtin.Int32), bb5(%27 : $Builtin.Int32)
+
+bb6(%32 : $Builtin.Int32):
+ %33 = struct $Int32 (%32 : $Builtin.Int32)
+ return %33 : $Int32
+}
diff --git a/test/SILOptimizer/escape_analysis.sil b/test/SILOptimizer/escape_analysis.sil
index baf9ad8..06897cc 100644
--- a/test/SILOptimizer/escape_analysis.sil
+++ b/test/SILOptimizer/escape_analysis.sil
@@ -14,6 +14,7 @@
class X : ClassP {
func foo()
+ deinit
}
class Derived : X {
@@ -25,6 +26,12 @@
init(newx: X)
}
+class Z {
+ @sil_stored var x: X
+ init(newx: X)
+ deinit
+}
+
protocol P {
func foo()
}
@@ -1310,3 +1317,151 @@
%7 = tuple()
return %7 : $()
}
+
+// CHECK-LABEL: CG of check_dealloc_ref
+// CHECK-NEXT: Arg %0 Esc: A, Succ:
+// CHECK-NEXT: End
+sil @check_dealloc_ref : $@convention(thin) (@owned X) -> () {
+bb0(%0 : $X):
+ dealloc_ref %0 : $X
+ %1 = tuple ()
+ return %1 : $()
+}
+
+// CHECK-LABEL: CG of check_set_deallocating
+// CHECK-NEXT: Arg %0 Esc: A, Succ:
+// CHECK-NEXT: End
+sil @check_set_deallocating : $@convention(thin) (@owned X) -> () {
+bb0(%0 : $X):
+ set_deallocating %0 : $X
+ %1 = tuple ()
+ return %1 : $()
+}
+
+// Escape analysis should analyze the implcit destructor call which may
+// happen due to strong_release and figure out that the object will not
+// globally escape.
+// CHECK-LABEL: CG of check_non_escaping_implicit_destructor_invocation_via_strong_release
+// CHECK-NEXT: Val %0 Esc: %1, Succ:
+// CHECK-NEXT: End
+sil @check_non_escaping_implicit_destructor_invocation_via_strong_release : $@convention(thin) () -> () {
+bb0:
+ %0 = alloc_ref [stack] $X
+ strong_release %0 : $X
+ dealloc_ref [stack] %0 : $X
+ %3 = tuple ()
+ return %3 : $()
+}
+
+// Escape analysis should analyze the implcit destructor call which may
+// happen due to strong_release and figure out that the object will not
+// globally escape.
+// CHECK-LABEL: CG of check_non_escaping_implicit_destructor_invocation_via_release_value
+// CHECK-NEXT: Val %0 Esc: %1, Succ:
+// CHECK-NEXT: End
+sil @check_non_escaping_implicit_destructor_invocation_via_release_value : $@convention(thin) () -> () {
+bb0:
+ %0 = alloc_ref [stack] $X
+ release_value %0 : $X
+ dealloc_ref [stack] %0 : $X
+ %3 = tuple ()
+ return %3 : $()
+}
+
+// Escape analysis should analyze the implcit destructor call which may
+// happen due to strong_release and figure out that the object will
+// globally escape.
+// CHECK-LABEL: CG of check_escaping_implicit_destructor_invocation_via_strong_release
+// CHECK-NEXT: Val %0 Esc: %1, Succ: (%0.1)
+// CHECK-NEXT: Con %0.1 Esc: %1, Succ: (%0.2)
+// CHECK-NEXT: Con %0.2 Esc: G, Succ:
+// CHECK-NEXT: End
+sil @check_escaping_implicit_destructor_invocation_via_strong_release : $@convention(thin) () -> () {
+bb0:
+ %0 = alloc_ref [stack] $Z
+ strong_release %0 : $Z
+ dealloc_ref [stack] %0 : $Z
+ %3 = tuple ()
+ return %3 : $()
+}
+
+// Escape analysis should analyze the implcit destructor call which may
+// happen due to strong_release and figure out that the object will
+// globally escape.
+// CHECK-LABEL: CG of check_escaping_implicit_destructor_invocation_via_release_value
+// CHECK-NEXT: Val %0 Esc: %1, Succ: (%0.1)
+// CHECK-NEXT: Con %0.1 Esc: %1, Succ: (%0.2)
+// CHECK-NEXT: Con %0.2 Esc: G, Succ:
+// CHECK-NEXT: End
+sil @check_escaping_implicit_destructor_invocation_via_release_value : $@convention(thin) () -> () {
+bb0:
+ %0 = alloc_ref [stack] $Z
+ release_value %0 : $Z
+ dealloc_ref [stack] %0 : $Z
+ %3 = tuple ()
+ return %3 : $()
+}
+
+
+// Check that escape analysis can look through bb arguments and figure
+// out that all objects are local. By analyzing a destructor implicitly
+// invoked by strong_release it would also determine that these objects
+// do not escape from the function.
+// CHECK-LABEL: CG of check_is_local_object_through_bb_args
+// CHECK-LABEL: Val %2 Esc: %6,%7, Succ:
+// CHECK-LABEL: Val %4 Esc: %6,%7, Succ:
+// CHECK-LABEL: Val %6 Esc: %6,%7, Succ: %2, %4
+// CHECK-LABEL: End
+sil @check_is_local_object_through_bb_args: $@convention(thin) (Builtin.Int1) -> () {
+bb0(%0 : $Builtin.Int1):
+ cond_br %0, bb1, bb2
+
+bb1:
+ %2 = alloc_ref $X
+ br bb3(%2 : $X)
+
+bb2:
+ %4 = alloc_ref $X
+ br bb3(%4 : $X)
+
+bb3(%6: $X):
+ strong_release %6 : $X
+ %8 = tuple ()
+ return %8 : $()
+}
+
+// X.deinit
+// CHECK-LABEL: CG of _TFC4main1XD
+// CHECK: Arg %0 Esc: A, Succ:
+// CHECKL: End
+sil @_TFC4main1XD: $@convention(method) (@owned X) -> () {
+bb0(%0 : $X):
+ %1 = tuple ()
+ return %1 : $()
+}
+
+// Z.deinit
+// CHECK-LABEL: CG of _TFC4main1ZD
+// CHECK: Arg %0 Esc: A, Succ: (%0.1)
+// CHECK: Con %0.1 Esc: A, Succ: (%0.2)
+// CHECK: Con %0.2 Esc: G, Succ:
+// CHECK: Val %3 Esc: G, Succ: (%3.1)
+// CHECK: Con %3.1 Esc: G, Succ: %0.2
+// CHECKL: End
+sil @_TFC4main1ZD: $@convention(method) (@owned Z) -> () {
+bb0(%0 : $Z):
+ %1 = ref_element_addr %0 : $Z, #Z.x
+ %2 = load %1 : $*X
+ %3 = global_addr @global_x : $*X
+ store %2 to %3 : $*X
+ %5 = tuple ()
+ return %5 : $()
+}
+
+sil_vtable X {
+ #X.deinit!deallocator: _TFC4main1XD
+}
+
+sil_vtable Z {
+ #Z.deinit!deallocator: _TFC4main1ZD
+}
diff --git a/test/Sema/circular_decl_checking.swift b/test/Sema/circular_decl_checking.swift
index dea48ec..01437be 100644
--- a/test/Sema/circular_decl_checking.swift
+++ b/test/Sema/circular_decl_checking.swift
@@ -66,3 +66,13 @@
typealias A = A // expected-error {{type alias 'A' circularly references itself}}
}
+// <rdar://problem/27680407> Infinite recursion when using fully-qualified associatedtype name that has not been defined with typealias
+protocol rdar27680407Proto {
+ associatedtype T // expected-note {{protocol requires nested type 'T'; do you want to add it?}}
+
+ init(value: T)
+}
+
+struct rdar27680407Struct : rdar27680407Proto { // expected-error {{type 'rdar27680407Struct' does not conform to protocol 'rdar27680407Proto'}}
+ init(value: rdar27680407Struct.T) {}
+}
diff --git a/test/SourceKit/CursorInfo/cursor_info.swift b/test/SourceKit/CursorInfo/cursor_info.swift
index b1f5338..00f7dc8 100644
--- a/test/SourceKit/CursorInfo/cursor_info.swift
+++ b/test/SourceKit/CursorInfo/cursor_info.swift
@@ -238,7 +238,7 @@
// CHECK3-NEXT: <decl.var.parameter><syntaxtype.keyword>let</syntaxtype.keyword> <decl.var.parameter.name>x</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr="s:Si">Int</ref.struct></decl.var.parameter.type></decl.var.parameter>
// RUN: %sourcekitd-test -req=cursor -pos=9:18 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | %FileCheck -check-prefix=CHECK4 %s
-// CHECK4: source.lang.swift.ref.var.global ({{.*}}Foo.framework/Headers/Foo.h:62:12-62:21)
+// CHECK4: source.lang.swift.ref.var.global ({{.*}}Foo.framework/Headers/Foo.h:63:12-63:21)
// CHECK4-NEXT: fooIntVar{{$}}
// CHECK4-NEXT: c:@fooIntVar{{$}}
// CHECK4-NEXT: Int32{{$}}
@@ -326,7 +326,7 @@
// CHECK15-NEXT: RELATED END
// RUN: %sourcekitd-test -req=cursor -pos=41:26 %s -- -F %S/../Inputs/libIDE-mock-sdk -I %t.tmp %mcp_opt %s | %FileCheck -check-prefix=CHECK16 %s
-// CHECK16: source.lang.swift.ref.class ({{.*}}Foo.framework/Headers/Foo.h:157:12-157:27)
+// CHECK16: source.lang.swift.ref.class ({{.*}}Foo.framework/Headers/Foo.h:158:12-158:27)
// CHECK16-NEXT: FooClassDerived
// CHECK16-NEXT: c:objc(cs)FooClassDerived
// CHECK16: <Declaration>class FooClassDerived : <Type usr="c:objc(cs)FooClassBase">FooClassBase</Type>, <Type usr="c:objc(pl)FooProtocolDerived">FooProtocolDerived</Type></Declaration>
diff --git a/test/SourceKit/DocSupport/doc_clang_module.swift.response b/test/SourceKit/DocSupport/doc_clang_module.swift.response
index 658a4fc..0779408 100644
--- a/test/SourceKit/DocSupport/doc_clang_module.swift.response
+++ b/test/SourceKit/DocSupport/doc_clang_module.swift.response
@@ -132,6 +132,7 @@
init(x x: Int32, y y: Double)
}
+typealias FooStruct1Pointer = UnsafeMutablePointer<FooStruct1>
struct FooStruct2 {
var x: Int32
@@ -234,11 +235,18 @@
func _internalMeth1() -> Any!
}
+typealias typedef_int_t = Int32
var FOO_MACRO_1: Int32 { get }
var FOO_MACRO_2: Int32 { get }
var FOO_MACRO_3: Int32 { get }
var FOO_MACRO_4: UInt32 { get }
var FOO_MACRO_5: UInt64 { get }
+var FOO_MACRO_6: typedef_int_t { get }
+var FOO_MACRO_7: typedef_int_t { get }
+var FOO_MACRO_8: Int8 { get }
+var FOO_MACRO_9: Int32 { get }
+var FOO_MACRO_10: Int16 { get }
+var FOO_MACRO_11: Int { get }
var FOO_MACRO_REDEF_1: Int32 { get }
var FOO_MACRO_REDEF_2: Int32 { get }
func theLastDeclInFoo()
@@ -2370,1378 +2378,1353 @@
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 3249,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3256,
- key.length: 10
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3274,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3278,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 3281,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3292,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3296,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Double",
- key.usr: "s:Sd",
- key.offset: 3299,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3311,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3323,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3328,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3330,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3328,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3330,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 3333,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3340,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3342,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3340,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3342,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Double",
- key.usr: "s:Sd",
- key.offset: 3345,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3355,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3365,
+ key.offset: 3259,
+ key.length: 17
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "UnsafeMutablePointer",
+ key.usr: "s:Sp",
+ key.offset: 3279,
+ key.length: 20
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "FooStruct1",
+ key.usr: "c:@S@FooStruct1",
+ key.offset: 3300,
+ key.length: 10
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3312,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3319,
+ key.length: 10
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3337,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3341,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 3344,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3355,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3359,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Double",
+ key.usr: "s:Sd",
+ key.offset: 3362,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3374,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3386,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.argument,
+ key.offset: 3391,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.parameter,
+ key.offset: 3393,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3391,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3393,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 3396,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.argument,
+ key.offset: 3403,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.parameter,
+ key.offset: 3405,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3403,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3405,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Double",
+ key.usr: "s:Sd",
+ key.offset: 3408,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3418,
+ key.length: 9
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3428,
key.length: 17
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "FooStruct2",
key.usr: "c:@S@FooStruct2",
- key.offset: 3385,
+ key.offset: 3448,
key.length: 10
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3396,
+ key.offset: 3459,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3403,
+ key.offset: 3466,
key.length: 17
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3428,
+ key.offset: 3491,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3432,
+ key.offset: 3495,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3435,
+ key.offset: 3498,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3446,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3450,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Double",
- key.usr: "s:Sd",
- key.offset: 3453,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3465,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3477,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3482,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3484,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3482,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3484,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 3487,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3494,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3496,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3494,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3496,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Double",
- key.usr: "s:Sd",
- key.offset: 3499,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 3509,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3513,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Double",
+ key.usr: "s:Sd",
+ key.offset: 3516,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3528,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3540,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.argument,
+ key.offset: 3545,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.parameter,
+ key.offset: 3547,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3545,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3547,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 3550,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.argument,
+ key.offset: 3557,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.parameter,
+ key.offset: 3559,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3557,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3559,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Double",
+ key.usr: "s:Sd",
+ key.offset: 3562,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3572,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3519,
+ key.offset: 3582,
key.length: 11
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3533,
+ key.offset: 3596,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3539,
+ key.offset: 3602,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3543,
+ key.offset: 3606,
key.length: 9
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3554,
+ key.offset: 3617,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3560,
+ key.offset: 3623,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3565,
+ key.offset: 3628,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3574,
+ key.offset: 3637,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3576,
+ key.offset: 3639,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3576,
+ key.offset: 3639,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3579,
+ key.offset: 3642,
key.length: 5
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3589,
+ key.offset: 3652,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3595,
+ key.offset: 3658,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3600,
+ key.offset: 3663,
key.length: 22
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3623,
+ key.offset: 3686,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3625,
+ key.offset: 3688,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3628,
+ key.offset: 3691,
key.length: 5
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3638,
+ key.offset: 3701,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3644,
+ key.offset: 3707,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3649,
+ key.offset: 3712,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3658,
+ key.offset: 3721,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3660,
+ key.offset: 3723,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3660,
+ key.offset: 3723,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3663,
+ key.offset: 3726,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3670,
+ key.offset: 3733,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3672,
+ key.offset: 3735,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3672,
+ key.offset: 3735,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Float",
key.usr: "s:Sf",
- key.offset: 3675,
+ key.offset: 3738,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3682,
+ key.offset: 3745,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3684,
+ key.offset: 3747,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3684,
+ key.offset: 3747,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Double",
key.usr: "s:Sd",
- key.offset: 3687,
+ key.offset: 3750,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3695,
+ key.offset: 3758,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3697,
+ key.offset: 3760,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3697,
+ key.offset: 3760,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "UnsafeMutablePointer",
key.usr: "s:Sp",
- key.offset: 3700,
+ key.offset: 3763,
key.length: 20
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3721,
+ key.offset: 3784,
key.length: 5
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3733,
+ key.offset: 3796,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3739,
+ key.offset: 3802,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3744,
+ key.offset: 3807,
key.length: 16
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3761,
+ key.offset: 3824,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3763,
+ key.offset: 3826,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3763,
+ key.offset: 3826,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.attribute.id,
- key.offset: 3769,
+ key.offset: 3832,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3770,
+ key.offset: 3833,
key.length: 8
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Float",
key.usr: "s:Sf",
- key.offset: 3780,
+ key.offset: 3843,
key.length: 5
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3790,
+ key.offset: 3853,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3799,
+ key.offset: 3862,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3804,
+ key.offset: 3867,
key.length: 26
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 3831,
+ key.offset: 3894,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 3833,
+ key.offset: 3896,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3833,
+ key.offset: 3896,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.attribute.id,
- key.offset: 3840,
+ key.offset: 3903,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3841,
+ key.offset: 3904,
key.length: 8
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Float",
key.usr: "s:Sf",
- key.offset: 3851,
+ key.offset: 3914,
key.length: 5
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 3861,
+ key.offset: 3924,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3870,
+ key.offset: 3933,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3875,
+ key.offset: 3938,
key.length: 16
},
{
key.kind: source.lang.swift.ref.enum,
key.name: "Never",
key.usr: "s:Os5Never",
- key.offset: 3897,
+ key.offset: 3960,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3903,
+ key.offset: 3966,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3908,
+ key.offset: 3971,
key.length: 16
},
{
key.kind: source.lang.swift.ref.enum,
key.name: "Never",
key.usr: "s:Os5Never",
- key.offset: 3930,
+ key.offset: 3993,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3936,
+ key.offset: 3999,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3941,
+ key.offset: 4004,
key.length: 19
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3963,
+ key.offset: 4026,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3968,
+ key.offset: 4031,
key.length: 19
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3990,
+ key.offset: 4053,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3995,
+ key.offset: 4058,
key.length: 19
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4017,
+ key.offset: 4080,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4022,
+ key.offset: 4085,
key.length: 19
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4044,
+ key.offset: 4107,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4049,
+ key.offset: 4112,
key.length: 19
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4071,
+ key.offset: 4134,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4076,
- key.length: 32
- },
- {
- key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 4109,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 4111,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4111,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 4114,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 4124,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4130,
- key.length: 8
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 4139,
- key.length: 15
+ key.length: 32
},
{
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4162,
- key.length: 4
+ key.kind: source.lang.swift.syntaxtype.argument,
+ key.offset: 4172,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.parameter,
+ key.offset: 4174,
+ key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4167,
- key.length: 12
+ key.offset: 4174,
+ key.length: 1
},
{
- key.kind: source.lang.swift.syntaxtype.keyword,
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 4177,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
key.offset: 4187,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4192,
- key.length: 33
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4233,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4238,
- key.length: 33
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4279,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4286,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4291,
- key.length: 17
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4316,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4320,
- key.length: 12
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 4334,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4342,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4346,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4357,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4361,
- key.length: 12
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 4375,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4383,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4387,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4398,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4402,
- key.length: 12
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 4416,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4424,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4432,
+ key.offset: 4193,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4441,
+ key.offset: 4202,
+ key.length: 15
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4225,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4230,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4250,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4255,
+ key.length: 33
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4296,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4301,
+ key.length: 33
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4342,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4349,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4354,
+ key.length: 17
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4379,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4383,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 4397,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4405,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4409,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4420,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4424,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 4438,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4446,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4450,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4461,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4465,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 4479,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4487,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4495,
+ key.length: 8
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4504,
key.length: 18
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "FooProtocolBase",
key.usr: "c:objc(pl)FooProtocolBase",
- key.offset: 4462,
+ key.offset: 4525,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4482,
+ key.offset: 4545,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4488,
+ key.offset: 4551,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4508,
+ key.offset: 4571,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4513,
+ key.offset: 4576,
key.length: 20
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4541,
+ key.offset: 4604,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4546,
+ key.offset: 4609,
key.length: 20
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 4567,
+ key.offset: 4630,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 4569,
+ key.offset: 4632,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4569,
+ key.offset: 4632,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4579,
+ key.offset: 4642,
key.length: 3
},
{
key.kind: source.lang.swift.ref.class,
key.name: "FooClassBase",
key.usr: "c:objc(cs)FooClassBase",
- key.offset: 4588,
+ key.offset: 4651,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4607,
+ key.offset: 4670,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4620,
+ key.offset: 4683,
key.length: 11
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4632,
+ key.offset: 4695,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 4638,
+ key.offset: 4701,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 4644,
+ key.offset: 4707,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4638,
+ key.offset: 4701,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4644,
+ key.offset: 4707,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Float",
key.usr: "s:Sf",
- key.offset: 4647,
+ key.offset: 4710,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4659,
+ key.offset: 4722,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4664,
+ key.offset: 4727,
key.length: 29
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4701,
+ key.offset: 4764,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4707,
+ key.offset: 4770,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4712,
+ key.offset: 4775,
key.length: 17
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4737,
+ key.offset: 4800,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4742,
+ key.offset: 4805,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4762,
+ key.offset: 4825,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4772,
+ key.offset: 4835,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4777,
+ key.offset: 4840,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4797,
+ key.offset: 4860,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4807,
+ key.offset: 4870,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4812,
+ key.offset: 4875,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4833,
+ key.offset: 4896,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4843,
+ key.offset: 4906,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4848,
+ key.offset: 4911,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4868,
+ key.offset: 4931,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4875,
+ key.offset: 4938,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4881,
+ key.offset: 4944,
key.length: 15
},
{
key.kind: source.lang.swift.ref.class,
key.name: "FooClassBase",
key.usr: "c:objc(cs)FooClassBase",
- key.offset: 4899,
+ key.offset: 4962,
key.length: 12
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "FooProtocolDerived",
key.usr: "c:objc(pl)FooProtocolDerived",
- key.offset: 4913,
+ key.offset: 4976,
key.length: 18
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4939,
+ key.offset: 5002,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4943,
+ key.offset: 5006,
key.length: 12
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 4957,
+ key.offset: 5020,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4968,
+ key.offset: 5031,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4972,
+ key.offset: 5035,
key.length: 12
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 4986,
+ key.offset: 5049,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4997,
+ key.offset: 5060,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5001,
+ key.offset: 5064,
key.length: 12
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 5015,
+ key.offset: 5078,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5023,
+ key.offset: 5086,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5034,
+ key.offset: 5097,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5039,
- key.length: 16
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5063,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5068,
- key.length: 16
- },
- {
- key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 5085,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 5087,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5087,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 5090,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 5102,
+ key.length: 16
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5126,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5107,
+ key.offset: 5131,
key.length: 16
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 5124,
+ key.offset: 5148,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 5126,
+ key.offset: 5150,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5126,
+ key.offset: 5150,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 5129,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 5136,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 5142,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5136,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5142,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 5145,
+ key.offset: 5153,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5157,
+ key.offset: 5165,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5162,
- key.length: 29
+ key.offset: 5170,
+ key.length: 16
},
{
- key.kind: source.lang.swift.syntaxtype.keyword,
+ key.kind: source.lang.swift.syntaxtype.argument,
+ key.offset: 5187,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.parameter,
+ key.offset: 5189,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5189,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 5192,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.argument,
key.offset: 5199,
key.length: 5
},
{
- key.kind: source.lang.swift.syntaxtype.keyword,
+ key.kind: source.lang.swift.syntaxtype.parameter,
key.offset: 5205,
- key.length: 4
+ key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5210,
- key.length: 13
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5231,
- key.length: 4
+ key.offset: 5199,
+ key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5236,
- key.length: 14
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5256,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5266,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5271,
- key.length: 14
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5291,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5301,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5306,
- key.length: 15
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5327,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5337,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5342,
- key.length: 14
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5362,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5369,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5373,
- key.length: 11
+ key.offset: 5205,
+ key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 5386,
+ key.offset: 5208,
key.length: 5
},
{
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5220,
+ key.length: 4
+ },
+ {
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5394,
+ key.offset: 5225,
+ key.length: 29
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5262,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5268,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5273,
+ key.length: 13
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5294,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5299,
+ key.length: 14
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5319,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5329,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5334,
+ key.length: 14
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5354,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5364,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5369,
+ key.length: 15
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5390,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 5400,
- key.length: 3
+ key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5404,
- key.length: 11
+ key.offset: 5405,
+ key.length: 14
},
{
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 5417,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
+ key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 5425,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5431,
+ key.offset: 5432,
+ key.length: 9
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5442,
+ key.length: 13
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 5458,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5464,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5435,
+ key.offset: 5468,
key.length: 11
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 5448,
+ key.offset: 5481,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5456,
+ key.offset: 5489,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5462,
+ key.offset: 5495,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5466,
+ key.offset: 5499,
key.length: 11
},
{
key.kind: source.lang.swift.ref.struct,
- key.name: "UInt32",
- key.usr: "s:Vs6UInt32",
- key.offset: 5479,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5488,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5494,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5498,
- key.length: 11
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "UInt64",
- key.usr: "s:Vs6UInt64",
- key.offset: 5511,
- key.length: 6
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 5512,
+ key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
@@ -3756,972 +3739,1170 @@
{
key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 5530,
- key.length: 17
+ key.length: 11
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 5549,
+ key.offset: 5543,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5551,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 5557,
key.length: 3
},
{
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5561,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "UInt32",
+ key.usr: "s:Vs6UInt32",
+ key.offset: 5574,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5583,
+ key.length: 3
+ },
+ {
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5563,
+ key.offset: 5589,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5567,
+ key.offset: 5593,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "UInt64",
+ key.usr: "s:Vs6UInt64",
+ key.offset: 5606,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5615,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5621,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5625,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.ref.typealias,
+ key.name: "typedef_int_t",
+ key.usr: "c:Foo.h@T@typedef_int_t",
+ key.offset: 5638,
+ key.length: 13
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5654,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5660,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5664,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.ref.typealias,
+ key.name: "typedef_int_t",
+ key.usr: "c:Foo.h@T@typedef_int_t",
+ key.offset: 5677,
+ key.length: 13
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5693,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5699,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5703,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int8",
+ key.usr: "s:Vs4Int8",
+ key.offset: 5716,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5723,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5729,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5733,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 5746,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5754,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5760,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5764,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int16",
+ key.usr: "s:Vs5Int16",
+ key.offset: 5778,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5786,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5792,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5796,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int",
+ key.usr: "s:Si",
+ key.offset: 5810,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5816,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5822,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5826,
key.length: 17
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 5586,
+ key.offset: 5845,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5594,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5600,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5605,
- key.length: 16
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5624,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5629,
- key.length: 21
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5653,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5660,
- key.length: 15
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5683,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5687,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 5690,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5701,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5713,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 5718,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 5720,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5718,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5720,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.name: "Int32",
- key.usr: "s:Vs5Int32",
- key.offset: 5723,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5732,
- key.length: 9
- },
- {
- key.kind: source.lang.swift.ref.class,
- key.name: "FooClassBase",
- key.usr: "c:objc(cs)FooClassBase",
- key.offset: 5742,
- key.length: 12
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5762,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5767,
- key.length: 14
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5787,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5794,
- key.length: 9
- },
- {
- key.kind: source.lang.swift.ref.class,
- key.name: "FooClassBase",
- key.usr: "c:objc(cs)FooClassBase",
- key.offset: 5804,
- key.length: 12
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5824,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5829,
- key.length: 14
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5849,
+ key.offset: 5853,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 5859,
- key.length: 4
+ key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5864,
- key.length: 15
+ key.offset: 5863,
+ key.length: 17
},
{
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5885,
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 5882,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5890,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5892,
+ key.offset: 5896,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5901,
+ key.length: 16
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5920,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5925,
+ key.length: 21
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5949,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5956,
+ key.length: 15
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5979,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5983,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 5986,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5997,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6009,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.argument,
+ key.offset: 6014,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.parameter,
+ key.offset: 6016,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6014,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6016,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.name: "Int32",
+ key.usr: "s:Vs5Int32",
+ key.offset: 6019,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6028,
key.length: 9
},
{
key.kind: source.lang.swift.ref.class,
key.name: "FooClassBase",
key.usr: "c:objc(cs)FooClassBase",
- key.offset: 5902,
+ key.offset: 6038,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5922,
+ key.offset: 6058,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5927,
+ key.offset: 6063,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5947,
+ key.offset: 6083,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5954,
+ key.offset: 6090,
+ key.length: 9
+ },
+ {
+ key.kind: source.lang.swift.ref.class,
+ key.name: "FooClassBase",
+ key.usr: "c:objc(cs)FooClassBase",
+ key.offset: 6100,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6120,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6125,
+ key.length: 14
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6145,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6155,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6160,
+ key.length: 15
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6181,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6188,
+ key.length: 9
+ },
+ {
+ key.kind: source.lang.swift.ref.class,
+ key.name: "FooClassBase",
+ key.usr: "c:objc(cs)FooClassBase",
+ key.offset: 6198,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6218,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6223,
+ key.length: 14
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6243,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6250,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5963,
+ key.offset: 6259,
key.length: 13
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5981,
+ key.offset: 6277,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5987,
+ key.offset: 6283,
key.length: 21
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "_InternalProt",
key.usr: "c:objc(pl)_InternalProt",
- key.offset: 6011,
+ key.offset: 6307,
key.length: 13
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6029,
+ key.offset: 6325,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6035,
+ key.offset: 6331,
key.length: 25
},
{
key.kind: source.lang.swift.ref.class,
key.name: "FooClassBase",
key.usr: "c:objc(cs)FooClassBase",
- key.offset: 6063,
+ key.offset: 6359,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6083,
+ key.offset: 6379,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6099,
+ key.offset: 6395,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6103,
+ key.offset: 6399,
key.length: 10
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "AnyObject",
key.usr: "s:Ps9AnyObject",
- key.offset: 6115,
+ key.offset: 6411,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6131,
+ key.offset: 6427,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6147,
+ key.offset: 6443,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6151,
+ key.offset: 6447,
key.length: 16
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "AnyObject",
key.usr: "s:Ps9AnyObject",
- key.offset: 6169,
+ key.offset: 6465,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6185,
+ key.offset: 6481,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6189,
+ key.offset: 6485,
key.length: 10
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6201,
+ key.offset: 6497,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6211,
+ key.offset: 6507,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6215,
+ key.offset: 6511,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6226,
+ key.offset: 6522,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6236,
+ key.offset: 6532,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6240,
+ key.offset: 6536,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6250,
+ key.offset: 6546,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6260,
+ key.offset: 6556,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6265,
+ key.offset: 6561,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6269,
+ key.offset: 6565,
key.length: 7
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "AnyObject",
key.usr: "s:Ps9AnyObject",
- key.offset: 6278,
+ key.offset: 6574,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6294,
+ key.offset: 6590,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6298,
+ key.offset: 6594,
key.length: 6
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 6306,
+ key.offset: 6602,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6317,
+ key.offset: 6613,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6322,
+ key.offset: 6618,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6342,
+ key.offset: 6638,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6352,
+ key.offset: 6648,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6357,
+ key.offset: 6653,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6377,
+ key.offset: 6673,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6387,
+ key.offset: 6683,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6392,
+ key.offset: 6688,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6413,
+ key.offset: 6709,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6423,
+ key.offset: 6719,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6428,
+ key.offset: 6724,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6448,
+ key.offset: 6744,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6455,
+ key.offset: 6751,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6459,
+ key.offset: 6755,
key.length: 7
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6471,
+ key.offset: 6767,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6477,
+ key.offset: 6773,
key.length: 21
},
{
key.kind: source.lang.swift.ref.class,
key.name: "FooClassBase",
key.usr: "c:objc(cs)FooClassBase",
- key.offset: 6501,
+ key.offset: 6797,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6521,
+ key.offset: 6817,
key.length: 11
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6533,
+ key.offset: 6829,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 6539,
+ key.offset: 6835,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 6543,
+ key.offset: 6839,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6539,
+ key.offset: 6835,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6543,
+ key.offset: 6839,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 6546,
+ key.offset: 6842,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6558,
+ key.offset: 6854,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6564,
+ key.offset: 6860,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6569,
+ key.offset: 6865,
key.length: 7
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 6577,
+ key.offset: 6873,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 6579,
+ key.offset: 6875,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6579,
+ key.offset: 6875,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 6582,
+ key.offset: 6878,
key.length: 5
},
{
key.kind: source.lang.swift.ref.class,
key.name: "FooUnavailableMembers",
key.usr: "c:objc(cs)FooUnavailableMembers",
- key.offset: 6592,
+ key.offset: 6888,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6603,
+ key.offset: 6899,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6608,
+ key.offset: 6904,
key.length: 11
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6627,
+ key.offset: 6923,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6632,
+ key.offset: 6928,
key.length: 16
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6656,
+ key.offset: 6952,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6661,
+ key.offset: 6957,
key.length: 10
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6679,
+ key.offset: 6975,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6684,
+ key.offset: 6980,
key.length: 22
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6714,
+ key.offset: 7010,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6719,
+ key.offset: 7015,
key.length: 22
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6749,
+ key.offset: 7045,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6754,
+ key.offset: 7050,
key.length: 21
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6783,
+ key.offset: 7079,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6788,
+ key.offset: 7084,
key.length: 23
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6819,
+ key.offset: 7115,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6824,
+ key.offset: 7120,
key.length: 25
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6857,
+ key.offset: 7153,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6862,
+ key.offset: 7158,
key.length: 25
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6895,
+ key.offset: 7191,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6900,
+ key.offset: 7196,
key.length: 24
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6932,
+ key.offset: 7228,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6937,
+ key.offset: 7233,
key.length: 26
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6971,
+ key.offset: 7267,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6976,
+ key.offset: 7272,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6996,
+ key.offset: 7292,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7006,
+ key.offset: 7302,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7011,
+ key.offset: 7307,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7031,
+ key.offset: 7327,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7041,
+ key.offset: 7337,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7046,
+ key.offset: 7342,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7067,
+ key.offset: 7363,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7077,
+ key.offset: 7373,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7082,
+ key.offset: 7378,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7102,
+ key.offset: 7398,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7109,
+ key.offset: 7405,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7115,
+ key.offset: 7411,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7129,
+ key.offset: 7425,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7134,
+ key.offset: 7430,
key.length: 16
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 7151,
+ key.offset: 7447,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 7153,
+ key.offset: 7449,
key.length: 1
},
{
key.kind: source.lang.swift.ref.class,
key.name: "FooCFType",
key.usr: "c:Foo.h@T@FooCFTypeRef",
- key.offset: 7156,
+ key.offset: 7452,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7168,
+ key.offset: 7464,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7173,
+ key.offset: 7469,
key.length: 11
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 7185,
+ key.offset: 7481,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 7187,
+ key.offset: 7483,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7187,
+ key.offset: 7483,
key.length: 1
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 7190,
+ key.offset: 7486,
key.length: 5
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int32",
key.usr: "s:Vs5Int32",
- key.offset: 7200,
+ key.offset: 7496,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7206,
+ key.offset: 7502,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7213,
+ key.offset: 7509,
key.length: 11
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "RawRepresentable",
key.usr: "s:Ps16RawRepresentable",
- key.offset: 7227,
+ key.offset: 7523,
key.length: 16
},
{
key.kind: source.lang.swift.ref.protocol,
key.name: "Equatable",
key.usr: "s:Ps9Equatable",
- key.offset: 7245,
+ key.offset: 7541,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7262,
+ key.offset: 7558,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 7267,
+ key.offset: 7563,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 7269,
+ key.offset: 7565,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7269,
+ key.offset: 7565,
key.length: 8
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "UInt32",
key.usr: "s:Vs6UInt32",
- key.offset: 7279,
+ key.offset: 7575,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7292,
+ key.offset: 7588,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.argument,
- key.offset: 7297,
+ key.offset: 7593,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.parameter,
- key.offset: 7306,
+ key.offset: 7602,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7297,
+ key.offset: 7593,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7306,
+ key.offset: 7602,
key.length: 8
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "UInt32",
key.usr: "s:Vs6UInt32",
- key.offset: 7316,
+ key.offset: 7612,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7329,
+ key.offset: 7625,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7333,
+ key.offset: 7629,
key.length: 8
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "UInt32",
key.usr: "s:Vs6UInt32",
- key.offset: 7343,
+ key.offset: 7639,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7352,
+ key.offset: 7648,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7356,
+ key.offset: 7652,
key.length: 12
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "FooSubEnum1",
key.usr: "c:@E@FooSubEnum1",
- key.offset: 7370,
+ key.offset: 7666,
key.length: 11
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7384,
+ key.offset: 7680,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7390,
+ key.offset: 7686,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7394,
+ key.offset: 7690,
key.length: 12
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "FooSubEnum1",
key.usr: "c:@E@FooSubEnum1",
- key.offset: 7408,
+ key.offset: 7704,
key.length: 11
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7422,
+ key.offset: 7718,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 7428,
+ key.offset: 7724,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7432,
+ key.offset: 7728,
key.length: 25
},
{
key.kind: source.lang.swift.ref.struct,
key.name: "Int",
key.usr: "s:Si",
- key.offset: 7459,
+ key.offset: 7755,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 7465,
+ key.offset: 7761,
key.length: 3
}
]
@@ -5900,10 +6081,35 @@
]
},
{
+ key.kind: source.lang.swift.decl.typealias,
+ key.name: "FooStruct1Pointer",
+ key.usr: "c:Foo.h@T@FooStruct1Pointer",
+ key.offset: 3249,
+ key.length: 62,
+ key.fully_annotated_decl: "<decl.typealias><syntaxtype.keyword>typealias</syntaxtype.keyword> <decl.name>FooStruct1Pointer</decl.name> = <ref.struct usr=\"s:Sp\">UnsafeMutablePointer</ref.struct><<ref.struct usr=\"c:@S@FooStruct1\">FooStruct1</ref.struct>></decl.typealias>",
+ key.conforms: [
+ {
+ key.kind: source.lang.swift.ref.protocol,
+ key.name: "Strideable",
+ key.usr: "s:Ps10Strideable"
+ },
+ {
+ key.kind: source.lang.swift.ref.protocol,
+ key.name: "Hashable",
+ key.usr: "s:Ps8Hashable"
+ },
+ {
+ key.kind: source.lang.swift.ref.protocol,
+ key.name: "_Pointer",
+ key.usr: "s:Ps8_Pointer"
+ }
+ ]
+ },
+ {
key.kind: source.lang.swift.decl.struct,
key.name: "FooStruct2",
key.usr: "c:@S@FooStruct2",
- key.offset: 3249,
+ key.offset: 3312,
key.length: 105,
key.fully_annotated_decl: "<decl.struct><syntaxtype.keyword>struct</syntaxtype.keyword> <decl.name>FooStruct2</decl.name></decl.struct>",
key.entities: [
@@ -5911,7 +6117,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "x",
key.usr: "c:@S@FooStruct2@FI@x",
- key.offset: 3274,
+ key.offset: 3337,
key.length: 12,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>x</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type></decl.var.instance>"
},
@@ -5919,7 +6125,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "y",
key.usr: "c:@S@FooStruct2@FI@y",
- key.offset: 3292,
+ key.offset: 3355,
key.length: 13,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>y</decl.name>: <decl.var.type><ref.struct usr=\"s:Sd\">Double</ref.struct></decl.var.type></decl.var.instance>"
},
@@ -5927,7 +6133,7 @@
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init()",
key.usr: "s:FVSC10FooStruct2cFT_S_",
- key.offset: 3311,
+ key.offset: 3374,
key.length: 6,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>()</decl.function.constructor>"
},
@@ -5935,7 +6141,7 @@
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init(x:y:)",
key.usr: "s:FVSC10FooStruct2cFT1xVs5Int321ySd_S_",
- key.offset: 3323,
+ key.offset: 3386,
key.length: 29,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>x</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>y</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\"s:Sd\">Double</ref.struct></decl.var.parameter.type></decl.var.parameter>)</decl.function.constructor>",
key.entities: [
@@ -5943,14 +6149,14 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "x",
key.name: "x",
- key.offset: 3333,
+ key.offset: 3396,
key.length: 5
},
{
key.kind: source.lang.swift.decl.var.local,
key.keyword: "y",
key.name: "y",
- key.offset: 3345,
+ key.offset: 3408,
key.length: 6
}
]
@@ -5961,7 +6167,7 @@
key.kind: source.lang.swift.decl.typealias,
key.name: "FooStructTypedef1",
key.usr: "c:Foo.h@T@FooStructTypedef1",
- key.offset: 3355,
+ key.offset: 3418,
key.length: 40,
key.fully_annotated_decl: "<decl.typealias><syntaxtype.keyword>typealias</syntaxtype.keyword> <decl.name>FooStructTypedef1</decl.name> = <ref.struct usr=\"c:@S@FooStruct2\">FooStruct2</ref.struct></decl.typealias>"
},
@@ -5969,7 +6175,7 @@
key.kind: source.lang.swift.decl.struct,
key.name: "FooStructTypedef2",
key.usr: "c:@SA@FooStructTypedef2",
- key.offset: 3396,
+ key.offset: 3459,
key.length: 112,
key.fully_annotated_decl: "<decl.struct><syntaxtype.keyword>struct</syntaxtype.keyword> <decl.name>FooStructTypedef2</decl.name></decl.struct>",
key.entities: [
@@ -5977,7 +6183,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "x",
key.usr: "c:@SA@FooStructTypedef2@FI@x",
- key.offset: 3428,
+ key.offset: 3491,
key.length: 12,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>x</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type></decl.var.instance>"
},
@@ -5985,7 +6191,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "y",
key.usr: "c:@SA@FooStructTypedef2@FI@y",
- key.offset: 3446,
+ key.offset: 3509,
key.length: 13,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>y</decl.name>: <decl.var.type><ref.struct usr=\"s:Sd\">Double</ref.struct></decl.var.type></decl.var.instance>"
},
@@ -5993,7 +6199,7 @@
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init()",
key.usr: "s:FVSC17FooStructTypedef2cFT_S_",
- key.offset: 3465,
+ key.offset: 3528,
key.length: 6,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>()</decl.function.constructor>"
},
@@ -6001,7 +6207,7 @@
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init(x:y:)",
key.usr: "s:FVSC17FooStructTypedef2cFT1xVs5Int321ySd_S_",
- key.offset: 3477,
+ key.offset: 3540,
key.length: 29,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>x</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>y</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\"s:Sd\">Double</ref.struct></decl.var.parameter.type></decl.var.parameter>)</decl.function.constructor>",
key.entities: [
@@ -6009,14 +6215,14 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "x",
key.name: "x",
- key.offset: 3487,
+ key.offset: 3550,
key.length: 5
},
{
key.kind: source.lang.swift.decl.var.local,
key.keyword: "y",
key.name: "y",
- key.offset: 3499,
+ key.offset: 3562,
key.length: 6
}
]
@@ -6027,8 +6233,8 @@
key.kind: source.lang.swift.decl.typealias,
key.name: "FooTypedef1",
key.usr: "c:Foo.h@T@FooTypedef1",
- key.doc.full_as_xml: "<Typedef file=Foo.h line=\"59\" column=\"13\"><Name>FooTypedef1</Name><USR>c:Foo.h@T@FooTypedef1</USR><Declaration>typealias FooTypedef1 = Int32</Declaration><Abstract><Para> Aaa. FooTypedef1. Bbb.</Para></Abstract></Typedef>",
- key.offset: 3509,
+ key.doc.full_as_xml: "<Typedef file=Foo.h line=\"60\" column=\"13\"><Name>FooTypedef1</Name><USR>c:Foo.h@T@FooTypedef1</USR><Declaration>typealias FooTypedef1 = Int32</Declaration><Abstract><Para> Aaa. FooTypedef1. Bbb.</Para></Abstract></Typedef>",
+ key.offset: 3572,
key.length: 29,
key.fully_annotated_decl: "<decl.typealias><syntaxtype.keyword>typealias</syntaxtype.keyword> <decl.name>FooTypedef1</decl.name> = <ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.typealias>",
key.conforms: [
@@ -6053,8 +6259,8 @@
key.kind: source.lang.swift.decl.var.global,
key.name: "fooIntVar",
key.usr: "c:@fooIntVar",
- key.doc.full_as_xml: "<Variable file=Foo.h line=\"62\" column=\"12\"><Name>fooIntVar</Name><USR>c:@fooIntVar</USR><Declaration>var fooIntVar: Int32</Declaration><Abstract><Para> Aaa. fooIntVar. Bbb.</Para></Abstract></Variable>",
- key.offset: 3539,
+ key.doc.full_as_xml: "<Variable file=Foo.h line=\"63\" column=\"12\"><Name>fooIntVar</Name><USR>c:@fooIntVar</USR><Declaration>var fooIntVar: Int32</Declaration><Abstract><Para> Aaa. fooIntVar. Bbb.</Para></Abstract></Variable>",
+ key.offset: 3602,
key.length: 20,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>fooIntVar</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type></decl.var.global>"
},
@@ -6062,8 +6268,8 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFunc1(_:)",
key.usr: "c:@F@fooFunc1",
- key.doc.full_as_xml: "<Function file=Foo.h line=\"65\" column=\"5\"><Name>fooFunc1</Name><USR>c:@F@fooFunc1</USR><Declaration>func fooFunc1(_ a: Int32) -> Int32</Declaration><Abstract><Para> Aaa. fooFunc1. Bbb.</Para></Abstract></Function>",
- key.offset: 3560,
+ key.doc.full_as_xml: "<Function file=Foo.h line=\"66\" column=\"5\"><Name>fooFunc1</Name><USR>c:@F@fooFunc1</USR><Declaration>func fooFunc1(_ a: Int32) -> Int32</Declaration><Abstract><Para> Aaa. fooFunc1. Bbb.</Para></Abstract></Function>",
+ key.offset: 3623,
key.length: 34,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFunc1</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>a</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>) -> <decl.function.returntype><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.function.returntype></decl.function.free>",
key.entities: [
@@ -6071,7 +6277,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "a",
- key.offset: 3579,
+ key.offset: 3642,
key.length: 5
}
]
@@ -6080,14 +6286,14 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFunc1AnonymousParam(_:)",
key.usr: "c:@F@fooFunc1AnonymousParam",
- key.offset: 3595,
+ key.offset: 3658,
key.length: 48,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFunc1AnonymousParam</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>) -> <decl.function.returntype><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.function.returntype></decl.function.free>",
key.entities: [
{
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
- key.offset: 3628,
+ key.offset: 3691,
key.length: 5
}
]
@@ -6096,7 +6302,7 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFunc3(_:_:_:_:)",
key.usr: "c:@F@fooFunc3",
- key.offset: 3644,
+ key.offset: 3707,
key.length: 94,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFunc3</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>a</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>b</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Sf\">Float</ref.struct></decl.var.parameter.type></decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>c</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Sd\">Double</ref.struct></decl.var.parameter.type></decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>d</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Sp\">UnsafeMutablePointer</ref.struct><<ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct>>!</decl.var.parameter.type></decl.var.parameter>) -> <decl.function.returntype><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.function.returntype></decl.function.free>",
key.entities: [
@@ -6104,28 +6310,28 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "a",
- key.offset: 3663,
+ key.offset: 3726,
key.length: 5
},
{
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "b",
- key.offset: 3675,
+ key.offset: 3738,
key.length: 5
},
{
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "c",
- key.offset: 3687,
+ key.offset: 3750,
key.length: 6
},
{
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "d",
- key.offset: 3700,
+ key.offset: 3763,
key.length: 28
}
]
@@ -6134,7 +6340,7 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFuncWithBlock(_:)",
key.usr: "c:@F@fooFuncWithBlock",
- key.offset: 3739,
+ key.offset: 3802,
key.length: 59,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFuncWithBlock</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>blk</decl.var.parameter.name>: <decl.var.parameter.type>(<syntaxtype.attribute.builtin><syntaxtype.attribute.name>@escaping</syntaxtype.attribute.name></syntaxtype.attribute.builtin> (<ref.struct usr=\"s:Sf\">Float</ref.struct>) -> <decl.function.returntype><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.function.returntype>)!</decl.var.parameter.type></decl.var.parameter>)</decl.function.free>",
key.entities: [
@@ -6142,7 +6348,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "blk",
- key.offset: 3768,
+ key.offset: 3831,
key.length: 29
}
]
@@ -6151,7 +6357,7 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFuncWithFunctionPointer(_:)",
key.usr: "c:@F@fooFuncWithFunctionPointer",
- key.offset: 3799,
+ key.offset: 3862,
key.length: 70,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFuncWithFunctionPointer</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>fptr</decl.var.parameter.name>: <decl.var.parameter.type>(<syntaxtype.attribute.builtin><syntaxtype.attribute.name>@escaping</syntaxtype.attribute.name></syntaxtype.attribute.builtin> (<ref.struct usr=\"s:Sf\">Float</ref.struct>) -> <decl.function.returntype><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.function.returntype>)!</decl.var.parameter.type></decl.var.parameter>)</decl.function.free>",
key.entities: [
@@ -6159,7 +6365,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "fptr",
- key.offset: 3839,
+ key.offset: 3902,
key.length: 29
}
]
@@ -6168,7 +6374,7 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFuncNoreturn1()",
key.usr: "c:@F@fooFuncNoreturn1",
- key.offset: 3870,
+ key.offset: 3933,
key.length: 32,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFuncNoreturn1</decl.name>() -> <decl.function.returntype><ref.enum usr=\"s:Os5Never\">Never</ref.enum></decl.function.returntype></decl.function.free>"
},
@@ -6176,7 +6382,7 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFuncNoreturn2()",
key.usr: "c:@F@fooFuncNoreturn2",
- key.offset: 3903,
+ key.offset: 3966,
key.length: 32,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFuncNoreturn2</decl.name>() -> <decl.function.returntype><ref.enum usr=\"s:Os5Never\">Never</ref.enum></decl.function.returntype></decl.function.free>"
},
@@ -6184,8 +6390,8 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFuncWithComment1()",
key.usr: "c:@F@fooFuncWithComment1",
- key.doc.full_as_xml: "<Function file=Foo.h line=\"88\" column=\"6\"><Name>fooFuncWithComment1</Name><USR>c:@F@fooFuncWithComment1</USR><Declaration>func fooFuncWithComment1()</Declaration><Abstract><Para> Aaa. fooFuncWithComment1. Bbb. Ccc.</Para></Abstract><Discussion><Para> Ddd.</Para></Discussion></Function>",
- key.offset: 3936,
+ key.doc.full_as_xml: "<Function file=Foo.h line=\"89\" column=\"6\"><Name>fooFuncWithComment1</Name><USR>c:@F@fooFuncWithComment1</USR><Declaration>func fooFuncWithComment1()</Declaration><Abstract><Para> Aaa. fooFuncWithComment1. Bbb. Ccc.</Para></Abstract><Discussion><Para> Ddd.</Para></Discussion></Function>",
+ key.offset: 3999,
key.length: 26,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFuncWithComment1</decl.name>()</decl.function.free>"
},
@@ -6193,8 +6399,8 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFuncWithComment2()",
key.usr: "c:@F@fooFuncWithComment2",
- key.doc.full_as_xml: "<Function file=Foo.h line=\"93\" column=\"6\"><Name>fooFuncWithComment2</Name><USR>c:@F@fooFuncWithComment2</USR><Declaration>func fooFuncWithComment2()</Declaration><Abstract><Para> Aaa. fooFuncWithComment2. Bbb.</Para></Abstract></Function>",
- key.offset: 3963,
+ key.doc.full_as_xml: "<Function file=Foo.h line=\"94\" column=\"6\"><Name>fooFuncWithComment2</Name><USR>c:@F@fooFuncWithComment2</USR><Declaration>func fooFuncWithComment2()</Declaration><Abstract><Para> Aaa. fooFuncWithComment2. Bbb.</Para></Abstract></Function>",
+ key.offset: 4026,
key.length: 26,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFuncWithComment2</decl.name>()</decl.function.free>"
},
@@ -6202,8 +6408,8 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFuncWithComment3()",
key.usr: "c:@F@fooFuncWithComment3",
- key.doc.full_as_xml: "<Function file=Foo.h line=\"101\" column=\"6\"><Name>fooFuncWithComment3</Name><USR>c:@F@fooFuncWithComment3</USR><Declaration>func fooFuncWithComment3()</Declaration><Abstract><Para> Aaa. fooFuncWithComment3. Bbb.</Para></Abstract><Discussion><Para> Ccc.</Para></Discussion></Function>",
- key.offset: 3990,
+ key.doc.full_as_xml: "<Function file=Foo.h line=\"102\" column=\"6\"><Name>fooFuncWithComment3</Name><USR>c:@F@fooFuncWithComment3</USR><Declaration>func fooFuncWithComment3()</Declaration><Abstract><Para> Aaa. fooFuncWithComment3. Bbb.</Para></Abstract><Discussion><Para> Ccc.</Para></Discussion></Function>",
+ key.offset: 4053,
key.length: 26,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFuncWithComment3</decl.name>()</decl.function.free>"
},
@@ -6211,8 +6417,8 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFuncWithComment4()",
key.usr: "c:@F@fooFuncWithComment4",
- key.doc.full_as_xml: "<Function file=Foo.h line=\"107\" column=\"6\"><Name>fooFuncWithComment4</Name><USR>c:@F@fooFuncWithComment4</USR><Declaration>func fooFuncWithComment4()</Declaration><Abstract><Para> Aaa. fooFuncWithComment4. Bbb.</Para></Abstract><Discussion><Para> Ddd.</Para></Discussion></Function>",
- key.offset: 4017,
+ key.doc.full_as_xml: "<Function file=Foo.h line=\"108\" column=\"6\"><Name>fooFuncWithComment4</Name><USR>c:@F@fooFuncWithComment4</USR><Declaration>func fooFuncWithComment4()</Declaration><Abstract><Para> Aaa. fooFuncWithComment4. Bbb.</Para></Abstract><Discussion><Para> Ddd.</Para></Discussion></Function>",
+ key.offset: 4080,
key.length: 26,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFuncWithComment4</decl.name>()</decl.function.free>"
},
@@ -6220,8 +6426,8 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooFuncWithComment5()",
key.usr: "c:@F@fooFuncWithComment5",
- key.doc.full_as_xml: "<Function file=Foo.h line=\"113\" column=\"6\"><Name>fooFuncWithComment5</Name><USR>c:@F@fooFuncWithComment5</USR><Declaration>func fooFuncWithComment5()</Declaration><Abstract><Para> Aaa. fooFuncWithComment5. Bbb. Ccc.</Para></Abstract><Discussion><Para> Ddd.</Para></Discussion></Function>",
- key.offset: 4044,
+ key.doc.full_as_xml: "<Function file=Foo.h line=\"114\" column=\"6\"><Name>fooFuncWithComment5</Name><USR>c:@F@fooFuncWithComment5</USR><Declaration>func fooFuncWithComment5()</Declaration><Abstract><Para> Aaa. fooFuncWithComment5. Bbb. Ccc.</Para></Abstract><Discussion><Para> Ddd.</Para></Discussion></Function>",
+ key.offset: 4107,
key.length: 26,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooFuncWithComment5</decl.name>()</decl.function.free>"
},
@@ -6229,8 +6435,8 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "redeclaredInMultipleModulesFunc1(_:)",
key.usr: "c:@F@redeclaredInMultipleModulesFunc1",
- key.doc.full_as_xml: "<Function file=Foo.h line=\"117\" column=\"5\"><Name>redeclaredInMultipleModulesFunc1</Name><USR>c:@F@redeclaredInMultipleModulesFunc1</USR><Declaration>func redeclaredInMultipleModulesFunc1(_ a: Int32) -> Int32</Declaration><Abstract><Para> Aaa. redeclaredInMultipleModulesFunc1. Bbb.</Para></Abstract></Function>",
- key.offset: 4071,
+ key.doc.full_as_xml: "<Function file=Foo.h line=\"118\" column=\"5\"><Name>redeclaredInMultipleModulesFunc1</Name><USR>c:@F@redeclaredInMultipleModulesFunc1</USR><Declaration>func redeclaredInMultipleModulesFunc1(_ a: Int32) -> Int32</Declaration><Abstract><Para> Aaa. redeclaredInMultipleModulesFunc1. Bbb.</Para></Abstract></Function>",
+ key.offset: 4134,
key.length: 58,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>redeclaredInMultipleModulesFunc1</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>a</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>) -> <decl.function.returntype><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.function.returntype></decl.function.free>",
key.entities: [
@@ -6238,7 +6444,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "a",
- key.offset: 4114,
+ key.offset: 4177,
key.length: 5
}
]
@@ -6247,8 +6453,8 @@
key.kind: source.lang.swift.decl.protocol,
key.name: "FooProtocolBase",
key.usr: "c:objc(pl)FooProtocolBase",
- key.doc.full_as_xml: "<Other file=Foo.h line=\"120\" column=\"11\"><Name>FooProtocolBase</Name><USR>c:objc(pl)FooProtocolBase</USR><Declaration>protocol FooProtocolBase</Declaration><Abstract><Para> Aaa. FooProtocolBase. Bbb.</Para></Abstract></Other>",
- key.offset: 4130,
+ key.doc.full_as_xml: "<Other file=Foo.h line=\"121\" column=\"11\"><Name>FooProtocolBase</Name><USR>c:objc(pl)FooProtocolBase</USR><Declaration>protocol FooProtocolBase</Declaration><Abstract><Para> Aaa. FooProtocolBase. Bbb.</Para></Abstract></Other>",
+ key.offset: 4193,
key.length: 301,
key.fully_annotated_decl: "<decl.protocol><syntaxtype.keyword>protocol</syntaxtype.keyword> <decl.name>FooProtocolBase</decl.name></decl.protocol>",
key.entities: [
@@ -6256,8 +6462,8 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "fooProtoFunc()",
key.usr: "c:objc(pl)FooProtocolBase(im)fooProtoFunc",
- key.doc.full_as_xml: "<Function isInstanceMethod=\"1\" file=Foo.h line=\"124\" column=\"1\"><Name>fooProtoFunc</Name><USR>c:objc(pl)FooProtocolBase(im)fooProtoFunc</USR><Declaration>func fooProtoFunc()</Declaration><Abstract><Para> Aaa. fooProtoFunc. Bbb. Ccc.</Para></Abstract></Function>",
- key.offset: 4162,
+ key.doc.full_as_xml: "<Function isInstanceMethod=\"1\" file=Foo.h line=\"125\" column=\"1\"><Name>fooProtoFunc</Name><USR>c:objc(pl)FooProtocolBase(im)fooProtoFunc</USR><Declaration>func fooProtoFunc()</Declaration><Abstract><Para> Aaa. fooProtoFunc. Bbb. Ccc.</Para></Abstract></Function>",
+ key.offset: 4225,
key.length: 19,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooProtoFunc</decl.name>()</decl.function.method.instance>"
},
@@ -6265,8 +6471,8 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "fooProtoFuncWithExtraIndentation1()",
key.usr: "c:objc(pl)FooProtocolBase(im)fooProtoFuncWithExtraIndentation1",
- key.doc.full_as_xml: "<Function isInstanceMethod=\"1\" file=Foo.h line=\"128\" column=\"3\"><Name>fooProtoFuncWithExtraIndentation1</Name><USR>c:objc(pl)FooProtocolBase(im)fooProtoFuncWithExtraIndentation1</USR><Declaration>func fooProtoFuncWithExtraIndentation1()</Declaration><Abstract><Para> Aaa. fooProtoFuncWithExtraIndentation1. Bbb. Ccc.</Para></Abstract></Function>",
- key.offset: 4187,
+ key.doc.full_as_xml: "<Function isInstanceMethod=\"1\" file=Foo.h line=\"129\" column=\"3\"><Name>fooProtoFuncWithExtraIndentation1</Name><USR>c:objc(pl)FooProtocolBase(im)fooProtoFuncWithExtraIndentation1</USR><Declaration>func fooProtoFuncWithExtraIndentation1()</Declaration><Abstract><Para> Aaa. fooProtoFuncWithExtraIndentation1. Bbb. Ccc.</Para></Abstract></Function>",
+ key.offset: 4250,
key.length: 40,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooProtoFuncWithExtraIndentation1</decl.name>()</decl.function.method.instance>"
},
@@ -6274,8 +6480,8 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "fooProtoFuncWithExtraIndentation2()",
key.usr: "c:objc(pl)FooProtocolBase(im)fooProtoFuncWithExtraIndentation2",
- key.doc.full_as_xml: "<Function isInstanceMethod=\"1\" file=Foo.h line=\"134\" column=\"3\"><Name>fooProtoFuncWithExtraIndentation2</Name><USR>c:objc(pl)FooProtocolBase(im)fooProtoFuncWithExtraIndentation2</USR><Declaration>func fooProtoFuncWithExtraIndentation2()</Declaration><Abstract><Para> Aaa. fooProtoFuncWithExtraIndentation2. Bbb. Ccc.</Para></Abstract></Function>",
- key.offset: 4233,
+ key.doc.full_as_xml: "<Function isInstanceMethod=\"1\" file=Foo.h line=\"135\" column=\"3\"><Name>fooProtoFuncWithExtraIndentation2</Name><USR>c:objc(pl)FooProtocolBase(im)fooProtoFuncWithExtraIndentation2</USR><Declaration>func fooProtoFuncWithExtraIndentation2()</Declaration><Abstract><Para> Aaa. fooProtoFuncWithExtraIndentation2. Bbb. Ccc.</Para></Abstract></Function>",
+ key.offset: 4296,
key.length: 40,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooProtoFuncWithExtraIndentation2</decl.name>()</decl.function.method.instance>"
},
@@ -6283,7 +6489,7 @@
key.kind: source.lang.swift.decl.function.method.static,
key.name: "fooProtoClassFunc()",
key.usr: "c:objc(pl)FooProtocolBase(cm)fooProtoClassFunc",
- key.offset: 4279,
+ key.offset: 4342,
key.length: 31,
key.fully_annotated_decl: "<decl.function.method.static><syntaxtype.keyword>static</syntaxtype.keyword> <syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooProtoClassFunc</decl.name>()</decl.function.method.static>"
},
@@ -6291,7 +6497,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "fooProperty1",
key.usr: "c:objc(pl)FooProtocolBase(py)fooProperty1",
- key.offset: 4316,
+ key.offset: 4379,
key.length: 35,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>fooProperty1</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6299,7 +6505,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "fooProperty2",
key.usr: "c:objc(pl)FooProtocolBase(py)fooProperty2",
- key.offset: 4357,
+ key.offset: 4420,
key.length: 35,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>fooProperty2</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6307,7 +6513,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "fooProperty3",
key.usr: "c:objc(pl)FooProtocolBase(py)fooProperty3",
- key.offset: 4398,
+ key.offset: 4461,
key.length: 31,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>fooProperty3</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.instance>"
}
@@ -6317,7 +6523,7 @@
key.kind: source.lang.swift.decl.protocol,
key.name: "FooProtocolDerived",
key.usr: "c:objc(pl)FooProtocolDerived",
- key.offset: 4432,
+ key.offset: 4495,
key.length: 49,
key.fully_annotated_decl: "<decl.protocol><syntaxtype.keyword>protocol</syntaxtype.keyword> <decl.name>FooProtocolDerived</decl.name> : <ref.protocol usr=\"c:objc(pl)FooProtocolBase\">FooProtocolBase</ref.protocol></decl.protocol>",
key.conforms: [
@@ -6332,7 +6538,7 @@
key.kind: source.lang.swift.decl.class,
key.name: "FooClassBase",
key.usr: "c:objc(cs)FooClassBase",
- key.offset: 4482,
+ key.offset: 4545,
key.length: 392,
key.fully_annotated_decl: "<decl.class><syntaxtype.keyword>class</syntaxtype.keyword> <decl.name>FooClassBase</decl.name></decl.class>",
key.entities: [
@@ -6340,7 +6546,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "fooBaseInstanceFunc0()",
key.usr: "c:objc(cs)FooClassBase(im)fooBaseInstanceFunc0",
- key.offset: 4508,
+ key.offset: 4571,
key.length: 27,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooBaseInstanceFunc0</decl.name>()</decl.function.method.instance>"
},
@@ -6348,7 +6554,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "fooBaseInstanceFunc1(_:)",
key.usr: "c:objc(cs)FooClassBase(im)fooBaseInstanceFunc1:",
- key.offset: 4541,
+ key.offset: 4604,
key.length: 60,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooBaseInstanceFunc1</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>anObject</decl.var.parameter.name>: <decl.var.parameter.type>Any!</decl.var.parameter.type></decl.var.parameter>) -> <decl.function.returntype><ref.class usr=\"c:objc(cs)FooClassBase\">FooClassBase</ref.class>!</decl.function.returntype></decl.function.method.instance>",
key.entities: [
@@ -6356,7 +6562,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "anObject",
- key.offset: 4579,
+ key.offset: 4642,
key.length: 4
}
]
@@ -6365,7 +6571,7 @@
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init()",
key.usr: "c:objc(cs)FooClassBase(im)init",
- key.offset: 4607,
+ key.offset: 4670,
key.length: 7,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>!()</decl.function.constructor>"
},
@@ -6373,7 +6579,7 @@
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init(float:)",
key.usr: "c:objc(cs)FooClassBase(im)initWithFloat:",
- key.offset: 4620,
+ key.offset: 4683,
key.length: 33,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>convenience</syntaxtype.keyword> <syntaxtype.keyword>init</syntaxtype.keyword>!(<decl.var.parameter><decl.var.parameter.argument_label>float</decl.var.parameter.argument_label> <decl.var.parameter.name>f</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Sf\">Float</ref.struct></decl.var.parameter.type></decl.var.parameter>)</decl.function.constructor>",
key.entities: [
@@ -6381,7 +6587,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "float",
key.name: "f",
- key.offset: 4647,
+ key.offset: 4710,
key.length: 5
}
]
@@ -6390,7 +6596,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "fooBaseInstanceFuncOverridden()",
key.usr: "c:objc(cs)FooClassBase(im)fooBaseInstanceFuncOverridden",
- key.offset: 4659,
+ key.offset: 4722,
key.length: 36,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooBaseInstanceFuncOverridden</decl.name>()</decl.function.method.instance>"
},
@@ -6398,7 +6604,7 @@
key.kind: source.lang.swift.decl.function.method.class,
key.name: "fooBaseClassFunc0()",
key.usr: "c:objc(cs)FooClassBase(cm)fooBaseClassFunc0",
- key.offset: 4701,
+ key.offset: 4764,
key.length: 30,
key.fully_annotated_decl: "<decl.function.method.class><syntaxtype.keyword>class</syntaxtype.keyword> <syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooBaseClassFunc0</decl.name>()</decl.function.method.class>"
},
@@ -6406,7 +6612,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "_internalMeth3()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth3",
- key.offset: 4737,
+ key.offset: 4800,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth3</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -6414,7 +6620,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "_internalMeth2()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth2",
- key.offset: 4772,
+ key.offset: 4835,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth2</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -6422,7 +6628,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "nonInternalMeth()",
key.usr: "c:objc(cs)FooClassBase(im)nonInternalMeth",
- key.offset: 4807,
+ key.offset: 4870,
key.length: 30,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>nonInternalMeth</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -6430,7 +6636,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "_internalMeth1()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth1",
- key.offset: 4843,
+ key.offset: 4906,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth1</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
}
@@ -6440,8 +6646,8 @@
key.kind: source.lang.swift.decl.class,
key.name: "FooClassDerived",
key.usr: "c:objc(cs)FooClassDerived",
- key.doc.full_as_xml: "<Other file=Foo.h line=\"157\" column=\"12\"><Name>FooClassDerived</Name><USR>c:objc(cs)FooClassDerived</USR><Declaration>class FooClassDerived : FooClassBase, FooProtocolDerived</Declaration><Abstract><Para> Aaa. FooClassDerived. Bbb.</Para></Abstract></Other>",
- key.offset: 4875,
+ key.doc.full_as_xml: "<Other file=Foo.h line=\"158\" column=\"12\"><Name>FooClassDerived</Name><USR>c:objc(cs)FooClassDerived</USR><Declaration>class FooClassDerived : FooClassBase, FooProtocolDerived</Declaration><Abstract><Para> Aaa. FooClassDerived. Bbb.</Para></Abstract></Other>",
+ key.offset: 4938,
key.length: 493,
key.fully_annotated_decl: "<decl.class><syntaxtype.keyword>class</syntaxtype.keyword> <decl.name>FooClassDerived</decl.name> : <ref.class usr=\"c:objc(cs)FooClassBase\">FooClassBase</ref.class>, <ref.protocol usr=\"c:objc(pl)FooProtocolDerived\">FooProtocolDerived</ref.protocol></decl.class>",
key.inherits: [
@@ -6463,7 +6669,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "fooProperty1",
key.usr: "c:objc(cs)FooClassDerived(py)fooProperty1",
- key.offset: 4939,
+ key.offset: 5002,
key.length: 23,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>fooProperty1</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6471,7 +6677,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "fooProperty2",
key.usr: "c:objc(cs)FooClassDerived(py)fooProperty2",
- key.offset: 4968,
+ key.offset: 5031,
key.length: 23,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>fooProperty2</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6479,7 +6685,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "fooProperty3",
key.usr: "c:objc(cs)FooClassDerived(py)fooProperty3",
- key.offset: 4997,
+ key.offset: 5060,
key.length: 31,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>fooProperty3</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6487,7 +6693,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "fooInstanceFunc0()",
key.usr: "c:objc(cs)FooClassDerived(im)fooInstanceFunc0",
- key.offset: 5034,
+ key.offset: 5097,
key.length: 23,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooInstanceFunc0</decl.name>()</decl.function.method.instance>"
},
@@ -6495,7 +6701,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "fooInstanceFunc1(_:)",
key.usr: "c:objc(cs)FooClassDerived(im)fooInstanceFunc1:",
- key.offset: 5063,
+ key.offset: 5126,
key.length: 33,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooInstanceFunc1</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>a</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>)</decl.function.method.instance>",
key.entities: [
@@ -6503,7 +6709,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "a",
- key.offset: 5090,
+ key.offset: 5153,
key.length: 5
}
]
@@ -6512,7 +6718,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "fooInstanceFunc2(_:withB:)",
key.usr: "c:objc(cs)FooClassDerived(im)fooInstanceFunc2:withB:",
- key.offset: 5102,
+ key.offset: 5165,
key.length: 49,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooInstanceFunc2</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>a</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>, <decl.var.parameter><decl.var.parameter.argument_label>withB</decl.var.parameter.argument_label> <decl.var.parameter.name>b</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>)</decl.function.method.instance>",
key.entities: [
@@ -6520,14 +6726,14 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "a",
- key.offset: 5129,
+ key.offset: 5192,
key.length: 5
},
{
key.kind: source.lang.swift.decl.var.local,
key.keyword: "withB",
key.name: "b",
- key.offset: 5145,
+ key.offset: 5208,
key.length: 5
}
]
@@ -6536,7 +6742,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "fooBaseInstanceFuncOverridden()",
key.usr: "c:objc(cs)FooClassDerived(im)fooBaseInstanceFuncOverridden",
- key.offset: 5157,
+ key.offset: 5220,
key.length: 36,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooBaseInstanceFuncOverridden</decl.name>()</decl.function.method.instance>",
key.inherits: [
@@ -6551,7 +6757,7 @@
key.kind: source.lang.swift.decl.function.method.class,
key.name: "fooClassFunc0()",
key.usr: "c:objc(cs)FooClassDerived(cm)fooClassFunc0",
- key.offset: 5199,
+ key.offset: 5262,
key.length: 26,
key.fully_annotated_decl: "<decl.function.method.class><syntaxtype.keyword>class</syntaxtype.keyword> <syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooClassFunc0</decl.name>()</decl.function.method.class>"
},
@@ -6560,7 +6766,7 @@
key.name: "_internalMeth3()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth3::SYNTHESIZED::c:objc(cs)FooClassDerived",
key.original_usr: "c:objc(cs)FooClassBase(im)_internalMeth3",
- key.offset: 5231,
+ key.offset: 5294,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth3</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -6569,7 +6775,7 @@
key.name: "_internalMeth2()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth2::SYNTHESIZED::c:objc(cs)FooClassDerived",
key.original_usr: "c:objc(cs)FooClassBase(im)_internalMeth2",
- key.offset: 5266,
+ key.offset: 5329,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth2</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -6578,7 +6784,7 @@
key.name: "nonInternalMeth()",
key.usr: "c:objc(cs)FooClassBase(im)nonInternalMeth::SYNTHESIZED::c:objc(cs)FooClassDerived",
key.original_usr: "c:objc(cs)FooClassBase(im)nonInternalMeth",
- key.offset: 5301,
+ key.offset: 5364,
key.length: 30,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>nonInternalMeth</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -6587,65 +6793,138 @@
key.name: "_internalMeth1()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth1::SYNTHESIZED::c:objc(cs)FooClassDerived",
key.original_usr: "c:objc(cs)FooClassBase(im)_internalMeth1",
- key.offset: 5337,
+ key.offset: 5400,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth1</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
}
]
},
{
+ key.kind: source.lang.swift.decl.typealias,
+ key.name: "typedef_int_t",
+ key.usr: "c:Foo.h@T@typedef_int_t",
+ key.offset: 5432,
+ key.length: 31,
+ key.fully_annotated_decl: "<decl.typealias><syntaxtype.keyword>typealias</syntaxtype.keyword> <decl.name>typedef_int_t</decl.name> = <ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.typealias>",
+ key.conforms: [
+ {
+ key.kind: source.lang.swift.ref.protocol,
+ key.name: "SignedInteger",
+ key.usr: "s:Ps13SignedInteger"
+ },
+ {
+ key.kind: source.lang.swift.ref.protocol,
+ key.name: "Comparable",
+ key.usr: "s:Ps10Comparable"
+ },
+ {
+ key.kind: source.lang.swift.ref.protocol,
+ key.name: "Equatable",
+ key.usr: "s:Ps9Equatable"
+ }
+ ]
+ },
+ {
key.kind: source.lang.swift.decl.var.global,
key.name: "FOO_MACRO_1",
- key.usr: "c:Foo.h@3647@macro@FOO_MACRO_1",
- key.offset: 5369,
+ key.usr: "c:Foo.h@3720@macro@FOO_MACRO_1",
+ key.offset: 5464,
key.length: 30,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_1</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
},
{
key.kind: source.lang.swift.decl.var.global,
key.name: "FOO_MACRO_2",
- key.usr: "c:Foo.h@3669@macro@FOO_MACRO_2",
- key.offset: 5400,
+ key.usr: "c:Foo.h@3742@macro@FOO_MACRO_2",
+ key.offset: 5495,
key.length: 30,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_2</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
},
{
key.kind: source.lang.swift.decl.var.global,
key.name: "FOO_MACRO_3",
- key.usr: "c:Foo.h@3691@macro@FOO_MACRO_3",
- key.offset: 5431,
+ key.usr: "c:Foo.h@3764@macro@FOO_MACRO_3",
+ key.offset: 5526,
key.length: 30,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_3</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
},
{
key.kind: source.lang.swift.decl.var.global,
key.name: "FOO_MACRO_4",
- key.usr: "c:Foo.h@3755@macro@FOO_MACRO_4",
- key.offset: 5462,
+ key.usr: "c:Foo.h@3828@macro@FOO_MACRO_4",
+ key.offset: 5557,
key.length: 31,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_4</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs6UInt32\">UInt32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
},
{
key.kind: source.lang.swift.decl.var.global,
key.name: "FOO_MACRO_5",
- key.usr: "c:Foo.h@3787@macro@FOO_MACRO_5",
- key.offset: 5494,
+ key.usr: "c:Foo.h@3860@macro@FOO_MACRO_5",
+ key.offset: 5589,
key.length: 31,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_5</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs6UInt64\">UInt64</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
},
{
key.kind: source.lang.swift.decl.var.global,
+ key.name: "FOO_MACRO_6",
+ key.usr: "c:Foo.h@3902@macro@FOO_MACRO_6",
+ key.offset: 5621,
+ key.length: 38,
+ key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_6</decl.name>: <decl.var.type><ref.typealias usr=\"c:Foo.h@T@typedef_int_t\">typedef_int_t</ref.typealias></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
+ key.name: "FOO_MACRO_7",
+ key.usr: "c:Foo.h@3943@macro@FOO_MACRO_7",
+ key.offset: 5660,
+ key.length: 38,
+ key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_7</decl.name>: <decl.var.type><ref.typealias usr=\"c:Foo.h@T@typedef_int_t\">typedef_int_t</ref.typealias></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
+ key.name: "FOO_MACRO_8",
+ key.usr: "c:Foo.h@3984@macro@FOO_MACRO_8",
+ key.offset: 5699,
+ key.length: 29,
+ key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_8</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs4Int8\">Int8</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
+ key.name: "FOO_MACRO_9",
+ key.usr: "c:Foo.h@4015@macro@FOO_MACRO_9",
+ key.offset: 5729,
+ key.length: 30,
+ key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_9</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
+ key.name: "FOO_MACRO_10",
+ key.usr: "c:Foo.h@4045@macro@FOO_MACRO_10",
+ key.offset: 5760,
+ key.length: 31,
+ key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_10</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int16\">Int16</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
+ key.name: "FOO_MACRO_11",
+ key.usr: "c:Foo.h@4079@macro@FOO_MACRO_11",
+ key.offset: 5792,
+ key.length: 29,
+ key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_11</decl.name>: <decl.var.type><ref.struct usr=\"s:Si\">Int</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
key.name: "FOO_MACRO_REDEF_1",
- key.usr: "c:Foo.h@3937@macro@FOO_MACRO_REDEF_1",
- key.offset: 5526,
+ key.usr: "c:Foo.h@4477@macro@FOO_MACRO_REDEF_1",
+ key.offset: 5822,
key.length: 36,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_REDEF_1</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
},
{
key.kind: source.lang.swift.decl.var.global,
key.name: "FOO_MACRO_REDEF_2",
- key.usr: "c:Foo.h@3994@macro@FOO_MACRO_REDEF_2",
- key.offset: 5563,
+ key.usr: "c:Foo.h@4534@macro@FOO_MACRO_REDEF_2",
+ key.offset: 5859,
key.length: 36,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_MACRO_REDEF_2</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
},
@@ -6653,7 +6932,7 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "theLastDeclInFoo()",
key.usr: "c:@F@theLastDeclInFoo",
- key.offset: 5600,
+ key.offset: 5896,
key.length: 23,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>theLastDeclInFoo</decl.name>()</decl.function.free>"
},
@@ -6661,7 +6940,7 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "_internalTopLevelFunc()",
key.usr: "c:@F@_internalTopLevelFunc",
- key.offset: 5624,
+ key.offset: 5920,
key.length: 28,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalTopLevelFunc</decl.name>()</decl.function.free>"
},
@@ -6669,7 +6948,7 @@
key.kind: source.lang.swift.decl.struct,
key.name: "_InternalStruct",
key.usr: "c:@S@_InternalStruct",
- key.offset: 5653,
+ key.offset: 5949,
key.length: 78,
key.fully_annotated_decl: "<decl.struct><syntaxtype.keyword>struct</syntaxtype.keyword> <decl.name>_InternalStruct</decl.name></decl.struct>",
key.entities: [
@@ -6677,7 +6956,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "x",
key.usr: "c:@S@_InternalStruct@FI@x",
- key.offset: 5683,
+ key.offset: 5979,
key.length: 12,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>x</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type></decl.var.instance>"
},
@@ -6685,7 +6964,7 @@
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init()",
key.usr: "s:FVSC15_InternalStructcFT_S_",
- key.offset: 5701,
+ key.offset: 5997,
key.length: 6,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>()</decl.function.constructor>"
},
@@ -6693,7 +6972,7 @@
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init(x:)",
key.usr: "s:FVSC15_InternalStructcFT1xVs5Int32_S_",
- key.offset: 5713,
+ key.offset: 6009,
key.length: 16,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>x</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>)</decl.function.constructor>",
key.entities: [
@@ -6701,7 +6980,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "x",
key.name: "x",
- key.offset: 5723,
+ key.offset: 6019,
key.length: 5
}
]
@@ -6710,7 +6989,7 @@
},
{
key.kind: source.lang.swift.decl.extension.class,
- key.offset: 5732,
+ key.offset: 6028,
key.length: 61,
key.extends: {
key.kind: source.lang.swift.ref.class,
@@ -6722,7 +7001,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "_internalMeth1()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth1",
- key.offset: 5762,
+ key.offset: 6058,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth1</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
}
@@ -6730,7 +7009,7 @@
},
{
key.kind: source.lang.swift.decl.extension.class,
- key.offset: 5794,
+ key.offset: 6090,
key.length: 97,
key.extends: {
key.kind: source.lang.swift.ref.class,
@@ -6742,7 +7021,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "_internalMeth2()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth2",
- key.offset: 5824,
+ key.offset: 6120,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth2</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -6750,7 +7029,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "nonInternalMeth()",
key.usr: "c:objc(cs)FooClassBase(im)nonInternalMeth",
- key.offset: 5859,
+ key.offset: 6155,
key.length: 30,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>nonInternalMeth</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
}
@@ -6758,7 +7037,7 @@
},
{
key.kind: source.lang.swift.decl.extension.class,
- key.offset: 5892,
+ key.offset: 6188,
key.length: 61,
key.extends: {
key.kind: source.lang.swift.ref.class,
@@ -6770,7 +7049,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "_internalMeth3()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth3",
- key.offset: 5922,
+ key.offset: 6218,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth3</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
}
@@ -6780,7 +7059,7 @@
key.kind: source.lang.swift.decl.protocol,
key.name: "_InternalProt",
key.usr: "c:objc(pl)_InternalProt",
- key.offset: 5954,
+ key.offset: 6250,
key.length: 26,
key.fully_annotated_decl: "<decl.protocol><syntaxtype.keyword>protocol</syntaxtype.keyword> <decl.name>_InternalProt</decl.name></decl.protocol>"
},
@@ -6788,7 +7067,7 @@
key.kind: source.lang.swift.decl.class,
key.name: "ClassWithInternalProt",
key.usr: "c:objc(cs)ClassWithInternalProt",
- key.offset: 5981,
+ key.offset: 6277,
key.length: 47,
key.fully_annotated_decl: "<decl.class><syntaxtype.keyword>class</syntaxtype.keyword> <decl.name>ClassWithInternalProt</decl.name> : <ref.protocol usr=\"c:objc(pl)_InternalProt\">_InternalProt</ref.protocol></decl.class>",
key.conforms: [
@@ -6803,7 +7082,7 @@
key.kind: source.lang.swift.decl.class,
key.name: "FooClassPropertyOwnership",
key.usr: "c:objc(cs)FooClassPropertyOwnership",
- key.offset: 6029,
+ key.offset: 6325,
key.length: 425,
key.fully_annotated_decl: "<decl.class><syntaxtype.keyword>class</syntaxtype.keyword> <decl.name>FooClassPropertyOwnership</decl.name> : <ref.class usr=\"c:objc(cs)FooClassBase\">FooClassBase</ref.class></decl.class>",
key.inherits: [
@@ -6818,7 +7097,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "assignable",
key.usr: "c:objc(cs)FooClassPropertyOwnership(py)assignable",
- key.offset: 6083,
+ key.offset: 6379,
key.length: 42,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>unowned(unsafe)</syntaxtype.keyword> <syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>assignable</decl.name>: <decl.var.type><ref.protocol usr=\"s:Ps9AnyObject\">AnyObject</ref.protocol>!</decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6826,7 +7105,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "unsafeAssignable",
key.usr: "c:objc(cs)FooClassPropertyOwnership(py)unsafeAssignable",
- key.offset: 6131,
+ key.offset: 6427,
key.length: 48,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>unowned(unsafe)</syntaxtype.keyword> <syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>unsafeAssignable</decl.name>: <decl.var.type><ref.protocol usr=\"s:Ps9AnyObject\">AnyObject</ref.protocol>!</decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6834,7 +7113,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "retainable",
key.usr: "c:objc(cs)FooClassPropertyOwnership(py)retainable",
- key.offset: 6185,
+ key.offset: 6481,
key.length: 20,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>retainable</decl.name>: <decl.var.type>Any!</decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6842,7 +7121,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "strongRef",
key.usr: "c:objc(cs)FooClassPropertyOwnership(py)strongRef",
- key.offset: 6211,
+ key.offset: 6507,
key.length: 19,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>strongRef</decl.name>: <decl.var.type>Any!</decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6850,7 +7129,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "copyable",
key.usr: "c:objc(cs)FooClassPropertyOwnership(py)copyable",
- key.offset: 6236,
+ key.offset: 6532,
key.length: 18,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>copyable</decl.name>: <decl.var.type>Any!</decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6858,7 +7137,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "weakRef",
key.usr: "c:objc(cs)FooClassPropertyOwnership(py)weakRef",
- key.offset: 6260,
+ key.offset: 6556,
key.length: 28,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>weak</syntaxtype.keyword> <syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>weakRef</decl.name>: <decl.var.type><ref.protocol usr=\"s:Ps9AnyObject\">AnyObject</ref.protocol>!</decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6866,7 +7145,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "scalar",
key.usr: "c:objc(cs)FooClassPropertyOwnership(py)scalar",
- key.offset: 6294,
+ key.offset: 6590,
key.length: 17,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>scalar</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> <syntaxtype.keyword>set</syntaxtype.keyword> }</decl.var.instance>"
},
@@ -6875,7 +7154,7 @@
key.name: "_internalMeth3()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth3::SYNTHESIZED::c:objc(cs)FooClassPropertyOwnership",
key.original_usr: "c:objc(cs)FooClassBase(im)_internalMeth3",
- key.offset: 6317,
+ key.offset: 6613,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth3</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -6884,7 +7163,7 @@
key.name: "_internalMeth2()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth2::SYNTHESIZED::c:objc(cs)FooClassPropertyOwnership",
key.original_usr: "c:objc(cs)FooClassBase(im)_internalMeth2",
- key.offset: 6352,
+ key.offset: 6648,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth2</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -6893,7 +7172,7 @@
key.name: "nonInternalMeth()",
key.usr: "c:objc(cs)FooClassBase(im)nonInternalMeth::SYNTHESIZED::c:objc(cs)FooClassPropertyOwnership",
key.original_usr: "c:objc(cs)FooClassBase(im)nonInternalMeth",
- key.offset: 6387,
+ key.offset: 6683,
key.length: 30,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>nonInternalMeth</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -6902,7 +7181,7 @@
key.name: "_internalMeth1()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth1::SYNTHESIZED::c:objc(cs)FooClassPropertyOwnership",
key.original_usr: "c:objc(cs)FooClassBase(im)_internalMeth1",
- key.offset: 6423,
+ key.offset: 6719,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth1</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
}
@@ -6911,8 +7190,8 @@
{
key.kind: source.lang.swift.decl.var.global,
key.name: "FOO_NIL",
- key.usr: "c:Foo.h@4783@macro@FOO_NIL",
- key.offset: 6455,
+ key.usr: "c:Foo.h@5323@macro@FOO_NIL",
+ key.offset: 6751,
key.length: 15,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FOO_NIL</decl.name>: <decl.var.type><tuple>()</tuple></decl.var.type></decl.var.global>",
key.attributes: [
@@ -6928,7 +7207,7 @@
key.kind: source.lang.swift.decl.class,
key.name: "FooUnavailableMembers",
key.usr: "c:objc(cs)FooUnavailableMembers",
- key.offset: 6471,
+ key.offset: 6767,
key.length: 637,
key.fully_annotated_decl: "<decl.class><syntaxtype.keyword>class</syntaxtype.keyword> <decl.name>FooUnavailableMembers</decl.name> : <ref.class usr=\"c:objc(cs)FooClassBase\">FooClassBase</ref.class></decl.class>",
key.inherits: [
@@ -6943,7 +7222,7 @@
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init(int:)",
key.usr: "c:objc(cs)FooUnavailableMembers(cm)unavailableMembersWithInt:",
- key.offset: 6521,
+ key.offset: 6817,
key.length: 31,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>convenience</syntaxtype.keyword> <syntaxtype.keyword>init</syntaxtype.keyword>!(<decl.var.parameter><decl.var.parameter.argument_label>int</decl.var.parameter.argument_label> <decl.var.parameter.name>i</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>)</decl.function.constructor>",
key.entities: [
@@ -6951,7 +7230,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "int",
key.name: "i",
- key.offset: 6546,
+ key.offset: 6842,
key.length: 5
}
]
@@ -6960,7 +7239,7 @@
key.kind: source.lang.swift.decl.function.method.class,
key.name: "withInt(_:)",
key.usr: "c:objc(cs)FooUnavailableMembers(cm)unavailableMembersWithInt:",
- key.offset: 6558,
+ key.offset: 6854,
key.length: 39,
key.fully_annotated_decl: "<decl.function.method.class><syntaxtype.keyword>class</syntaxtype.keyword> <syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>withInt</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>i</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>) -> <decl.function.returntype><ref.class usr=\"c:objc(cs)FooUnavailableMembers\">Self</ref.class>!</decl.function.returntype></decl.function.method.class>",
key.entities: [
@@ -6968,7 +7247,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "i",
- key.offset: 6582,
+ key.offset: 6878,
key.length: 5
}
],
@@ -6985,7 +7264,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "unavailable()",
key.usr: "c:objc(cs)FooUnavailableMembers(im)unavailable",
- key.offset: 6603,
+ key.offset: 6899,
key.length: 18,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>unavailable</decl.name>()</decl.function.method.instance>",
key.attributes: [
@@ -7001,7 +7280,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "swiftUnavailable()",
key.usr: "c:objc(cs)FooUnavailableMembers(im)swiftUnavailable",
- key.offset: 6627,
+ key.offset: 6923,
key.length: 23,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>swiftUnavailable</decl.name>()</decl.function.method.instance>",
key.attributes: [
@@ -7016,7 +7295,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "deprecated()",
key.usr: "c:objc(cs)FooUnavailableMembers(im)deprecated",
- key.offset: 6656,
+ key.offset: 6952,
key.length: 17,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>deprecated</decl.name>()</decl.function.method.instance>",
key.attributes: [
@@ -7032,7 +7311,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "availabilityIntroduced()",
key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityIntroduced",
- key.offset: 6679,
+ key.offset: 6975,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>availabilityIntroduced</decl.name>()</decl.function.method.instance>",
key.attributes: [
@@ -7047,7 +7326,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "availabilityDeprecated()",
key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityDeprecated",
- key.offset: 6714,
+ key.offset: 7010,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>availabilityDeprecated</decl.name>()</decl.function.method.instance>",
key.attributes: [
@@ -7066,7 +7345,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "availabilityObsoleted()",
key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityObsoleted",
- key.offset: 6749,
+ key.offset: 7045,
key.length: 28,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>availabilityObsoleted</decl.name>()</decl.function.method.instance>",
key.attributes: [
@@ -7082,7 +7361,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "availabilityUnavailable()",
key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityUnavailable",
- key.offset: 6783,
+ key.offset: 7079,
key.length: 30,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>availabilityUnavailable</decl.name>()</decl.function.method.instance>",
key.attributes: [
@@ -7098,7 +7377,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "availabilityIntroducedMsg()",
key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityIntroducedMsg",
- key.offset: 6819,
+ key.offset: 7115,
key.length: 32,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>availabilityIntroducedMsg</decl.name>()</decl.function.method.instance>",
key.attributes: [
@@ -7114,7 +7393,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "availabilityDeprecatedMsg()",
key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityDeprecatedMsg",
- key.offset: 6857,
+ key.offset: 7153,
key.length: 32,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>availabilityDeprecatedMsg</decl.name>()</decl.function.method.instance>",
key.attributes: [
@@ -7133,7 +7412,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "availabilityObsoletedMsg()",
key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityObsoletedMsg",
- key.offset: 6895,
+ key.offset: 7191,
key.length: 31,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>availabilityObsoletedMsg</decl.name>()</decl.function.method.instance>",
key.attributes: [
@@ -7150,7 +7429,7 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.name: "availabilityUnavailableMsg()",
key.usr: "c:objc(cs)FooUnavailableMembers(im)availabilityUnavailableMsg",
- key.offset: 6932,
+ key.offset: 7228,
key.length: 33,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>availabilityUnavailableMsg</decl.name>()</decl.function.method.instance>",
key.attributes: [
@@ -7168,7 +7447,7 @@
key.name: "_internalMeth3()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth3::SYNTHESIZED::c:objc(cs)FooUnavailableMembers",
key.original_usr: "c:objc(cs)FooClassBase(im)_internalMeth3",
- key.offset: 6971,
+ key.offset: 7267,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth3</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -7177,7 +7456,7 @@
key.name: "_internalMeth2()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth2::SYNTHESIZED::c:objc(cs)FooUnavailableMembers",
key.original_usr: "c:objc(cs)FooClassBase(im)_internalMeth2",
- key.offset: 7006,
+ key.offset: 7302,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth2</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -7186,7 +7465,7 @@
key.name: "nonInternalMeth()",
key.usr: "c:objc(cs)FooClassBase(im)nonInternalMeth::SYNTHESIZED::c:objc(cs)FooUnavailableMembers",
key.original_usr: "c:objc(cs)FooClassBase(im)nonInternalMeth",
- key.offset: 7041,
+ key.offset: 7337,
key.length: 30,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>nonInternalMeth</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
},
@@ -7195,7 +7474,7 @@
key.name: "_internalMeth1()",
key.usr: "c:objc(cs)FooClassBase(im)_internalMeth1::SYNTHESIZED::c:objc(cs)FooUnavailableMembers",
key.original_usr: "c:objc(cs)FooClassBase(im)_internalMeth1",
- key.offset: 7077,
+ key.offset: 7373,
key.length: 29,
key.fully_annotated_decl: "<decl.function.method.instance><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>_internalMeth1</decl.name>() -> <decl.function.returntype>Any!</decl.function.returntype></decl.function.method.instance>"
}
@@ -7205,7 +7484,7 @@
key.kind: source.lang.swift.decl.class,
key.name: "FooCFType",
key.usr: "c:Foo.h@T@FooCFTypeRef",
- key.offset: 7109,
+ key.offset: 7405,
key.length: 19,
key.fully_annotated_decl: "<decl.class><syntaxtype.keyword>class</syntaxtype.keyword> <decl.name>FooCFType</decl.name></decl.class>"
},
@@ -7213,14 +7492,14 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "FooCFTypeRelease(_:)",
key.usr: "c:@F@FooCFTypeRelease",
- key.offset: 7129,
+ key.offset: 7425,
key.length: 38,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>FooCFTypeRelease</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.class usr=\"c:Foo.h@T@FooCFTypeRef\">FooCFType</ref.class>!</decl.var.parameter.type></decl.var.parameter>)</decl.function.free>",
key.entities: [
{
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
- key.offset: 7156,
+ key.offset: 7452,
key.length: 10
}
],
@@ -7237,7 +7516,7 @@
key.kind: source.lang.swift.decl.function.free,
key.name: "fooSubFunc1(_:)",
key.usr: "c:@F@fooSubFunc1",
- key.offset: 7168,
+ key.offset: 7464,
key.length: 37,
key.fully_annotated_decl: "<decl.function.free><syntaxtype.keyword>func</syntaxtype.keyword> <decl.name>fooSubFunc1</decl.name>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>a</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.var.parameter.type></decl.var.parameter>) -> <decl.function.returntype><ref.struct usr=\"s:Vs5Int32\">Int32</ref.struct></decl.function.returntype></decl.function.free>",
key.entities: [
@@ -7245,7 +7524,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "a",
- key.offset: 7190,
+ key.offset: 7486,
key.length: 5
}
]
@@ -7254,7 +7533,7 @@
key.kind: source.lang.swift.decl.struct,
key.name: "FooSubEnum1",
key.usr: "c:@E@FooSubEnum1",
- key.offset: 7206,
+ key.offset: 7502,
key.length: 145,
key.fully_annotated_decl: "<decl.struct><syntaxtype.keyword>struct</syntaxtype.keyword> <decl.name>FooSubEnum1</decl.name> : <ref.protocol usr=\"s:Ps16RawRepresentable\">RawRepresentable</ref.protocol>, <ref.protocol usr=\"s:Ps9Equatable\">Equatable</ref.protocol></decl.struct>",
key.conforms: [
@@ -7274,7 +7553,7 @@
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init(_:)",
key.usr: "s:FVSC11FooSubEnum1cFVs6UInt32S_",
- key.offset: 7262,
+ key.offset: 7558,
key.length: 24,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>_</decl.var.parameter.argument_label> <decl.var.parameter.name>rawValue</decl.var.parameter.name>: <decl.var.parameter.type><ref.struct usr=\"s:Vs6UInt32\">UInt32</ref.struct></decl.var.parameter.type></decl.var.parameter>)</decl.function.constructor>",
key.entities: [
@@ -7282,7 +7561,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "_",
key.name: "rawValue",
- key.offset: 7279,
+ key.offset: 7575,
key.length: 6
}
]
@@ -7291,7 +7570,7 @@
key.kind: source.lang.swift.decl.function.constructor,
key.name: "init(rawValue:)",
key.usr: "s:FVSC11FooSubEnum1cFT8rawValueVs6UInt32_S_",
- key.offset: 7292,
+ key.offset: 7588,
key.length: 31,
key.fully_annotated_decl: "<decl.function.constructor><syntaxtype.keyword>init</syntaxtype.keyword>(<decl.var.parameter><decl.var.parameter.argument_label>rawValue</decl.var.parameter.argument_label>: <decl.var.parameter.type><ref.struct usr=\"s:Vs6UInt32\">UInt32</ref.struct></decl.var.parameter.type></decl.var.parameter>)</decl.function.constructor>",
key.conforms: [
@@ -7306,7 +7585,7 @@
key.kind: source.lang.swift.decl.var.local,
key.keyword: "rawValue",
key.name: "rawValue",
- key.offset: 7316,
+ key.offset: 7612,
key.length: 6
}
]
@@ -7315,7 +7594,7 @@
key.kind: source.lang.swift.decl.var.instance,
key.name: "rawValue",
key.usr: "s:vVSC11FooSubEnum18rawValueVs6UInt32",
- key.offset: 7329,
+ key.offset: 7625,
key.length: 20,
key.fully_annotated_decl: "<decl.var.instance><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>rawValue</decl.name>: <decl.var.type><ref.struct usr=\"s:Vs6UInt32\">UInt32</ref.struct></decl.var.type></decl.var.instance>",
key.conforms: [
@@ -7332,7 +7611,7 @@
key.kind: source.lang.swift.decl.var.global,
key.name: "FooSubEnum1X",
key.usr: "c:@E@FooSubEnum1@FooSubEnum1X",
- key.offset: 7352,
+ key.offset: 7648,
key.length: 37,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FooSubEnum1X</decl.name>: <decl.var.type><ref.struct usr=\"c:@E@FooSubEnum1\">FooSubEnum1</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
},
@@ -7340,7 +7619,7 @@
key.kind: source.lang.swift.decl.var.global,
key.name: "FooSubEnum1Y",
key.usr: "c:@E@FooSubEnum1@FooSubEnum1Y",
- key.offset: 7390,
+ key.offset: 7686,
key.length: 37,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FooSubEnum1Y</decl.name>: <decl.var.type><ref.struct usr=\"c:@E@FooSubEnum1\">FooSubEnum1</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
},
@@ -7348,7 +7627,7 @@
key.kind: source.lang.swift.decl.var.global,
key.name: "FooSubUnnamedEnumeratorA1",
key.usr: "c:@Ea@FooSubUnnamedEnumeratorA1@FooSubUnnamedEnumeratorA1",
- key.offset: 7428,
+ key.offset: 7724,
key.length: 42,
key.fully_annotated_decl: "<decl.var.global><syntaxtype.keyword>var</syntaxtype.keyword> <decl.name>FooSubUnnamedEnumeratorA1</decl.name>: <decl.var.type><ref.struct usr=\"s:Si\">Int</ref.struct></decl.var.type> { <syntaxtype.keyword>get</syntaxtype.keyword> }</decl.var.global>"
}
diff --git a/test/SourceKit/Indexing/index.swift b/test/SourceKit/Indexing/index.swift
index cbd8848..bc37807 100644
--- a/test/SourceKit/Indexing/index.swift
+++ b/test/SourceKit/Indexing/index.swift
@@ -1,4 +1,4 @@
-// RUN: %sourcekitd-test -req=index %s -- -serialize-diagnostics -serialize-diagnostics-path %t.dia %s | %sed_clean > %t.response
+// RUN: %sourcekitd-test -req=index %s -- -serialize-diagnostics-path %t.dia %s | %sed_clean > %t.response
// RUN: diff -u %s.response %t.response
var globV: Int
diff --git a/test/SourceKit/Indexing/index_enum_case.swift b/test/SourceKit/Indexing/index_enum_case.swift
index 8b99603..8e1b771 100644
--- a/test/SourceKit/Indexing/index_enum_case.swift
+++ b/test/SourceKit/Indexing/index_enum_case.swift
@@ -1,4 +1,4 @@
-// RUN: %sourcekitd-test -req=index %s -- -serialize-diagnostics -serialize-diagnostics-path %t.dia %s | %sed_clean > %t.response
+// RUN: %sourcekitd-test -req=index %s -- -serialize-diagnostics-path %t.dia %s | %sed_clean > %t.response
// RUN: diff -u %s.response %t.response
public enum E {
diff --git a/test/SourceKit/Indexing/index_is_test_candidate.swift b/test/SourceKit/Indexing/index_is_test_candidate.swift
index 60d6f4d..3d0d9f6 100644
--- a/test/SourceKit/Indexing/index_is_test_candidate.swift
+++ b/test/SourceKit/Indexing/index_is_test_candidate.swift
@@ -1,4 +1,4 @@
-// RUN: %sourcekitd-test -req=index %s -- -serialize-diagnostics -serialize-diagnostics-path %t.dia %s | %sed_clean > %t.response
+// RUN: %sourcekitd-test -req=index %s -- -serialize-diagnostics-path %t.dia %s | %sed_clean > %t.response
// RUN: diff -u %s.response %t.response
// This test verifies that, when Objective-C interop is disabled, private
diff --git a/test/SourceKit/Indexing/index_is_test_candidate_objc.swift b/test/SourceKit/Indexing/index_is_test_candidate_objc.swift
index 9c2f352..cfb74af 100644
--- a/test/SourceKit/Indexing/index_is_test_candidate_objc.swift
+++ b/test/SourceKit/Indexing/index_is_test_candidate_objc.swift
@@ -1,4 +1,4 @@
-// RUN: %sourcekitd-test -req=index %s -- -serialize-diagnostics -serialize-diagnostics-path %t.dia %s | %sed_clean > %t.response
+// RUN: %sourcekitd-test -req=index %s -- -serialize-diagnostics-path %t.dia %s | %sed_clean > %t.response
// RUN: diff -u %s.response %t.response
// This test verifies that, when Objective-C interop is enabled, all "test
diff --git a/test/SourceKit/Indexing/rdar_21602898.swift b/test/SourceKit/Indexing/rdar_21602898.swift
index 42e04c2..214161d 100644
--- a/test/SourceKit/Indexing/rdar_21602898.swift
+++ b/test/SourceKit/Indexing/rdar_21602898.swift
@@ -1,4 +1,4 @@
-// RUN: %sourcekitd-test -req=index %s -- -serialize-diagnostics -serialize-diagnostics-path %t.dia %s | %sed_clean > %t.response
+// RUN: %sourcekitd-test -req=index %s -- -serialize-diagnostics-path %t.dia %s | %sed_clean > %t.response
// RUN: diff -u %s.response %t.response
protocol P {}
diff --git a/test/SourceKit/Inputs/libIDE-mock-sdk/Foo.framework/Headers/Foo.h b/test/SourceKit/Inputs/libIDE-mock-sdk/Foo.framework/Headers/Foo.h
index 1db1b65..b0452f9 100644
--- a/test/SourceKit/Inputs/libIDE-mock-sdk/Foo.framework/Headers/Foo.h
+++ b/test/SourceKit/Inputs/libIDE-mock-sdk/Foo.framework/Headers/Foo.h
@@ -44,6 +44,7 @@
int x;
double y;
};
+typedef struct FooStruct1 *FooStruct1Pointer;
typedef struct FooStruct2 {
int x;
@@ -177,6 +178,7 @@
@class BarForwardDeclaredClass;
enum BarforwardDeclaredEnum;
+typedef int typedef_int_t;
/* FOO_MACRO_1 is the answer */
#define FOO_MACRO_1 0
@@ -184,6 +186,17 @@
#define FOO_MACRO_3 (-1) // Don't use FOO_MACRO_3 on Saturdays.
#define FOO_MACRO_4 0xffffffffu
#define FOO_MACRO_5 0xffffffffffffffffull
+#define FOO_MACRO_6 ((typedef_int_t) 42)
+#define FOO_MACRO_7 ((typedef_int_t) -1)
+#define FOO_MACRO_8 ((char) 8)
+#define FOO_MACRO_9 ((int) 9)
+#define FOO_MACRO_10 ((short) 10)
+#define FOO_MACRO_11 ((long) 11)
+#define FOO_MACRO_OR (FOO_MACRO_2 | FOO_MACRO_6)
+#define FOO_MACRO_AND (FOO_MACRO_2 & FOO_MACRO_6)
+#define FOO_MACRO_BITWIDTH (FOO_MACRO_4 & FOO_MACRO_5)
+#define FOO_MACRO_SIGNED (FOO_MACRO_2 & FOO_MACRO_4)
+#define FOO_MACRO_TYPEDEF ((FooStruct1Pointer) 1)
#define FOO_MACRO_UNDEF_1 0
#undef FOO_MACRO_UNDEF_1
diff --git a/test/SourceKit/InterfaceGen/gen_clang_module.swift b/test/SourceKit/InterfaceGen/gen_clang_module.swift
index ac41b52..6c673a0 100644
--- a/test/SourceKit/InterfaceGen/gen_clang_module.swift
+++ b/test/SourceKit/InterfaceGen/gen_clang_module.swift
@@ -27,7 +27,7 @@
// RUN: %sourcekitd-test -req=interface-gen-open -module Foo -- -I %t.overlays -F %S/../Inputs/libIDE-mock-sdk \
// RUN: %mcp_opt %clang-importer-sdk \
-// RUN: == -req=cursor -pos=203:67 | %FileCheck -check-prefix=CHECK1 %s
+// RUN: == -req=cursor -pos=204:67 | %FileCheck -check-prefix=CHECK1 %s
// The cursor points to 'FooClassBase' inside the list of base classes, see 'gen_clang_module.swift.response'
// RUN: %sourcekitd-test -req=interface-gen-open -module Foo -- -I %t.overlays -F %S/../Inputs/libIDE-mock-sdk \
@@ -35,7 +35,7 @@
// RUN: == -req=cursor -pos=3:11 %s -- %s -I %t.overlays -F %S/../Inputs/libIDE-mock-sdk \
// RUN: %mcp_opt %clang-importer-sdk | %FileCheck -check-prefix=CHECK1 %s
-// CHECK1: source.lang.swift.ref.class ({{.*}}Foo.framework/Headers/Foo.h:146:12-146:24)
+// CHECK1: source.lang.swift.ref.class ({{.*}}Foo.framework/Headers/Foo.h:147:12-147:24)
// CHECK1: FooClassBase
// CHECK1: c:objc(cs)FooClassBase
// CHECK1: Foo{{$}}
@@ -43,10 +43,10 @@
// RUN: %sourcekitd-test -req=interface-gen-open -module Foo -- -I %t.overlays -F %S/../Inputs/libIDE-mock-sdk \
// RUN: %mcp_opt %clang-importer-sdk \
-// RUN: == -req=cursor -pos=230:20 | %FileCheck -check-prefix=CHECK2 %s
+// RUN: == -req=cursor -pos=231:20 | %FileCheck -check-prefix=CHECK2 %s
// The cursor points inside the interface, see 'gen_clang_module.swift.response'
-// CHECK2: source.lang.swift.decl.function.method.instance ({{.*}}Foo.framework/Headers/Foo.h:169:10-169:27)
+// CHECK2: source.lang.swift.decl.function.method.instance ({{.*}}Foo.framework/Headers/Foo.h:170:10-170:27)
// CHECK2: fooInstanceFunc0
// CHECK2: c:objc(cs)FooClassDerived(im)fooInstanceFunc0
// CHECK2: Foo{{$}}
@@ -57,7 +57,7 @@
// RUN: == -req=find-usr -usr "c:objc(cs)FooClassDerived(im)fooInstanceFunc0" | %FileCheck -check-prefix=CHECK-USR %s
// The returned line:col points inside the interface, see 'gen_clang_module.swift.response'
-// CHECK-USR: (230:15-230:33)
+// CHECK-USR: (231:15-231:33)
// RUN: %sourcekitd-test -req=interface-gen-open -module Foo -- -I %t.overlays -F %S/../Inputs/libIDE-mock-sdk \
// RUN: %mcp_opt %clang-importer-sdk \
diff --git a/test/SourceKit/InterfaceGen/gen_clang_module.swift.response b/test/SourceKit/InterfaceGen/gen_clang_module.swift.response
index a41c48d..6bb1719 100644
--- a/test/SourceKit/InterfaceGen/gen_clang_module.swift.response
+++ b/test/SourceKit/InterfaceGen/gen_clang_module.swift.response
@@ -79,6 +79,7 @@
public init(x: Int32, y: Double)
}
+public typealias FooStruct1Pointer = UnsafeMutablePointer<FooStruct1>
public struct FooStruct2 {
@@ -240,12 +241,20 @@
open class func fooClassFunc0()
}
+public typealias typedef_int_t = Int32
+
/* FOO_MACRO_1 is the answer */
public var FOO_MACRO_1: Int32 { get }
public var FOO_MACRO_2: Int32 { get }
public var FOO_MACRO_3: Int32 { get } // Don't use FOO_MACRO_3 on Saturdays.
public var FOO_MACRO_4: UInt32 { get }
public var FOO_MACRO_5: UInt64 { get }
+public var FOO_MACRO_6: typedef_int_t { get }
+public var FOO_MACRO_7: typedef_int_t { get }
+public var FOO_MACRO_8: Int8 { get }
+public var FOO_MACRO_9: Int32 { get }
+public var FOO_MACRO_10: Int16 { get }
+public var FOO_MACRO_11: Int { get }
public var FOO_MACRO_REDEF_1: Int32 { get }
@@ -1073,68 +1082,43 @@
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 1537,
+ key.offset: 1536,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 1544,
- key.length: 6
+ key.offset: 1543,
+ key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1551,
+ key.offset: 1553,
+ key.length: 17
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 1573,
+ key.length: 20
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 1594,
key.length: 10
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 1569,
+ key.offset: 1607,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 1576,
- key.length: 3
+ key.offset: 1614,
+ key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1580,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 1583,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 1594,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 1601,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1605,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 1608,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 1620,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 1627,
- key.length: 4
+ key.offset: 1621,
+ key.length: 10
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
@@ -1144,837 +1128,842 @@
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 1646,
- key.length: 4
+ key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1651,
+ key.offset: 1650,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 1654,
+ key.offset: 1653,
key.length: 5
},
{
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1661,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
key.offset: 1664,
key.length: 6
},
{
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 1671,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 1675,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 1678,
+ key.length: 6
+ },
+ {
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 1674,
+ key.offset: 1690,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 1681,
+ key.offset: 1697,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 1709,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 1716,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 1721,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 1724,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 1731,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 1734,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 1744,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 1751,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1691,
+ key.offset: 1761,
key.length: 17
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 1711,
+ key.offset: 1781,
key.length: 10
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 1723,
+ key.offset: 1793,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 1730,
+ key.offset: 1800,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1737,
+ key.offset: 1807,
key.length: 17
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 1762,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 1769,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1773,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 1776,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 1787,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 1794,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1798,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 1801,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 1813,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 1820,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
key.offset: 1832,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 1839,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1844,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 1847,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1854,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 1857,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 1868,
- key.length: 29
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 1897,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 1904,
- key.length: 9
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1914,
- key.length: 11
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 1928,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 1935,
- key.length: 27
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 1962,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 1969,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 1973,
- key.length: 9
+ key.offset: 1843,
+ key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 1846,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 1857,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 1864,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 1868,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 1871,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 1883,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 1890,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 1902,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 1909,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 1914,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 1917,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 1924,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 1927,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.doccomment,
+ key.offset: 1938,
+ key.length: 29
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 1967,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 1974,
+ key.length: 9
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 1984,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 1998,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 1991,
+ key.offset: 2005,
+ key.length: 27
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 2032,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 2039,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 2043,
+ key.length: 9
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 2054,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.doccomment,
+ key.offset: 2061,
key.length: 26
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2017,
+ key.offset: 2087,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2024,
+ key.offset: 2094,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2029,
+ key.offset: 2099,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2038,
+ key.offset: 2108,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2040,
+ key.offset: 2110,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2043,
+ key.offset: 2113,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2053,
+ key.offset: 2123,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2060,
+ key.offset: 2130,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2067,
+ key.offset: 2137,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2072,
+ key.offset: 2142,
key.length: 22
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2095,
+ key.offset: 2165,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2098,
+ key.offset: 2168,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2108,
+ key.offset: 2178,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2114,
+ key.offset: 2184,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2121,
+ key.offset: 2191,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2126,
+ key.offset: 2196,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2135,
+ key.offset: 2205,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2137,
+ key.offset: 2207,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2140,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2147,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2149,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2152,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2159,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2161,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2164,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2172,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2174,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2177,
- key.length: 20
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2198,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
key.offset: 2210,
key.length: 5
},
{
- key.kind: source.lang.swift.syntaxtype.comment,
+ key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 2217,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 2219,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 2222,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 2229,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 2231,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 2234,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 2242,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 2244,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 2247,
+ key.length: 20
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 2268,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 2280,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.comment,
+ key.offset: 2287,
key.length: 46
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2264,
+ key.offset: 2334,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2271,
+ key.offset: 2341,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2276,
+ key.offset: 2346,
key.length: 16
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2293,
+ key.offset: 2363,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2295,
+ key.offset: 2365,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.attribute.id,
- key.offset: 2301,
+ key.offset: 2371,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2302,
+ key.offset: 2372,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2312,
+ key.offset: 2382,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2322,
+ key.offset: 2392,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2332,
+ key.offset: 2402,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2339,
+ key.offset: 2409,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2344,
+ key.offset: 2414,
key.length: 26
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2371,
+ key.offset: 2441,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2373,
+ key.offset: 2443,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.attribute.id,
- key.offset: 2380,
+ key.offset: 2450,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2381,
+ key.offset: 2451,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.attribute.id,
- key.offset: 2390,
+ key.offset: 2460,
key.length: 11
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2391,
+ key.offset: 2461,
key.length: 10
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2402,
+ key.offset: 2472,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2406,
+ key.offset: 2476,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2416,
+ key.offset: 2486,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2426,
+ key.offset: 2496,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2433,
+ key.offset: 2503,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2438,
+ key.offset: 2508,
key.length: 16
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2460,
+ key.offset: 2530,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2466,
+ key.offset: 2536,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2473,
+ key.offset: 2543,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2478,
+ key.offset: 2548,
key.length: 16
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 2500,
+ key.offset: 2570,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 2507,
+ key.offset: 2577,
key.length: 62
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2570,
+ key.offset: 2640,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2577,
+ key.offset: 2647,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2582,
+ key.offset: 2652,
key.length: 19
},
{
key.kind: source.lang.swift.syntaxtype.comment,
- key.offset: 2605,
+ key.offset: 2675,
key.length: 42
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2648,
+ key.offset: 2718,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2655,
+ key.offset: 2725,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2660,
+ key.offset: 2730,
key.length: 19
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 2683,
+ key.offset: 2753,
key.length: 43
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 2727,
+ key.offset: 2797,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2743,
+ key.offset: 2813,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2750,
+ key.offset: 2820,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2755,
+ key.offset: 2825,
key.length: 19
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 2778,
+ key.offset: 2848,
key.length: 43
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 2822,
+ key.offset: 2892,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2831,
+ key.offset: 2901,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2838,
+ key.offset: 2908,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2843,
+ key.offset: 2913,
key.length: 19
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 2866,
+ key.offset: 2936,
key.length: 37
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 2903,
+ key.offset: 2973,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 2912,
+ key.offset: 2982,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 2916,
+ key.offset: 2986,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 2925,
+ key.offset: 2995,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 2932,
+ key.offset: 3002,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 2937,
+ key.offset: 3007,
key.length: 19
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 2960,
+ key.offset: 3030,
key.length: 50
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3010,
+ key.offset: 3080,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3017,
+ key.offset: 3087,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3022,
+ key.offset: 3092,
key.length: 32
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3055,
+ key.offset: 3125,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3057,
+ key.offset: 3127,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 3060,
+ key.offset: 3130,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 3070,
+ key.offset: 3140,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 3077,
+ key.offset: 3147,
key.length: 33
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3110,
+ key.offset: 3180,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3117,
+ key.offset: 3187,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3126,
+ key.offset: 3196,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 3154,
+ key.offset: 3224,
key.length: 30
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 3188,
+ key.offset: 3258,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3201,
+ key.offset: 3271,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3208,
+ key.offset: 3278,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3213,
+ key.offset: 3283,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 3238,
+ key.offset: 3308,
key.length: 51
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 3293,
+ key.offset: 3363,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3306,
+ key.offset: 3376,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3313,
+ key.offset: 3383,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3318,
+ key.offset: 3388,
key.length: 33
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 3364,
+ key.offset: 3434,
key.length: 77
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3446,
+ key.offset: 3516,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3453,
+ key.offset: 3523,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3458,
+ key.offset: 3528,
key.length: 33
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3504,
+ key.offset: 3574,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3511,
+ key.offset: 3581,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3518,
+ key.offset: 3588,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3523,
+ key.offset: 3593,
key.length: 17
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3553,
+ key.offset: 3623,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3560,
+ key.offset: 3630,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3564,
- key.length: 12
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 3578,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3586,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3590,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3601,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3608,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3612,
- key.length: 12
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 3626,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 3634,
- key.length: 3
+ key.length: 12
},
{
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3638,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3649,
- key.length: 6
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 3648,
+ key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
@@ -1982,436 +1971,451 @@
key.length: 3
},
{
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3660,
- key.length: 12
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 3674,
- key.length: 5
- },
- {
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3682,
+ key.offset: 3660,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3691,
+ key.offset: 3671,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3698,
+ key.offset: 3678,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3682,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 3696,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3704,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3708,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 3719,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3726,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 3730,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 3744,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3752,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 3761,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 3768,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3707,
+ key.offset: 3777,
key.length: 18
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 3728,
+ key.offset: 3798,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3749,
+ key.offset: 3819,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3754,
+ key.offset: 3824,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3760,
+ key.offset: 3830,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3780,
+ key.offset: 3850,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3785,
+ key.offset: 3855,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3790,
+ key.offset: 3860,
key.length: 20
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3818,
+ key.offset: 3888,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3823,
+ key.offset: 3893,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3828,
+ key.offset: 3898,
key.length: 20
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3849,
+ key.offset: 3919,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3851,
+ key.offset: 3921,
key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3861,
+ key.offset: 3931,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 3870,
+ key.offset: 3940,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3889,
+ key.offset: 3959,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3896,
+ key.offset: 3966,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3909,
+ key.offset: 3979,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3916,
+ key.offset: 3986,
key.length: 11
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3928,
+ key.offset: 3998,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3934,
+ key.offset: 4004,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3940,
+ key.offset: 4010,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 3943,
+ key.offset: 4013,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 3955,
+ key.offset: 4025,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 3960,
+ key.offset: 4030,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 3965,
+ key.offset: 4035,
key.length: 29
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4007,
+ key.offset: 4077,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4012,
+ key.offset: 4082,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4018,
+ key.offset: 4088,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4023,
+ key.offset: 4093,
key.length: 17
},
{
key.kind: source.lang.swift.syntaxtype.doccomment,
- key.offset: 4046,
+ key.offset: 4116,
key.length: 33
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4079,
+ key.offset: 4149,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4084,
+ key.offset: 4154,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4090,
+ key.offset: 4160,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4108,
+ key.offset: 4178,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4122,
+ key.offset: 4192,
key.length: 18
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4153,
+ key.offset: 4223,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4158,
+ key.offset: 4228,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4162,
+ key.offset: 4232,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4176,
+ key.offset: 4246,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4187,
+ key.offset: 4257,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4192,
+ key.offset: 4262,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4196,
+ key.offset: 4266,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4210,
+ key.offset: 4280,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4221,
+ key.offset: 4291,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4226,
+ key.offset: 4296,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4230,
+ key.offset: 4300,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4244,
+ key.offset: 4314,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4252,
+ key.offset: 4322,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.comment,
- key.offset: 4268,
+ key.offset: 4338,
key.length: 64
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4337,
+ key.offset: 4407,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4342,
+ key.offset: 4412,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4347,
+ key.offset: 4417,
key.length: 16
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4371,
+ key.offset: 4441,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4376,
+ key.offset: 4446,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4381,
+ key.offset: 4451,
key.length: 16
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4398,
+ key.offset: 4468,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4400,
+ key.offset: 4470,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4403,
+ key.offset: 4473,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4415,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4420,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4425,
- key.length: 16
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4442,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4444,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4447,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4454,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4460,
- key.length: 1
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4463,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4480,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 4485,
key.length: 4
},
{
- key.kind: source.lang.swift.syntaxtype.identifier,
+ key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 4490,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4495,
+ key.length: 16
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4512,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4514,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 4517,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4524,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4530,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 4533,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 4550,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4555,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4560,
key.length: 29
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4532,
+ key.offset: 4602,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4537,
+ key.offset: 4607,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4543,
+ key.offset: 4613,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4548,
+ key.offset: 4618,
key.length: 13
},
{
- key.kind: source.lang.swift.syntaxtype.comment,
- key.offset: 4567,
- key.length: 31
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4599,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4606,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4610,
- key.length: 11
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4623,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4631,
- key.length: 3
- },
- {
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
key.offset: 4637,
key.length: 6
@@ -2419,821 +2423,1021 @@
{
key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 4644,
- key.length: 3
+ key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4648,
- key.length: 11
+ key.offset: 4654,
+ key.length: 13
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4661,
+ key.offset: 4670,
key.length: 5
},
{
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4669,
- key.length: 3
+ key.kind: source.lang.swift.syntaxtype.comment,
+ key.offset: 4677,
+ key.length: 31
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4675,
+ key.offset: 4709,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4682,
+ key.offset: 4716,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4686,
+ key.offset: 4720,
key.length: 11
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4699,
+ key.offset: 4733,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4707,
+ key.offset: 4741,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 4747,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4754,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4758,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 4771,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4779,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 4785,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4792,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4796,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 4809,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4817,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.comment,
- key.offset: 4713,
+ key.offset: 4823,
key.length: 39
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4752,
+ key.offset: 4862,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4759,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4763,
- key.length: 11
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4776,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4785,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4791,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4798,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4802,
- key.length: 11
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4815,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4824,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4831,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4838,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4842,
- key.length: 17
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4861,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 4869,
key.length: 3
},
{
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4873,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 4886,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4895,
+ key.length: 3
+ },
+ {
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4876,
+ key.offset: 4901,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4883,
+ key.offset: 4908,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4887,
+ key.offset: 4912,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 4925,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4934,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 4940,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4947,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4951,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 4964,
+ key.length: 13
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4980,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 4986,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 4993,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 4997,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 5010,
+ key.length: 13
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5026,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 5032,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5039,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5043,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 5056,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5063,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 5069,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5076,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5080,
+ key.length: 11
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 5093,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5101,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 5107,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5114,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5118,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 5132,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5140,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 5146,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5153,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5157,
+ key.length: 12
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 5171,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5177,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 5184,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5191,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5195,
key.length: 17
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 4906,
+ key.offset: 5214,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4914,
+ key.offset: 5222,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4921,
+ key.offset: 5229,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4928,
+ key.offset: 5236,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5240,
+ key.length: 17
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 5259,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5267,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 5274,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5281,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4933,
+ key.offset: 5286,
key.length: 16
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4953,
+ key.offset: 5306,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4960,
+ key.offset: 5313,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 4965,
+ key.offset: 5318,
key.length: 21
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 4990,
+ key.offset: 5343,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 4997,
+ key.offset: 5350,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5004,
+ key.offset: 5357,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5027,
+ key.offset: 5380,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5034,
+ key.offset: 5387,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5038,
+ key.offset: 5391,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5041,
+ key.offset: 5394,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5052,
+ key.offset: 5405,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5059,
+ key.offset: 5412,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5071,
+ key.offset: 5424,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5078,
+ key.offset: 5431,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5083,
+ key.offset: 5436,
key.length: 1
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5086,
+ key.offset: 5439,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5096,
+ key.offset: 5449,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5106,
+ key.offset: 5459,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5126,
+ key.offset: 5479,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5131,
+ key.offset: 5484,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5136,
+ key.offset: 5489,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5156,
+ key.offset: 5509,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.comment,
- key.offset: 5164,
+ key.offset: 5517,
key.length: 44
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5209,
+ key.offset: 5562,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5219,
+ key.offset: 5572,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5239,
+ key.offset: 5592,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5244,
+ key.offset: 5597,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5249,
+ key.offset: 5602,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5269,
+ key.offset: 5622,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5279,
+ key.offset: 5632,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5284,
+ key.offset: 5637,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5289,
+ key.offset: 5642,
key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5310,
+ key.offset: 5663,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5318,
+ key.offset: 5671,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5328,
+ key.offset: 5681,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5348,
+ key.offset: 5701,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5353,
+ key.offset: 5706,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5358,
+ key.offset: 5711,
key.length: 14
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5378,
+ key.offset: 5731,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5386,
+ key.offset: 5739,
key.length: 6
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5393,
- key.length: 8
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5402,
- key.length: 13
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5421,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5426,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5432,
- key.length: 21
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5456,
- key.length: 13
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5475,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5480,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5486,
- key.length: 25
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5514,
- key.length: 12
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5534,
- key.length: 15
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5550,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5555,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5559,
- key.length: 10
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5571,
- key.length: 9
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5587,
- key.length: 15
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5603,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5608,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5612,
- key.length: 16
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5630,
- key.length: 9
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5646,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5651,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5655,
- key.length: 10
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5667,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5677,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5682,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5686,
- key.length: 9
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5697,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5707,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5712,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5716,
- key.length: 8
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5726,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5736,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5741,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
key.offset: 5746,
- key.length: 3
+ key.length: 8
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5750,
- key.length: 7
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5759,
- key.length: 9
+ key.offset: 5755,
+ key.length: 13
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5775,
+ key.offset: 5774,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5780,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5784,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5792,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5801,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5806,
+ key.offset: 5779,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5812,
+ key.offset: 5785,
key.length: 21
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5836,
+ key.offset: 5809,
+ key.length: 13
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 5828,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5833,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5839,
+ key.length: 25
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 5867,
key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5856,
- key.length: 6
+ key.offset: 5887,
+ key.length: 15
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5863,
- key.length: 11
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5875,
+ key.offset: 5903,
key.length: 4
},
{
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5881,
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 5908,
key.length: 3
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5885,
- key.length: 1
+ key.offset: 5912,
+ key.length: 10
},
{
key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 5888,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5905,
- key.length: 10
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5919,
- key.length: 10
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5931,
- key.length: 7
- },
- {
- key.kind: source.lang.swift.syntaxtype.string,
- key.offset: 5940,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5949,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5954,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 5959,
- key.length: 10
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 5982,
- key.length: 10
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 5993,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.number,
- key.offset: 5997,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6010,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6015,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6020,
- key.length: 22
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6055,
- key.length: 10
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6066,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6071,
- key.length: 10
- },
- {
- key.kind: source.lang.swift.syntaxtype.number,
- key.offset: 6083,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6089,
- key.length: 7
- },
- {
- key.kind: source.lang.swift.syntaxtype.string,
- key.offset: 6098,
- key.length: 3
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6107,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6112,
- key.length: 4
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6117,
- key.length: 25
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6148,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6155,
- key.length: 5
- },
- {
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6161,
+ key.offset: 5924,
key.length: 9
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6175,
- key.length: 6
+ key.offset: 5940,
+ key.length: 15
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 5956,
+ key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6182,
+ key.offset: 5961,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 5965,
+ key.length: 16
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 5983,
+ key.length: 9
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 5999,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6004,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6008,
+ key.length: 10
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6020,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6030,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6035,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6039,
+ key.length: 9
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6050,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6060,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6065,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6069,
+ key.length: 8
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6079,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6089,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6094,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6099,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6103,
+ key.length: 7
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 6112,
+ key.length: 9
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6128,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6133,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6137,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 6145,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6154,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6159,
key.length: 5
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6188,
- key.length: 19
+ key.offset: 6165,
+ key.length: 21
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 6189,
+ key.length: 12
},
{
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6215,
+ key.offset: 6209,
key.length: 6
},
{
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6216,
+ key.length: 11
+ },
+ {
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6222,
+ key.offset: 6228,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6227,
+ key.offset: 6234,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6238,
key.length: 1
},
{
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6234,
- key.length: 6
- },
- {
- key.kind: source.lang.swift.syntaxtype.keyword,
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
key.offset: 6241,
key.length: 5
},
{
- key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6247,
- key.length: 22
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6258,
+ key.length: 10
},
{
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.kind: source.lang.swift.syntaxtype.identifier,
key.offset: 6272,
+ key.length: 10
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6284,
+ key.length: 7
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.string,
+ key.offset: 6293,
key.length: 3
},
{
- key.kind: source.lang.swift.syntaxtype.typeidentifier,
- key.offset: 6276,
- key.length: 19
- },
- {
key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6303,
- key.length: 8
- },
- {
- key.kind: source.lang.swift.syntaxtype.attribute.builtin,
- key.offset: 6312,
- key.length: 6
+ key.offset: 6302,
+ key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.keyword,
- key.offset: 6319,
+ key.offset: 6307,
key.length: 4
},
{
key.kind: source.lang.swift.syntaxtype.identifier,
- key.offset: 6324,
+ key.offset: 6312,
+ key.length: 10
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6335,
+ key.length: 10
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6346,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.number,
+ key.offset: 6350,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6363,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6368,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6373,
+ key.length: 22
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6408,
+ key.length: 10
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6419,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6424,
+ key.length: 10
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.number,
+ key.offset: 6436,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6442,
+ key.length: 7
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.string,
+ key.offset: 6451,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6460,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6465,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6470,
+ key.length: 25
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6501,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6508,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6514,
+ key.length: 9
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6528,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6535,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6541,
+ key.length: 19
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6568,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6575,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6580,
+ key.length: 1
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6587,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6594,
+ key.length: 5
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6600,
+ key.length: 22
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 6625,
+ key.length: 3
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.typeidentifier,
+ key.offset: 6629,
+ key.length: 19
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6656,
+ key.length: 8
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.attribute.builtin,
+ key.offset: 6665,
+ key.length: 6
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.keyword,
+ key.offset: 6672,
+ key.length: 4
+ },
+ {
+ key.kind: source.lang.swift.syntaxtype.identifier,
+ key.offset: 6677,
key.length: 1
}
]
@@ -3427,120 +3631,101 @@
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 1583,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 1608,
- key.length: 6,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 1654,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 1664,
- key.length: 6,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 1711,
- key.length: 10
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 1776,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 1801,
- key.length: 6,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 1847,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 1857,
- key.length: 6,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 1928,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 1984,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 2043,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 2053,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 2098,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 2108,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 2140,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 2152,
- key.length: 5,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 2164,
- key.length: 6,
- key.is_system: 1
- },
- {
- key.kind: source.lang.swift.ref.struct,
- key.offset: 2177,
+ key.offset: 1573,
key.length: 20,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 2198,
+ key.offset: 1594,
+ key.length: 10
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 1653,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 1678,
+ key.length: 6,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 1724,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 1734,
+ key.length: 6,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 1781,
+ key.length: 10
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 1846,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 1871,
+ key.length: 6,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 1917,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 1927,
+ key.length: 6,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 1998,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 2054,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 2113,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 2123,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 2168,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 2178,
key.length: 5,
key.is_system: 1
},
@@ -3552,254 +3737,324 @@
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 2312,
+ key.offset: 2222,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 2322,
+ key.offset: 2234,
+ key.length: 6,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 2247,
+ key.length: 20,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 2268,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 2406,
+ key.offset: 2280,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 2416,
+ key.offset: 2382,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 2392,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 2476,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 2486,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.enum,
- key.offset: 2460,
+ key.offset: 2530,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.enum,
- key.offset: 2500,
+ key.offset: 2570,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 3060,
+ key.offset: 3130,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 3070,
+ key.offset: 3140,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 3578,
+ key.offset: 3648,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 3626,
+ key.offset: 3696,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 3674,
+ key.offset: 3744,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.protocol,
- key.offset: 3728,
+ key.offset: 3798,
key.length: 15
},
{
key.kind: source.lang.swift.ref.class,
- key.offset: 3870,
+ key.offset: 3940,
key.length: 12
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 3943,
+ key.offset: 4013,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.class,
- key.offset: 4108,
+ key.offset: 4178,
key.length: 12
},
{
key.kind: source.lang.swift.ref.protocol,
- key.offset: 4122,
+ key.offset: 4192,
key.length: 18
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4176,
+ key.offset: 4246,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4210,
+ key.offset: 4280,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4244,
+ key.offset: 4314,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4403,
+ key.offset: 4473,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4447,
+ key.offset: 4517,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4463,
+ key.offset: 4533,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4623,
+ key.offset: 4670,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4661,
+ key.offset: 4733,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4699,
+ key.offset: 4771,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4776,
+ key.offset: 4809,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 4886,
key.length: 6,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4815,
+ key.offset: 4925,
key.length: 6,
key.is_system: 1
},
{
+ key.kind: source.lang.swift.ref.typealias,
+ key.offset: 4964,
+ key.length: 13
+ },
+ {
+ key.kind: source.lang.swift.ref.typealias,
+ key.offset: 5010,
+ key.length: 13
+ },
+ {
key.kind: source.lang.swift.ref.struct,
- key.offset: 4861,
+ key.offset: 5056,
+ key.length: 4,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 5093,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 4906,
+ key.offset: 5132,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 5041,
+ key.offset: 5171,
+ key.length: 3,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 5214,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 5086,
+ key.offset: 5259,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 5394,
+ key.length: 5,
+ key.is_system: 1
+ },
+ {
+ key.kind: source.lang.swift.ref.struct,
+ key.offset: 5439,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.class,
- key.offset: 5106,
+ key.offset: 5459,
key.length: 12
},
{
key.kind: source.lang.swift.ref.class,
- key.offset: 5219,
+ key.offset: 5572,
key.length: 12
},
{
key.kind: source.lang.swift.ref.class,
- key.offset: 5328,
+ key.offset: 5681,
key.length: 12
},
{
key.kind: source.lang.swift.ref.protocol,
- key.offset: 5456,
+ key.offset: 5809,
key.length: 13
},
{
key.kind: source.lang.swift.ref.class,
- key.offset: 5514,
+ key.offset: 5867,
key.length: 12
},
{
key.kind: source.lang.swift.ref.protocol,
- key.offset: 5571,
+ key.offset: 5924,
key.length: 9,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.protocol,
- key.offset: 5630,
+ key.offset: 5983,
key.length: 9,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.protocol,
- key.offset: 5759,
+ key.offset: 6112,
key.length: 9,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 5792,
+ key.offset: 6145,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.class,
- key.offset: 5836,
+ key.offset: 6189,
key.length: 12
},
{
key.kind: source.lang.swift.ref.struct,
- key.offset: 5888,
+ key.offset: 6241,
key.length: 5,
key.is_system: 1
},
{
key.kind: source.lang.swift.ref.module,
- key.offset: 6272,
+ key.offset: 6625,
key.length: 3
},
{
key.kind: source.lang.swift.ref.class,
- key.offset: 6276,
+ key.offset: 6629,
key.length: 19
}
]
@@ -4334,11 +4589,11 @@
key.kind: source.lang.swift.decl.struct,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "FooStruct2",
- key.offset: 1544,
+ key.offset: 1614,
key.length: 129,
- key.nameoffset: 1551,
+ key.nameoffset: 1621,
key.namelength: 10,
- key.bodyoffset: 1563,
+ key.bodyoffset: 1633,
key.bodylength: 109,
key.substructure: [
{
@@ -4346,10 +4601,10 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "x",
- key.offset: 1576,
+ key.offset: 1646,
key.length: 12,
key.typename: "Int32",
- key.nameoffset: 1580,
+ key.nameoffset: 1650,
key.namelength: 1
},
{
@@ -4357,46 +4612,46 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "y",
- key.offset: 1601,
+ key.offset: 1671,
key.length: 13,
key.typename: "Double",
- key.nameoffset: 1605,
+ key.nameoffset: 1675,
key.namelength: 1
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "init()",
- key.offset: 1627,
+ key.offset: 1697,
key.length: 6,
- key.nameoffset: 1627,
+ key.nameoffset: 1697,
key.namelength: 6
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "init(x:y:)",
- key.offset: 1646,
+ key.offset: 1716,
key.length: 25,
- key.nameoffset: 1646,
+ key.nameoffset: 1716,
key.namelength: 25,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "x",
- key.offset: 1651,
+ key.offset: 1721,
key.length: 8,
key.typename: "Int32",
- key.nameoffset: 1651,
+ key.nameoffset: 1721,
key.namelength: 1
},
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "y",
- key.offset: 1661,
+ key.offset: 1731,
key.length: 9,
key.typename: "Double",
- key.nameoffset: 1661,
+ key.nameoffset: 1731,
key.namelength: 1
}
]
@@ -4407,11 +4662,11 @@
key.kind: source.lang.swift.decl.struct,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "FooStructTypedef2",
- key.offset: 1730,
+ key.offset: 1800,
key.length: 136,
- key.nameoffset: 1737,
+ key.nameoffset: 1807,
key.namelength: 17,
- key.bodyoffset: 1756,
+ key.bodyoffset: 1826,
key.bodylength: 109,
key.substructure: [
{
@@ -4419,10 +4674,10 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "x",
- key.offset: 1769,
+ key.offset: 1839,
key.length: 12,
key.typename: "Int32",
- key.nameoffset: 1773,
+ key.nameoffset: 1843,
key.namelength: 1
},
{
@@ -4430,46 +4685,46 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "y",
- key.offset: 1794,
+ key.offset: 1864,
key.length: 13,
key.typename: "Double",
- key.nameoffset: 1798,
+ key.nameoffset: 1868,
key.namelength: 1
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "init()",
- key.offset: 1820,
+ key.offset: 1890,
key.length: 6,
- key.nameoffset: 1820,
+ key.nameoffset: 1890,
key.namelength: 6
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "init(x:y:)",
- key.offset: 1839,
+ key.offset: 1909,
key.length: 25,
- key.nameoffset: 1839,
+ key.nameoffset: 1909,
key.namelength: 25,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "x",
- key.offset: 1844,
+ key.offset: 1914,
key.length: 8,
key.typename: "Int32",
- key.nameoffset: 1844,
+ key.nameoffset: 1914,
key.namelength: 1
},
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "y",
- key.offset: 1854,
+ key.offset: 1924,
key.length: 9,
key.typename: "Double",
- key.nameoffset: 1854,
+ key.nameoffset: 1924,
key.namelength: 1
}
]
@@ -4481,25 +4736,25 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "fooIntVar",
- key.offset: 1969,
+ key.offset: 2039,
key.length: 20,
key.typename: "Int32",
- key.nameoffset: 1973,
+ key.nameoffset: 2043,
key.namelength: 9
},
{
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFunc1(_:)",
- key.offset: 2024,
+ key.offset: 2094,
key.length: 34,
- key.nameoffset: 2029,
+ key.nameoffset: 2099,
key.namelength: 20,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "a",
- key.offset: 2038,
+ key.offset: 2108,
key.length: 10,
key.typename: "Int32",
key.nameoffset: 0,
@@ -4511,14 +4766,14 @@
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFunc1AnonymousParam(_:)",
- key.offset: 2067,
+ key.offset: 2137,
key.length: 46,
- key.nameoffset: 2072,
+ key.nameoffset: 2142,
key.namelength: 32,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
- key.offset: 2095,
+ key.offset: 2165,
key.length: 8,
key.typename: "Int32",
key.nameoffset: 0,
@@ -4530,15 +4785,15 @@
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFunc3(_:_:_:_:)",
- key.offset: 2121,
+ key.offset: 2191,
key.length: 94,
- key.nameoffset: 2126,
+ key.nameoffset: 2196,
key.namelength: 80,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "a",
- key.offset: 2135,
+ key.offset: 2205,
key.length: 10,
key.typename: "Int32",
key.nameoffset: 0,
@@ -4547,7 +4802,7 @@
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "b",
- key.offset: 2147,
+ key.offset: 2217,
key.length: 10,
key.typename: "Float",
key.nameoffset: 0,
@@ -4556,7 +4811,7 @@
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "c",
- key.offset: 2159,
+ key.offset: 2229,
key.length: 11,
key.typename: "Double",
key.nameoffset: 0,
@@ -4565,7 +4820,7 @@
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "d",
- key.offset: 2172,
+ key.offset: 2242,
key.length: 33,
key.typename: "UnsafeMutablePointer<Int32>!",
key.nameoffset: 0,
@@ -4577,15 +4832,15 @@
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFuncWithBlock(_:)",
- key.offset: 2271,
+ key.offset: 2341,
key.length: 59,
- key.nameoffset: 2276,
+ key.nameoffset: 2346,
key.namelength: 54,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "blk",
- key.offset: 2293,
+ key.offset: 2363,
key.length: 36,
key.typename: "(@escaping (Float) -> Int32)!",
key.nameoffset: 0,
@@ -4597,15 +4852,15 @@
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFuncWithFunctionPointer(_:)",
- key.offset: 2339,
+ key.offset: 2409,
key.length: 85,
- key.nameoffset: 2344,
+ key.nameoffset: 2414,
key.namelength: 80,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "fptr",
- key.offset: 2371,
+ key.offset: 2441,
key.length: 52,
key.typename: "(@escaping @convention(c) (Float) -> Int32)!",
key.nameoffset: 0,
@@ -4617,78 +4872,78 @@
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFuncNoreturn1()",
- key.offset: 2433,
+ key.offset: 2503,
key.length: 32,
- key.nameoffset: 2438,
+ key.nameoffset: 2508,
key.namelength: 18
},
{
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFuncNoreturn2()",
- key.offset: 2473,
+ key.offset: 2543,
key.length: 32,
- key.nameoffset: 2478,
+ key.nameoffset: 2548,
key.namelength: 18
},
{
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFuncWithComment1()",
- key.offset: 2577,
+ key.offset: 2647,
key.length: 26,
- key.nameoffset: 2582,
+ key.nameoffset: 2652,
key.namelength: 21
},
{
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFuncWithComment2()",
- key.offset: 2655,
+ key.offset: 2725,
key.length: 26,
- key.nameoffset: 2660,
+ key.nameoffset: 2730,
key.namelength: 21
},
{
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFuncWithComment3()",
- key.offset: 2750,
+ key.offset: 2820,
key.length: 26,
- key.nameoffset: 2755,
+ key.nameoffset: 2825,
key.namelength: 21
},
{
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFuncWithComment4()",
- key.offset: 2838,
+ key.offset: 2908,
key.length: 26,
- key.nameoffset: 2843,
+ key.nameoffset: 2913,
key.namelength: 21
},
{
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooFuncWithComment5()",
- key.offset: 2932,
+ key.offset: 3002,
key.length: 26,
- key.nameoffset: 2937,
+ key.nameoffset: 3007,
key.namelength: 21
},
{
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "redeclaredInMultipleModulesFunc1(_:)",
- key.offset: 3017,
+ key.offset: 3087,
key.length: 58,
- key.nameoffset: 3022,
+ key.nameoffset: 3092,
key.namelength: 44,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "a",
- key.offset: 3055,
+ key.offset: 3125,
key.length: 10,
key.typename: "Int32",
key.nameoffset: 0,
@@ -4700,48 +4955,48 @@
key.kind: source.lang.swift.decl.protocol,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "FooProtocolBase",
- key.offset: 3117,
+ key.offset: 3187,
key.length: 572,
key.runtime_name: "_TtP4main15FooProtocolBase_",
- key.nameoffset: 3126,
+ key.nameoffset: 3196,
key.namelength: 15,
- key.bodyoffset: 3143,
+ key.bodyoffset: 3213,
key.bodylength: 545,
key.substructure: [
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooProtoFunc()",
- key.offset: 3208,
+ key.offset: 3278,
key.length: 19,
- key.nameoffset: 3213,
+ key.nameoffset: 3283,
key.namelength: 14
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooProtoFuncWithExtraIndentation1()",
- key.offset: 3313,
+ key.offset: 3383,
key.length: 40,
- key.nameoffset: 3318,
+ key.nameoffset: 3388,
key.namelength: 35
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooProtoFuncWithExtraIndentation2()",
- key.offset: 3453,
+ key.offset: 3523,
key.length: 40,
- key.nameoffset: 3458,
+ key.nameoffset: 3528,
key.namelength: 35
},
{
key.kind: source.lang.swift.decl.function.method.static,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooProtoClassFunc()",
- key.offset: 3511,
+ key.offset: 3581,
key.length: 31,
- key.nameoffset: 3523,
+ key.nameoffset: 3593,
key.namelength: 19
},
{
@@ -4749,12 +5004,12 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "fooProperty1",
- key.offset: 3560,
+ key.offset: 3630,
key.length: 35,
key.typename: "Int32",
- key.nameoffset: 3564,
+ key.nameoffset: 3634,
key.namelength: 12,
- key.bodyoffset: 3585,
+ key.bodyoffset: 3655,
key.bodylength: 9
},
{
@@ -4762,24 +5017,24 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "fooProperty2",
- key.offset: 3608,
+ key.offset: 3678,
key.length: 35,
key.typename: "Int32",
- key.nameoffset: 3612,
+ key.nameoffset: 3682,
key.namelength: 12,
- key.bodyoffset: 3633,
+ key.bodyoffset: 3703,
key.bodylength: 9
},
{
key.kind: source.lang.swift.decl.var.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "fooProperty3",
- key.offset: 3656,
+ key.offset: 3726,
key.length: 31,
key.typename: "Int32",
- key.nameoffset: 3660,
+ key.nameoffset: 3730,
key.namelength: 12,
- key.bodyoffset: 3681,
+ key.bodyoffset: 3751,
key.bodylength: 5
}
]
@@ -4788,12 +5043,12 @@
key.kind: source.lang.swift.decl.protocol,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "FooProtocolDerived",
- key.offset: 3698,
+ key.offset: 3768,
key.length: 49,
key.runtime_name: "_TtP4main18FooProtocolDerived_",
- key.nameoffset: 3707,
+ key.nameoffset: 3777,
key.namelength: 18,
- key.bodyoffset: 3745,
+ key.bodyoffset: 3815,
key.bodylength: 1,
key.inheritedtypes: [
{
@@ -4803,7 +5058,7 @@
key.elements: [
{
key.kind: source.lang.swift.structure.elem.typeref,
- key.offset: 3728,
+ key.offset: 3798,
key.length: 15
}
]
@@ -4812,36 +5067,36 @@
key.kind: source.lang.swift.decl.class,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "FooClassBase",
- key.offset: 3754,
+ key.offset: 3824,
key.length: 290,
key.runtime_name: "_TtC4main12FooClassBase",
- key.nameoffset: 3760,
+ key.nameoffset: 3830,
key.namelength: 12,
- key.bodyoffset: 3774,
+ key.bodyoffset: 3844,
key.bodylength: 269,
key.substructure: [
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "fooBaseInstanceFunc0()",
- key.offset: 3785,
+ key.offset: 3855,
key.length: 27,
- key.nameoffset: 3790,
+ key.nameoffset: 3860,
key.namelength: 22
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "fooBaseInstanceFunc1(_:)",
- key.offset: 3823,
+ key.offset: 3893,
key.length: 60,
- key.nameoffset: 3828,
+ key.nameoffset: 3898,
key.namelength: 38,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "anObject",
- key.offset: 3849,
+ key.offset: 3919,
key.length: 16,
key.typename: "Any!",
key.nameoffset: 0,
@@ -4853,18 +5108,18 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "init()",
- key.offset: 3896,
+ key.offset: 3966,
key.length: 7,
- key.nameoffset: 3896,
+ key.nameoffset: 3966,
key.namelength: 7
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "init(float:)",
- key.offset: 3928,
+ key.offset: 3998,
key.length: 21,
- key.nameoffset: 3928,
+ key.nameoffset: 3998,
key.namelength: 21,
key.attributes: [
{
@@ -4875,10 +5130,10 @@
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "f",
- key.offset: 3934,
+ key.offset: 4004,
key.length: 14,
key.typename: "Float",
- key.nameoffset: 3934,
+ key.nameoffset: 4004,
key.namelength: 5
}
]
@@ -4887,18 +5142,18 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "fooBaseInstanceFuncOverridden()",
- key.offset: 3960,
+ key.offset: 4030,
key.length: 36,
- key.nameoffset: 3965,
+ key.nameoffset: 4035,
key.namelength: 31
},
{
key.kind: source.lang.swift.decl.function.method.class,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "fooBaseClassFunc0()",
- key.offset: 4012,
+ key.offset: 4082,
key.length: 30,
- key.nameoffset: 4023,
+ key.nameoffset: 4093,
key.namelength: 19
}
]
@@ -4907,12 +5162,12 @@
key.kind: source.lang.swift.decl.class,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "FooClassDerived",
- key.offset: 4084,
+ key.offset: 4154,
key.length: 481,
key.runtime_name: "_TtC4main15FooClassDerived",
- key.nameoffset: 4090,
+ key.nameoffset: 4160,
key.namelength: 15,
- key.bodyoffset: 4142,
+ key.bodyoffset: 4212,
key.bodylength: 422,
key.inheritedtypes: [
{
@@ -4925,12 +5180,12 @@
key.elements: [
{
key.kind: source.lang.swift.structure.elem.typeref,
- key.offset: 4108,
+ key.offset: 4178,
key.length: 12
},
{
key.kind: source.lang.swift.structure.elem.typeref,
- key.offset: 4122,
+ key.offset: 4192,
key.length: 18
}
],
@@ -4940,10 +5195,10 @@
key.accessibility: source.lang.swift.accessibility.open,
key.setter_accessibility: source.lang.swift.accessibility.open,
key.name: "fooProperty1",
- key.offset: 4158,
+ key.offset: 4228,
key.length: 23,
key.typename: "Int32",
- key.nameoffset: 4162,
+ key.nameoffset: 4232,
key.namelength: 12
},
{
@@ -4951,10 +5206,10 @@
key.accessibility: source.lang.swift.accessibility.open,
key.setter_accessibility: source.lang.swift.accessibility.open,
key.name: "fooProperty2",
- key.offset: 4192,
+ key.offset: 4262,
key.length: 23,
key.typename: "Int32",
- key.nameoffset: 4196,
+ key.nameoffset: 4266,
key.namelength: 12
},
{
@@ -4962,34 +5217,34 @@
key.accessibility: source.lang.swift.accessibility.open,
key.setter_accessibility: source.lang.swift.accessibility.open,
key.name: "fooProperty3",
- key.offset: 4226,
+ key.offset: 4296,
key.length: 31,
key.typename: "Int32",
- key.nameoffset: 4230,
+ key.nameoffset: 4300,
key.namelength: 12
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "fooInstanceFunc0()",
- key.offset: 4342,
+ key.offset: 4412,
key.length: 23,
- key.nameoffset: 4347,
+ key.nameoffset: 4417,
key.namelength: 18
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "fooInstanceFunc1(_:)",
- key.offset: 4376,
+ key.offset: 4446,
key.length: 33,
- key.nameoffset: 4381,
+ key.nameoffset: 4451,
key.namelength: 28,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "a",
- key.offset: 4398,
+ key.offset: 4468,
key.length: 10,
key.typename: "Int32",
key.nameoffset: 0,
@@ -5001,15 +5256,15 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "fooInstanceFunc2(_:withB:)",
- key.offset: 4420,
+ key.offset: 4490,
key.length: 49,
- key.nameoffset: 4425,
+ key.nameoffset: 4495,
key.namelength: 44,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "a",
- key.offset: 4442,
+ key.offset: 4512,
key.length: 10,
key.typename: "Int32",
key.nameoffset: 0,
@@ -5018,10 +5273,10 @@
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "b",
- key.offset: 4454,
+ key.offset: 4524,
key.length: 14,
key.typename: "Int32",
- key.nameoffset: 4454,
+ key.nameoffset: 4524,
key.namelength: 5
}
]
@@ -5030,18 +5285,18 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "fooBaseInstanceFuncOverridden()",
- key.offset: 4485,
+ key.offset: 4555,
key.length: 36,
- key.nameoffset: 4490,
+ key.nameoffset: 4560,
key.namelength: 31
},
{
key.kind: source.lang.swift.decl.function.method.class,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "fooClassFunc0()",
- key.offset: 4537,
+ key.offset: 4607,
key.length: 26,
- key.nameoffset: 4548,
+ key.nameoffset: 4618,
key.namelength: 15
}
]
@@ -5051,10 +5306,10 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "FOO_MACRO_1",
- key.offset: 4606,
+ key.offset: 4716,
key.length: 30,
key.typename: "Int32",
- key.nameoffset: 4610,
+ key.nameoffset: 4720,
key.namelength: 11
},
{
@@ -5062,10 +5317,10 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "FOO_MACRO_2",
- key.offset: 4644,
+ key.offset: 4754,
key.length: 30,
key.typename: "Int32",
- key.nameoffset: 4648,
+ key.nameoffset: 4758,
key.namelength: 11
},
{
@@ -5073,10 +5328,10 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "FOO_MACRO_3",
- key.offset: 4682,
+ key.offset: 4792,
key.length: 30,
key.typename: "Int32",
- key.nameoffset: 4686,
+ key.nameoffset: 4796,
key.namelength: 11
},
{
@@ -5084,10 +5339,10 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "FOO_MACRO_4",
- key.offset: 4759,
+ key.offset: 4869,
key.length: 31,
key.typename: "UInt32",
- key.nameoffset: 4763,
+ key.nameoffset: 4873,
key.namelength: 11
},
{
@@ -5095,21 +5350,87 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "FOO_MACRO_5",
- key.offset: 4798,
+ key.offset: 4908,
key.length: 31,
key.typename: "UInt64",
- key.nameoffset: 4802,
+ key.nameoffset: 4912,
key.namelength: 11
},
{
key.kind: source.lang.swift.decl.var.global,
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
+ key.name: "FOO_MACRO_6",
+ key.offset: 4947,
+ key.length: 38,
+ key.typename: "typedef_int_t",
+ key.nameoffset: 4951,
+ key.namelength: 11
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
+ key.accessibility: source.lang.swift.accessibility.public,
+ key.setter_accessibility: source.lang.swift.accessibility.public,
+ key.name: "FOO_MACRO_7",
+ key.offset: 4993,
+ key.length: 38,
+ key.typename: "typedef_int_t",
+ key.nameoffset: 4997,
+ key.namelength: 11
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
+ key.accessibility: source.lang.swift.accessibility.public,
+ key.setter_accessibility: source.lang.swift.accessibility.public,
+ key.name: "FOO_MACRO_8",
+ key.offset: 5039,
+ key.length: 29,
+ key.typename: "Int8",
+ key.nameoffset: 5043,
+ key.namelength: 11
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
+ key.accessibility: source.lang.swift.accessibility.public,
+ key.setter_accessibility: source.lang.swift.accessibility.public,
+ key.name: "FOO_MACRO_9",
+ key.offset: 5076,
+ key.length: 30,
+ key.typename: "Int32",
+ key.nameoffset: 5080,
+ key.namelength: 11
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
+ key.accessibility: source.lang.swift.accessibility.public,
+ key.setter_accessibility: source.lang.swift.accessibility.public,
+ key.name: "FOO_MACRO_10",
+ key.offset: 5114,
+ key.length: 31,
+ key.typename: "Int16",
+ key.nameoffset: 5118,
+ key.namelength: 12
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
+ key.accessibility: source.lang.swift.accessibility.public,
+ key.setter_accessibility: source.lang.swift.accessibility.public,
+ key.name: "FOO_MACRO_11",
+ key.offset: 5153,
+ key.length: 29,
+ key.typename: "Int",
+ key.nameoffset: 5157,
+ key.namelength: 12
+ },
+ {
+ key.kind: source.lang.swift.decl.var.global,
+ key.accessibility: source.lang.swift.accessibility.public,
+ key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "FOO_MACRO_REDEF_1",
- key.offset: 4838,
+ key.offset: 5191,
key.length: 36,
key.typename: "Int32",
- key.nameoffset: 4842,
+ key.nameoffset: 5195,
key.namelength: 17
},
{
@@ -5117,39 +5438,39 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "FOO_MACRO_REDEF_2",
- key.offset: 4883,
+ key.offset: 5236,
key.length: 36,
key.typename: "Int32",
- key.nameoffset: 4887,
+ key.nameoffset: 5240,
key.namelength: 17
},
{
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "theLastDeclInFoo()",
- key.offset: 4928,
+ key.offset: 5281,
key.length: 23,
- key.nameoffset: 4933,
+ key.nameoffset: 5286,
key.namelength: 18
},
{
key.kind: source.lang.swift.decl.function.free,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "_internalTopLevelFunc()",
- key.offset: 4960,
+ key.offset: 5313,
key.length: 28,
- key.nameoffset: 4965,
+ key.nameoffset: 5318,
key.namelength: 23
},
{
key.kind: source.lang.swift.decl.struct,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "_InternalStruct",
- key.offset: 4997,
+ key.offset: 5350,
key.length: 97,
- key.nameoffset: 5004,
+ key.nameoffset: 5357,
key.namelength: 15,
- key.bodyoffset: 5021,
+ key.bodyoffset: 5374,
key.bodylength: 72,
key.substructure: [
{
@@ -5157,37 +5478,37 @@
key.accessibility: source.lang.swift.accessibility.public,
key.setter_accessibility: source.lang.swift.accessibility.public,
key.name: "x",
- key.offset: 5034,
+ key.offset: 5387,
key.length: 12,
key.typename: "Int32",
- key.nameoffset: 5038,
+ key.nameoffset: 5391,
key.namelength: 1
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "init()",
- key.offset: 5059,
+ key.offset: 5412,
key.length: 6,
- key.nameoffset: 5059,
+ key.nameoffset: 5412,
key.namelength: 6
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "init(x:)",
- key.offset: 5078,
+ key.offset: 5431,
key.length: 14,
- key.nameoffset: 5078,
+ key.nameoffset: 5431,
key.namelength: 14,
key.substructure: [
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "x",
- key.offset: 5083,
+ key.offset: 5436,
key.length: 8,
key.typename: "Int32",
- key.nameoffset: 5083,
+ key.nameoffset: 5436,
key.namelength: 1
}
]
@@ -5197,20 +5518,20 @@
{
key.kind: source.lang.swift.decl.extension,
key.name: "FooClassBase",
- key.offset: 5096,
+ key.offset: 5449,
key.length: 66,
- key.nameoffset: 5106,
+ key.nameoffset: 5459,
key.namelength: 12,
- key.bodyoffset: 5120,
+ key.bodyoffset: 5473,
key.bodylength: 41,
key.substructure: [
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "_internalMeth1()",
- key.offset: 5131,
+ key.offset: 5484,
key.length: 29,
- key.nameoffset: 5136,
+ key.nameoffset: 5489,
key.namelength: 16
}
]
@@ -5218,29 +5539,29 @@
{
key.kind: source.lang.swift.decl.extension,
key.name: "FooClassBase",
- key.offset: 5209,
+ key.offset: 5562,
key.length: 107,
- key.nameoffset: 5219,
+ key.nameoffset: 5572,
key.namelength: 12,
- key.bodyoffset: 5233,
+ key.bodyoffset: 5586,
key.bodylength: 82,
key.substructure: [
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "_internalMeth2()",
- key.offset: 5244,
+ key.offset: 5597,
key.length: 29,
- key.nameoffset: 5249,
+ key.nameoffset: 5602,
key.namelength: 16
},
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "nonInternalMeth()",
- key.offset: 5284,
+ key.offset: 5637,
key.length: 30,
- key.nameoffset: 5289,
+ key.nameoffset: 5642,
key.namelength: 17
}
]
@@ -5248,20 +5569,20 @@
{
key.kind: source.lang.swift.decl.extension,
key.name: "FooClassBase",
- key.offset: 5318,
+ key.offset: 5671,
key.length: 66,
- key.nameoffset: 5328,
+ key.nameoffset: 5681,
key.namelength: 12,
- key.bodyoffset: 5342,
+ key.bodyoffset: 5695,
key.bodylength: 41,
key.substructure: [
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "_internalMeth3()",
- key.offset: 5353,
+ key.offset: 5706,
key.length: 29,
- key.nameoffset: 5358,
+ key.nameoffset: 5711,
key.namelength: 16
}
]
@@ -5270,24 +5591,24 @@
key.kind: source.lang.swift.decl.protocol,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "_InternalProt",
- key.offset: 5393,
+ key.offset: 5746,
key.length: 26,
key.runtime_name: "_TtP4main13_InternalProt_",
- key.nameoffset: 5402,
+ key.nameoffset: 5755,
key.namelength: 13,
- key.bodyoffset: 5417,
+ key.bodyoffset: 5770,
key.bodylength: 1
},
{
key.kind: source.lang.swift.decl.class,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "ClassWithInternalProt",
- key.offset: 5426,
+ key.offset: 5779,
key.length: 47,
key.runtime_name: "_TtC4main21ClassWithInternalProt",
- key.nameoffset: 5432,
+ key.nameoffset: 5785,
key.namelength: 21,
- key.bodyoffset: 5471,
+ key.bodyoffset: 5824,
key.bodylength: 1,
key.inheritedtypes: [
{
@@ -5297,7 +5618,7 @@
key.elements: [
{
key.kind: source.lang.swift.structure.elem.typeref,
- key.offset: 5456,
+ key.offset: 5809,
key.length: 13
}
]
@@ -5306,12 +5627,12 @@
key.kind: source.lang.swift.decl.class,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "FooClassPropertyOwnership",
- key.offset: 5480,
+ key.offset: 5833,
key.length: 319,
key.runtime_name: "_TtC4main25FooClassPropertyOwnership",
- key.nameoffset: 5486,
+ key.nameoffset: 5839,
key.namelength: 25,
- key.bodyoffset: 5528,
+ key.bodyoffset: 5881,
key.bodylength: 270,
key.inheritedtypes: [
{
@@ -5321,7 +5642,7 @@
key.elements: [
{
key.kind: source.lang.swift.structure.elem.typeref,
- key.offset: 5514,
+ key.offset: 5867,
key.length: 12
}
],
@@ -5331,10 +5652,10 @@
key.accessibility: source.lang.swift.accessibility.open,
key.setter_accessibility: source.lang.swift.accessibility.open,
key.name: "assignable",
- key.offset: 5555,
+ key.offset: 5908,
key.length: 26,
key.typename: "AnyObject!",
- key.nameoffset: 5559,
+ key.nameoffset: 5912,
key.namelength: 10,
key.attributes: [
{
@@ -5347,10 +5668,10 @@
key.accessibility: source.lang.swift.accessibility.open,
key.setter_accessibility: source.lang.swift.accessibility.open,
key.name: "unsafeAssignable",
- key.offset: 5608,
+ key.offset: 5961,
key.length: 32,
key.typename: "AnyObject!",
- key.nameoffset: 5612,
+ key.nameoffset: 5965,
key.namelength: 16,
key.attributes: [
{
@@ -5363,10 +5684,10 @@
key.accessibility: source.lang.swift.accessibility.open,
key.setter_accessibility: source.lang.swift.accessibility.open,
key.name: "retainable",
- key.offset: 5651,
+ key.offset: 6004,
key.length: 20,
key.typename: "Any!",
- key.nameoffset: 5655,
+ key.nameoffset: 6008,
key.namelength: 10
},
{
@@ -5374,10 +5695,10 @@
key.accessibility: source.lang.swift.accessibility.open,
key.setter_accessibility: source.lang.swift.accessibility.open,
key.name: "strongRef",
- key.offset: 5682,
+ key.offset: 6035,
key.length: 19,
key.typename: "Any!",
- key.nameoffset: 5686,
+ key.nameoffset: 6039,
key.namelength: 9
},
{
@@ -5385,10 +5706,10 @@
key.accessibility: source.lang.swift.accessibility.open,
key.setter_accessibility: source.lang.swift.accessibility.open,
key.name: "copyable",
- key.offset: 5712,
+ key.offset: 6065,
key.length: 18,
key.typename: "Any!",
- key.nameoffset: 5716,
+ key.nameoffset: 6069,
key.namelength: 8
},
{
@@ -5396,10 +5717,10 @@
key.accessibility: source.lang.swift.accessibility.open,
key.setter_accessibility: source.lang.swift.accessibility.open,
key.name: "weakRef",
- key.offset: 5746,
+ key.offset: 6099,
key.length: 23,
key.typename: "AnyObject!",
- key.nameoffset: 5750,
+ key.nameoffset: 6103,
key.namelength: 7,
key.attributes: [
{
@@ -5412,10 +5733,10 @@
key.accessibility: source.lang.swift.accessibility.open,
key.setter_accessibility: source.lang.swift.accessibility.open,
key.name: "scalar",
- key.offset: 5780,
+ key.offset: 6133,
key.length: 17,
key.typename: "Int32",
- key.nameoffset: 5784,
+ key.nameoffset: 6137,
key.namelength: 6
}
]
@@ -5424,12 +5745,12 @@
key.kind: source.lang.swift.decl.class,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "FooUnavailableMembers",
- key.offset: 5806,
+ key.offset: 6159,
key.length: 340,
key.runtime_name: "_TtC4main21FooUnavailableMembers",
- key.nameoffset: 5812,
+ key.nameoffset: 6165,
key.namelength: 21,
- key.bodyoffset: 5850,
+ key.bodyoffset: 6203,
key.bodylength: 295,
key.inheritedtypes: [
{
@@ -5439,7 +5760,7 @@
key.elements: [
{
key.kind: source.lang.swift.structure.elem.typeref,
- key.offset: 5836,
+ key.offset: 6189,
key.length: 12
}
],
@@ -5448,9 +5769,9 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "init(int:)",
- key.offset: 5875,
+ key.offset: 6228,
key.length: 19,
- key.nameoffset: 5875,
+ key.nameoffset: 6228,
key.namelength: 19,
key.attributes: [
{
@@ -5461,10 +5782,10 @@
{
key.kind: source.lang.swift.decl.var.parameter,
key.name: "i",
- key.offset: 5881,
+ key.offset: 6234,
key.length: 12,
key.typename: "Int32",
- key.nameoffset: 5881,
+ key.nameoffset: 6234,
key.namelength: 3
}
]
@@ -5473,9 +5794,9 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "deprecated()",
- key.offset: 5954,
+ key.offset: 6307,
key.length: 17,
- key.nameoffset: 5959,
+ key.nameoffset: 6312,
key.namelength: 12,
key.attributes: [
{
@@ -5487,9 +5808,9 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "availabilityIntroduced()",
- key.offset: 6015,
+ key.offset: 6368,
key.length: 29,
- key.nameoffset: 6020,
+ key.nameoffset: 6373,
key.namelength: 24,
key.attributes: [
{
@@ -5501,9 +5822,9 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.open,
key.name: "availabilityIntroducedMsg()",
- key.offset: 6112,
+ key.offset: 6465,
key.length: 32,
- key.nameoffset: 6117,
+ key.nameoffset: 6470,
key.namelength: 27,
key.attributes: [
{
@@ -5517,33 +5838,33 @@
key.kind: source.lang.swift.decl.class,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "FooCFType",
- key.offset: 6155,
+ key.offset: 6508,
key.length: 19,
key.runtime_name: "_TtC4main9FooCFType",
- key.nameoffset: 6161,
+ key.nameoffset: 6514,
key.namelength: 9,
- key.bodyoffset: 6172,
+ key.bodyoffset: 6525,
key.bodylength: 1
},
{
key.kind: source.lang.swift.decl.class,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "FooOverlayClassBase",
- key.offset: 6182,
+ key.offset: 6535,
key.length: 50,
key.runtime_name: "_TtC4main19FooOverlayClassBase",
- key.nameoffset: 6188,
+ key.nameoffset: 6541,
key.namelength: 19,
- key.bodyoffset: 6209,
+ key.bodyoffset: 6562,
key.bodylength: 22,
key.substructure: [
{
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "f()",
- key.offset: 6222,
+ key.offset: 6575,
key.length: 8,
- key.nameoffset: 6227,
+ key.nameoffset: 6580,
key.namelength: 3
}
]
@@ -5552,12 +5873,12 @@
key.kind: source.lang.swift.decl.class,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "FooOverlayClassDerived",
- key.offset: 6241,
+ key.offset: 6594,
key.length: 88,
key.runtime_name: "_TtC4main22FooOverlayClassDerived",
- key.nameoffset: 6247,
+ key.nameoffset: 6600,
key.namelength: 22,
- key.bodyoffset: 6297,
+ key.bodyoffset: 6650,
key.bodylength: 31,
key.inheritedtypes: [
{
@@ -5567,7 +5888,7 @@
key.elements: [
{
key.kind: source.lang.swift.structure.elem.typeref,
- key.offset: 6272,
+ key.offset: 6625,
key.length: 23
}
],
@@ -5576,9 +5897,9 @@
key.kind: source.lang.swift.decl.function.method.instance,
key.accessibility: source.lang.swift.accessibility.public,
key.name: "f()",
- key.offset: 6319,
+ key.offset: 6672,
key.length: 8,
- key.nameoffset: 6324,
+ key.nameoffset: 6677,
key.namelength: 3,
key.attributes: [
{
diff --git a/test/stdlib/ReflectionHashing.swift b/test/stdlib/ReflectionHashing.swift
index c6b4235..279ddc9 100644
--- a/test/stdlib/ReflectionHashing.swift
+++ b/test/stdlib/ReflectionHashing.swift
@@ -2,7 +2,12 @@
// RUN: %target-run %t.out
// REQUIRES: executable_test
-// XFAIL: linux
+// This test expects consistent hash code generation. However String instance
+// generate different values on Linux depending on which version of libicu is
+// installed. Therefore we run this test only on non-linux OSes, which is
+// best described as having objc_interop.
+
+// REQUIRES: objc_interop
//
// This file contains reflection tests that depend on hash values.
diff --git a/utils/build-script-impl b/utils/build-script-impl
index 8dc19f8..d806c3a 100755
--- a/utils/build-script-impl
+++ b/utils/build-script-impl
@@ -328,6 +328,17 @@
fi
}
+# Enable module-builds of llvm only when asan is disabled.
+# FIXME: rdar://problem/28356072
+function is_llvm_module_build_enabled() {
+ if [[ "$(true_false ${LLVM_ENABLE_MODULES})" == "TRUE" ]] &&
+ [[ "$(true_false ${ENABLE_ASAN})" == "FALSE" ]]; then
+ echo "TRUE"
+ else
+ echo "FALSE"
+ fi
+}
+
# Support for performing isolated actions.
#
# This is part of refactoring more work to be done or controllable via
@@ -636,7 +647,7 @@
-DCOMPILER_RT_ENABLE_WATCHOS:BOOL=FALSE
-DCOMPILER_RT_ENABLE_TVOS:BOOL=FALSE
-DSANITIZER_MIN_OSX_VERSION="${cmake_osx_deployment_target}"
- -DLLVM_ENABLE_MODULES:BOOL="$(true_false ${LLVM_ENABLE_MODULES})"
+ -DLLVM_ENABLE_MODULES:BOOL="$(is_llvm_module_build_enabled)"
)
if [[ $(is_llvm_lto_enabled) == "TRUE" ]]; then
if [[ $(cmake_needs_to_specify_standard_computed_defaults) == "TRUE" ]]; then
@@ -1678,6 +1689,43 @@
fi
}
+# Construct the appropriate options to pass to an Xcode
+# build of any LLDB target.
+function set_lldb_xcodebuild_options() {
+ llvm_build_dir=$(build_directory ${host} llvm)
+ cmark_build_dir=$(build_directory ${host} cmark)
+ lldb_build_dir=$(build_directory ${host} lldb)
+ swift_build_dir=$(build_directory ${host} swift)
+
+ lldb_xcodebuild_options=(
+ LLDB_PATH_TO_LLVM_SOURCE="${LLVM_SOURCE_DIR}"
+ LLDB_PATH_TO_CLANG_SOURCE="${CLANG_SOURCE_DIR}"
+ LLDB_PATH_TO_SWIFT_SOURCE="${SWIFT_SOURCE_DIR}"
+ LLDB_PATH_TO_LLVM_BUILD="${llvm_build_dir}"
+ LLDB_PATH_TO_CLANG_BUILD="${llvm_build_dir}"
+ LLDB_PATH_TO_SWIFT_BUILD="${swift_build_dir}"
+ LLDB_PATH_TO_CMARK_BUILD="${cmark_build_dir}"
+ LLDB_IS_BUILDBOT_BUILD="${LLDB_IS_BUILDBOT_BUILD}"
+ LLDB_BUILD_DATE="\"${LLDB_BUILD_DATE}\""
+ SYMROOT="${lldb_build_dir}"
+ OBJROOT="${lldb_build_dir}"
+ ${LLDB_EXTRA_XCODEBUILD_ARGS}
+ )
+ if [[ "${LLDB_NO_DEBUGSERVER}" ]] ; then
+ lldb_xcodebuild_options=(
+ "${lldb_xcodebuild_options[@]}"
+ DEBUGSERVER_DISABLE_CODESIGN="1"
+ DEBUGSERVER_DELETE_AFTER_BUILD="1"
+ )
+ fi
+ if [[ "${LLDB_USE_SYSTEM_DEBUGSERVER}" ]] ; then
+ lldb_xcodebuild_options=(
+ "${lldb_xcodebuild_options[@]}"
+ DEBUGSERVER_USE_FROM_SYSTEM="1"
+ )
+ fi
+}
+
#
# Configure and build each product
#
@@ -2158,33 +2206,7 @@
;;
macosx-*)
# Set up flags to pass to xcodebuild
- lldb_xcodebuild_options=(
- LLDB_PATH_TO_LLVM_SOURCE="${LLVM_SOURCE_DIR}"
- LLDB_PATH_TO_CLANG_SOURCE="${CLANG_SOURCE_DIR}"
- LLDB_PATH_TO_SWIFT_SOURCE="${SWIFT_SOURCE_DIR}"
- LLDB_PATH_TO_LLVM_BUILD="${llvm_build_dir}"
- LLDB_PATH_TO_CLANG_BUILD="${llvm_build_dir}"
- LLDB_PATH_TO_SWIFT_BUILD="${swift_build_dir}"
- LLDB_PATH_TO_CMARK_BUILD="${cmark_build_dir}"
- LLDB_IS_BUILDBOT_BUILD="${LLDB_IS_BUILDBOT_BUILD}"
- LLDB_BUILD_DATE="\"${LLDB_BUILD_DATE}\""
- SYMROOT="${lldb_build_dir}"
- OBJROOT="${lldb_build_dir}"
- ${LLDB_EXTRA_XCODEBUILD_ARGS}
- )
- if [[ "${LLDB_NO_DEBUGSERVER}" ]] ; then
- lldb_xcodebuild_options=(
- "${lldb_xcodebuild_options[@]}"
- DEBUGSERVER_DISABLE_CODESIGN="1"
- DEBUGSERVER_DELETE_AFTER_BUILD="1"
- )
- fi
- if [[ "${LLDB_USE_SYSTEM_DEBUGSERVER}" ]] ; then
- lldb_xcodebuild_options=(
- "${lldb_xcodebuild_options[@]}"
- DEBUGSERVER_USE_FROM_SYSTEM="1"
- )
- fi
+ set_lldb_xcodebuild_options
set_lldb_build_mode
with_pushd ${source_dir} \
call xcodebuild -target desktop -configuration ${LLDB_BUILD_MODE} ${lldb_xcodebuild_options[@]}
@@ -2495,6 +2517,24 @@
continue
fi
lldb_build_dir=$(build_directory ${host} lldb)
+
+ # Run the gtests.
+ if [[ "$(uname -s)" == "Darwin" ]] ; then
+ set_lldb_xcodebuild_options
+ # Run the LLDB unittests (gtests).
+ with_pushd ${LLDB_SOURCE_DIR} \
+ call xcodebuild -scheme lldb-gtest -configuration ${LLDB_BUILD_MODE} ${lldb_xcodebuild_options[@]}
+ rc=$?
+ if [[ "$rc" -ne 0 ]] ; then
+ >&2 echo "error: LLDB gtests failed"
+ exit 1
+ fi
+ else
+ # FIXME run the gtests on other platforms.
+ # There should be a CMake target for this already.
+ echo Run LLDB gtests here.
+ fi
+
swift_build_dir=$(build_directory ${host} swift)
# Setup lldb executable path
if [[ "$(uname -s)" == "Darwin" ]] ; then
diff --git a/validation-test/SIL/crashers/035-swift-typebase-getcanonicaltype.sil b/validation-test/SIL/crashers/035-swift-typebase-getcanonicaltype.sil
new file mode 100644
index 0000000..6ffc133
--- /dev/null
+++ b/validation-test/SIL/crashers/035-swift-typebase-getcanonicaltype.sil
@@ -0,0 +1,3 @@
+// RUN: not --crash %target-sil-opt %s
+// REQUIRES: asserts
+protocol f{func<extension{func<
\ No newline at end of file
diff --git a/validation-test/SIL/crashers/036-swift-cantype-isreferencetypeimpl.sil b/validation-test/SIL/crashers/036-swift-cantype-isreferencetypeimpl.sil
new file mode 100644
index 0000000..e9d6ea1
--- /dev/null
+++ b/validation-test/SIL/crashers/036-swift-cantype-isreferencetypeimpl.sil
@@ -0,0 +1,3 @@
+// RUN: not --crash %target-sil-opt %s
+// REQUIRES: asserts
+func l<X{weak var c:X
\ No newline at end of file
diff --git a/validation-test/Sema/type_checker_crashers/rdar27680407.swift b/validation-test/Sema/type_checker_crashers/rdar27680407.swift
deleted file mode 100644
index 1e16463..0000000
--- a/validation-test/Sema/type_checker_crashers/rdar27680407.swift
+++ /dev/null
@@ -1,10 +0,0 @@
-// RUN: not --crash %target-swift-frontend %s -parse
-
-struct rdar27680407 : ExpressibleByStringLiteral {
- let value: String
-
- // Stack overflow while validating rdar27680407.StringLiteralType.
- init(stringLiteral value: rdar27680407.StringLiteralType) {
- self.value = value
- }
-}
diff --git a/validation-test/StdlibUnittest/RaceTest.swift b/validation-test/StdlibUnittest/RaceTest.swift
index 4b6f025..a63fd18 100644
--- a/validation-test/StdlibUnittest/RaceTest.swift
+++ b/validation-test/StdlibUnittest/RaceTest.swift
@@ -2,6 +2,11 @@
// RUN: %target-run %t.out | %FileCheck %s
import StdlibUnittest
+#if os(OSX) || os(iOS) || os(watchOS) || os(tvOS)
+import Darwin
+#elseif os(Linux) || os(FreeBSD) || os(PS4) || os(Android)
+import Glibc
+#endif
_setTestSuiteFailedCallback() { print("abort()") }
@@ -102,7 +107,77 @@
}
// CHECK: [ RUN ] Race.closure
// CHECK: [ OK ] Race.closure
-// CHECK: Race: Some tests failed, aborting
+
+RaceTestSuite.test("timeout-zero") {
+ // Zero timeout is still expected to run at least one trial.
+ let count = _stdlib_AtomicInt(0)
+ runRaceTest(trials: 2000000000, timeoutInSeconds: 0) {
+ _ = count.fetchAndAdd(1)
+ }
+ expectGT(count.load(), 0)
+}
+// CHECK: [ RUN ] Race.timeout-zero
+// CHECK: [ OK ] Race.timeout-zero
+
+
+func -(_ lhs: timeval, _ rhs: timeval) -> timeval {
+ var result = timeval(tv_sec: 0, tv_usec: 0)
+ result.tv_sec = lhs.tv_sec - rhs.tv_sec
+ result.tv_usec = lhs.tv_usec - rhs.tv_usec
+ if result.tv_usec < 0 {
+ result.tv_usec += 1000000
+ result.tv_sec -= 1
+ }
+ return result
+}
+
+func gettimeofday() -> timeval {
+ var result = timeval(tv_sec: 0, tv_usec: 0)
+ gettimeofday(&result, nil)
+ return result
+}
+
+RaceTestSuite.test("timeout-small") {
+ // Verify that the timeout fires after the correct number of seconds.
+ // If the timeout fails to fire then this test will run for a very long time.
+ var startTime: timeval
+ var endTime: timeval
+ let timeout = 5
+ let count = _stdlib_AtomicInt(0)
+ startTime = gettimeofday()
+ runRaceTest(trials: 2000000000, timeoutInSeconds: timeout) {
+ _ = count.fetchAndAdd(1)
+ }
+ endTime = gettimeofday()
+ expectGT(count.load(), 0)
+ // Test should have run to the timeout.
+ // Test should not have run too long after the timeout.
+ let duration = endTime - startTime
+ expectGE(duration.tv_sec, timeout)
+ expectLT(duration.tv_sec, timeout*100) // large to avoid spurious failures
+}
+// CHECK: [ RUN ] Race.timeout-small
+// CHECK: [ OK ] Race.timeout-small
+
+RaceTestSuite.test("timeout-big") {
+ // Verify that a short test with a long timeout completes before the timeout.
+ var startTime: timeval
+ var endTime: timeval
+ let timeout = 10000
+ let count = _stdlib_AtomicInt(0)
+ startTime = gettimeofday()
+ runRaceTest(trials: 10, timeoutInSeconds: timeout) {
+ _ = count.fetchAndAdd(1)
+ }
+ endTime = gettimeofday()
+ expectGT(count.load(), 0)
+ // Test should have stopped long before the timeout.
+ let duration = endTime - startTime
+ expectLT(duration.tv_sec, timeout / 2)
+}
+// CHECK: [ RUN ] Race.timeout-big
+// CHECK: [ OK ] Race.timeout-big
runAllTests()
+// CHECK: Race: Some tests failed, aborting
diff --git a/validation-test/compiler_crashers/28385-swift-constraints-constraintgraph-addconstraint.swift b/validation-test/compiler_crashers/28424-swift-valuedecl-getformalaccessscope.swift
similarity index 90%
copy from validation-test/compiler_crashers/28385-swift-constraints-constraintgraph-addconstraint.swift
copy to validation-test/compiler_crashers/28424-swift-valuedecl-getformalaccessscope.swift
index b1e489b..811cbcb 100644
--- a/validation-test/compiler_crashers/28385-swift-constraints-constraintgraph-addconstraint.swift
+++ b/validation-test/compiler_crashers/28424-swift-valuedecl-getformalaccessscope.swift
@@ -6,5 +6,4 @@
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
// RUN: not --crash %target-swift-frontend %s -parse
-// REQUIRES: asserts
-assert((n:String{
+func<{{protocol A{func<extension{enum B:A
diff --git a/validation-test/compiler_crashers/28385-swift-constraints-constraintgraph-addconstraint.swift b/validation-test/compiler_crashers/28425-swift-constraints-solution-convertbooleantypetobuiltini.swift
similarity index 93%
rename from validation-test/compiler_crashers/28385-swift-constraints-constraintgraph-addconstraint.swift
rename to validation-test/compiler_crashers/28425-swift-constraints-solution-convertbooleantypetobuiltini.swift
index b1e489b..1984594 100644
--- a/validation-test/compiler_crashers/28385-swift-constraints-constraintgraph-addconstraint.swift
+++ b/validation-test/compiler_crashers/28425-swift-constraints-solution-convertbooleantypetobuiltini.swift
@@ -7,4 +7,4 @@
// RUN: not --crash %target-swift-frontend %s -parse
// REQUIRES: asserts
-assert((n:String{
+class a{deinit{{if(x:false
diff --git a/validation-test/compiler_crashers/28385-swift-constraints-constraintgraph-addconstraint.swift b/validation-test/compiler_crashers_fixed/28385-swift-constraints-constraintgraph-addconstraint.swift
similarity index 83%
copy from validation-test/compiler_crashers/28385-swift-constraints-constraintgraph-addconstraint.swift
copy to validation-test/compiler_crashers_fixed/28385-swift-constraints-constraintgraph-addconstraint.swift
index b1e489b..97f9e87 100644
--- a/validation-test/compiler_crashers/28385-swift-constraints-constraintgraph-addconstraint.swift
+++ b/validation-test/compiler_crashers_fixed/28385-swift-constraints-constraintgraph-addconstraint.swift
@@ -5,6 +5,5 @@
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
-// RUN: not --crash %target-swift-frontend %s -parse
-// REQUIRES: asserts
+// RUN: not %target-swift-frontend %s -parse
assert((n:String{
diff --git a/validation-test/stdlib/AtomicInt.swift b/validation-test/stdlib/AtomicInt.swift
index ef803de..52701c0 100644
--- a/validation-test/stdlib/AtomicInt.swift
+++ b/validation-test/stdlib/AtomicInt.swift
@@ -14,10 +14,6 @@
import Glibc
#endif
-func operationCount(_ n: Int) -> Int {
- return _isDebugAssertConfiguration() ? n/2 : n
-}
-
final class HeapBool {
var value: Bool
init(_ value: Bool) {
@@ -797,39 +793,43 @@
var AtomicIntTestSuite = TestSuite("AtomicInt")
AtomicIntTestSuite.test("fetchAndAdd/1") {
- runRaceTest(AtomicInt_fetchAndAdd_1_RaceTest.self, operations: operationCount(6400))
+ runRaceTest(AtomicInt_fetchAndAdd_1_RaceTest.self,
+ operations: 6400, timeoutInSeconds: 60)
}
AtomicIntTestSuite.test("fetchAndAdd/ReleaseAtomicStores/1") {
runRaceTest(
AtomicInt_fetchAndAdd_ReleaseAtomicStores_1_RaceTest.self,
- operations: operationCount(12800))
+ operations: 12800, timeoutInSeconds: 60)
}
AtomicIntTestSuite.test("fetchAndAdd/ReleaseAtomicStores/2") {
runRaceTest(
AtomicInt_fetchAndAdd_ReleaseAtomicStores_2_RaceTest.self,
- operations: operationCount(12800))
+ operations: 12800, timeoutInSeconds: 60)
}
AtomicIntTestSuite.test("fetchAndAdd/ReleaseNonAtomicStores/1") {
runRaceTest(
AtomicInt_fetchAndAdd_ReleaseNonAtomicStores_RaceTest.self,
- operations: operationCount(25600))
+ operations: 25600, timeoutInSeconds: 60)
}
AtomicIntTestSuite.test("fetchAndAnd/1") {
- runRaceTest(AtomicInt_fetchAndAnd_1_RaceTest.self, operations: operationCount(6400))
+ runRaceTest(AtomicInt_fetchAndAnd_1_RaceTest.self,
+ operations: 6400, timeoutInSeconds: 60)
}
// FIXME: add more tests for fetchAndAnd, like we have for fetchAndAdd.
AtomicIntTestSuite.test("fetchAndOr/1") {
- runRaceTest(AtomicInt_fetchAndOr_1_RaceTest.self, operations: operationCount(6400))
+ runRaceTest(AtomicInt_fetchAndOr_1_RaceTest.self,
+ operations: 6400, timeoutInSeconds: 60)
}
// FIXME: add more tests for fetchAndOr, like we have for fetchAndAdd.
AtomicIntTestSuite.test("fetchAndXor/1") {
- runRaceTest(AtomicInt_fetchAndXor_1_RaceTest.self, operations: operationCount(6400))
+ runRaceTest(AtomicInt_fetchAndXor_1_RaceTest.self,
+ operations: 6400, timeoutInSeconds: 60)
}
// FIXME: add more tests for fetchAndXor, like we have for fetchAndAdd.
@@ -837,7 +837,8 @@
var AtomicARCRefTestSuite = TestSuite("AtomicARCRef")
AtomicARCRefTestSuite.test("initialize,load") {
- runRaceTest(AtomicInitializeARCRefRaceTest.self, operations: operationCount(25600))
+ runRaceTest(AtomicInitializeARCRefRaceTest.self,
+ operations: 25600, timeoutInSeconds: 60)
expectEqual(0, dummyObjectCount.getSum())
}
diff --git a/validation-test/stdlib/Lazy.swift.gyb b/validation-test/stdlib/Lazy.swift.gyb
index 8572cbc..d786bab 100644
--- a/validation-test/stdlib/Lazy.swift.gyb
+++ b/validation-test/stdlib/Lazy.swift.gyb
@@ -860,7 +860,7 @@
expectCollectionAssociatedTypes(
collectionType: Subject.self,
iteratorType: LazyMapIterator<Base.Iterator, OpaqueValue<Int32>>.self,
- // FIXME(ABI): SubSequence should be `LazyMapCollection<Base.Slice>`.
+ // FIXME(ABI)#77 (Associated Types with where clauses): SubSequence should be `LazyMapCollection<Base.Slice>`.
subSequenceType: Slice<Subject>.self,
indexType: Base.Index.self,
indexDistanceType: Base.IndexDistance.self,
@@ -873,7 +873,7 @@
expectBidirectionalCollectionAssociatedTypes(
collectionType: Subject.self,
iteratorType: LazyMapIterator<Base.Iterator, OpaqueValue<Int32>>.self,
- // FIXME(ABI): SubSequence should be `LazyMapBidirectionalCollection<Base.Slice>`.
+ // FIXME(ABI)#78 (Associated Types with where clauses): SubSequence should be `LazyMapBidirectionalCollection<Base.Slice>`.
subSequenceType: BidirectionalSlice<Subject>.self,
indexType: Base.Index.self,
indexDistanceType: Base.IndexDistance.self,
@@ -886,7 +886,7 @@
expectRandomAccessCollectionAssociatedTypes(
collectionType: Subject.self,
iteratorType: LazyMapIterator<Base.Iterator, OpaqueValue<Int32>>.self,
- // FIXME(ABI): SubSequence should be `LazyMapRandomAccessCollection<Base.Slice>`.
+ // FIXME(ABI)#79 (Associated Types with where clauses): SubSequence should be `LazyMapRandomAccessCollection<Base.Slice>`.
subSequenceType: RandomAccessSlice<Subject>.self,
indexType: Base.Index.self,
indexDistanceType: Base.IndexDistance.self,
@@ -1157,7 +1157,7 @@
expectCollectionAssociatedTypes(
collectionType: Subject.self,
iteratorType: LazyFilterIterator<Base.Iterator>.self,
- // FIXME(ABI): SubSequence should be `LazyFilterCollection<Base.Slice>`.
+ // FIXME(ABI)#80 (Associated Types with where clauses): SubSequence should be `LazyFilterCollection<Base.Slice>`.
subSequenceType: Slice<Subject>.self,
indexType: LazyFilterIndex<Base>.self,
indexDistanceType: Base.IndexDistance.self,
@@ -1170,7 +1170,7 @@
expectBidirectionalCollectionAssociatedTypes(
collectionType: Subject.self,
iteratorType: LazyFilterIterator<Base.Iterator>.self,
- // FIXME(ABI): SubSequence should be `LazyFilterBidirectionalCollection<Base.Slice>`.
+ // FIXME(ABI)#81 (Associated Types with where clauses): SubSequence should be `LazyFilterBidirectionalCollection<Base.Slice>`.
subSequenceType: BidirectionalSlice<Subject>.self,
indexType: LazyFilterIndex<Base>.self,
indexDistanceType: Base.IndexDistance.self,
@@ -1366,7 +1366,7 @@
expectBidirectionalCollectionAssociatedTypes(
collectionType: Subject.self,
iteratorType: LazyPrefixWhileIterator<Base.Iterator>.self,
- // FIXME(ABI): SubSequence should be `LazyFilterBidirectionalCollection<Base.Slice>`.
+ // FIXME(ABI)#82 (Associated Types with where clauses): SubSequence should be `LazyFilterBidirectionalCollection<Base.Slice>`.
subSequenceType: BidirectionalSlice<Subject>.self,
indexType: LazyPrefixWhileIndex<Base>.self,
indexDistanceType: Base.IndexDistance.self,
@@ -1426,7 +1426,7 @@
expectBidirectionalCollectionAssociatedTypes(
collectionType: Subject.self,
iteratorType: LazyDropWhileIterator<Base.Iterator>.self,
- // FIXME(ABI): SubSequence should be `LazyFilterBidirectionalCollection<Base.Slice>`.
+ // FIXME(ABI)#83 (Associated Types with where clauses): SubSequence should be `LazyFilterBidirectionalCollection<Base.Slice>`.
subSequenceType: BidirectionalSlice<Subject>.self,
indexType: LazyDropWhileIndex<Base>.self,
indexDistanceType: Base.IndexDistance.self,
diff --git a/validation-test/stdlib/StringViews.swift b/validation-test/stdlib/StringViews.swift
index e764e0a..51c7b1a 100644
--- a/validation-test/stdlib/StringViews.swift
+++ b/validation-test/stdlib/StringViews.swift
@@ -766,7 +766,7 @@
.forEach(in: utfTests) {
test in
- // FIXME(ABI): should be `checkBidirectionalCollection`.
+ // FIXME(ABI)#72 : should be `checkBidirectionalCollection`.
checkForwardCollection(test.utf8, test.string.utf8) { $0 == $1 }
}