diff --git a/pkg/analyzer/lib/src/generated/ffi_verifier.dart b/pkg/analyzer/lib/src/generated/ffi_verifier.dart
index 920c786..57d16b5 100644
--- a/pkg/analyzer/lib/src/generated/ffi_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/ffi_verifier.dart
@@ -344,7 +344,9 @@
       var ffiParameterTypes = ffiSignature.normalParameterTypes;
       var ffiParameters = ffiSignature.parameters;
 
-      if (declarationElement is MethodElement && !declarationElement.isStatic) {
+      if ((declarationElement is MethodElement ||
+              declarationElement is PropertyAccessorElementImpl) &&
+          !declarationElement.isStatic) {
         // Instance methods must have the receiver as an extra parameter in the
         // FfiNative annotation.
         if (formalParameters.length + 1 != ffiSignature.parameters.length) {
diff --git a/pkg/analyzer/test/src/diagnostics/ffi_leaf_call_must_not_use_handle_test.dart b/pkg/analyzer/test/src/diagnostics/ffi_leaf_call_must_not_use_handle_test.dart
index e3e4c63..c0deefa 100644
--- a/pkg/analyzer/test/src/diagnostics/ffi_leaf_call_must_not_use_handle_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/ffi_leaf_call_must_not_use_handle_test.dart
@@ -50,12 +50,14 @@
     await assertErrorsInCode(r'''
 import 'dart:ffi';
 
-class A {
-  @FfiNative<Handle Function()>('foo', isLeaf:true)
+class NativeFieldWrapperClass1 {}
+
+class A extends NativeFieldWrapperClass1 {
+  @FfiNative<Handle Function(Pointer<Void>)>('foo', isLeaf:true)
   external Object get foo;
 }
 ''', [
-      error(FfiCode.LEAF_CALL_MUST_NOT_RETURN_HANDLE, 32, 76),
+      error(FfiCode.LEAF_CALL_MUST_NOT_RETURN_HANDLE, 100, 89),
     ]);
   }
 
diff --git a/pkg/analyzer/test/src/diagnostics/ffi_native_test.dart b/pkg/analyzer/test/src/diagnostics/ffi_native_test.dart
index 638d75f..866072a 100644
--- a/pkg/analyzer/test/src/diagnostics/ffi_native_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/ffi_native_test.dart
@@ -16,6 +16,22 @@
 
 @reflectiveTest
 class FfiNativeTest extends PubPackageResolutionTest {
+  test_annotation_FfiNative_getters() async {
+    await assertErrorsInCode(r'''
+import 'dart:ffi';
+
+class NativeFieldWrapperClass1 {}
+
+class Paragraph extends NativeFieldWrapperClass1 {
+  @FfiNative<Double Function(Pointer<Void>)>('Paragraph::ideographicBaseline', isLeaf: true)
+  external double get ideographicBaseline;
+
+  @FfiNative<Void Function(Pointer<Void>, Double)>('Paragraph::ideographicBaseline', isLeaf: true)
+  external set ideographicBaseline(double d);
+}
+''', []);
+  }
+
   test_annotation_FfiNative_noArguments() async {
     await assertErrorsInCode(r'''
 import 'dart:ffi';
diff --git a/tools/VERSION b/tools/VERSION
index 869309a..d57d2ef 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 19
 PATCH 0
-PRERELEASE 54
+PRERELEASE 55
 PRERELEASE_PATCH 0
\ No newline at end of file
