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 |
Alexander Medvednikov
|
fd8a194df0
|
json: wrap up decode()
|
2020-05-04 16:46:39 +02:00 |
yuyi
|
90fc23ccfb
|
checker: fix array init []type{cap: x.len} error
|
2020-05-04 13:22:09 +02:00 |
Alexander Medvednikov
|
de749e9d3b
|
parser/cgen: interface <<; `any` type
|
2020-05-03 18:08:45 +02:00 |
Alexander Medvednikov
|
2a016d03ac
|
checker: use `[]int` instead of `array_int` in errors
|
2020-05-03 16:49:05 +02:00 |
joe-conigliaro
|
8df7637853
|
checker: dont re match/cast with position() when already cast to sum type
|
2020-05-03 14:22:41 +10:00 |
Alexander Medvednikov
|
b0018ed594
|
checker: better << error
|
2020-05-02 16:48:52 +02:00 |
Tanel Liiv
|
68ca8ab8a4
|
array: nested map()
|
2020-05-02 15:26:58 +02:00 |
joe-conigliaro
|
a9a8539e41
|
checker: small fix in assign_stmt
|
2020-05-02 20:21:28 +10:00 |
joe-conigliaro
|
fd925fbd05
|
checker: simplify assign_stmt & add better checks
|
2020-05-02 19:45:08 +10:00 |
Uwe Krüger
|
170ee4312f
|
cgen: string interpolation field width support for large integers and utf8 strings
|
2020-05-02 00:43:59 +02:00 |
yuyi
|
b21be7f670
|
parser: multiple names error
|
2020-05-01 18:18:58 +02:00 |
yuyi
|
de272654f1
|
repl: fix import xxx with no fn main error
|
2020-05-01 18:12:18 +02:00 |
eyelash
|
4d04e88679
|
errors: show line numbers in default color and add a space
|
2020-05-01 14:46:12 +02:00 |
Alexander Medvednikov
|
0b8a0d1640
|
checker: fix _ check
|
2020-05-01 12:22:39 +02:00 |
joe-conigliaro
|
fb1c60c53d
|
checker: add back check struct field fn args
|
2020-05-01 20:12:21 +10:00 |
Alexander Medvednikov
|
c1ee14cc3e
|
json: decode() part 1
|
2020-05-01 12:02:31 +02:00 |
joe-conigliaro
|
a0e662bef9
|
checker: remove debug println from selector_expr
|
2020-05-01 19:54:47 +10:00 |
joe-conigliaro
|
03904085c4
|
checker: check fn field exprs
|
2020-05-01 19:50:32 +10:00 |
Tanel Liiv
|
182e7071bf
|
array: map() function
|
2020-05-01 00:29:54 +02:00 |
Alexander Medvednikov
|
f1903f3c1f
|
parser: fix imported interfaces
|
2020-04-30 18:06:14 +02:00 |
yuyi
|
5481c0fc84
|
parser: uniform handling of enum field format
|
2020-04-30 12:18:16 +02:00 |
yuyi
|
81ed6ad2a1
|
checker: check duplicate consts
|
2020-04-30 12:17:31 +02:00 |
yuyi
|
4d415e56d6
|
checker: check enum field name duplicate
|
2020-04-30 09:34:18 +02:00 |
yuyi
|
c4f672454f
|
checker: check import duplicates
|
2020-04-30 09:33:12 +02:00 |
Henrixounez
|
f6d74c8a37
|
checker: error on ternary if type mismatch
|
2020-04-30 09:32:29 +02:00 |
Tim Basel
|
3e4cd12fd0
|
.gitignore: ignore all binary files by default
|
2020-04-29 16:49:13 +02:00 |
Alexander Medvednikov
|
51d0ce0222
|
tests: more interface tests; checker: handle zero selectorexpr type error
|
2020-04-29 12:46:09 +02:00 |
Henrixounez
|
c500044bae
|
checker: unreachable code warning
|
2020-04-29 12:31:18 +02:00 |
Alexander Medvednikov
|
2fc05b814c
|
all: interface arrays
|
2020-04-29 12:21:15 +02:00 |
Delyan Angelov
|
1e910c6afe
|
tests: add reference_field_must_be_initialized.vv
|
2020-04-29 12:56:12 +03:00 |
Delyan Angelov
|
bf8ed1815c
|
builder: print collected checker warnings too
|
2020-04-29 12:38:43 +03:00 |
Delyan Angelov
|
dd3434598c
|
checker_test: remove generated .v files, when a test is OK
|
2020-04-29 11:48:51 +03:00 |
yuyi
|
117649f40d
|
checker: check devision by zero (int and float)
|
2020-04-29 10:07:27 +02:00 |
yuyi
|
2b48ce21df
|
checker: make sure `main` has no args and doesn't return
|
2020-04-29 09:19:46 +02:00 |
yuyi
|
a9e33e712a
|
checker: check struct field name duplicate
|
2020-04-29 09:11:36 +02:00 |
Delyan Angelov
|
8c526ad05b
|
tests: ignore vlib/v/checker/tests/*.v files (only *.vv are sources there)
|
2020-04-28 16:45:25 +03:00 |
Henrixounez
|
0afaef5818
|
checker: ambiguous function call error
* checker: ambiguous function call error
* checker: ambiguous function call error wording
* checker: ambiguous functions tests newline
|
2020-04-28 16:27:49 +03:00 |
Enzo Baldisserri
|
7bf8731778
|
checker: check variable mutability for postfix exprs
|
2020-04-28 11:20:19 +02:00 |
yuyi
|
f2060d431e
|
checker: check division by zero
|
2020-04-28 09:52:01 +02:00 |
yuyi
|
28f5920bb0
|
cgen: fix `map` `fixed-array` .str() error
|
2020-04-28 07:22:46 +02:00 |
yuyi
|
b20777df59
|
checker: main function called error
|
2020-04-28 07:21:50 +02:00 |
Enzo Baldisserri
|
682838a0cf
|
checker: check array and fields mutability
|
2020-04-27 22:53:26 +02:00 |
joe-conigliaro
|
9f76a7b250
|
parser: simplify unused vars & add loop/if vars etc
|
2020-04-27 23:16:31 +10:00 |
Delyan Angelov
|
e67bf674e3
|
scanner: cleanup, only v.parser now depends on v.scanner
|
2020-04-27 16:08:04 +03:00 |
Alexander Medvednikov
|
50a83736ff
|
checker: struct init: handle C types
|
2020-04-26 19:59:03 +02:00 |
Alexander Medvednikov
|
8223efe9df
|
checker: check struct field types
|
2020-04-26 18:38:29 +02:00 |
Alexander Medvednikov
|
83552a0d58
|
array: replace make() with the new init syntax
|
2020-04-26 17:52:27 +02:00 |
Enzo Baldisserri
|
0f2f97e3e5
|
checker: reorganize tests to match fmt tests
|
2020-04-26 12:34:42 +02:00 |
Alexander Medvednikov
|
270566055f
|
checker: make sure all FnDecl types are valid
|
2020-04-26 10:39:26 +02:00 |
Alexander Medvednikov
|
a56121c329
|
checker: check mutability in index exprs; parser: set is_mut for args
|
2020-04-26 10:25:58 +02:00 |
Alexander Medvednikov
|
20bcb6b8bb
|
tests: fix lef_shift test
|
2020-04-26 09:29:29 +02:00 |
Alexander Medvednikov
|
7955181c6c
|
tests: [] fixes
|
2020-04-26 09:18:29 +02:00 |
Alexander Medvednikov
|
3ab8dc0092
|
parser: array init: `[]string` => `[]string{}`
|
2020-04-26 09:17:17 +02:00 |
yuyi
|
3a59f5727c
|
checker: fix check main function error (#4601)
|
2020-04-26 08:04:28 +02:00 |
Delyan Angelov
|
48f9cc1ed7
|
tests: make alias_type_exists.vv use `type Pigeon Bird` syntax
|
2020-04-26 08:23:09 +03:00 |
Enzo Baldisserri
|
0b3412cdb5
|
checker: check that type exists in TypeDecl
|
2020-04-26 06:40:54 +02:00 |
yuyi
|
541b058e90
|
all: use `a !in b` instead of `!(a in b)`
|
2020-04-26 06:39:23 +02:00 |
Alexander Medvednikov
|
2b4ac0e63a
|
checker: handle array of interfaces
|
2020-04-26 06:29:03 +02:00 |
Enzo Baldisserri
|
3e68e429b6
|
checker: avert if else is unnecessary
|
2020-04-25 21:51:44 +02:00 |
Enzo Baldisserri
|
c73d91a8fe
|
fmt: TypeDecl; format more files
|
2020-04-25 20:58:00 +02:00 |
Ruofan XU
|
d86539c4f5
|
checker: clean up infix_expr
|
2020-04-25 20:28:49 +02:00 |
Alexander Medvednikov
|
b7e5be41f5
|
checker/cgen: `as` fixes
|
2020-04-25 18:41:12 +02:00 |
yuyi
|
c26e83f58a
|
array: fix fixed array errors
|
2020-04-25 18:26:38 +02:00 |
Enzo Baldisserri
|
fb54a2635c
|
fmt: lots of fixes
|
2020-04-25 17:49:16 +02:00 |
Delyan Angelov
|
7c080c5d4a
|
checker: prevent `x := voidfn()`
|
2020-04-25 18:06:34 +03:00 |
Larpon
|
6a834c0528
|
checker: use 'mut' instead of 'var' in error message
|
2020-04-25 17:51:12 +03:00 |
Delyan Angelov
|
9a19531909
|
compiler: add support for `[if myflag]` void fn/methods
|
2020-04-25 16:57:11 +03:00 |
joe-conigliaro
|
fbcdffbbc8
|
table: move Type functions to methods
|
2020-04-25 17:08:53 +10:00 |
Enzo Baldisserri
|
a924defb94
|
checker: check `in` left type
|
2020-04-25 06:14:17 +02:00 |
Enzo Baldisserri
|
fa4739794f
|
checker: fix "unnecessary `()`" error position
|
2020-04-24 20:27:18 +02:00 |
Enzo Baldisserri
|
323ca2b3bb
|
checker: check duplicates on match with no else
Refactor match duplication test to work even if there is not else, and to include every expression.
Add tests for duplicate expressions in match.
|
2020-04-24 17:04:39 +03:00 |
Delyan Angelov
|
aa15dec660
|
checker: check default struct field expression types
|
2020-04-24 16:46:55 +03:00 |
Alexander Medvednikov
|
d7ee4755c2
|
parser/cgen: interfaces (part 1)
|
2020-04-22 20:23:53 +02:00 |
joe-conigliaro
|
3ca4f5fada
|
checker/parser: anon fn call & return type fix
|
2020-04-22 18:41:57 +10:00 |
joe-conigliaro
|
c1e8612624
|
checker/gen: allow vargs to be forwarded. fix/enable variadic test
|
2020-04-22 13:28:47 +10:00 |
Kris Cherven
|
155891a4e0
|
parser: add unused variable warning
|
2020-04-22 01:52:56 +02:00 |
yuyi
|
a8dc0ccbcd
|
checker: add more op checks
|
2020-04-21 13:26:02 +02:00 |
joe-conigliaro
|
abf5942433
|
parser/cgen: anon fn var & calling (#4534)
|
2020-04-21 13:23:36 +10:00 |
Ruofan XU
|
f725b93019
|
tests: delete an unused file
|
2020-04-20 21:48:14 +02:00 |
Ruofan XU
|
cdb1b0344c
|
checker: improve type check for arithmetic assignment op and fix error pos
|
2020-04-20 20:56:05 +02:00 |
yuyi
|
717e26b45e
|
checker: more infix checks
|
2020-04-20 14:49:26 +02:00 |
yuyi
|
07f69fab19
|
checker: remove dots from error messages
|
2020-04-20 11:57:07 +02:00 |
Alexander Medvednikov
|
4b329cb89d
|
tests: fix a typo
|
2020-04-20 08:32:10 +02:00 |
Alexander Medvednikov
|
639dc02cc8
|
x64: test hello world
|
2020-04-20 08:27:37 +02:00 |
Alexander Medvednikov
|
c1fc768c1b
|
fmt: run on cmd/v; cgen: fix anonymous functions
|
2020-04-20 07:04:31 +02:00 |
yuyi
|
be3bd520f6
|
checker: fix for in range type mismatch
|
2020-04-20 00:21:16 +02:00 |
Ruofan XU
|
5edd9cdc3a
|
checker: add type check for bit op
|
2020-04-19 22:29:45 +02:00 |
yuyi
|
dbb81b89fd
|
checker: fix type mismatch of `in` array
|
2020-04-19 22:26:58 +02:00 |
Daniel Däschle
|
b62bb22fa6
|
checker: allow C values in enum
|
2020-04-19 22:26:04 +02:00 |
Ruofan XU
|
6c59b306c7
|
checker: add type check for arithmetic assignment ops
|
2020-04-19 22:24:12 +02:00 |
yuyi
|
4de16e9f0f
|
tests: enable checker_error_test on windows
|
2020-04-19 20:48:13 +02:00 |
Kris Cherven
|
95ae915c0c
|
checker/parser: fix outdated error messages
|
2020-04-19 20:46:48 +02:00 |
Enzo Baldisserri
|
57c142b993
|
checker: disallow pub in main
|
2020-04-19 00:07:57 +02:00 |
Tim Basel
|
86df486988
|
compiler: rename is_so to is_shared
|
2020-04-18 17:46:23 +02:00 |
Enzo Baldisserri
|
0f9322bf36
|
checker: print error and pos for lacking main or pub main
|
2020-04-18 00:20:38 +02:00 |
Enzo Baldisserri
|
f2be3d7ffb
|
checker: check that right `is` type exists
|
2020-04-18 00:19:33 +02:00 |
Tim Basel
|
73073cd954
|
parser: anonymous functions (part 1)
|
2020-04-17 21:59:19 +02:00 |
Kris Cherven
|
84ac634c31
|
checker: disallow pub fn main()
|
2020-04-17 20:30:43 +02:00 |
Alexander Medvednikov
|
ed8855c4cd
|
tests: fix struct_unknown_field.v
|
2020-04-17 17:20:35 +02:00 |
Alexander Medvednikov
|
4a556f72bb
|
checker: allow calling private functions in tests
|
2020-04-17 17:18:40 +02:00 |