James Westman
bc605c5df8
Reduce errors when a namespace is not found
...
When the typelib for a namespace is not found, don't emit "namespace not
imported" errors. Just emit the one error on the import statement.
2023-03-21 11:31:02 -05:00
James Westman
98ba7d467a
Improve expression type checking
2023-03-12 16:12:16 -05:00
James Westman
b636d9ed71
Fix bugs in number literals
2023-03-12 14:58:35 -05:00
James Westman
9fcb63a013
typelib: Fix crash when handling array types
2023-02-16 20:43:17 -06:00
James Westman
1df46b5a06
Change the way values work
...
Change the parsing for values to make them more reusable, in particular
for when I implement extensions.
2023-01-12 15:49:19 -06:00
James Westman
b6ee649458
Simplify error & warning handling
2023-01-12 15:49:19 -06:00
James Westman
122b049ce9
language: Use new extern syntax in signal handlers
2023-01-12 15:49:19 -06:00
James Westman
0b402db4d5
language: Change extern type syntax
...
Use a '$' instead of a '.' to indicate a type provided in application
code.
The reason for the change is to have a consistent "extern" symbol that
isn't widely used elsewhere and isn't ambiguous in expressions.
2023-01-12 15:49:19 -06:00
James Westman
7ef314ff94
Fix diagnostic location reporting
...
Text positions at the beginning of a line were being shown on the
previous line.
2023-01-12 15:49:15 -06:00
James Westman
59aa054c4c
language: Add closure expressions
2022-12-25 14:04:41 -06:00
James Westman
5cf9b63547
language: Add cast expressions
2022-12-25 14:04:40 -06:00
James Westman
51d8969ced
Fix menus
...
- Menus require an ID
- The top level menu block can't have attributes
2022-12-19 15:15:25 -06:00
James Westman
447785ec8c
language: Remove inline menus
...
Inline menus didn't work anyway--menus have to be referenced by ID
(though, curiously, you *can* put the <menu> within the <property> tag
and immediately reference it--but that's a hack, and not what
blueprint-compiler was doing).
2022-10-14 22:12:56 -05:00
James Westman
c0c40b1577
language: Support boxed types and GType
...
- Add support for type checking boxed types
- Remove support for converting string and number literals
- Add the `typeof()` operator for GType literals
2022-10-06 13:03:33 -05:00
James Westman
664fa2250b
Validate that an object can have children
...
Fixes #32 .
2022-07-09 16:40:02 -05:00
James Westman
0a0389b1f8
grammar: Create an AST node for type names
2022-07-09 16:05:10 -05:00
Sonny Piers
2da6be7618
lsp: Fix crash when import version missing
...
The issue is specific to the language server, since it's trying to use
an AST that contains errors. The test would not fail but was added
anyway.
2022-07-09 20:00:10 +00:00
James Westman
c094743e84
Fix compiling empty file
2022-06-17 11:12:21 -05:00
James Westman
824476bda1
Add errors for duplicate properties and blocks
2022-06-08 23:08:15 -05:00
James Westman
99e428d93c
validation: Disallow instantiating abstract classes
2022-04-28 23:35:34 -05:00
James Westman
f78478bea1
validation: Writable/construct-only properties
...
Add two new errors, one for non-writable properties and another for
binding construct-only properties.
2022-04-28 22:52:30 -05:00
James Westman
4cf966eafa
tests: Add GTK directive error tests
2022-03-28 14:38:05 -05:00
James Westman
a4ffdd944f
language: a11y: Fix property names
...
Blueprint uses underscores in property/state/relation names, but
GtkBuilder expects dashes because it uses the glib names from the
GtkAccessible* enums.
2022-03-28 14:38:05 -05:00
James Westman
8ea06e8a78
Add validation for flag values
2022-03-02 14:06:57 -06:00
James Westman
4b42016837
Fix bug with inline menus
...
Fixes #44
2022-02-21 14:12:56 -06:00
Gleb Smirnov
4103ad3e71
fix: allow adding action widgets to GtkInfoBar
2022-02-19 12:51:34 +03:00
Gleb Smirnov
d9ef1d4df9
tests: add tests for action widget syntax
2022-02-18 19:04:08 +03:00
Gleb Smirnov
492b73bc47
tests: add tests for signal's object attribute
2022-01-17 05:37:17 +00:00
James Westman
85150d397b
gir: Fix assignable_to for interface implementations
...
Part of #29
2022-01-11 22:37:24 -06:00
James Westman
8e1a9f72dd
parser: Merge consecutive "Unexpected tokens" errors
...
Fixes #24
2021-12-16 23:18:31 -06:00
James Westman
be3c0de670
Remove some semicolons
...
Remove semicolons everywhere except 'using' statements, properties,
attributes, and signals.
This should be the last breaking change to the syntax.
2021-11-30 21:04:35 -06:00
James Westman
f2b7d3bd95
Fix uint properties
2021-11-24 14:46:49 -06:00
James Westman
2a18273c80
Add string lists
2021-11-12 19:01:20 -06:00
James Westman
f1e1811e1f
Improved validation
2021-11-12 18:01:56 -06:00
James Westman
981c2e3b7d
Remove the ':' in a few places
...
Changed my mind, I think it's more confusing to use the colon for
properties when they aren't really properties.
2021-11-12 17:47:09 -06:00
James Westman
e759569c3f
Validate parent object for accessibility and layout
2021-11-12 17:10:30 -06:00
James Westman
2224f0958c
Add Gtk.SizeGroup
2021-11-12 16:59:51 -06:00
James Westman
ebfa72d94f
Add GtkFileFilter properties
2021-11-12 09:23:25 -06:00
James Westman
b776163cd7
Add accessibility properties
2021-11-12 00:51:01 -06:00
James Westman
d89f2356b4
Validate object types
2021-11-05 00:44:33 -05:00
James Westman
a4b31f2cb0
Add more tests
2021-11-04 00:05:38 -05:00
James Westman
08a74acb37
ci: Generate test coverage report
2021-11-03 23:30:04 -05:00
James Westman
43d442a6df
tests: Add some error handling tests
2021-11-03 23:03:43 -05:00
James Westman
241668fb94
Report duplicate object IDs
2021-11-03 14:58:33 -05:00