From 9fa12921a1cbe18c56b9ad728d99e2906a44ff52 Mon Sep 17 00:00:00 2001 From: Chris Bracken Date: Sun, 27 Oct 2024 09:33:25 -0700 Subject: [PATCH 1/2] iOS/macOS: migrate darwin/common to ARC Migrates //flutter/shell/platform/darwin/common` targets to ARC. Most of these were already ARC compatible. No test changes since this there is no semantic change to the code. Issue: https://github.com/flutter/flutter/issues/137801 --- shell/platform/darwin/common/BUILD.gn | 7 ++----- shell/platform/darwin/common/buffer_conversions.mm | 12 ++++++------ shell/platform/darwin/common/command_line.mm | 2 ++ 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/shell/platform/darwin/common/BUILD.gn b/shell/platform/darwin/common/BUILD.gn index 3d509700e054f..58638a5bc097d 100644 --- a/shell/platform/darwin/common/BUILD.gn +++ b/shell/platform/darwin/common/BUILD.gn @@ -9,8 +9,8 @@ import("//flutter/testing/testing.gni") import("framework_common.gni") source_set("common") { - cflags_objc = flutter_cflags_objc - cflags_objcc = flutter_cflags_objcc + cflags_objc = flutter_cflags_objc_arc + cflags_objcc = flutter_cflags_objcc_arc sources = [ "buffer_conversions.h", @@ -40,9 +40,6 @@ source_set("common") { # See: Upstream clang change: https://reviews.llvm.org/D150397 # See: https://github.com/flutter/flutter/issues/133777 source_set("availability_version_check") { - cflags_objc = flutter_cflags_objc - cflags_objcc = flutter_cflags_objcc - sources = [ "availability_version_check.cc" ] deps = [ "//flutter/fml" ] diff --git a/shell/platform/darwin/common/buffer_conversions.mm b/shell/platform/darwin/common/buffer_conversions.mm index 1aa07df2653a8..be326c5d02d6e 100644 --- a/shell/platform/darwin/common/buffer_conversions.mm +++ b/shell/platform/darwin/common/buffer_conversions.mm @@ -7,22 +7,22 @@ #include "flutter/fml/macros.h" #include "flutter/fml/platform/darwin/scoped_nsobject.h" +static_assert(__has_feature(objc_arc), "ARC must be enabled."); + namespace flutter { namespace { class NSDataMapping : public fml::Mapping { public: - explicit NSDataMapping(NSData* data) : data_([data retain]) {} + explicit NSDataMapping(NSData* data) : data_(data) {} - size_t GetSize() const override { return [data_.get() length]; } + size_t GetSize() const override { return [data_ length]; } - const uint8_t* GetMapping() const override { - return static_cast([data_.get() bytes]); - } + const uint8_t* GetMapping() const override { return static_cast([data_ bytes]); } bool IsDontNeedSafe() const override { return false; } private: - fml::scoped_nsobject data_; + NSData* data_; FML_DISALLOW_COPY_AND_ASSIGN(NSDataMapping); }; } // namespace diff --git a/shell/platform/darwin/common/command_line.mm b/shell/platform/darwin/common/command_line.mm index d9f42e634fde6..47c8ef2b8ede1 100644 --- a/shell/platform/darwin/common/command_line.mm +++ b/shell/platform/darwin/common/command_line.mm @@ -6,6 +6,8 @@ #import +static_assert(__has_feature(objc_arc), "ARC must be enabled."); + namespace flutter { fml::CommandLine CommandLineFromNSProcessInfo(NSProcessInfo* processInfoOrNil) { From f1bd31bcf22afff753d947e579502c0c2866f231 Mon Sep 17 00:00:00 2001 From: Chris Bracken Date: Mon, 28 Oct 2024 11:08:48 -0700 Subject: [PATCH 2/2] Use new shiny syntax --- shell/platform/darwin/common/buffer_conversions.mm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shell/platform/darwin/common/buffer_conversions.mm b/shell/platform/darwin/common/buffer_conversions.mm index be326c5d02d6e..749f35a9561a2 100644 --- a/shell/platform/darwin/common/buffer_conversions.mm +++ b/shell/platform/darwin/common/buffer_conversions.mm @@ -15,9 +15,9 @@ public: explicit NSDataMapping(NSData* data) : data_(data) {} - size_t GetSize() const override { return [data_ length]; } + size_t GetSize() const override { return data_.length; } - const uint8_t* GetMapping() const override { return static_cast([data_ bytes]); } + const uint8_t* GetMapping() const override { return static_cast(data_.bytes); } bool IsDontNeedSafe() const override { return false; }