Commit Graph

886 Commits (6da6a082c7219960bc5a056daf8d422d8201c897)

Author SHA1 Message Date
Nick Treleaven 6da6a082c7
parser: fix showing error position for pratt.v (#6997) 2020-11-28 23:39:45 +02:00
Daniel Däschle 6e4dad9acf
parser: fix position of array init (#6998) 2020-11-28 17:05:14 +02:00
Delyan Angelov ac27a3ccee parser,cgen: improve `[flag]enum Abc{ a b }`, allow `x := Abc.a | Abc.b` 2020-11-27 23:09:14 +02:00
Daniel Däschle 18cf36a22c
parser: remove unnecessary match as code (#6972) 2020-11-27 22:25:08 +02:00
Delyan Angelov e6116c47be scanner: guarantee an early exit when the parser/scanner is stuck 2020-11-27 12:44:39 +02:00
Daniel Däschle 966b95ca4e
parser: move mut in if/match to expr (#6973) 2020-11-27 03:08:42 +01:00
Alexander Medvednikov 62ee436944 all: remove broken escape sequences after $ in strings 2020-11-27 03:07:37 +01:00
Alexander Medvednikov 5e59718970 fmt: handle $tmpl 2020-11-26 18:53:38 +01:00
Alexander Medvednikov 5efd393af2 all: make comptime templates usable outside of vweb via $tmpl 2020-11-26 18:40:35 +01:00
Daniel Däschle 52b627feb3
checker: check filter, map and sort left type (#6952) 2020-11-26 11:28:54 +01:00
Takahiro Yaota 258f8f6af9
parser: report unused expression error in if and or blocks (#6953) 2020-11-26 00:28:41 +01:00
Daniel Däschle 8446433bcf
parser: remove __type (#6946) 2020-11-25 14:27:15 +01:00
Daniel Däschle 7d6f97259f
all: refactor UnionSumType to SumType (#6944) 2020-11-25 13:09:40 +02:00
Daniel Däschle a042966082
all: remove old sumtype code (#6937) 2020-11-24 17:55:24 +01:00
Daniel Däschle aa6303f0b2
all: use the new types with old syntax (#6922) 2020-11-24 13:58:29 +01:00
Daniel Däschle 9fbf38c798
parser: fix generic structs from other modules (#6921) 2020-11-23 23:21:11 +01:00
Takahiro Yaota 2f9b7fe0f7
vfmt: fix error with `return // comment` (#6914) 2020-11-23 11:36:20 +02:00
Daniel Däschle 22fdf76db5
gen: unwrap optional on if guard expr (#6903) 2020-11-21 22:40:05 +01:00
Delyan Angelov 2228d75657 ci: fix formatting of comptime.v 2020-11-21 19:04:31 +02:00
Delyan Angelov fa55c247a2 parser: add `-d print_vweb_template_expansions` to ease vweb template debugging 2020-11-21 17:59:02 +02:00
Daniel Däschle 838ad16296
all: refactor ast.Expr to use the new sum type implementation (#6792) 2020-11-21 00:05:57 +01:00
Nick Treleaven d5242e0bf5
gen: implement labelled break and continue (retry) (#6887) 2020-11-20 12:23:48 +01:00
Lukas Neubert ef3e8d2c84
vfmt: handle comments after type declarations (#6874) 2020-11-20 11:51:50 +02:00
Alexander Medvednikov 4328233504 Revert "gen: implement labelled break and continue (#6880)"
This reverts commit e798326a1a.
2020-11-20 02:51:35 +01:00
Nick Treleaven e798326a1a
gen: implement labelled break and continue (#6880) 2020-11-19 21:13:15 +01:00
Daniel Däschle 41ba942369
parser: smartcast mutable selector (#6881) 2020-11-19 21:05:10 +01:00
Daniel Däschle 9feb010355
all: mutable smartcasts (#6878) 2020-11-19 17:28:46 +01:00
Daniel Däschle e06756ef58
all: match multi aggregate for union sum types (#6868) 2020-11-18 20:52:00 +01:00
Lukas Neubert ee5ad2a653
parser: fix duplicated struct attrs on first field (#6859) 2020-11-17 21:25:54 +01:00
Delyan Angelov f995aa35ea checker: add a check for `x := math.sin<f64>(0)` 2020-11-15 11:51:12 +02:00
Delyan Angelov f42a44abec vfmt: fix `match x { 10 /* ... */ {} }` and `a := [1/* x */, /* y */2, 3]` 2020-11-11 22:59:43 +02:00
Delyan Angelov ebfd259333 vfmt: support `struct Repo <T, U> { }` 2020-11-11 17:50:03 +02:00
Daniel Däschle 6271798ce3
cgen: union sum types implementation (#6745) 2020-11-11 09:18:15 +01:00
Nick Treleaven c76e486765
parser: implement `T.name` for generic types (#6783) 2020-11-09 14:35:26 +01:00
spaceface777 3c83551dfe
parser: fix treating JS fn calls as type casts (#6779) 2020-11-08 20:33:55 +02:00
pancake 2994e7150f
vweb: check function and route parameter count (#6761) 2020-11-08 09:14:24 +01:00
Nick Treleaven 62cae1ba00
parser: parse func<T>() when T is a map or array type (#6765) 2020-11-07 02:55:28 +01:00
spaceface777 a9e9554b11
all: fix most C warnings (#6758) 2020-11-06 16:26:59 +02:00
Delyan Angelov 26c2654632 parser: vfmt vlib/v/parser/struct.v 2020-11-05 19:55:20 +02:00
Delyan Angelov 953d102996 parser: prevent a segfault, when compiling cmd/tools/vtest-vet.v in PR 6754 2020-11-05 19:40:15 +02:00
Delyan Angelov e80487b35c vfmt: support inline comments before fields in struct initializations 2020-11-05 18:49:52 +02:00
Delyan Angelov 35096cda3f vfmt: support comments after interface methods 2020-11-05 18:23:45 +02:00
Larpon 785bf40f67
all: remove comp time '@' expansion from scanner (#6746) 2020-11-05 10:12:32 +02:00
Daniel Däschle a2fc19880a
parser: fixes or block position (#6736) 2020-11-04 16:02:01 +02:00
Delyan Angelov 9eb655e65c all: add .pos fields to all AST nodes, to avoid wrong positions in error messages 2020-11-04 13:34:12 +02:00
Daniel Däschle 9d5be12517
gen: add prefix when printing type aliases (#6701) 2020-11-03 14:13:35 +01:00
Delyan Angelov 2c3f695469 checker,parser: treat C.Struct fields as public by default 2020-11-03 09:35:44 +02:00
Daniel Däschle d5a421e3f5
checker: add alias cast type check (closes #6705) (#6709) 2020-11-02 01:17:35 +01:00
Delyan Angelov e72d9c0f88 parser: protect against infinite loops in -silent mode over invalid .v files 2020-11-01 14:02:32 +02:00
Delyan Angelov 70cbf56655 cgen: show more informative errors, instead of a `invalid type (typ=0 idx=0)` verror panic 2020-10-30 20:26:08 +02:00