diff --git a/blueprintcompiler/language/gobject_property.py b/blueprintcompiler/language/gobject_property.py index 13374f8..b57f3b0 100644 --- a/blueprintcompiler/language/gobject_property.py +++ b/blueprintcompiler/language/gobject_property.py @@ -30,7 +30,7 @@ from .binding import Binding class Property(AstNode): - grammar = [UseIdent("name"), ":", Value, ";"] + grammar = Statement(UseIdent("name"), ":", Value) @property def name(self) -> str: diff --git a/tests/sample_errors/expected_semicolon.blp b/tests/sample_errors/expected_semicolon.blp new file mode 100644 index 0000000..973726d --- /dev/null +++ b/tests/sample_errors/expected_semicolon.blp @@ -0,0 +1,6 @@ +using Gtk 4.0; + +Button { + child: Label { + } +} \ No newline at end of file diff --git a/tests/sample_errors/expected_semicolon.err b/tests/sample_errors/expected_semicolon.err new file mode 100644 index 0000000..bfabc9a --- /dev/null +++ b/tests/sample_errors/expected_semicolon.err @@ -0,0 +1 @@ +6,1,1,Expected `;` \ No newline at end of file diff --git a/tests/test_samples.py b/tests/test_samples.py index 45fb692..c292214 100644 --- a/tests/test_samples.py +++ b/tests/test_samples.py @@ -210,6 +210,7 @@ class TestSamples(unittest.TestCase): self.assert_sample_error("duplicates") self.assert_sample_error("empty") self.assert_sample_error("enum_member_dne") + self.assert_sample_error("expected_semicolon") self.assert_sample_error("expr_cast_conversion") self.assert_sample_error("expr_cast_needed") self.assert_sample_error("expr_closure_not_cast")