mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
- Change the parser to accept "objc" without an @ sign as a contextual keyword, including the dance to handle the general parenthesized case. - Update all comments to refer to "objc" instead of "@objc". - Update all diagnostics accordingly. - Update all tests that fail due to the diagnostics change. - Switch the stdlib to use the new syntax. This does not switch all tests to use the new syntax, nor does it warn about the old syntax yet. That will be forthcoming. Also, this needs a bit of refactoring, which will be coming up. Swift SVN r19555
79 lines
2.6 KiB
Swift
79 lines
2.6 KiB
Swift
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This source file is part of the Swift.org open source project
|
|
//
|
|
// Copyright (c) 2014 - 2015 Apple Inc. and the Swift project authors
|
|
// Licensed under Apache License v2.0 with Runtime Library Exception
|
|
//
|
|
// See http://swift.org/LICENSE.txt for license information
|
|
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// Swift's String bridges NSString via this protocol and these
|
|
// variables, allowing the core stdlib to remain decoupled from
|
|
// Foundation.
|
|
|
|
/// Effectively a proxy for NSString that doesn't mention it by
|
|
/// name. NSString's conformance to this protocol is declared in
|
|
/// Foundation.
|
|
@class_protocol @public objc protocol _CocoaString {}
|
|
|
|
/// Loading Foundation initializes these function variables
|
|
/// with useful values
|
|
|
|
/// Produces a `_StringBuffer` from a given subrange of a source
|
|
/// `_CocoaString`, having the given minimum capacity.
|
|
@public var _cocoaStringToContiguous: (
|
|
source: _CocoaString, range: Range<Int>, minimumCapacity: Int
|
|
) -> _StringBuffer = _cocoaStringToContiguousNotInitialized
|
|
|
|
func _cocoaStringToContiguousNotInitialized(
|
|
source: _CocoaString, range: Range<Int>, minimumCapacity: Int
|
|
) -> _StringBuffer {
|
|
_fatalError("_cocoaStringToContiguous not initialized")
|
|
}
|
|
|
|
/// Reads the entire contents of a _CocoaString into contiguous
|
|
/// storage of sufficient capacity.
|
|
@public var _cocoaStringReadAll: (
|
|
source: _CocoaString, destination: UnsafePointer<UTF16.CodeUnit>
|
|
) -> Void = _cocoaStringReadAllNotInitialized
|
|
|
|
func _cocoaStringReadAllNotInitialized(
|
|
source: _CocoaString, destination: UnsafePointer<UTF16.CodeUnit>
|
|
) -> Void {
|
|
_fatalError("_cocoaStringReadAll not initialized")
|
|
}
|
|
|
|
@public var _cocoaStringLength: (
|
|
source: _CocoaString
|
|
) -> Int = _cocoaStringLengthNotInitialized
|
|
|
|
func _cocoaStringLengthNotInitialized(
|
|
source: _CocoaString
|
|
) -> Int {
|
|
_fatalError("_cocoaStringLength not initialized")
|
|
}
|
|
|
|
@public var _cocoaStringSlice: (
|
|
target: _StringCore, subRange: Range<Int>
|
|
) -> _StringCore = _cocoaStringSliceNotInitialized
|
|
|
|
func _cocoaStringSliceNotInitialized(
|
|
target: _StringCore, subRange: Range<Int>
|
|
) -> _StringCore {
|
|
_fatalError("_cocoaStringSlice not initialized")
|
|
}
|
|
|
|
@public var _cocoaStringSubscript: (
|
|
target: _StringCore, position: Int
|
|
) -> UTF16.CodeUnit = _cocoaStringSubscriptNotInitialized
|
|
|
|
func _cocoaStringSubscriptNotInitialized(
|
|
target: _StringCore, position: Int
|
|
) -> UTF16.CodeUnit {
|
|
_fatalError("_cocoaStringSubscript not initialized")
|
|
}
|
|
|