Skip to content

Commit 083ae89

Browse files
committed
ASTBridging: Encapsulate operations on BridgedLayoutConstraint
1 parent df365ff commit 083ae89

File tree

4 files changed

+47
-65
lines changed

4 files changed

+47
-65
lines changed

include/swift/AST/ASTBridging.h

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2874,41 +2874,36 @@ class BridgedLayoutConstraint {
28742874
SWIFT_UNAVAILABLE("Use the factory methods")
28752875
BRIDGED_INLINE BridgedLayoutConstraint(swift::LayoutConstraint constraint);
28762876

2877-
BRIDGED_INLINE swift::LayoutConstraint unbridged() const;
2878-
};
2877+
SWIFT_NAME("init(_:id:)")
2878+
BridgedLayoutConstraint(BridgedASTContext cContext, BridgedIdentifier cID);
28792879

2880-
SWIFT_NAME("BridgedLayoutConstraint.getLayoutConstraint(_:id:)")
2881-
BridgedLayoutConstraint
2882-
BridgedLayoutConstraint_getLayoutConstraint(BridgedASTContext cContext,
2883-
BridgedIdentifier cID);
2880+
SWIFT_NAME("init(_:kind:)")
2881+
BridgedLayoutConstraint(BridgedASTContext cContext,
2882+
BridgedLayoutConstraintKind cKind);
28842883

2885-
SWIFT_NAME("BridgedLayoutConstraint.getLayoutConstraint(_:kind:)")
2886-
BridgedLayoutConstraint
2887-
BridgedLayoutConstraint_getLayoutConstraint(BridgedASTContext cContext,
2888-
BridgedLayoutConstraintKind cKind);
2884+
SWIFT_NAME("init(_:kind:size:alignment:)")
2885+
BridgedLayoutConstraint(BridgedASTContext cContext,
2886+
BridgedLayoutConstraintKind cKind, size_t size,
2887+
size_t alignment);
28892888

2890-
SWIFT_NAME(
2891-
"BridgedLayoutConstraint.getLayoutConstraint(_:kind:size:alignment:)")
2892-
BridgedLayoutConstraint
2893-
BridgedLayoutConstraint_getLayoutConstraint(BridgedASTContext cContext,
2894-
BridgedLayoutConstraintKind cKind,
2895-
size_t size, size_t alignment);
2889+
BRIDGED_INLINE
2890+
SWIFT_COMPUTED_PROPERTY
2891+
bool getIsNull() const;
28962892

2897-
SWIFT_NAME("getter:BridgedLayoutConstraint.isNull(self:)")
2898-
BRIDGED_INLINE bool
2899-
BridgedLayoutConstraint_isNull(BridgedLayoutConstraint cConstraint);
2893+
SWIFT_COMPUTED_PROPERTY
2894+
BridgedLayoutConstraintKind getKind() const;
29002895

2901-
SWIFT_NAME("getter:BridgedLayoutConstraint.kind(self:)")
2902-
BridgedLayoutConstraintKind
2903-
BridgedLayoutConstraint_getKind(BridgedLayoutConstraint cConstraint);
2896+
BRIDGED_INLINE
2897+
SWIFT_COMPUTED_PROPERTY
2898+
bool getIsKnownLayout() const;
29042899

2905-
SWIFT_NAME("getter:BridgedLayoutConstraint.isKnownLayout(self:)")
2906-
BRIDGED_INLINE bool
2907-
BridgedLayoutConstraint_isKnownLayout(BridgedLayoutConstraint cConstraint);
2900+
BRIDGED_INLINE
2901+
SWIFT_COMPUTED_PROPERTY
2902+
bool getIsTrivial() const;
29082903

2909-
SWIFT_NAME("getter:BridgedLayoutConstraint.isTrivial(self:)")
2910-
BRIDGED_INLINE bool
2911-
BridgedLayoutConstraint_isTrivial(BridgedLayoutConstraint cConstraint);
2904+
SWIFT_UNAVAILABLE("Unavailable in Swift")
2905+
BRIDGED_INLINE swift::LayoutConstraint unbridged() const;
2906+
};
29122907

29132908
enum ENUM_EXTENSIBILITY_ATTR(open) BridgedRequirementReprKind : size_t {
29142909
BridgedRequirementReprKindTypeConstraint,

include/swift/AST/ASTBridgingImpl.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -735,17 +735,14 @@ swift::LayoutConstraint BridgedLayoutConstraint::unbridged() const {
735735
return raw;
736736
}
737737

738-
bool BridgedLayoutConstraint_isNull(BridgedLayoutConstraint cConstraint) {
739-
return cConstraint.unbridged().isNull();
740-
}
738+
bool BridgedLayoutConstraint::getIsNull() const { return unbridged().isNull(); }
741739

742-
bool BridgedLayoutConstraint_isKnownLayout(
743-
BridgedLayoutConstraint cConstraint) {
744-
return cConstraint.unbridged()->isKnownLayout();
740+
bool BridgedLayoutConstraint::getIsKnownLayout() const {
741+
return unbridged()->isKnownLayout();
745742
}
746743

747-
bool BridgedLayoutConstraint_isTrivial(BridgedLayoutConstraint cConstraint) {
748-
return cConstraint.unbridged()->isTrivial();
744+
bool BridgedLayoutConstraint::getIsTrivial() const {
745+
return unbridged()->isTrivial();
749746
}
750747

751748
//===----------------------------------------------------------------------===//

lib/AST/Bridging/GenericsBridging.cpp

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
//
33
// This source file is part of the Swift.org open source project
44
//
5-
// Copyright (c) 2022-2024 Apple Inc. and the Swift project authors
5+
// Copyright (c) 2022-2025 Apple Inc. and the Swift project authors
66
// Licensed under Apache License v2.0 with Runtime Library Exception
77
//
88
// See https://swift.org/LICENSE.txt for license information
@@ -196,32 +196,22 @@ static BridgedLayoutConstraintKind bridge(swift::LayoutConstraintKind kind) {
196196
}
197197
}
198198

199-
BridgedLayoutConstraint
200-
BridgedLayoutConstraint_getLayoutConstraint(BridgedASTContext cContext,
201-
BridgedIdentifier cID) {
202-
return swift::getLayoutConstraint(cID.unbridged(), cContext.unbridged());
203-
}
199+
BridgedLayoutConstraint::BridgedLayoutConstraint(BridgedASTContext cContext,
200+
BridgedIdentifier cID)
201+
: BridgedLayoutConstraint(
202+
swift::getLayoutConstraint(cID.unbridged(), cContext.unbridged())) {}
204203

205-
BridgedLayoutConstraint
206-
BridgedLayoutConstraint_getLayoutConstraint(BridgedASTContext cContext,
207-
BridgedLayoutConstraintKind cKind) {
208-
return LayoutConstraint::getLayoutConstraint(unbridged(cKind),
209-
cContext.unbridged());
210-
}
204+
BridgedLayoutConstraint::BridgedLayoutConstraint(
205+
BridgedASTContext cContext, BridgedLayoutConstraintKind cKind)
206+
: BridgedLayoutConstraint(LayoutConstraint::getLayoutConstraint(
207+
::unbridged(cKind), cContext.unbridged())) {}
211208

212-
BridgedLayoutConstraint
213-
BridgedLayoutConstraint_getLayoutConstraint(BridgedASTContext cContext,
214-
BridgedLayoutConstraintKind cKind,
215-
size_t size, size_t alignment) {
216-
return LayoutConstraint::getLayoutConstraint(unbridged(cKind), size,
217-
alignment, cContext.unbridged());
218-
}
219-
220-
BridgedLayoutConstraint BridgedLayoutConstraint_getUnknownLayout() {
221-
return LayoutConstraint::getUnknownLayout();
222-
}
209+
BridgedLayoutConstraint::BridgedLayoutConstraint(
210+
BridgedASTContext cContext, BridgedLayoutConstraintKind cKind, size_t size,
211+
size_t alignment)
212+
: BridgedLayoutConstraint(LayoutConstraint::getLayoutConstraint(
213+
::unbridged(cKind), size, alignment, cContext.unbridged())) {}
223214

224-
BridgedLayoutConstraintKind
225-
BridgedLayoutConstraint_getKind(BridgedLayoutConstraint cConstraint) {
226-
return bridge(cConstraint.unbridged()->getKind());
215+
BridgedLayoutConstraintKind BridgedLayoutConstraint::getKind() const {
216+
return bridge(unbridged()->getKind());
227217
}

lib/ASTGen/Sources/ASTGen/Generics.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
//
33
// This source file is part of the Swift.org open source project
44
//
5-
// Copyright (c) 2022-2023 Apple Inc. and the Swift project authors
5+
// Copyright (c) 2022-2025 Apple Inc. and the Swift project authors
66
// Licensed under Apache License v2.0 with Runtime Library Exception
77
//
88
// See https://swift.org/LICENSE.txt for license information
@@ -63,7 +63,7 @@ extension ASTGenVisitor {
6363

6464
func generate(layoutRequirement node: LayoutRequirementSyntax) -> BridgedLayoutConstraint {
6565
let id = self.ctx.getIdentifier(node.layoutSpecifier.rawText.bridged)
66-
let constraint = BridgedLayoutConstraint.getLayoutConstraint(self.ctx, id: id)
66+
let constraint = BridgedLayoutConstraint(self.ctx, id: id)
6767

6868
if constraint.isNull || !constraint.isKnownLayout {
6969
fatalError("(compiler bug) invalid layout requirement")
@@ -101,7 +101,7 @@ extension ASTGenVisitor {
101101
alignment = nil
102102
}
103103

104-
return .getLayoutConstraint(
104+
return .init(
105105
self.ctx,
106106
kind: constraint.kind,
107107
size: size,

0 commit comments

Comments
 (0)