[pigeon] added a test to assert circular references (#397)

diff --git a/packages/pigeon/test/pigeon_lib_test.dart b/packages/pigeon/test/pigeon_lib_test.dart
index 8a09b6b..7273139 100644
--- a/packages/pigeon/test/pigeon_lib_test.dart
+++ b/packages/pigeon/test/pigeon_lib_test.dart
@@ -378,6 +378,34 @@
     }
   }
 
+  test('test circular references', () {
+    final Pigeon dartle = Pigeon.setup();
+    _withTempFile('compilationError.dart', (File file) {
+      file.writeAsStringSync('''
+class Foo {
+  Bar? bar;
+}
+
+class Bar {
+  Foo? foo;
+}
+
+@HostApi()
+abstract class NotificationsHostApi {
+  void doit(Foo foo);
+}  
+''');
+      final ParseResults results =
+          dartle.parseFile(file.path, ignoresInvalidImports: true);
+      expect(results.errors.length, 0);
+      expect(results.root.classes.length, 2);
+      final Class foo = results.root.classes
+          .firstWhere((Class aClass) => aClass.name == 'Foo');
+      expect(foo.fields.length, 1);
+      expect(foo.fields[0].dataType, 'Bar');
+    });
+  });
+
   test('test compilation error', () {
     final Pigeon dartle = Pigeon.setup();
     _withTempFile('compilationError.dart', (File file) {