@@ -58,6 +58,7 @@ class IfConfigClauseRangeInfo;
58
58
class GenericSignature ;
59
59
class GenericSignatureImpl ;
60
60
struct LabeledStmtInfo ;
61
+ class LangOptions ;
61
62
class LayoutConstraint ;
62
63
class LayoutConstraintInfo ;
63
64
struct LifetimeDescriptor ;
@@ -82,6 +83,7 @@ enum class RequirementReprKind : unsigned;
82
83
struct BridgedASTType ;
83
84
class BridgedCanType ;
84
85
class BridgedASTContext ;
86
+ class BridgedLangOptions ;
85
87
struct BridgedSubstitutionMap ;
86
88
struct BridgedGenericSignature ;
87
89
struct BridgedConformance ;
@@ -193,38 +195,134 @@ BridgedDeclNameLoc_createParsed(BridgedASTContext cContext,
193
195
swift::SourceLoc baseNameLoc);
194
196
195
197
// ===----------------------------------------------------------------------===//
196
- // MARK: ASTContext
198
+ // MARK: LangOptions
197
199
// ===----------------------------------------------------------------------===//
198
200
199
201
enum ENUM_EXTENSIBILITY_ATTR (closed) BridgedEndianness : size_t {
200
202
EndianLittle,
201
203
EndianBig,
202
204
};
203
205
204
- class BridgedASTContext {
205
- swift::ASTContext * _Nonnull Ctx ;
206
+ class BridgedLangOptions {
207
+ const swift::LangOptions * _Nonnull LangOpts ;
206
208
207
209
public:
208
210
SWIFT_UNAVAILABLE (" Use init(raw:) instead" )
209
- BRIDGED_INLINE BridgedASTContext ( swift::ASTContext &ctx );
211
+ BRIDGED_INLINE BridgedLangOptions ( const swift::LangOptions &langOpts );
210
212
211
213
SWIFT_UNAVAILABLE (" Use '.raw' instead" )
212
- BRIDGED_INLINE swift::ASTContext &unbridged () const ;
214
+ BRIDGED_INLINE const swift::LangOptions &unbridged () const ;
213
215
214
216
SWIFT_COMPUTED_PROPERTY
215
- void *_Nonnull getRaw () const { return Ctx ; }
217
+ const void *_Nonnull getRaw () const { return LangOpts ; }
216
218
217
219
SWIFT_COMPUTED_PROPERTY
218
220
unsigned getMajorLanguageVersion () const ;
219
221
220
222
SWIFT_COMPUTED_PROPERTY
221
- unsigned getLangOptsTargetPointerBitWidth () const ;
223
+ unsigned getTargetPointerBitWidth () const ;
224
+
225
+ SWIFT_COMPUTED_PROPERTY
226
+ BridgedEndianness getTargetEndianness () const ;
227
+
228
+ SWIFT_COMPUTED_PROPERTY
229
+ bool getAttachCommentsToDecls () const ;
230
+ };
231
+
232
+ // / Key used when enumerating build configuration entries to the
233
+ // / StaticBuildConfiguration initializer for an ASTContext.
234
+ enum ENUM_EXTENSIBILITY_ATTR (closed) BuildConfigurationKey : size_t {
235
+ BCKCustomCondition,
236
+ BCKFeature,
237
+ BCKAttribute,
238
+ BCKTargetOSName,
239
+ BCKTargetArchitecture,
240
+ BCKTargetEnvironment,
241
+ BCKTargetRuntime,
242
+ BCKTargetPointerAuthenticationScheme,
243
+ BCKTargetObjectFileFormat
244
+ };
245
+
246
+ SWIFT_NAME (" BridgedLangOptions.hasFeature(self:_:)" )
247
+ bool BridgedLangOptions_hasFeature(BridgedLangOptions cLangOpts,
248
+ BridgedFeature feature);
249
+
250
+ SWIFT_NAME (" BridgedLangOptions.customConditionSet(self:_:)" )
251
+ bool BridgedLangOptions_customConditionSet(BridgedLangOptions cLangOpts,
252
+ BridgedStringRef cName);
253
+
254
+ SWIFT_NAME (" BridgedLangOptions.hasFeatureNamed(self:_:)" )
255
+ bool BridgedLangOptions_hasFeatureNamed(BridgedLangOptions cLangOpts,
256
+ BridgedStringRef cName);
257
+
258
+ SWIFT_NAME (" BridgedLangOptions.hasAttributeNamed(self:_:)" )
259
+ bool BridgedLangOptions_hasAttributeNamed(BridgedLangOptions cLangOpts,
260
+ BridgedStringRef cName);
261
+
262
+ SWIFT_NAME (" BridgedLangOptions.isActiveTargetOS(self:_:)" )
263
+ bool BridgedLangOptions_isActiveTargetOS(BridgedLangOptions cLangOpts,
264
+ BridgedStringRef cName);
265
+
266
+ SWIFT_NAME (" BridgedLangOptions.isActiveTargetArchitecture(self:_:)" )
267
+ bool BridgedLangOptions_isActiveTargetArchitecture(BridgedLangOptions cLangOpts,
268
+ BridgedStringRef cName);
269
+
270
+ SWIFT_NAME (" BridgedLangOptions.isActiveTargetEnvironment(self:_:)" )
271
+ bool BridgedLangOptions_isActiveTargetEnvironment(BridgedLangOptions cLangOpts,
272
+ BridgedStringRef cName);
273
+
274
+ SWIFT_NAME (" BridgedLangOptions.isActiveTargetRuntime(self:_:)" )
275
+ bool BridgedLangOptions_isActiveTargetRuntime(BridgedLangOptions cLangOpts,
276
+ BridgedStringRef cName);
277
+
278
+ SWIFT_NAME (" BridgedLangOptions.isActiveTargetPtrAuth(self:_:)" )
279
+ bool BridgedLangOptions_isActiveTargetPtrAuth(BridgedLangOptions cLangOpts,
280
+ BridgedStringRef cName);
281
+
282
+ SWIFT_NAME (" BridgedLangOptions.getTargetAtomicBitWidths(self:_:)" )
283
+ SwiftInt BridgedLangOptions_getTargetAtomicBitWidths(BridgedLangOptions cLangOpts,
284
+ SwiftInt* _Nullable * _Nonnull cComponents);
285
+
286
+ SWIFT_NAME (" BridgedLangOptions.getLanguageVersion(self:_:)" )
287
+ SwiftInt BridgedLangOptions_getLanguageVersion(BridgedLangOptions cLangOpts,
288
+ SwiftInt* _Nullable * _Nonnull cComponents);
289
+
290
+ SWIFT_NAME (" BridgedLangOptions.getCompilerVersion(self:_:)" )
291
+ SwiftInt BridgedLangOptions_getCompilerVersion(BridgedLangOptions cLangOpts,
292
+ SwiftInt* _Nullable * _Nonnull cComponents);
293
+
294
+ /* Deallocate an array of Swift int values that was allocated in C++. */
295
+ void deallocateIntBuffer (SwiftInt * _Nullable cComponents);
296
+
297
+ // / Enumerate all of the key/value pairs for the build configuration by calling
298
+ // / the given callback for each one.
299
+ SWIFT_NAME (" BridgedLangOptions.enumerateBuildConfigurationEntries(self:callbackContext:callback:)" )
300
+ void BridgedLangOptions_enumerateBuildConfigurationEntries(
301
+ BridgedLangOptions cLangOpts,
302
+ void * _Nonnull callbackContext,
303
+ void (* _Nonnull callback)(
304
+ BridgedLangOptions cLangOpts, void * _Nonnull callbackContext,
305
+ BuildConfigurationKey key, BridgedStringRef value));
306
+
307
+ // ===----------------------------------------------------------------------===//
308
+ // MARK: ASTContext
309
+ // ===----------------------------------------------------------------------===//
310
+
311
+ class BridgedASTContext {
312
+ swift::ASTContext * _Nonnull Ctx;
313
+
314
+ public:
315
+ SWIFT_UNAVAILABLE (" Use init(raw:) instead" )
316
+ BRIDGED_INLINE BridgedASTContext (swift::ASTContext &ctx);
317
+
318
+ SWIFT_UNAVAILABLE (" Use '.raw' instead" )
319
+ BRIDGED_INLINE swift::ASTContext &unbridged () const ;
222
320
223
321
SWIFT_COMPUTED_PROPERTY
224
- bool getLangOptsAttachCommentsToDecls () const ;
322
+ void *_Nonnull getRaw () const { return Ctx; }
225
323
226
324
SWIFT_COMPUTED_PROPERTY
227
- BridgedEndianness getLangOptsTargetEndianness () const ;
325
+ unsigned getMajorLanguageVersion () const ;
228
326
229
327
SWIFT_COMPUTED_PROPERTY
230
328
BridgedAvailabilityMacroMap getAvailabilityMacroMap () const ;
@@ -259,56 +357,8 @@ SWIFT_NAME("BridgedASTContext.getDollarIdentifier(self:_:)")
259
357
swift::Identifier
260
358
BridgedASTContext_getDollarIdentifier(BridgedASTContext cContext, size_t idx);
261
359
262
- SWIFT_NAME (" BridgedASTContext.langOptsHasFeature(self:_:)" )
263
- bool BridgedASTContext_langOptsHasFeature(BridgedASTContext cContext,
264
- BridgedFeature feature);
265
-
266
- SWIFT_NAME (" BridgedASTContext.langOptsCustomConditionSet(self:_:)" )
267
- bool BridgedASTContext_langOptsCustomConditionSet(BridgedASTContext cContext,
268
- BridgedStringRef cName);
269
-
270
- SWIFT_NAME (" BridgedASTContext.langOptsHasFeatureNamed(self:_:)" )
271
- bool BridgedASTContext_langOptsHasFeatureNamed(BridgedASTContext cContext,
272
- BridgedStringRef cName);
273
-
274
- SWIFT_NAME (" BridgedASTContext.langOptsHasAttributeNamed(self:_:)" )
275
- bool BridgedASTContext_langOptsHasAttributeNamed(BridgedASTContext cContext,
276
- BridgedStringRef cName);
277
-
278
- SWIFT_NAME (" BridgedASTContext.langOptsIsActiveTargetOS(self:_:)" )
279
- bool BridgedASTContext_langOptsIsActiveTargetOS(BridgedASTContext cContext,
280
- BridgedStringRef cName);
281
-
282
- SWIFT_NAME (" BridgedASTContext.langOptsIsActiveTargetArchitecture(self:_:)" )
283
- bool BridgedASTContext_langOptsIsActiveTargetArchitecture(BridgedASTContext cContext,
284
- BridgedStringRef cName);
285
-
286
- SWIFT_NAME (" BridgedASTContext.langOptsIsActiveTargetEnvironment(self:_:)" )
287
- bool BridgedASTContext_langOptsIsActiveTargetEnvironment(BridgedASTContext cContext,
288
- BridgedStringRef cName);
289
-
290
- SWIFT_NAME (" BridgedASTContext.langOptsIsActiveTargetRuntime(self:_:)" )
291
- bool BridgedASTContext_langOptsIsActiveTargetRuntime(BridgedASTContext cContext,
292
- BridgedStringRef cName);
293
-
294
- SWIFT_NAME (" BridgedASTContext.langOptsIsActiveTargetPtrAuth(self:_:)" )
295
- bool BridgedASTContext_langOptsIsActiveTargetPtrAuth(BridgedASTContext cContext,
296
- BridgedStringRef cName);
297
-
298
- SWIFT_NAME (" BridgedASTContext.langOptsGetTargetAtomicBitWidths(self:_:)" )
299
- SwiftInt BridgedASTContext_langOptsGetTargetAtomicBitWidths(BridgedASTContext cContext,
300
- SwiftInt* _Nullable * _Nonnull cComponents);
301
-
302
- SWIFT_NAME (" BridgedASTContext.langOptsGetLanguageVersion(self:_:)" )
303
- SwiftInt BridgedASTContext_langOptsGetLanguageVersion(BridgedASTContext cContext,
304
- SwiftInt* _Nullable * _Nonnull cComponents);
305
-
306
- SWIFT_NAME (" BridgedASTContext.langOptsGetCompilerVersion(self:_:)" )
307
- SwiftInt BridgedASTContext_langOptsGetCompilerVersion(BridgedASTContext cContext,
308
- SwiftInt* _Nullable * _Nonnull cComponents);
309
-
310
- /* Deallocate an array of Swift int values that was allocated in C++. */
311
- void deallocateIntBuffer (SwiftInt * _Nullable cComponents);
360
+ SWIFT_NAME (" getter:BridgedASTContext.langOpts(self:)" )
361
+ BridgedLangOptions BridgedASTContext_langOpts(BridgedASTContext cContext);
312
362
313
363
enum ENUM_EXTENSIBILITY_ATTR (closed) BridgedCanImportVersion : size_t {
314
364
CanImportUnversioned,
0 commit comments