James Westman
c7c32cbb4a
expressions: Validate lookup expressions
2022-05-05 00:54:22 -05:00
James Westman
3f7688a563
expressions: Add closure expressions
2022-05-05 00:54:22 -05:00
James Westman
fc497ac9e6
Add lambda expressions
2022-05-05 00:49:36 -05:00
James Westman
012bdf6843
Add lookup expressions
2022-04-30 16:41:46 -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
4e2501c7d7
Fix number parsing
2022-04-18 20:22:29 -05:00
James Westman
417f163a5a
Fix crash in flags value for unchecked classes
2022-04-18 15:42:55 -05:00
James Westman
3d4aae79c4
tests: Test unchecked classes
2022-04-08 14:56:10 -05:00
James Westman
4cf966eafa
tests: Add GTK directive error tests
2022-03-28 14:38:05 -05:00
James Westman
d73c83aa63
decompiler: Allow and ignore <placeholder/>
...
Some existing files contain <placeholder/> tags, which should be
permitted but ignored.
2022-03-28 14:34:27 -05:00
James Westman
3f37380c25
tests: Test that docs & completions don't crash
2022-03-19 18:16:25 -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
James Westman
9873a2072b
Add warning for sync-create
2022-02-09 15:39:02 -06:00
James Westman
ee5f32622f
reorganization: Finish moving parsing and AST
2022-01-26 22:37:51 -06:00
Gleb Smirnov
492b73bc47
tests: add tests for signal's object attribute
2022-01-17 05:37:17 +00:00
James Westman
6b78338d1a
Make template parent optional
...
Not recommended, since you lose some type checking.
2022-01-16 21:08:16 -06:00
James Westman
1897478480
tests: Exclude lines from coverage
...
Exclude things like "raise NotImplementedError" and compiler bug
handlers.
2022-01-16 20:59:11 -06: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
34e78de338
decompiler: Support GtkFileFilter tags
2021-12-15 11:32:33 -06:00
James Westman
8e4433a487
Create an interactive porting tool
...
`blueprint-compiler port` interactively ports a project to blueprint.
It will create the subproject wrap file, add it to .gitignore, decompile
your GtkBuilder XML files, emit code to copy and paste into your
meson.build file, and update POTFILES.in.
It can't quite handle all of the features the forward compiler can, so
it will skip those files.
2021-12-01 23:38:28 -06:00
James Westman
544d152fb6
Rename to blueprint-compiler
...
This isn't an official GTK project so better to avoid using "GTK" in the
name.
2021-12-01 15:35:58 -06:00
James Westman
2130c78da9
Accept string literals for parseable types
...
GtkBuilder knows some class-specific parsing methods, so we can use
string literals for these types and pass them straight to the XML.
2021-11-25 18:43:37 -06:00
James Westman
3804d91118
tokenizer: Fix multiline comment regex
2021-11-25 18:43:33 -06:00
James Westman
c4beb6841c
Fix enums with "-"/"_" in the name
2021-11-24 14:57:34 -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
aa447466c0
Add GtkComboBoxText items
2021-11-12 18:40:26 -06:00
James Westman
f1e1811e1f
Improved validation
2021-11-12 18:01:56 -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
James Westman
7a65956195
Bug fix, new test
2021-11-01 22:15:49 -05:00
James Westman
80b5698533
Improve value parsing
...
Parse values as different AST nodes rather than just strings. This
allows for better validation and will eventually make expressions
possible.
2021-11-01 21:51:25 -05:00
James Westman
5f0eef5f2e
Add compilation tests
...
Added a set of test inputs and expected outputs, for regression testing.
2021-10-31 23:36:20 -05:00