1616#include " swift/Basic/BasicBridging.h"
1717#include " swift/Basic/BridgedSwiftObject.h"
1818#include " swift/AST/Builtins.h"
19+ #include " swift/AST/Decl.h"
1920#include " swift/AST/SubstitutionMap.h"
2021#include " swift/SIL/SILInstruction.h"
2122#include " swift/SIL/SILLocation.h"
@@ -43,10 +44,6 @@ typedef struct {
4344 const void * _Nonnull opaqueCtxt;
4445} BridgedPassContext;
4546
46- typedef struct {
47- void * _Nullable typePtr;
48- } BridgedType;
49-
5047struct BridgedValue {
5148 SwiftObject obj;
5249
@@ -74,7 +71,7 @@ struct BridgedValue {
7471 inline OptionalBridgedOperand getFirstUse () const ;
7572
7673 SWIFT_IMPORT_UNSAFE
77- BridgedType getType () const { return { getSILValue ()->getType (). getOpaqueValue ()} ; }
74+ swift::SILType getType () const { return getSILValue ()->getType (); }
7875
7976 Ownership getOwnership () const {
8077 switch (getSILValue ()->getOwnershipKind ()) {
@@ -130,9 +127,14 @@ struct BridgedOperandArray {
130127 SwiftInt count;
131128};
132129
133- typedef struct {
130+ struct BridgedFunction {
134131 SwiftObject obj;
135- } BridgedFunction;
132+
133+ SWIFT_IMPORT_UNSAFE
134+ swift::SILFunction * _Nonnull getFunction () const {
135+ return static_cast <swift::SILFunction *>(obj);
136+ }
137+ };
136138
137139typedef struct {
138140 OptionalSwiftObject obj;
@@ -328,7 +330,9 @@ typedef enum {
328330
329331// AST bridging
330332
331- typedef void * _Nonnull BridgedDecl;
333+ struct BridgedNominalTypeDecl {
334+ swift::NominalTypeDecl * _Nonnull decl;
335+ };
332336
333337struct BridgedEffectInfo {
334338 SwiftInt argumentIndex;
@@ -386,9 +390,9 @@ SwiftInt SILFunction_numIndirectResultArguments(BridgedFunction function);
386390SwiftInt SILFunction_numParameterArguments (BridgedFunction function);
387391SwiftInt SILFunction_getSelfArgumentIndex (BridgedFunction function);
388392SwiftInt SILFunction_getNumSILArguments (BridgedFunction function);
389- BridgedType SILFunction_getSILArgumentType (BridgedFunction function, SwiftInt idx);
393+ swift::SILType SILFunction_getSILArgumentType (BridgedFunction function, SwiftInt idx);
390394BridgedArgumentConvention SILFunction_getSILArgumentConvention (BridgedFunction function, SwiftInt idx);
391- BridgedType SILFunction_getSILResultType (BridgedFunction function);
395+ swift::SILType SILFunction_getSILResultType (BridgedFunction function);
392396SwiftInt SILFunction_isSwift51RuntimeAvailable (BridgedFunction function);
393397SwiftInt SILFunction_isPossiblyUsedExternally (BridgedFunction function);
394398SwiftInt SILFunction_isAvailableExternally (BridgedFunction function);
@@ -412,7 +416,7 @@ OptionalBridgedInstruction SILBasicBlock_lastInst(BridgedBasicBlock block);
412416SwiftInt SILBasicBlock_getNumArguments (BridgedBasicBlock block);
413417BridgedArgument SILBasicBlock_getArgument (BridgedBasicBlock block, SwiftInt index);
414418BridgedArgument SILBasicBlock_addBlockArgument (BridgedBasicBlock block,
415- BridgedType type,
419+ swift::SILType type,
416420 BridgedValue::Ownership ownership);
417421void SILBasicBlock_eraseArgument (BridgedBasicBlock block, SwiftInt index);
418422void SILBasicBlock_moveAllInstructionsToBegin (BridgedBasicBlock block, BridgedBasicBlock dest);
@@ -422,35 +426,6 @@ OptionalBridgedSuccessor SILBasicBlock_getFirstPred(BridgedBasicBlock block);
422426
423427std::string SILNode_debugDescription (BridgedNode node);
424428
425- std::string SILType_debugDescription (BridgedType);
426- SwiftInt SILType_isAddress (BridgedType);
427- SwiftInt SILType_isTrivial (BridgedType, BridgedFunction);
428- SwiftInt SILType_isReferenceCounted (BridgedType type, BridgedFunction);
429- bool SILType_hasArchetype (BridgedType type);
430- SwiftInt SILType_isNonTrivialOrContainsRawPointer (BridgedType, BridgedFunction);
431- SwiftInt SILType_isNominal (BridgedType type);
432- SwiftInt SILType_isClass (BridgedType type);
433- SwiftInt SILType_isStruct (BridgedType type);
434- SwiftInt SILType_isTuple (BridgedType type);
435- SwiftInt SILType_isEnum (BridgedType type);
436- bool SILType_isFunction (BridgedType type);
437- bool SILType_isMetatype (BridgedType type);
438- BridgedType SILType_instanceTypeOfMetatype (BridgedType type, BridgedFunction function);
439- BridgedDecl SILType_getNominal (BridgedType type);
440- bool SILType_isOrContainsObjectiveCClass (BridgedType type);
441- bool SILType_isCalleeConsumedFunction (BridgedType type);
442- bool SILType_isMarkedAsImmortal (BridgedType type);
443- SwiftInt SILType_getNumTupleElements (BridgedType type);
444- BridgedType SILType_getTupleElementType (BridgedType type, SwiftInt elementIdx);
445- SwiftInt SILType_getNumNominalFields (BridgedType type);
446- BridgedType SILType_getNominalFieldType (BridgedType type, SwiftInt index,
447- BridgedFunction function);
448- SwiftInt SILType_getFieldIdxOfNominalType (BridgedType type,
449- llvm::StringRef fieldName);
450- llvm::StringRef SILType_getNominalFieldName (BridgedType type, SwiftInt index);
451- SwiftInt SILType_getCaseIdxOfEnumType (BridgedType type,
452- llvm::StringRef caseName);
453-
454429std::string SILLocation_debugDescription (swift::SILDebugLocation loc);
455430swift::SILDebugLocation
456431SILLocation_getAutogeneratedLocation (swift::SILDebugLocation loc);
@@ -547,21 +522,21 @@ SwiftInt FullApplySite_numIndirectResultArguments(BridgedInstruction inst);
547522
548523BridgedInstruction SILBuilder_createBuiltinBinaryFunction (
549524 BridgedBuilder builder, llvm::StringRef name,
550- BridgedType operandType, BridgedType resultType,
525+ swift::SILType operandType, swift::SILType resultType,
551526 BridgedValueArray arguments);
552527BridgedInstruction SILBuilder_createCondFail (BridgedBuilder builder,
553528 BridgedValue condition, llvm::StringRef message);
554529BridgedInstruction SILBuilder_createIntegerLiteral (BridgedBuilder builder,
555- BridgedType type, SwiftInt value);
530+ swift::SILType type, SwiftInt value);
556531BridgedInstruction SILBuilder_createAllocStack (BridgedBuilder builder,
557- BridgedType type, SwiftInt hasDynamicLifetime, SwiftInt isLexical,
532+ swift::SILType type, SwiftInt hasDynamicLifetime, SwiftInt isLexical,
558533 SwiftInt wasMoved);
559534BridgedInstruction SILBuilder_createDeallocStack (BridgedBuilder builder,
560535 BridgedValue operand);
561536BridgedInstruction SILBuilder_createDeallocStackRef (BridgedBuilder builder,
562537 BridgedValue operand);
563538BridgedInstruction SILBuilder_createUncheckedRefCast (BridgedBuilder builder,
564- BridgedValue op, BridgedType type);
539+ BridgedValue op, swift::SILType type);
565540BridgedInstruction SILBuilder_createSetDeallocating (BridgedBuilder builder,
566541 BridgedValue op, bool isAtomic);
567542BridgedInstruction SILBuilder_createFunctionRef (BridgedBuilder builder,
@@ -583,7 +558,7 @@ BridgedInstruction SILBuilder_createSwitchEnumInst(BridgedBuilder builder,
583558 const void * _Nullable enumCases, SwiftInt numEnumCases);
584559BridgedInstruction SILBuilder_createUncheckedEnumData (BridgedBuilder builder,
585560 BridgedValue enumVal, SwiftInt caseIdx,
586- BridgedType resultType);
561+ swift::SILType resultType);
587562BridgedInstruction SILBuilder_createBranch (
588563 BridgedBuilder builder, BridgedBasicBlock destBlock,
589564 BridgedValueArray arguments);
0 commit comments