Olivier Goffart
8361ef4019
Start code egeneration for the two ways binding
...
This is only meant to include the cases in which the property are optimized.
Does not work yet for the dynamic component
2020-09-24 14:37:16 +02:00
Olivier Goffart
4981c3ca75
Some check for the two way bindings
2020-09-23 14:06:08 +02:00
Olivier Goffart
1c8150cb35
One should not be able to instantiate structures
2020-09-16 18:38:08 +02:00
Olivier Goffart
e0ed5252a8
Parse type declaration
...
```
export Foo := {
property <int> xxx;
}
```
2020-09-16 18:26:13 +02:00
Olivier Goffart
a6504ee61b
Start implementing some code that passes argument to functions and signals
2020-09-08 14:37:44 +02:00
Olivier Goffart
e10ed650ee
Lookup of signal argument within a signal handler
2020-09-08 12:12:01 +02:00
Olivier Goffart
637a0e792c
Some more progress in signal connection with arguments
2020-09-07 18:49:38 +02:00
Simon Hausmann
d8e51dc03d
Include warnings in the expected diagnostics of the syntax tests
...
Since some lines may produce multiple warnings/errors, the regex
supports now multiple carets, which indicates the number of lines to
walk back. This is a bit hacky, but it works :-)
2020-09-04 21:26:21 +02:00
Olivier Goffart
9d405060e2
Parse object and array type
2020-09-03 07:43:20 +02:00
Olivier Goffart
2bb7616b80
Show in the error message how to perform conversion between units
2020-08-31 10:30:16 +02:00
Simon Hausmann
c1aa4b28c6
Add support for children insertion points for components
...
Sometimes re-usable components need to act as containers that allow the
user to place other items inside. The component needs to be able to
control the placement of these user-provided elements. That is what the
new
$children
expression inside elements does.
2020-08-28 15:05:21 +02:00
Olivier Goffart
10e8d7ffb9
Replace the regexp-based lexer with a custom lexer
...
The regexp crate is huge and takes more than a third of the size of the
wasm-interpreter.
2020-08-28 13:34:43 +02:00
Olivier Goffart
58cdaeb8dd
Update license header to mention that commertial option are available
2020-08-26 13:23:42 +02:00
Simon Hausmann
2823f32692
Apply license headers to all non-binary/non-json sources
2020-08-17 17:55:20 +02:00
Olivier Goffart
2518af41b1
Fix for
in a declared component
2020-08-04 18:51:39 +02:00
Olivier Goffart
283387bc44
Add the self and parent implicit id
2020-08-04 15:58:40 +02:00
Olivier Goffart
b259a09338
Rename the types float32 and int32 to float and int
2020-08-03 16:15:41 +02:00
Olivier Goffart
feec73674f
Start implementing easing curve
2020-07-29 15:19:41 +02:00
Olivier Goffart
733f44f50b
Error when using a layout property outside of a layout
2020-07-28 18:24:36 +02:00
Olivier Goffart
5b2add75e4
Parse the row/col/rowspan/colspan in a layout
2020-07-28 18:04:16 +02:00
Olivier Goffart
def42ba3df
Add reserved properties that every item has
...
These properties are materialized if used
2020-07-27 12:18:55 +02:00
Olivier Goffart
f87a3e2c13
Assignment operator
2020-07-24 11:43:23 +02:00
Olivier Goffart
6f30c21a98
Fix panic when connecting a non existing signal
2020-07-24 11:33:00 +02:00
Olivier Goffart
232848de9e
Make sure that there is only one error reported when assigning to invalid
...
This also start parsing assignment ('=') as a self assignement
but the code generation is not yet implmented
2020-07-24 11:33:00 +02:00
Simon Hausmann
7b7f38ae65
Clean up compiler tests directory a little
...
I added files unrelated to the syntax tests in the tests/ folder, but
that won't scale. Those files aren't meant to be subject to the syntax
test and there are more files to come in the future. So this change
moves the syntax test related cases into a dedicated sub-folder, as well
as the type loader/registry related ones.
2020-07-22 14:36:01 +02:00