- THRIFT-5712 - Added Dart 3 Compatibility
diff --git a/lib/dart/test/serializer/serializer_test.dart b/lib/dart/test/serializer/serializer_test.dart
index 89883cb..33df024 100644
--- a/lib/dart/test/serializer/serializer_test.dart
+++ b/lib/dart/test/serializer/serializer_test.dart
@@ -25,9 +25,9 @@
 
 void main() {
   var serializer = () {
-    TDeserializer deserializer;
-    TSerializer serializer;
-    TestTObject testTObject;
+    TDeserializer deserializer = TDeserializer();
+    TSerializer serializer = TSerializer();
+    TestTObject testTObject = TestTObject();
 
     setUp(() {
       serializer = TSerializer();
@@ -39,7 +39,7 @@
       testTObject.d = 15.25;
       testTObject.i = 10;
 
-      var testList = List<String>();
+      var testList = <String>[];
       testList.add("TEST 1");
       testList.add("TEST 2");
 
diff --git a/lib/dart/test/serializer/serializer_test_data.dart b/lib/dart/test/serializer/serializer_test_data.dart
index fc488f4..f5580ff 100644
--- a/lib/dart/test/serializer/serializer_test_data.dart
+++ b/lib/dart/test/serializer/serializer_test_data.dart
@@ -30,15 +30,15 @@
   static final TField _L_FIELD_DESC = TField("l", TType.LIST, 4);
   static final TField _B_FIELD_DESC = TField("b", TType.BOOL, 5);
 
-  int _i;
+  int? _i;
   static const int I = 1;
-  double _d;
+  double? _d;
   static const int D = 2;
-  String _s;
+  String? _s;
   static const int S = 3;
-  List<String> _l;
+  List<String>? _l;
   static const int L = 4;
-  bool _b;
+  bool? _b;
   static const int B = 5;
 
   bool __isset_i = false;
@@ -48,9 +48,9 @@
   TestTObject();
 
   // i
-  int get i => this._i;
+  int? get i => this._i;
 
-  set i(int i) {
+  set i(int? i) {
     this._i = i;
     this.__isset_i = true;
   }
@@ -62,9 +62,9 @@
   }
 
   // d
-  double get d => this._d;
+  double? get d => this._d;
 
-  set d(double d) {
+  set d(double? d) {
     this._d = d;
     this.__isset_d = true;
   }
@@ -76,9 +76,9 @@
   }
 
   // s
-  String get s => this._s;
+  String? get s => this._s;
 
-  set s(String s) {
+  set s(String? s) {
     this._s = s;
   }
 
@@ -89,9 +89,9 @@
   }
 
   // l
-  List<String> get l => this._l;
+  List<String>? get l => this._l;
 
-  set l(List<String> l) {
+  set l(List<String>? l) {
     this._l = l;
   }
 
@@ -102,9 +102,9 @@
   }
 
   // b
-  bool get b => this._b;
+  bool? get b => this._b;
 
-  set b(bool b) {
+  set b(bool? b) {
     this._b = b;
     this.__isset_b = true;
   }
@@ -134,13 +134,13 @@
   }
 
   @override
-  setFieldValue(int fieldID, Object value) {
+  setFieldValue(int fieldID, Object? value) {
     switch (fieldID) {
       case I:
         if (value == null) {
           unsetI();
         } else {
-          this.i = value;
+          this.i = value as int;
         }
         break;
 
@@ -148,7 +148,7 @@
         if (value == null) {
           unsetD();
         } else {
-          this.d = value;
+          this.d = value as double;
         }
         break;
 
@@ -156,7 +156,7 @@
         if (value == null) {
           unsetS();
         } else {
-          this.s = value;
+          this.s = value as String;
         }
         break;
 
@@ -172,7 +172,7 @@
         if (value == null) {
           unsetB();
         } else {
-          this.b = value;
+          this.b = value as bool;
         }
         break;
 
@@ -237,11 +237,11 @@
           if (field.type == TType.LIST) {
             {
               TList _list74 = iprot.readListBegin();
-              this.l = List<String>();
+              this.l = <String>[];
               for (int _i75 = 0; _i75 < _list74.length; ++_i75) {
                 String _elem76;
                 _elem76 = iprot.readString();
-                this.l.add(_elem76);
+                this.l?.add(_elem76);
               }
               iprot.readListEnd();
             }
@@ -275,21 +275,21 @@
 
     oprot.writeStructBegin(_STRUCT_DESC);
     oprot.writeFieldBegin(_I_FIELD_DESC);
-    oprot.writeI32(this.i);
+    oprot.writeI32(this.i!);
     oprot.writeFieldEnd();
     oprot.writeFieldBegin(_D_FIELD_DESC);
-    oprot.writeDouble(this.d);
+    oprot.writeDouble(this.d!);
     oprot.writeFieldEnd();
     if (this.s != null) {
       oprot.writeFieldBegin(_S_FIELD_DESC);
-      oprot.writeString(this.s);
+      oprot.writeString(this.s!);
       oprot.writeFieldEnd();
     }
     if (this.l != null) {
       oprot.writeFieldBegin(_L_FIELD_DESC);
       {
-        oprot.writeListBegin(TList(TType.STRING, this.l.length));
-        for (var elem77 in this.l) {
+        oprot.writeListBegin(TList(TType.STRING, this.l!.length));
+        for (var elem77 in this.l!) {
           oprot.writeString(elem77);
         }
         oprot.writeListEnd();
@@ -297,7 +297,7 @@
       oprot.writeFieldEnd();
     }
     oprot.writeFieldBegin(_B_FIELD_DESC);
-    oprot.writeBool(this.b);
+    oprot.writeBool(this.b!);
     oprot.writeFieldEnd();
     oprot.writeFieldStop();
     oprot.writeStructEnd();