diff options
author | Christoph Reiter <reiter.christoph@gmail.com> | 2018-12-09 14:45:58 +0000 |
---|---|---|
committer | Christoph Reiter <reiter.christoph@gmail.com> | 2018-12-09 14:45:58 +0000 |
commit | 0fdd6210e5559a1d20d832fe41051151959d8b6e (patch) | |
tree | 5acb012aa679b2a36e41ca6f95e5af7791e6d082 | |
parent | 394d8a161f60d418e36cba862e4c6da871082c3b (diff) | |
parent | 5720c77acde1b2348f3c3d08e3a27cf624be1323 (diff) | |
download | gobject-introspection-0fdd6210e5559a1d20d832fe41051151959d8b6e.tar.gz |
Merge branch 'sourcescanner-empty-delcs' into 'master'
sourcescanner: Allow empty declarations. Fixes #216
Closes #216
See merge request GNOME/gobject-introspection!89
-rw-r--r-- | giscanner/scannerparser.y | 4 | ||||
-rw-r--r-- | tests/scanner/test_sourcescanner.py | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/giscanner/scannerparser.y b/giscanner/scannerparser.y index 182c69d3..7ce02365 100644 --- a/giscanner/scannerparser.y +++ b/giscanner/scannerparser.y @@ -791,6 +791,9 @@ declaration } ; +empty_declaration + : ';' + declaration_specifiers : storage_class_specifier declaration_specifiers { @@ -1459,6 +1462,7 @@ translation_unit external_declaration : function_definition | declaration + | empty_declaration | macro ; diff --git a/tests/scanner/test_sourcescanner.py b/tests/scanner/test_sourcescanner.py index 2f383af7..c731049b 100644 --- a/tests/scanner/test_sourcescanner.py +++ b/tests/scanner/test_sourcescanner.py @@ -72,6 +72,12 @@ void foo(int bar) { self.assertEqual(len(list(scanner.get_comments())), 1) self.assertFalse(scanner.get_errors()) + def test_empty_decl(self): + # https://gitlab.gnome.org/GNOME/gobject-introspection/issues/216 + scanner = self._parse_files(";int foo;") + self.assertEqual(len(list(scanner.get_symbols())), 1) + self.assertFalse(scanner.get_errors()) + if __name__ == '__main__': unittest.main() |