Commit Graph

40 Commits

Author SHA1 Message Date
FalsePattern
d0c62157b4
Added legacy-style json api wrapper 2023-06-21 17:24:29 +02:00
FalsePattern
cf211cd599
update casting builtins 2023-06-21 17:08:10 +02:00
Techatrix
b623f141ea revive translateC support 2023-05-30 01:59:46 +02:00
Techatrix
029f5094ff
various intern pool & comptime interpreter changes (#1179)
* intern_pool: add getUnsignedInt

* add an empty struct literal

* resolve array length as usize in comptime interpreter

* use only one global intern pool

* store analysis errors in `DocumentStore.Handle`

* add typed undefined value

* add typed null value
2023-05-09 00:25:26 -04:00
Techatrix
3c165eabcd remove boxed null boilerplate 2023-03-21 16:58:05 +00:00
Techatrix
0c333aaa8a do not print error messages in comptime interpreter tests 2023-03-21 16:58:05 +00:00
Auguste Rame
121f68b970
Fix build runner (#1029)
* Fix build runner

* Add zls module, bump version

* Fix path from root issue in modules (thanks daremakemyday from Twitch :))

* Libraryify

* remove build_runner backward compatibility

* Remove some `= undefined`s in Server.zig

Makes library use less dangerous

* Consistent mem model + custom build runner possible

* Add build runner utils for third-party tooling

* Make logs removable in libraries with zls_ prefix

* Fix build runner CI

* Expose references

* Use new addModule
2023-03-05 14:08:31 -05:00
Techatrix
30869d7d87
InternPool: replace untyped values with typed values (#1023)
* InternPool: replace untyped values with typed values

* InternPool: remove `indexToTag`

* InternPool: rework representation of optional values

* add representation for unknown values and types

* ComptimeInterpreter: use InternPool typed-values

* ComptimeInterpreter: field access test

* ComptimeInterpreter: improve handling of if expressions

* InternPool: fix typeOf on a comptime float

* ComptimeInterpreter: implement TypeOf with multiple parameters
2023-02-27 17:53:46 -05:00
Lee Cannon
5ede46f003
support new module cli arguments (#1019)
* support new module cli arguments

* capture the runtime zig version and store it on `Server`

* update build_runner action

* Use correct version for selecting arguments
2023-02-23 15:18:52 -05:00
Techatrix
0f77fd5b0e
add multi object for loop support (#1011)
* run `zig fmt`

* add support for multi object for loops

* add completion tests on multi object for loops

* update minimum zig build version

* use multi object for loops in codebase

* Update tres to latest version

* fix panics when generating document scope on invalid for loops
2023-02-21 17:11:35 -05:00
Techatrix
5cb0c98db1 fix function call resolution 2023-02-11 00:04:08 +01:00
Techatrix
d98060b3d6 more closely match Zir.Inst.Ref to InternPool.Index 2023-02-10 19:10:58 +01:00
Techarix
57fc10eec0 add predefined values to Index 2023-02-08 21:01:15 +01:00
Techarix
6278880f42 Merge branch 'master' into intern-pool 2023-02-08 20:10:17 +01:00
nullptrdevs
bd539ae989
[std.zig.] parse(alloc, src) -> Ast.parse(alloc, src, Ast.Mode) (#966)
* Work in Zig's breaking changes (build sys apis)

* [`std.zig.`] `parse(alloc, src)` -> `Ast.parse(alloc, src, Ast.Mode)`
2023-02-04 18:19:24 +00:00
Techatrix
3872915701 more comptime interpreter tests 2023-01-28 19:22:51 +01:00
Techatrix
9cde2495b2 bug fixes 2023-01-28 18:54:16 +01:00
Techatrix
55364f2e2b do not intern Structs, Enums and Unions 2023-01-28 18:02:29 +01:00
Techatrix
95139e09ec move InternPool and encoding into analyser folder 2023-01-23 22:26:56 +01:00
Techatrix
f2b133c428 update tests 2023-01-23 21:29:51 +01:00
Techatrix
723592e2ed enable successful interpreter tests 2023-01-22 22:51:54 +01:00
Techatrix
89ac9d00f5 add more interpreter tests 2023-01-20 22:25:19 +01:00
Techatrix
bcd2b7f1ae report interpreter errors in tests 2023-01-20 19:55:53 +01:00
Techatrix
ea7fc74483 add more comptime interpreter tests 2023-01-20 19:29:03 +01:00
Techatrix
b4ac6142cf correctly resolve primitive types 2023-01-20 19:20:42 +01:00
Techatrix
34b2643b33 add basic comptime interpreter tests 2023-01-20 17:06:16 +01:00
Techatrix
f5188c4407 update test 2023-01-14 21:54:45 +01:00
Techatrix
04d281340c restructure ComptieInterpreter tests 2023-01-14 14:08:15 +01:00
Techatrix
650eaeb66c implement anyframe->T 2023-01-06 14:38:28 +01:00
Techatrix
4b4aafb8ee first successful test case 🚀 2023-01-04 11:12:29 +01:00
Techatrix
61c0981294
Use zig-lsp-codegen (#850)
* add lsp.zig

* change references from types.zig to lsp.zig

* remove types.zig and requests.zig

* add tres as a submodule

* transition codebase from types.zig to lsp.zig

* update lsp.zig

* completely overhaul message handler

* fix memory errors

* partially transition tests to lsp.zig

* update lsp.zig

* more test fixes

* disable failing tests

* fix message handling bugs

* fix remaining tests

* access correct union in diff.applyTextEdits

* more message handler fixes

* run zig fmt

* update tres submodule

* fix memory access to freed memory

* simplify initialize_msg for testing

* check if publishDiagnostics is supported
2022-12-27 01:47:57 -05:00
Auguste Rame
1e99692d5c
Enable stage2 (#810) 2022-12-07 11:39:46 -05:00
Auguste Rame
369b851dc7
Revert "move to stage2 (#781)" (#783)
This reverts commit 29679ee6f8.
2022-11-25 19:18:32 -05:00
Techatrix
29679ee6f8
move to stage2 (#781) 2022-11-25 16:31:27 -05:00
Auguste Rame
c8dffc1f9b
Some comptime interpreter fixes 2022-11-10 20:51:02 -05:00
Auguste Rame
599c134593
Imports, cross-boundary resolution; can import std but dies on missing builtins / lang features 2022-11-08 14:37:13 -05:00
Auguste Rame
779c3c0710
Hacky mess but it works (only if your function is the first root decl tho :P) 2022-11-08 14:37:13 -05:00
Auguste Rame
06e8756849
Add struct test 2022-11-08 14:37:13 -05:00
Auguste Rame
d2640a44ac
comptime interpreter moment 2022-11-08 14:37:01 -05:00
Techatrix
865a2713cd add tests for cimport 2022-08-26 16:53:44 +02:00