1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2024 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
import CompletionScoring
/// General information about the code completion
struct CompletionContext {
let kind: CompletionContext.Kind
let memberAccessTypes: [String]
let baseExprScope: PopularityIndex.Scope?
init(kind: CompletionContext.Kind, memberAccessTypes: [String], baseExprScope: PopularityIndex.Scope?) {
self.kind = kind
self.memberAccessTypes = memberAccessTypes
self.baseExprScope = baseExprScope
}
enum Kind {
case none
case `import`
case unresolvedMember
case dotExpr
case stmtOrExpr
case postfixExprBeginning
case postfixExpr
case postfixExprParen
case keyPathExprObjC
case keyPathExprSwift
case typeDeclResultBeginning
case typeSimpleBeginning
case typeIdentifierWithDot
case typeIdentifierWithoutDot
case caseStmtKeyword
case caseStmtBeginning
case nominalMemberBeginning
case accessorBeginning
case attributeBegin
case attributeDeclParen
case poundAvailablePlatform
case callArg
case labeledTrailingClosure
case returnStmtExpr
case yieldStmtExpr
case forEachSequence
case afterPoundExpr
case afterPoundDirective
case platformConditon
case afterIfStmtElse
case genericRequirement
case precedenceGroup
case stmtLabel
case effectsSpecifier
case forEachPatternBeginning
case typeAttrBeginning
case optionalBinding
case forEachKeywordIn
case thenStmtExpr
}
}
|