mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-22 09:19:03 +00:00
AK+LibGfx+LibWebView: Add wrapper header around swift/bridging
When using a configuration without a swift compiler, we need to no-op the swift annotations. Other, cleverer solutions beyond the has include all fell flat in the face of the clang modules implementation used by swift to parse-once use-everywhere each module.
This commit is contained in:
committed by
Andreas Kling
parent
d105b1d4f8
commit
b03b13b720
21
AK/Swift.h
Normal file
21
AK/Swift.h
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2024, Andrew Kaster <andrew@ladybird.org>
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#if __has_include(<swift/bridging>)
|
||||||
|
# include <swift/bridging>
|
||||||
|
#else
|
||||||
|
# define SWIFT_SELF_CONTAINED
|
||||||
|
# define SWIFT_RETURNS_INDEPENDENT_VALUE
|
||||||
|
# define SWIFT_SHARED_REFERENCE(retain, release)
|
||||||
|
# define SWIFT_IMMORTAL_REFERENCE
|
||||||
|
# define SWIFT_UNSAFE_REFERENCE
|
||||||
|
# define SWIFT_NAME(name)
|
||||||
|
# define SWIFT_CONFORMS_TO_PROTOCOL(protocol)
|
||||||
|
# define SWIFT_COMPUTED_PROPERTY
|
||||||
|
# define SWIFT_MUTATING
|
||||||
|
#endif
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
#include <AK/ByteString.h>
|
#include <AK/ByteString.h>
|
||||||
#include <AK/FloatingPointStringConversions.h>
|
#include <AK/FloatingPointStringConversions.h>
|
||||||
#include <AK/Optional.h>
|
#include <AK/Optional.h>
|
||||||
|
#include <AK/Swift.h>
|
||||||
#include <AK/Vector.h>
|
#include <AK/Vector.h>
|
||||||
#include <LibGfx/Color.h>
|
#include <LibGfx/Color.h>
|
||||||
#include <LibGfx/SystemTheme.h>
|
#include <LibGfx/SystemTheme.h>
|
||||||
@@ -18,7 +19,6 @@
|
|||||||
|
|
||||||
#ifdef LIBGFX_USE_SWIFT
|
#ifdef LIBGFX_USE_SWIFT
|
||||||
# include <LibGfx-Swift.h>
|
# include <LibGfx-Swift.h>
|
||||||
# include <swift/bridging>
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace Gfx {
|
namespace Gfx {
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <AK/Badge.h>
|
#include <AK/Badge.h>
|
||||||
|
#include <AK/Swift.h>
|
||||||
#include <LibCore/EventLoop.h>
|
#include <LibCore/EventLoop.h>
|
||||||
#include <LibMain/Main.h>
|
#include <LibMain/Main.h>
|
||||||
#include <LibURL/URL.h>
|
#include <LibURL/URL.h>
|
||||||
@@ -14,12 +15,6 @@
|
|||||||
#include <LibWebView/Process.h>
|
#include <LibWebView/Process.h>
|
||||||
#include <LibWebView/ProcessManager.h>
|
#include <LibWebView/ProcessManager.h>
|
||||||
|
|
||||||
#ifdef __swift__
|
|
||||||
# include <swift/bridging>
|
|
||||||
#else
|
|
||||||
# define SWIFT_IMMORTAL_REFERENCE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace WebView {
|
namespace WebView {
|
||||||
|
|
||||||
class Application {
|
class Application {
|
||||||
|
|||||||
Reference in New Issue
Block a user