Commit Graph

1428 Commits

Author SHA1 Message Date
Techatrix
9131285db1 improve comptime interpreter stack trace message 2023-01-26 17:14:42 +01:00
Techatrix
ca644d67c1 Merge branch 'master' into intern-pool 2023-01-26 16:16:40 +01:00
Techatrix
fe54fb7cfa
Use new ast helper functions (#939)
* use new ast helper functions

* use new ast helper functions

* update min build version

* fix merge conflicts
2023-01-24 18:55:38 -05:00
Techatrix
b09c317ae7 bug hunting 2023-01-24 22:07:19 +01:00
Techatrix
d2586f79a1
replace ArrayList with MultiArrayList in DocumentScope (#938) 2023-01-24 15:43:48 -05:00
Techatrix
05ad3294f1 use ArrayList for dotCompletions 2023-01-24 17:00:14 +01:00
Techatrix
3577e719fb equality compare floats with bitcast in InternPool 2023-01-24 16:59:01 +01:00
Techatrix
95139e09ec move InternPool and encoding into analyser folder 2023-01-23 22:26:56 +01:00
Techatrix
829f4aa9c4 use analyser/completions.zig for completing comptime interpreter 2023-01-23 22:23:01 +01:00
Techatrix
4b7a434feb small refactor 2023-01-23 22:21:47 +01:00
Techatrix
f2b133c428 update tests 2023-01-23 21:29:51 +01:00
Techatrix
497f1e1b23 implement field access in comptime interpreter 2023-01-23 21:29:24 +01:00
Techatrix
9dbae69288 add helper functions to intern pool 2023-01-23 21:28:40 +01:00
Techatrix
d10837dca0 expand dot completions 2023-01-23 21:28:15 +01:00
Auguste Rame
ed9cf06d5f
Properly refer to external repositories instead of lumping everything into zls (#936) 2023-01-23 00:23:21 -05:00
Álan Crístoffer
0e53ac1328
Partially fixes #907 (#908) 2023-01-22 17:52:04 -05:00
Techatrix
723592e2ed enable successful interpreter tests 2023-01-22 22:51:54 +01:00
Techatrix
4e985e252b add struct value tests 2023-01-22 22:10:52 +01:00
Techatrix
0817d6008b redesign InternPool encoding 2023-01-22 21:59:30 +01:00
Techatrix
db97a19233 add test filter to src tests 2023-01-22 21:57:40 +01:00
Álan Crístoffer
903f85ab94
Fix lsp weird behaviour on block cursors (#891) (#905)
* Fix lsp weird behaviour on block cursors (#891)

Adds lookahead option to getPositionContext.
2023-01-22 15:47:53 -05:00
Auguste Rame
8e98bd439b
pull_request -> pull_request_target all over (#935) 2023-01-22 15:27:17 -05:00
Auguste Rame
3a86687ae7
Fix secrets access in foreign PRs (#934) 2023-01-22 14:54:38 -05:00
Auguste Rame
e2307d7dbf
Fix fuzzing ref (#933) 2023-01-22 05:46:35 -05:00
Auguste Rame
12e996ad96
Fix env transfer (#932) 2023-01-22 05:40:03 -05:00
Auguste Rame
7b35c6e5eb
Last fuzzing PR for a while hopefully (#929) 2023-01-22 03:30:10 -05:00
Auguste Rame
211a852efc
Fix fuzzing paths (#928) 2023-01-21 21:49:05 -05:00
Auguste Rame
d670a4bbf2
Add fuzzing workflow (#927) 2023-01-21 18:27:16 -05:00
Techatrix
5afaf2ae3a
optimize folding range (#926) 2023-01-21 13:32:12 -05:00
Aleksey Kladov
ea05916e69 Goto definition works when the cursor is at the start of the identifier.
Before, the code lexed only a prefix of the line up to cursor position.
Now, we lex the entire line, and do look at the token just after the
cursor.

This subtly changes sematncih of `getPostionContext`: now it is becomes
oblivious of the _exact_ position of the cursor and returns the whole
token at cursor's position.

I believe this is semantically right approach -- _most_ of the callsite
should not worry at all about such details. Something like completion
_might_ want to know more, but it's better to make that call site's
problem.

It might be the case that some existing code relies on the past
behavior. It's hard to tell though -- we don't have a lot of tests for
_features_, and changes to unit-tests don't explain if the changes are
meaningful for user-observable behavior or not.

In general, for LSP-shaped thing, I feel that the bulk of testing should
be focused on end-to-end behaviors....
2023-01-21 18:31:26 +00:00
Techatrix
1ed8d49b30
fix builtin completions if label_details_support is false (#924) 2023-01-20 19:33:27 -05:00
Techatrix
3085c3e153 implement big int 2023-01-20 22:39:19 +01:00
Techatrix
89ac9d00f5 add more interpreter tests 2023-01-20 22:25:19 +01:00
Techatrix
6d12c640ee add initial completions on InternPool 2023-01-20 22:24:39 +01:00
Techatrix
ba42fd2bb9 Merge branch 'master' into intern-pool 2023-01-20 22:23:44 +01:00
Techatrix
bcd2b7f1ae report interpreter errors in tests 2023-01-20 19:55:53 +01:00
Techatrix
861e2ffb05 add formatting to recordError 2023-01-20 19:55:26 +01:00
Techatrix
ea7fc74483 add more comptime interpreter tests 2023-01-20 19:29:03 +01:00
Techatrix
1e73ac91e5 small comptime interpreter refactor 2023-01-20 19:28:25 +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
06fcfcb3db add internpool to test steps 2023-01-20 17:04:59 +01:00
Techatrix
4a8fe90d23 add coerceInMemoryAllowed integer & float tests 2023-01-20 15:34:49 +01:00
Techatrix
a145dbb616 remove panics from release builds 2023-01-20 15:26:00 +01:00
Techatrix
3d95b203f2 coerce in memory improvements 2023-01-20 15:08:52 +01:00
Techatrix
bdf143eaa6 implement onePossibleValue 2023-01-20 15:08:08 +01:00
Techatrix
666e3b0e7c add function pointer peer type tests 2023-01-19 21:08:04 +01:00
Techatrix
5c20650143 refactor pointer peer type tests 2023-01-19 19:50:19 +01:00
Techatrix
eca9fc2f20 add expectEqualTypes 2023-01-19 19:49:46 +01:00
Techatrix
ea608a47ea peer type resolution improvements 2023-01-19 19:16:19 +01:00