Henrixounez
|
5086fd537c
|
checker: prompt error on implicit int overflow by literal (#6410)
|
2020-09-20 16:29:01 +02:00 |
Uwe Krüger
|
4ae88c69ac
|
sync/select: allow push of literals and calculated expressions (#6429)
|
2020-09-20 03:50:09 +02:00 |
Nick Treleaven
|
9958881cbe
|
parser: support parsing unsafe (as first token) as UnsafeExpr (#6032)
|
2020-09-19 19:18:36 +03:00 |
Henrixounez
|
4b0e7fc979
|
checker: check if imported struct is public (#6425)
|
2020-09-19 18:16:43 +03:00 |
Uwe Krüger
|
31a52cdf21
|
cgen: implement channel `select` block code generation (#6424)
|
2020-09-19 02:14:35 +02:00 |
Enzo
|
3126ae305c
|
checker: verify use of blank identifier (#6412)
|
2020-09-18 23:47:50 +02:00 |
Henrixounez
|
c02a0f90df
|
checker: prompt error on script expression while inside a file with main (#6400)
|
2020-09-18 01:14:14 +02:00 |
Nick Treleaven
|
14743458e5
|
checker: tweak error messages for `or` block; use proper type names (#6377)
|
2020-09-18 01:09:00 +02:00 |
Nick Treleaven
|
69c592e0d6
|
checker: disallow infix op on an optional type (#6406)
|
2020-09-18 01:03:55 +02:00 |
Henrixounez
|
99574e465d
|
scanner: allow escape on null character (#6404)
|
2020-09-18 01:02:06 +02:00 |
Enzo
|
a1e127ae46
|
checker: check type in `is` InfixExpr (#6407)
|
2020-09-18 01:01:05 +02:00 |
spaceface777
|
ff92c3409d
|
ast: merge `IfExpr` and `CompIf` (#6011)
|
2020-09-18 00:58:54 +02:00 |
Henrixounez
|
608df40058
|
checker: fix error declaration on a value (#6390)
|
2020-09-16 22:01:15 +02:00 |
Uwe Krüger
|
1bc9063573
|
parser: implement parsing of `select` block (#6379)
|
2020-09-16 15:34:57 +02:00 |
Alexander Medvednikov
|
68948c7947
|
checker: vfmt checker.v
|
2020-09-13 16:21:40 +02:00 |
Vasilis Katsifolis
|
43942057a4
|
checker: fix a type check that caused a C error #6238 (#6358)
|
2020-09-13 15:19:53 +02:00 |
Alexander Medvednikov
|
b74c1805d7
|
cgen/autofree: fix and simplify optionals
|
2020-09-12 16:40:52 +02:00 |
Delyan Angelov
|
37311883c1
|
tests: add optional_method_err.vv
|
2020-09-12 13:12:06 +03:00 |
Delyan Angelov
|
0801f88d0a
|
tests: cleanup vlib/v/checker/tests/run ; add unused_variable_warning.vv
|
2020-09-12 12:33:17 +03:00 |
Daniel Däschle
|
ce62f997f3
|
all: better type error positions (#6345)
|
2020-09-11 14:37:14 +02:00 |
Alexander Medvednikov
|
62a692b29c
|
checker: make the "unnecessary default" error a warning for now
|
2020-09-11 13:59:28 +02:00 |
Alexander Medvednikov
|
bc8aab4775
|
checker: fix := test
|
2020-09-09 17:59:51 +02:00 |
Alexander Medvednikov
|
3956ea4665
|
Revert "checker: fix := test"
This reverts commit 818220de45 .
|
2020-09-09 17:55:48 +02:00 |
Alexander Medvednikov
|
818220de45
|
checker: fix := test
|
2020-09-09 17:50:14 +02:00 |
Daniel Däschle
|
3a146a6dbe
|
checker: fix error pos on default value (#6338)
|
2020-09-09 15:34:41 +02:00 |
Alexander Medvednikov
|
925f1781b3
|
checker: default field fixes
|
2020-09-09 14:05:56 +02:00 |
Alexander Medvednikov
|
e018509ba6
|
checker: test for unnecessary default struct field values
|
2020-09-09 13:59:52 +02:00 |
Swastik Baranwal
|
ea2b2ebc07
|
checker: modify error messages for ptrs (#6325)
|
2020-09-09 10:07:58 +02:00 |
Nick Treleaven
|
49c322f120
|
checker: simplify argument qualifier errors (#6321)
|
2020-09-08 19:34:17 +02:00 |
Uwe Krüger
|
2cb711ee15
|
checker/channels: check `mut`/`&` state of transmitted objects (#6315)
|
2020-09-06 21:24:41 +02:00 |
Alexander Medvednikov
|
3410705974
|
autofree: lots of fixes
|
2020-09-05 12:00:35 +02:00 |
Xavier B
|
8ef55bd8c9
|
checker: add checks for map key/value types (#6283)
|
2020-09-04 23:59:54 +02:00 |
Uwe Krüger
|
b8617ace53
|
checker: do not allow aliases of `chan` types (#6294)
|
2020-09-03 02:03:31 +02:00 |
spaceface777
|
35cbca96e1
|
checker: implement `[required]` struct field attribute (#6276)
|
2020-08-31 23:15:40 +02:00 |
spaceface777
|
bd304f1141
|
checker: check number of fields in short struct inits (#6280)
|
2020-08-31 22:17:59 +02:00 |
Nick Treleaven
|
5d3d14da53
|
cgen: support `typeof(expr).name` (#6253)
|
2020-08-30 08:56:18 +02:00 |
Uwe Krüger
|
fe8286c53c
|
checker: implement implicit conversions/promotions to `rune` (#6249)
|
2020-08-29 01:59:07 +02:00 |
Nick Treleaven
|
7dbae14e19
|
checker: error on `mut name =` (#6247)
|
2020-08-28 20:07:32 +03:00 |
Swastik Baranwal
|
39bf02ea68
|
checker: add error for arr1 <,>,>=,<= arr2 (#6243)
|
2020-08-28 11:08:07 +03:00 |
spaceface777
|
d663f57d43
|
parser: move flag logic to checker (#6239)
|
2020-08-28 09:24:04 +03:00 |
Delyan Angelov
|
8b3990225a
|
v.checker: run vfmt over vlib/v/checker/checker.v
|
2020-08-27 12:09:08 +03:00 |
Delyan Angelov
|
f73506be49
|
tests: fix some byte->rune errors
|
2020-08-27 12:08:05 +03:00 |
Xavier B
|
3e9dc578de
|
checker: disallow interfaces inside sum types (#6232)
|
2020-08-27 08:33:59 +02:00 |
Alexander Medvednikov
|
6921d46185
|
all: rune type for `` literals
|
2020-08-27 06:46:37 +02:00 |
Delyan Angelov
|
99dd72efea
|
tests: add another test for 47f59d3
|
2020-08-26 11:46:29 +03:00 |
Delyan Angelov
|
47f59d3fb6
|
v.scanner: fix error line numbers when comments end with CRLF
|
2020-08-26 11:39:32 +03:00 |
Uwe Krüger
|
393b46a6dd
|
channels: make `ch.len` and `ch.cap` available as properties (#6221)
|
2020-08-26 06:41:51 +02:00 |
Delyan Angelov
|
86dfd3902f
|
tests: use .vv files directly in compiler_errors_test.v
|
2020-08-25 18:14:06 +03:00 |
Nick Treleaven
|
479bfa28de
|
cgen: implement fixed array `.len` property (#6212)
|
2020-08-25 08:48:28 +02:00 |
Nick Treleaven
|
acc5c95f0d
|
checker: error with `*expr` if not a pointer (#6211)
|
2020-08-24 17:19:17 +02:00 |
Alexander Medvednikov
|
d547f74cb0
|
checker/cgen: interface smart casts
|
2020-08-24 11:10:26 +02:00 |
Swastik Baranwal
|
b2e79dbebd
|
parser: add an error for `import mod.sub as mod` and `import mod as mod` (#6194)
|
2020-08-23 02:12:25 +02:00 |
Uwe Krüger
|
61df70fdf5
|
all: enable `x = <-ch or {...}` (#6195)
|
2020-08-23 02:12:05 +02:00 |
Daniel Däschle
|
fcc61a981d
|
all: TypeSymbol.source_name (#6187)
|
2020-08-22 12:29:15 +02:00 |
Delyan Angelov
|
06967d9297
|
sort: require a mutable receiver
|
2020-08-21 21:19:37 +03:00 |
Daniel Däschle
|
0c183da116
|
checker: fix sort return type (#6182)
|
2020-08-20 17:29:40 +03:00 |
Nick Treleaven
|
217f04e311
|
checker: disallow casting to bool, use `some_int != 0` instead (#6138)
|
2020-08-19 14:37:55 +02:00 |
joe-conigliaro
|
c599a4c7de
|
checker: remove pos+1 on innermost call
|
2020-08-18 07:39:40 +10:00 |
Uwe Krüger
|
0d7cc8829a
|
cgen: implement channel `push()`/`pop()` using `<-` operator (#6154)
|
2020-08-17 23:35:36 +02:00 |
Daniel Däschle
|
b5c1ea44dc
|
all: fix mutability after if-smartcast (#6129)
|
2020-08-17 21:11:11 +02:00 |
Swastik Baranwal
|
46b4e2a0cd
|
checker: check`match` types (#6149)
|
2020-08-17 20:19:21 +02:00 |
Uwe Krüger
|
9a5f040f72
|
all: handle `<-` arrow token for channel operations (#6152)
|
2020-08-17 20:12:00 +02:00 |
Nick Treleaven
|
6ba6a22a77
|
checker: prevent from casting non-struct to struct (#6143)
|
2020-08-17 11:19:44 +02:00 |
Alexander Medvednikov
|
b2059c481a
|
checker: fix an incorrect name test
|
2020-08-16 19:24:00 +02:00 |
Alexander Medvednikov
|
f965ddae49
|
parser: handle several errors in types; cgen: objC includes
|
2020-08-16 19:16:59 +02:00 |
Enzo
|
a02593204f
|
checker: forbid aliasing an alias (#6118)
|
2020-08-16 04:53:16 +02:00 |
Uwe Krüger
|
9602a25a0b
|
all: add builtin channel type `chan elem_type` (#6126)
|
2020-08-14 21:18:42 +02:00 |
Daniel Däschle
|
b2fee21ef3
|
checker: check struct casting (#5864)
|
2020-08-14 14:57:08 +02:00 |
Nick Treleaven
|
6016f28171
|
cgen: fix assigning ArrayInit to fixed array: `a = [3]int` (#6115)
|
2020-08-14 13:57:00 +02:00 |
Alexander Medvednikov
|
fc1f41fc84
|
checker: fix a string error test
|
2020-08-13 23:33:18 +02:00 |
Alexander Medvednikov
|
88cde776e7
|
checker: more clear string error
|
2020-08-13 23:21:15 +02:00 |
Delyan Angelov
|
da7adb5b1b
|
ci: fix failing tests for compiler_errors_test.v
|
2020-08-13 13:16:41 +03:00 |
Alexander Medvednikov
|
e5e31f7210
|
sort: handle `.sort(a.field > b.field)`
|
2020-08-12 06:11:40 +02:00 |
Alexander Medvednikov
|
4bc0dde413
|
all: new `.sort(a < b)` syntax
|
2020-08-12 05:54:51 +02:00 |
Alexander Medvednikov
|
9800cf1e7b
|
checker: improve array errors; gg: remove unused imports
|
2020-08-12 03:54:17 +02:00 |
Swastik Baranwal
|
9fdb1701e0
|
checker: add a check for str[i] = `a` (#6107)
|
2020-08-11 17:41:54 +02:00 |
Alexander Medvednikov
|
c5aa2bfa51
|
tests: fix a match test
|
2020-08-11 16:26:52 +02:00 |
Alexander Medvednikov
|
1a9dba0005
|
checker: make << shifts work with custom number types
|
2020-08-11 01:05:34 +02:00 |
Alexander Medvednikov
|
2dd82748e0
|
checker: simplify << error message
|
2020-08-11 01:01:33 +02:00 |
Alexander Medvednikov
|
6d72209363
|
checker: minor c2v fixes
|
2020-08-11 00:51:15 +02:00 |
Alexander Medvednikov
|
11113e43e7
|
checker: a minor perf fix
|
2020-08-10 23:59:42 +02:00 |
Nick Treleaven
|
d8d82a0be4
|
checker: make `has_return` fn more efficient (#6103)
|
2020-08-10 23:59:08 +02:00 |
Alexander Medvednikov
|
88988817d0
|
parser: minor `match` simplification
|
2020-08-10 19:54:38 +02:00 |
Delyan Angelov
|
36eae1c175
|
builtin: x.vstring() instead of string(x) (#6102)
|
2020-08-10 18:05:26 +02:00 |
Alexander Medvednikov
|
c65dbe51d6
|
parser: c2v fixes
|
2020-08-09 03:58:14 +02:00 |
Nick Treleaven
|
6cc8815931
|
parser: support [unsafe] instead of [unsafe_fn] (#6066)
|
2020-08-08 16:24:05 +02:00 |
Alexander Medvednikov
|
ea76a33b43
|
remove freetype references everywhere
|
2020-08-06 17:23:57 +02:00 |
Enzo
|
f238890fe9
|
compiler: move attributes to declarations (#6026)
|
2020-08-04 20:10:22 +02:00 |
Nick Treleaven
|
7f447bb82f
|
ast: use Block instead of UnsafeStmt (#5981)
|
2020-08-02 14:06:44 +03:00 |
Alexander Medvednikov
|
a1593e7db8
|
checker: 1 line v fmt fix
|
2020-08-01 23:41:32 +02:00 |
Swastik Baranwal
|
d56d622a43
|
checker: add checks for byte casting (#5917)
|
2020-08-01 23:17:00 +02:00 |
spaceface777
|
4f37202b72
|
checker: allow struct fields starting with capitals in builtin (#5998)
|
2020-08-01 23:01:40 +02:00 |
Delyan Angelov
|
91c9c0c917
|
checker: fix unknown_method_suggest_name.out test result too
|
2020-07-30 19:37:36 +03:00 |
Delyan Angelov
|
f300f787f3
|
checker: add suggestions for method mispellings and unknown types
|
2020-07-30 18:48:16 +03:00 |
Alexander Medvednikov
|
f269cbdc94
|
Revert "parser: Support `unsafe(expr)` (#5973)"
This reverts commit 19c226fcf8 .
|
2020-07-29 21:41:47 +02:00 |
Delyan Angelov
|
9c9533dad9
|
checker: add error for `fn f() Struct { return &Struct{} }` (#6019)
|
2020-07-29 21:40:43 +02:00 |
Swastik Baranwal
|
4500e7131e
|
checker: add a checker error for fn calls on left side of an assignment (#5993)
|
2020-07-29 18:33:00 +03:00 |
Delyan Angelov
|
9c028bb299
|
checker: fix passing enum to a method expecting string
|
2020-07-28 13:50:40 +03:00 |
Nick Treleaven
|
19c226fcf8
|
parser: Support `unsafe(expr)` (#5973)
|
2020-07-28 11:20:52 +03:00 |
joe-conigliaro
|
61c1c4a690
|
checker: add error for invalid sum type cast `MySt{1}`
|
2020-07-28 01:04:04 +10:00 |
Alexander Medvednikov
|
3d19167628
|
http: fix cookies (part 2)
|
2020-07-26 22:01:25 +02:00 |
Delyan Angelov
|
9e652c4f40
|
ci: fix remaining failing tests. Do mut ptr check only outside unsafe{} blocks.
|
2020-07-26 10:59:07 +03:00 |
Delyan Angelov
|
9d056168ae
|
ci: fix failing tests
|
2020-07-26 10:48:24 +03:00 |
Alexander Medvednikov
|
6796b93abd
|
tests: fix compiler_errors_test.v
|
2020-07-25 22:20:10 +02:00 |
Alexander Medvednikov
|
7c86156be5
|
checker: fix unsafe tests
|
2020-07-25 18:58:23 +02:00 |
Alexander Medvednikov
|
34907f7605
|
checker: do not allow assigning immutable refs to mutable vars
|
2020-07-25 18:32:36 +02:00 |
Louis Schmieder
|
b58b15993c
|
gen: compile time for (methods and fields) (#5957)
|
2020-07-25 00:02:44 +02:00 |
Lukas Neubert
|
2ccb28a93e
|
checker: run vfmt over checker.v (#5965)
|
2020-07-24 20:12:01 +03:00 |
Alexander Medvednikov
|
632e27a4a9
|
all: fix a big mutability bug and update all mutable vars
|
2020-07-23 23:16:36 +02:00 |
Uwe Krüger
|
6586a9a657
|
fmt: give braced sub expressions a higher priority (#5941)
|
2020-07-23 00:32:34 +02:00 |
Ryan Willis
|
938e71b468
|
v: fix for `import cli { Command }`
|
2020-07-22 20:33:43 +03:00 |
Nick Treleaven
|
ee349691f9
|
v/checker: Warn about pointer indexing outside unsafe {} (#5918)
|
2020-07-22 20:28:53 +03:00 |
joe-conigliaro
|
d46a89b90d
|
parser/checker/fmt: optimize scope lookups by storing object with ident & add if expr smartcast support to vfmt (#5935)
|
2020-07-23 02:10:31 +10:00 |
spaceface777
|
f4251dded0
|
checker: suggest using `:=` when assigning to undefined variable (#5911)
|
2020-07-21 19:49:53 +03:00 |
Alexander Medvednikov
|
059722f211
|
checker: minor vfmt run
|
2020-07-20 22:30:09 +02:00 |
Nick Treleaven
|
15ca64d81d
|
tests: rename pointer_arithmetic_should_be_checked.vv -> unsafe_required.vv (#5897)
|
2020-07-20 23:04:22 +03:00 |
Nick Treleaven
|
a74cbf55c7
|
checker: warn if C.m* or C.s* functions are called outside unsafe blocks (#5869)
|
2020-07-20 20:06:41 +03:00 |
Nick Treleaven
|
e6fc8eb015
|
checker: check that array slicing indexes are valid (#5892)
|
2020-07-20 19:52:03 +03:00 |
Delyan Angelov
|
fb4c3ff31a
|
tests: split unsafe.v to vlib/v/tests/unsafe_test.v and a checker output .vv&.out test
|
2020-07-20 16:53:27 +03:00 |
Enzo
|
8a855ccae1
|
fmt,vet: handle `var in [single_value]` (#5882)
|
2020-07-19 19:58:34 +02:00 |
Ryan Willis
|
1114fd28d0
|
all: import individual symbols feature (#5872)
|
2020-07-18 21:34:38 +02:00 |
XeGrox
|
e5a508c0d7
|
checker: fix inability to access aliased struct fields (#5861)
|
2020-07-18 13:58:16 +02:00 |
Nick Treleaven
|
105a0e015e
|
checker: warn if unsafe method called outside unsafe block (#5863)
|
2020-07-17 19:14:12 +02:00 |
Enzo
|
90d9040e6e
|
all: make comment expressions + fix vfmt array init (#5851)
|
2020-07-17 19:13:22 +02:00 |
Uwe Krüger
|
ea322bdd97
|
checker, cgen: fix call of generic function returning normal type (#5865)
|
2020-07-17 18:28:45 +02:00 |
spaceface777
|
3583302ad4
|
parser: force `...` rather than `..` in matches for inclusive ranges (#5852)
|
2020-07-17 11:30:21 +03:00 |
Alexander Medvednikov
|
9b2cbdacc6
|
vfmt: verify
|
2020-07-16 19:46:03 +02:00 |
Alexander Medvednikov
|
e4fac6ff97
|
autofree: fix scope position
|
2020-07-16 19:40:14 +02:00 |
spaceface777
|
b900577dae
|
compiler: handle ranges as `match` conditions (#5847)
|
2020-07-16 16:41:18 +03:00 |
Nick Treleaven
|
4b0ded0475
|
checker: Warn instead of error for pointer arithmetic (#5840)
|
2020-07-15 19:59:39 +02:00 |
Enzo
|
2ee8f93d60
|
parser: duplicate method declaration on interface (#5825)
|
2020-07-15 10:23:21 +02:00 |
Delyan Angelov
|
cf7d03bda6
|
builtin: implement array.pop()
|
2020-07-14 20:01:39 +03:00 |
Delyan Angelov
|
5ad957f270
|
vfmt: fix formatting for `x, _ := f()`
|
2020-07-14 19:11:16 +03:00 |
Alexander Medvednikov
|
06f5279f77
|
checker: fix multi_const_field_name_duplicate test
|
2020-07-14 17:44:08 +02:00 |
Alexander Medvednikov
|
899c69caf1
|
checker: fix dup const test
|
2020-07-14 17:24:08 +02:00 |
Alexander Medvednikov
|
d33fbe4547
|
checker: format + fix duplicate const error
|
2020-07-14 17:18:10 +02:00 |
joe-conigliaro
|
dd06d90466
|
checker/gen: temp hack for struct fn type field (fixes ui)
|
2020-07-14 03:59:00 +10:00 |
Uwe Krüger
|
6e6010d198
|
checker, cgen: implement auto-lock for `a[i]++`, `a[i]--` (#5817)
|
2020-07-13 15:01:32 +03:00 |
Uwe Krüger
|
aa364ddaca
|
checker, cgen: checks for shared/lock, first autolock (#5815)
|
2020-07-13 12:19:28 +02:00 |
Nick Treleaven
|
53023c1ca9
|
all: add UnsafeExpr (#5793)
|
2020-07-12 12:58:33 +02:00 |
Delyan Angelov
|
9c43d36513
|
parser,checker: add `-d trace_parser`, `-d trace_checker`
|
2020-07-12 12:56:01 +03:00 |
Delyan Angelov
|
23c8e1f06d
|
checker: add support for `-d debug_stmts` to ease debugging checker panics
|
2020-07-12 12:04:39 +03:00 |
yuyi
|
9b4c81e85f
|
checker: check missing return values in functions (#5803)
|
2020-07-11 16:30:49 +02:00 |
Delyan Angelov
|
37d739684c
|
checker: prevent string(byte), suggest byte.str() instead
|
2020-07-11 17:09:22 +03:00 |
pancake
|
7d6ba2d07d
|
checker: add error when interface i, without a .str() method, have i.str() called (#5788)
|
2020-07-10 22:47:29 +03:00 |
Emily Hudson
|
7488dd829d
|
all: _allow_multiple_values enum attribute (#5772)
|
2020-07-10 16:43:02 +02:00 |
Delyan Angelov
|
88946a34bb
|
checker: limit showing too many unhandled match cases
|
2020-07-10 15:49:02 +03:00 |
Daniel Däschle
|
fb927dab60
|
checker: check all branches for return (#5763)
|
2020-07-09 22:38:43 +02:00 |
Daniel Däschle
|
c5dc1a33b6
|
all: remove `it` smartcast and replace with original variable name (#5764)
|
2020-07-09 17:14:14 +02:00 |
Daniel Däschle
|
c0fa31e75a
|
cgen: if smartcast part 3 (#5755)
|
2020-07-08 19:14:47 +02:00 |
yuyi
|
64e9bdc213
|
parser: fix non-void optional fn missing return value (fix #5736) (#5741)
|
2020-07-08 16:01:17 +02:00 |
Daniel Däschle
|
5ea17ad2d4
|
all: if smartcast part 2 (#5754)
|
2020-07-08 15:46:58 +02:00 |
Daniel Däschle
|
b62bf59c21
|
all: if-is smartcast part 1 (#5730)
|
2020-07-08 15:17:28 +02:00 |
joe-conigliaro
|
c99200918e
|
checker: fix if
|
2020-07-08 01:42:42 +10:00 |
joe-conigliaro
|
2480cce1ed
|
checker: optimize if & fix typo
|
2020-07-08 01:36:48 +10:00 |
joe-conigliaro
|
5fd5e558ae
|
parser/checker/gen: anon fn direct call with args
|
2020-07-08 01:10:39 +10:00 |
Alexander Medvednikov
|
4d7d1eb0c4
|
http: referer()
|
2020-07-07 14:37:43 +02:00 |
Tarang11
|
68e01d87be
|
checker: fix multi assignment for multiple fns (#5716)
|
2020-07-07 14:18:51 +02:00 |
Uwe Krüger
|
ef02373061
|
all: remove `rwshared` keyword, make its semantics default for `shared` (#5710)
|
2020-07-07 01:57:31 +02:00 |
Alexander Medvednikov
|
1f3d7d393e
|
gg: simplify text rendering
|
2020-07-06 19:45:00 +02:00 |
joe-conigliaro
|
d82e6c9cd9
|
checker/table: fix sumtype cast from int literal
|
2020-07-06 21:27:48 +10:00 |
yuyi
|
fc7237be7b
|
checker: fix cast to sum type (fix #5690) (#5692)
|
2020-07-06 12:32:59 +02:00 |
yuyi
|
f41edef4c6
|
checker: add `1/0x0 1/0b0..` division by zero check (#5694)
|
2020-07-06 12:32:00 +02:00 |
joe-conigliaro
|
4e66728477
|
checker/table: rearrange sumtype check fns
|
2020-07-06 00:53:56 +10:00 |
joe-conigliaro
|
9d7f1a236a
|
checker/gen: fix nested sumtype matching
|
2020-07-06 00:25:04 +10:00 |
yuyi
|
34a24eaa4e
|
checker: validate loop var names (#5677)
|
2020-07-05 15:27:37 +02:00 |
Enzo
|
7778cbe9f5
|
all: make `os` global in scripts (#5669)
|
2020-07-04 23:37:41 +02:00 |
Delyan Angelov
|
f374e37b61
|
checker: add details about a non matching functional argument
|
2020-07-04 22:37:06 +03:00 |
Delyan Angelov
|
108913c69e
|
checker: handle error token positions with negative pos.len
|
2020-07-04 21:55:14 +03:00 |
Delyan Angelov
|
0637feb382
|
checker: use a more readable error message for non matching fn args
|
2020-07-04 21:23:22 +03:00 |
Delyan Angelov
|
db4a9d6b59
|
checker: stricter check for function type signatures
|
2020-07-04 21:01:08 +03:00 |
Daniel Däschle
|
0626ac2901
|
checker: fix position of infix expr error
|
2020-07-04 18:52:40 +02:00 |
div72
|
be04de98bb
|
checker: check for enum value duplicates/overflow (#5659)
|
2020-07-04 18:28:01 +03:00 |
Delyan Angelov
|
dc3101384f
|
checker: cleanup indentation
|
2020-07-04 14:45:11 +03:00 |
Delyan Angelov
|
48029fa9ad
|
checker: check .str() calls too
|
2020-07-04 14:43:01 +03:00 |
Delyan Angelov
|
35431d457b
|
checker: add check for strict .str() method signature
|
2020-07-04 14:14:43 +03:00 |
Uwe Krüger
|
3b067f5f85
|
all: experimental locked concurrency support, part 1 (#5637)
|
2020-07-04 12:44:25 +02:00 |
joe-conigliaro
|
da98c3c135
|
checker: use new match syntax everywhere
|
2020-07-04 19:23:41 +10:00 |
joe-conigliaro
|
cdd4a7c880
|
checker: only check ForInStmt.high once
|
2020-07-04 19:10:37 +10:00 |
Alexander Medvednikov
|
3d3549d65a
|
Revert "parser: advanced division by zero check (#5629)"
This reverts commit f03688e443 .
|
2020-07-03 22:30:51 +02:00 |
Nick Treleaven
|
0b49e4db1c
|
v/checker.v: disallow pointer arithmetic for InfixExpr outside unsafe {} (#5640)
|
2020-07-03 18:10:10 +02:00 |
Alexander Medvednikov
|
b7175b54eb
|
vweb: ['/:arg1/:arg2/action'] attribute
|
2020-07-03 15:10:39 +02:00 |
yuyi
|
f03688e443
|
parser: advanced division by zero check (#5629)
|
2020-07-03 11:28:00 +02:00 |
Louis Schmieder
|
b89cbf3224
|
orm: add support for ordering (#5624)
|
2020-07-02 20:29:22 +03:00 |
Nick Treleaven
|
e7339fec15
|
all: disallow pointer arithmetic for AssignStmt, PostfixExpr outside unsafe{} (#5581)
|
2020-07-01 14:50:17 +02:00 |
Delyan Angelov
|
78e1127d99
|
cgen: treat the main module like any other v module
|
2020-07-01 00:53:53 +02:00 |
Uwe Krüger
|
8a46911725
|
checker: check if mut function arg is declared as mut (#5579)
|
2020-06-30 14:19:22 +02:00 |
joe-conigliaro
|
ab37dcaa9c
|
generic structs: initial implementation
|
2020-06-29 20:09:09 +02:00 |
Alexander Medvednikov
|
d2c508e9a9
|
checker: clean up
|
2020-06-28 19:44:41 +02:00 |
Alexander Medvednikov
|
219ecd18b5
|
orm: handle unknown tbale names
|
2020-06-28 19:01:30 +02:00 |
Alexander Medvednikov
|
3dea698c93
|
checker: do not register pseudo variables in sql queries
|
2020-06-28 18:56:11 +02:00 |
Alexander Medvednikov
|
190f970544
|
checker: handle limit and offset
|
2020-06-27 16:41:29 +02:00 |
Uwe Krüger
|
8fe70a24a8
|
checker: forbid non-reference mut arg or receiver of go function
|
2020-06-26 23:31:38 +02:00 |
joe-conigliaro
|
2440ffd013
|
cgen: always unwrap generic type. fix `x := &T{}`
|
2020-06-27 00:31:36 +10:00 |
joe-conigliaro
|
202d479bad
|
checker: fix typo in check_types.v
|
2020-06-26 15:05:07 +10:00 |
Alexander Medvednikov
|
aec7f2f6c4
|
checker: SqlStmt fixes
|
2020-06-25 22:37:40 +02:00 |
Alexander Medvednikov
|
328cb7ed7e
|
orm: `update` with selectors and other fixes
|
2020-06-25 22:23:19 +02:00 |
Alexander Medvednikov
|
b280e08ee0
|
orm: `update` cgen
|
2020-06-25 17:12:32 +02:00 |
Alexander Medvednikov
|
a8b0dfb38a
|
checker: allow casting strings to string aliases
|
2020-06-25 14:55:53 +02:00 |
Alexander Medvednikov
|
ce6f687f65
|
checker: remove an unnecessary error for unexisting types
|
2020-06-25 14:51:58 +02:00 |
Alexander Medvednikov
|
afa5a134b7
|
orm: move fields fetching to a separate function to remove copy pasta
|
2020-06-25 14:43:25 +02:00 |
Alexander Medvednikov
|
786be1d1c3
|
orm: move type logic to checker, so that sql queries can be used before type def
|
2020-06-25 12:05:24 +02:00 |
Alexander Medvednikov
|
83b300435a
|
vweb: escape html; table: rename parent_typ to parent_type
|
2020-06-24 22:12:33 +02:00 |
Alexander Medvednikov
|
4b0e606ae8
|
checker: fix the alias check
|
2020-06-24 16:52:23 +02:00 |
Alexander Medvednikov
|
9df29d0dd2
|
checker: do not allow {} for aliases; orm: update stmt
|
2020-06-24 16:35:18 +02:00 |
Alexander Medvednikov
|
9d0cc7912a
|
fmt: re-run on gen/fn.v
|
2020-06-24 14:56:44 +02:00 |
Alexander Medvednikov
|
e918f8faf2
|
fmt: re-run on checker.v and cgen.v
|
2020-06-24 14:44:06 +02:00 |
Alexander Medvednikov
|
090e6e936a
|
orm: SqlStmt
|
2020-06-24 14:32:17 +02:00 |
Daniel Däschle
|
852fca2151
|
all: call anon fns right away
|
2020-06-24 12:54:39 +02:00 |
yuyi
|
514ee9d396
|
cgen: fix optional void return error
|
2020-06-24 12:45:15 +02:00 |
yuyi
|
7efb3ecb34
|
checker: check deprecated functions
|
2020-06-23 16:25:24 +02:00 |
yuyi
|
e2b5debc6b
|
checker: check optional type call
|
2020-06-23 11:39:58 +02:00 |
yuyi
|
ed393896f5
|
checker: check printing of optional type
|
2020-06-23 11:38:30 +02:00 |
joe-conigliaro
|
cff2874608
|
checker: fn arg - disallow any type with .str() to be passed as string
|
2020-06-23 08:51:18 +10:00 |
yuyi
|
d232833573
|
gen: fix printing of generic arrays
|
2020-06-22 14:54:24 +02:00 |
Alexander Medvednikov
|
011e26ca9a
|
checker: check sum types in `match`; cross compilation fixes; orm fixes
|
2020-06-21 23:09:53 +02:00 |
yuyi
|
81c19517d1
|
cgen: add gen_str_for_multi_return
|
2020-06-21 17:53:13 +02:00 |
Uwe Krüger
|
37927235cd
|
parser: trigger declaration of array element as error
|
2020-06-20 14:30:03 +02:00 |
joe-conigliaro
|
ddd83f1fc6
|
checker: error if variable used before declaration
|
2020-06-20 12:42:08 +10:00 |
Alexander Medvednikov
|
1d8d19c977
|
vweb: return $vweb.html()
|
2020-06-20 03:12:38 +02:00 |
Alexander Medvednikov
|
cd8392e42d
|
orm: insert
|
2020-06-19 16:43:35 +02:00 |
Uwe Krüger
|
c78cfa43bc
|
checker: make map literals have a real type
|
2020-06-19 15:00:27 +02:00 |
joe-conigliaro
|
7bc9e234a3
|
revert: checker: error if variable used before decleration p1
|
2020-06-19 21:37:09 +10:00 |
joe-conigliaro
|
8a5ca4cbdc
|
checker: error if variable used before decleration p1
|
2020-06-19 21:31:33 +10:00 |
Alexander Medvednikov
|
e8b21b4242
|
checker: type `x` does not support indexing
|
2020-06-19 12:53:53 +02:00 |
Alexander Medvednikov
|
5f5228f0f3
|
test: fix `as` checker test
|
2020-06-19 11:48:19 +02:00 |
Alexander Medvednikov
|
274ecb71fa
|
checker: `as` type test
|
2020-06-19 11:27:20 +02:00 |
Alexander Medvednikov
|
ef36520509
|
checker: check if the type in `as` exists, skip void type errors
|
2020-06-19 11:15:15 +02:00 |
yuyi
|
5a6d440f68
|
checker: check `array_insert` `array_prepend` type mismatch
|
2020-06-19 10:49:43 +02:00 |
Alexander Medvednikov
|
5ddb129bc2
|
checker: use the new match syntax
|
2020-06-18 20:38:59 +02:00 |
joe-conigliaro
|
68143b7b22
|
parser/checker/gen: match shaddow cond var & as support: p1
|
2020-06-19 00:33:16 +10:00 |
Alexander Medvednikov
|
fb5cae7376
|
orm: select where id = x
|
2020-06-17 04:05:20 +02:00 |
Alexander Medvednikov
|
ed58192e4c
|
v orm: select
|
2020-06-17 00:59:37 +02:00 |
joe-conigliaro
|
d478b44915
|
parser/checker/gen: merge AssignExpr & AssignStmt into just AssignStmt
|
2020-06-16 21:20:16 +10:00 |
yuyi
|
2daf915371
|
parser: `expression evaluated but not used` error
|
2020-06-16 11:06:53 +02:00 |
Uwe Krüger
|
f2d9fa3815
|
cgen: restructure string_inter_literal()
|
2020-06-16 10:41:51 +02:00 |
joe-conigliaro
|
0cd9066f44
|
parser/cgen: multiple attributes & better errors (closes #5334)
|
2020-06-15 22:59:09 +10:00 |
Delyan Angelov
|
e73ed56231
|
tests: add parser/tests/, move checker_test.v=>compiler_errors_test.v
|
2020-06-15 10:58:34 +03:00 |
yuyi
|
2785a5bf65
|
checker: check return_duplicate_with_none (closes #5363)
|
2020-06-15 15:10:45 +10:00 |
Ruofan XU
|
90279a7108
|
checker: use ++ / -- instead of += 1 / -= 1
|
2020-06-14 19:05:05 +02:00 |
Swastik Baranwal
|
a3a91f54a9
|
checker: handle `!is` in error messages
|
2020-06-14 19:03:29 +02:00 |
yuyi
|
90f07eb64a
|
parser: fix fn attributes empty error
|
2020-06-12 18:27:05 +02:00 |
Swastik Baranwal
|
56ae3797dd
|
checker: add checks and test for ~ operator
|
2020-06-12 12:05:20 +02:00 |
yuyi
|
a66753871d
|
checker: check array.map/filter fn or anon_fn
|
2020-06-11 13:14:07 +02:00 |
Alexander Medvednikov
|
a130d3cd14
|
vweb: fix unused var warning
|
2020-06-10 12:17:49 +02:00 |
joe-conigliaro
|
e38a221dc3
|
checker: fix second use of gloabl ident
|
2020-06-10 16:59:31 +10:00 |
joe-conigliaro
|
3664bea912
|
vweb/checker: show tmpl var errors
|
2020-06-10 02:47:51 +10:00 |
Delyan Angelov
|
4fc41c4bc4
|
v: add compiler support for _unlikely_(x) too
|
2020-06-09 18:11:03 +03:00 |
Delyan Angelov
|
c7d4360931
|
v: add full compiler support for _likely_(x)
|
2020-06-09 17:42:43 +03:00 |
joe-conigliaro
|
2799a6f065
|
parser/checker: fix global lookup
|
2020-06-09 17:08:11 +10:00 |
Delyan Angelov
|
99f311cc5f
|
checker: protect against stackoverflows due to deep expr recursion
|
2020-06-08 20:35:33 +03:00 |
Alexander Medvednikov
|
dabfc4ebd0
|
checker: do not display errors for incorrectly initialized vars
|
2020-06-08 13:10:47 +02:00 |
Enzo Baldisserri
|
11b7b97311
|
parser: fail when assigning to _ with :=
|
2020-06-08 00:47:04 +02:00 |
joe-conigliaro
|
1c2bf7b244
|
vweb: impl of comptime tmpl parsing (fix vweb_example)
|
2020-06-07 20:26:45 +10:00 |
Alexander Medvednikov
|
2770077cb0
|
fmt: x.foo!() experiment
|
2020-06-06 16:05:24 +02:00 |
Alexander Medvednikov
|
40bd1be85f
|
parser: fix !
|
2020-06-06 12:43:35 +02:00 |
Alexander Medvednikov
|
7815c5b108
|
cgen: $action (ComptimeCall); vweb: hello world works!
|
2020-06-06 10:05:26 +02:00 |
joe-conigliaro
|
0a3486b4c5
|
checker: generic/vewb fix
|
2020-06-06 17:06:11 +10:00 |
joe-conigliaro
|
c2fe4ffa85
|
table: remove fn to set idx & add new derive fn
|
2020-06-06 12:51:36 +10:00 |
joe-conigliaro
|
31d03bb113
|
checker/cgen: small generic fixes (mut arg return)
|
2020-06-06 12:24:27 +10:00 |
joe-conigliaro
|
3c4e4d4825
|
gen/checker: copy ptr & flag info in unwrap_generic
|
2020-06-05 18:41:15 +10:00 |
yuyi
|
c9b395f9cf
|
checker: fix for_in_index type error
|
2020-06-05 09:44:25 +02:00 |
yuyi
|
dd7ebf7fac
|
parser: check function argument mutable syntax
|
2020-06-04 15:20:43 +02:00 |
joe-conigliaro
|
edd56bc080
|
table: allow type hold 8 flags at once
|
2020-06-04 22:38:54 +10:00 |
joe-conigliaro
|
41dca3ef58
|
checker/cgen: fix mutable generic fn args
|
2020-06-04 19:32:31 +10:00 |
yuyi
|
8a24d7d723
|
checker: optional return fix
|
2020-06-04 10:40:32 +02:00 |
Swastik Baranwal
|
d286f67220
|
parser: update check for non mut types in fn
|
2020-06-03 18:47:18 +03:00 |
yuyi
|
1060de88af
|
parser: fix function mutable argument error
|
2020-06-03 12:28:16 +02:00 |
Alexander Medvednikov
|
00978da2c4
|
checker: fix mut int test
|
2020-06-03 10:45:19 +02:00 |
Alexander Medvednikov
|
888a43a684
|
checker: fix mut int test
|
2020-06-03 10:40:41 +02:00 |
Alexander Medvednikov
|
199f4f006b
|
checker: fix mut int check
|
2020-06-03 10:36:56 +02:00 |
yuyi
|
d0ff9a7c4a
|
parser: correct fn arg position in error message
|
2020-06-03 08:42:02 +03:00 |
Alexander Medvednikov
|
63b8cdea7a
|
checker: require () in a && b || c
|
2020-06-02 22:21:44 +02:00 |
yuyi
|
1386c5df13
|
parser: use `?` instead of `?void` errpr
|
2020-06-02 17:24:24 +02:00 |
Uwe Krüger
|
b0f66a4e05
|
checker: permit int -> f32, int64 -> f64 and similar promotions again
|
2020-06-02 17:00:14 +02:00 |
Alexander Medvednikov
|
fb3e52ca63
|
all: `!is` operator
|
2020-06-02 16:18:12 +02:00 |
Alexander Medvednikov
|
138d730dfa
|
checker: prepare for the is_changed check
|
2020-06-02 09:00:51 +02:00 |
Uwe Krüger
|
076089d3c5
|
checker: apply stricter type checks to function args and return types
|
2020-06-01 21:15:59 +02:00 |
Delyan Angelov
|
ae8f7cf569
|
tests: fix some tests, that failed due to the stricter immutable checks
|
2020-06-01 18:24:38 +03:00 |
Delyan Angelov
|
86862d6a94
|
checker: remove mod_file_cacher exception
|
2020-06-01 17:43:03 +03:00 |
Alexander Medvednikov
|
3d83934caf
|
checker: check mutating methods; generics fixes
|
2020-06-01 15:44:10 +02:00 |
Uwe Krüger
|
faf3248e98
|
checker: check types for bitwise right shift
|
2020-05-31 12:58:13 +02:00 |
Alexander Medvednikov
|
f87e872fa2
|
checker/cgen: interface match
|
2020-05-31 10:22:21 +02:00 |
Alexander Medvednikov
|
1ca7a607d3
|
checker/cgen: return interfaces
|
2020-05-30 19:54:16 +02:00 |
Uwe Krüger
|
b74e1bb05d
|
checker: fix type mismatch in function argument for struct reference init
|
2020-05-30 15:42:12 +02:00 |
yuyi
|
1e504fb388
|
parser: check undefined variable of assign_expr
|
2020-05-29 17:38:40 +02:00 |
Alexander Medvednikov
|
1c11ac9fdf
|
checker: make sure `is` is only used with interfaces and sum types
|
2020-05-29 06:46:01 +02:00 |
yuyi
|
3a340cbffc
|
checker: fix array_init cast type error
|
2020-05-29 06:39:46 +02:00 |
Alexander Medvednikov
|
81b44dc2c9
|
generics: generic call inside generic call; checker: check mut args at call
|
2020-05-29 04:30:00 +02:00 |
yuyi
|
28ffe2a6ee
|
checker: add error for struct fields of type []unknown
|
2020-05-28 19:38:53 +03:00 |
Alexander Medvednikov
|
9609b3a9c8
|
checker: make the method warning an error
|
2020-05-28 15:30:54 +02:00 |
Alexander Medvednikov
|
01dbb25a37
|
checker: do not allow defining methods on types from other modules
|
2020-05-28 15:23:20 +02:00 |
yuyi
|
977eb895e8
|
checker: check array init's element type
|
2020-05-28 13:32:12 +02:00 |
Alexander Medvednikov
|
d6037cbcf2
|
generics: fix method calls
|
2020-05-28 05:58:19 +02:00 |
Alexander Medvednikov
|
4988d340b1
|
generics: fix method calls
|
2020-05-28 01:19:08 +02:00 |
yuyi
|
84edbd83da
|
all: fix struct names error
|
2020-05-27 19:12:34 +03:00 |
Alexander Medvednikov
|
670820cc59
|
parser: do not allow 1 char struct names
|
2020-05-27 16:00:00 +02:00 |
Alexander Medvednikov
|
5423a15f46
|
generics: more fixes
|
2020-05-27 15:56:30 +02:00 |
Emily Hudson
|
0b64e2190f
|
checker,cgen: unpack multi returns in return statements
|
2020-05-27 15:47:38 +03:00 |
Delyan Angelov
|
481f103dc9
|
checker: make an error using non `pub` fns from other modules
|
2020-05-27 12:00:19 +03:00 |
Uwe Krüger
|
013fdb8a4b
|
checker: restrict numeric promotions to cases where no data is lost
|
2020-05-27 05:42:48 +02:00 |
Alexander Medvednikov
|
fc67046bac
|
checker: fix pub fn check
|
2020-05-27 03:38:21 +02:00 |
Alexander Medvednikov
|
b4d88ee4af
|
checker: handle map.clone()
|
2020-05-26 02:09:26 +02:00 |
Delyan Angelov
|
b0cfd3fa67
|
parser: reimplement [flag] enum support. Add p.vcodegen too
|
2020-05-26 00:00:48 +03:00 |
Delyan Angelov
|
5825e467b8
|
checker: fix appending an .enum_val to a struct field of []Enum
|
2020-05-25 21:48:43 +03:00 |
Enzo Baldisserri
|
d22609051a
|
checker: CallExpr with handled optional returns plain type
|
2020-05-25 11:32:14 +02:00 |
yuyi
|
30ca08aaa3
|
parser: fix self-referenced error
|
2020-05-25 11:31:04 +02:00 |
Alexander Medvednikov
|
1ef8eacd6e
|
checker/gen: more generics fixes; ComptimeCall
|
2020-05-25 05:32:36 +02:00 |
Delyan Angelov
|
a0f8005352
|
checker: support tests/run/ folder, checks many warns/errors/output
|
2020-05-24 21:13:09 +03:00 |
Delyan Angelov
|
23e8c8ecda
|
checker: prevent infinite recursion on a:=b b:=a
|
2020-05-24 20:55:04 +03:00 |
yuyi
|
641fe5c864
|
checker: fix unresolved variables error on assignments
|
2020-05-24 20:33:53 +03:00 |
Alexander Medvednikov
|
67750c91d7
|
generics: lots of fixes
|
2020-05-24 04:43:03 +02:00 |
yuyi
|
4608898bcd
|
checker: fix multiple assign immutable error
|
2020-05-23 17:30:28 +02:00 |
Enzo Baldisserri
|
801bca1ef2
|
compiler: propagate optional
|
2020-05-23 08:51:15 +02:00 |
yuyi
|
dda875a9c8
|
all: unify const names to snake_case
|
2020-05-22 17:36:09 +02:00 |
Enzo Baldisserri
|
1633675c11
|
gen: fix nested `or`
|
2020-05-21 22:35:43 +02:00 |
Alexander Medvednikov
|
d3ce6fd2e7
|
checker: check each generic function for each type
|
2020-05-21 21:51:52 +02:00 |
Ruofan XU
|
b2b0461218
|
scanner: fix err pos related to num literal
|
2020-05-21 18:43:57 +02:00 |
Alexander Medvednikov
|
87d8e70d6d
|
checker/table: generic fixes
|
2020-05-21 18:15:04 +02:00 |
Ruofan XU
|
aba09a7e4d
|
scanner: fix err pos related to num literals
|
2020-05-21 16:20:36 +03:00 |
Alexander Medvednikov
|
abb15275f5
|
checker: update a `for in` error test
|
2020-05-21 06:06:11 +02:00 |
Alexander Medvednikov
|
ce1a181699
|
all: generic functions
|
2020-05-21 03:58:53 +02:00 |
Don Alfons Nisnoni
|
10ad5332e8
|
parser: improve unused imports warning
|
2020-05-20 20:50:27 +03:00 |
Tanel Liiv
|
c9f3a05ef6
|
checker: fix map/filter called with a plain fn argument
|
2020-05-20 15:28:33 +03:00 |
spaceface777
|
b10df252dc
|
all: replace `is_c`, `is_js` with `language`
|
2020-05-19 17:12:47 +02:00 |
yuyi
|
74686d0ec4
|
test: fix alias type errors and type_test.v
|
2020-05-19 15:04:51 +03:00 |
Alexander Medvednikov
|
03525843a0
|
parser: do not allow calling private functions
|
2020-05-18 22:54:11 +02:00 |
Alexander Medvednikov
|
d325cdba0d
|
checker: fmt
|
2020-05-18 15:43:52 +02:00 |
Alexander Medvednikov
|
4f307c1a78
|
checker: requre & in struct init; http: chunked encoding
|
2020-05-18 05:11:00 +02:00 |
Swastik Baranwal
|
d697b2848a
|
checker: more checks for in and !in
|
2020-05-17 17:03:32 +02:00 |
spaceface777
|
0def084932
|
checker: fix JS name regression
|
2020-05-17 16:23:09 +02:00 |
yuyi
|
7f4cf08516
|
parser: check `(mut f Foo)` syntax
|
2020-05-17 13:51:18 +02:00 |
yuyi
|
02fb393747
|
test: fix vrepl and cast test errors
|
2020-05-17 02:13:08 +02:00 |
Alexander Medvednikov
|
5b15b8ccc9
|
checker: do not allow casting strings
|
2020-05-16 22:52:41 +02:00 |
Alexander Medvednikov
|
6e4ae5a5e6
|
checker: do not allow casting strings
|
2020-05-16 22:48:45 +02:00 |
Alexander Medvednikov
|
0845b2cfbe
|
builder: skip warnings; pref: move pref creation to pref.v
|
2020-05-16 22:45:38 +02:00 |
Enzo Baldisserri
|
f44a40eee0
|
checker: check incorrect names
|
2020-05-16 16:12:23 +02:00 |
Swastik Baranwal
|
37cf46d67a
|
checker: add more checks for modulo
|
2020-05-16 15:32:46 +02:00 |
Tanel Liiv
|
44502a3fb2
|
parser: return multi expr
|
2020-05-15 23:14:53 +02:00 |
Alexander Medvednikov
|
0f251e9ede
|
checker: handle json.decode correctly
|
2020-05-14 18:30:30 +02:00 |
Alexander Medvednikov
|
f49ef39708
|
checker: handle unexpected `or` blocks
|
2020-05-14 18:19:40 +02:00 |
Enzo Baldisserri
|
fd0d833e33
|
gen: if expressions with multiple statements
|
2020-05-14 17:15:25 +02:00 |
yuyi
|
6d0b791ac8
|
parser: warning about unused imports
|
2020-05-14 17:14:24 +02:00 |
yuyi
|
70b76a8e31
|
builder: use verror for not found modules
|
2020-05-14 10:59:29 +03:00 |
Delyan Angelov
|
d830620651
|
compiler: restore support for --enable-globals flag, and add tests.
|
2020-05-14 08:43:12 +03:00 |
Alexander Medvednikov
|
ab7bc760c6
|
cgen: new Option part 1
|
2020-05-13 21:59:08 +02:00 |
Sandro Martini
|
9895cab51c
|
tests: add more tests on interfaces
|
2020-05-13 20:30:18 +02:00 |
Enzo Baldisserri
|
1ca04e6113
|
checker: prevent interface instantiation
|
2020-05-13 19:20:15 +02:00 |
yuyi
|
2e0b9de31c
|
parser: error for consts in fns
|
2020-05-13 18:39:02 +02:00 |
Alexander Medvednikov
|
db5036686b
|
checker: make `type is private` warning an errror
|
2020-05-13 14:21:52 +02:00 |
yuyi
|
b1511ce995
|
parser: optimize no main file process
|
2020-05-13 14:02:04 +02:00 |
Alexander Medvednikov
|
3e6f7d3eb6
|
freetype: minor fixes
|
2020-05-13 00:50:46 +02:00 |
Alexander Medvednikov
|
7a5a4df4c6
|
checker: handle `println()`
|
2020-05-12 19:38:46 +02:00 |
yuyi
|
99b31d8241
|
parser: unified way to handle struct and enum name check
|
2020-05-12 13:39:32 +02:00 |
yuyi
|
dea2658a80
|
checker: minor optimization in infix_expr
|
2020-05-11 23:50:13 +02:00 |
Alexander Medvednikov
|
e9177faf17
|
checker: allow `*x = y` only inside unsafe blocks
|
2020-05-11 16:05:59 +02:00 |
Alexander Medvednikov
|
828f9af64c
|
checker: fmt
|
2020-05-11 14:38:25 +02:00 |
Alexander Medvednikov
|
8a6820d1b7
|
checker: revert fmt for now
|
2020-05-11 14:32:41 +02:00 |
Alexander Medvednikov
|
ce03761375
|
parser: fix mut args with the new syntax; checker: fmt
|
2020-05-11 14:16:20 +02:00 |
joe-conigliaro
|
2a40665919
|
ast/checker: cast no longer needed & use auto deref
|
2020-05-11 20:02:28 +10:00 |
Kris Cherven
|
8bc0c31f29
|
parser: add error for variables, that are evaluated, but not used
|
2020-05-11 11:13:36 +03:00 |
Kris Cherven
|
3a3d00ac72
|
checker: prevent C error on const mutation
|
2020-05-11 11:09:58 +03:00 |
joe-conigliaro
|
1b3cd7abe0
|
cgen: fix sum type assign/push from in match branch & type mod
|
2020-05-11 16:59:55 +10:00 |
Alexey
|
71c2b26103
|
checker: fix checking uninitialized refs
|
2020-05-10 22:26:47 +02:00 |
joe-conigliaro
|
a73660a4c3
|
checker/cgen: simplify assigning fn to var
|
2020-05-11 00:13:30 +10:00 |
Ned Palacios
|
5f0ad0f562
|
compiler: add output mode for errors and warnings, support for `-silent` flag
|
2020-05-10 12:26:57 +03:00 |
yuyi
|
7f69c2fbf5
|
parser: check `import` in the middle of file error
|
2020-05-10 07:47:20 +03:00 |
yuyi
|
ba3a631954
|
parser: check for module statement errors
|
2020-05-10 02:28:56 +02:00 |
yuyi
|
85723e3799
|
checker: check for_in_map using one variable error
|
2020-05-10 02:28:43 +02:00 |
Alexander Medvednikov
|
10da871743
|
checker: handle unknown fields in fail_if_immutable
|
2020-05-10 02:07:15 +02:00 |
Alexander Medvednikov
|
09f6cd6a75
|
parser/checker: [ref_only] attribute
|
2020-05-09 23:45:41 +02:00 |
Alexander Medvednikov
|
d7c4630d33
|
checker: make pub field check an error
|
2020-05-09 18:34:07 +02:00 |
yuyi
|
3eeef6203e
|
checker: check for map_init key duplicate
|
2020-05-09 16:55:38 +02:00 |
Alexander Medvednikov
|
c64f8b0d1f
|
parser/checker: pub: struct fields
|
2020-05-09 15:16:48 +02:00 |
yuyi
|
5f435fa1cc
|
parser: check enum name and field name errors
|
2020-05-09 12:43:10 +02:00 |
Tanel Liiv
|
7815a5495c
|
checker: handle multireturn fn calls as if/match last expressions
|
2020-05-08 22:49:45 +02:00 |
Sandro Martini
|
910a8934cb
|
checker: fix typo on error message and related test
|
2020-05-08 21:21:47 +03:00 |
Ned Palacios
|
5b47ec49af
|
parser: add support for multiple struct field attributes
|
2020-05-08 15:09:42 +02:00 |
yuyi
|
ef505e21ee
|
parser: check for import errors
|
2020-05-08 16:01:54 +03:00 |
Alexander Medvednikov
|
2f4fc86d58
|
checker: fix unknown var enum crash
|
2020-05-08 15:00:06 +02:00 |
Delyan Angelov
|
fec7f0f0b9
|
cgen: fix auto .str() generation for []&T, and `fn (t &T) str() string{}`
|
2020-05-08 12:48:07 +03:00 |
Delyan Angelov
|
673acdbd00
|
tcc: fix selfcompilation with tcc. Temporarily disable crashing interface test
|
2020-05-07 20:59:45 +03:00 |
yuyi
|
78efe72c4c
|
checker: optimize check string cast error
|
2020-05-07 12:34:06 +02:00 |
Enzo Baldisserri
|
0f8ed84333
|
checker: verify interface is not used as receiver
|
2020-05-07 11:14:51 +03:00 |
Delyan Angelov
|
e33805b2b3
|
json.decode: fix expressions in the second argument, also fixes news_fetcher.v
|
2020-05-06 21:44:50 +03:00 |
Tanel Liiv
|
b5a1544bf8
|
parser: allow re-assigning fns to variables
|
2020-05-06 20:09:29 +02:00 |
Don Alfons Nisnoni
|
e87289f24d
|
Fix typo on checker
|
2020-05-06 13:57:40 +03:00 |
Alexander Medvednikov
|
b4c93349e8
|
checker: fix interface name check
|
2020-05-06 12:32:44 +02:00 |
Alexander Medvednikov
|
cc66eb1194
|
parser/checker: check capital letters in interface names/methods
|
2020-05-06 12:26:00 +02:00 |
yuyi
|
51f3f31a4e
|
checker: check string(1) cast error
|
2020-05-06 12:05:24 +02:00 |
Enzo Baldisserri
|
215657e16a
|
checker: check interface implementation
|
2020-05-06 11:29:37 +02:00 |
yuyi
|
b627bb933c
|
message: use uniform message reference format
|
2020-05-06 09:10:40 +03:00 |
Enzo Baldisserri
|
c1f224640f
|
checker: verify that there is a main module
|
2020-05-06 00:09:46 +02:00 |
Tanel Liiv
|
b16281d6e4
|
cgen: pass around functions
|
2020-05-05 16:21:21 +02:00 |
Alexander Medvednikov
|
a0ca68ce3f
|
checker: do not allow `string(int)`
|
2020-05-05 15:26:42 +02:00 |
Alexander Medvednikov
|
ee92060d4d
|
json: decode_array fix
|
2020-05-05 14:19:31 +02:00 |
Steve Phillips
|
081338b8bf
|
checker.v: suggest []Type{}, not []Type
|
2020-05-05 00:20:32 +02:00 |
Alexander Medvednikov
|
32a7bd3a48
|
parser/checker: do not allow using private types from other modules
|
2020-05-04 21:56:41 +02:00 |
Alexander Medvednikov
|
9aa1a65489
|
checker: check match condition
|
2020-05-04 21:03:18 +02:00 |
joe-conigliaro
|
b2157388d9
|
checker: check method args
|
2020-05-05 01:32:40 +10:00 |