1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

351 Commits

Author SHA1 Message Date
Henrixounez
fe50aeb130 compiler: prevent multiple same field initialization 2019-08-26 13:39:45 +03:00
Henrixounez
ad32a3770b compiler: cast correctly strings between byte* and char* when needed 2019-08-25 01:50:44 +03:00
Alexander Medvednikov
57880aed18 compiler: fix linux crash 2019-08-24 15:04:31 +03:00
Alexander Medvednikov
dfc7c9c00f final tcc fixes 2019-08-24 14:39:27 +03:00
teggot
2be0777c98 Fix issue of missing code in C 2019-08-24 00:27:48 +03:00
Alexander Medvednikov
0589decc43 parser: change the new_parser() signature 2019-08-23 13:43:31 +03:00
Alexander Medvednikov
e39cb41d6b json: custom json field names with "[json:field_name]" 2019-08-23 02:54:39 +03:00
Alexander Medvednikov
7086547471 compiler: replace STRUCT_DEFAULT_VALUE with {0} 2019-08-23 02:38:18 +03:00
Alexander Medvednikov
6c6cbe0821 changelog for the upcoming V 0.1.19 2019-08-23 00:26:59 +03:00
Alexander Medvednikov
dcfc9eb1a1 remove from the language 2019-08-22 23:19:31 +03:00
Alexander Medvednikov
eb5fcafa77 table: TypeCategory; freetype: remove C code; [typedef] C structs;
Objective-C interfaces
2019-08-22 22:18:55 +03:00
Henrixounez
780ddaf22b compiler: handles printing of structures and arrays of structures 2019-08-22 14:34:33 +03:00
Henrixounez
9b3b22d6b3 compiler: allows compound assignment operators on array 2019-08-22 04:57:43 +03:00
Delyan Angelov
1ddc9dc604 orm: allow variables like q.nr_orders in queries too. 2019-08-20 21:35:13 +03:00
Delyan Angelov
cf06faf09b orm: allow both integer and string arguments in db.select and db.select limit 1 2019-08-20 17:32:39 +03:00
Alexander Medvednikov
707ddba143 examples: rename hot_code_reloading to hot_reload 2019-08-20 00:08:45 +03:00
Henrixounez
14c2319dcc compiler: prevent accessing negative index of arrays 2019-08-18 20:11:47 +03:00
Henrixounez
38db845378 compiler: auto dereference mutable variable upon return 2019-08-18 20:09:01 +03:00
Alexander Medvednikov
56fbafe03a cc(): fix -x objective-c; ui.focus_app() 2019-08-18 16:59:36 +03:00
Alexander Medvednikov
8e1c31e860 cc(): print compilation error correctly 2019-08-18 01:30:48 +03:00
Alexander Medvednikov
fe2d2bd2a3 fmt: remove trailing spaces 2019-08-17 22:21:43 +03:00
Alexander Medvednikov
8a1324c141 os: make exec() return ?Result with exit code and output 2019-08-17 21:11:40 +03:00
teggot
79c727f014 Add support for raw json fields in structs 2019-08-17 16:20:40 +03:00
Alexander Medvednikov
94b900bd0a map: allow array values 2019-08-16 23:28:47 +03:00
Alexander Medvednikov
54b3c4d2c5 json: error if the module is not imported 2019-08-16 18:32:35 +03:00
Alexander Medvednikov
dc9cebe26c orm fixes; glfw: remove C code 2019-08-16 09:10:03 +03:00
Joe Conigliaro
5eee980499 auto init struct map fields 2019-08-14 23:54:45 +03:00
Henrixounez
772c0c3f93 compiler: prevent string to byte cast 2019-08-14 09:48:05 +03:00
Henrixounez
437ba14521 compiler: prompts an error when accessing a map with wrong type 2019-08-14 09:46:46 +03:00
Alexander Medvednikov
ef2ab31e88 sql: only accept strings and ints for now 2019-08-12 21:07:03 +03:00
Alexander Medvednikov
cba4d59712 vweb: make app_test.v compile 2019-08-12 17:38:30 +03:00
Alexander Medvednikov
32754e3b4c small sql fix 2019-08-12 14:41:40 +03:00
Henrixounez
872aa536d8 compiler: unsigned number properly printed and converted to string
fix: array accessing now works with unsigned numbers
2019-08-12 09:15:53 +03:00
Alexander Medvednikov
8c3475b902 generate .str() for all arrays 2019-08-11 22:39:45 +03:00
Alexander Medvednikov
72a7eb6e35 parser: do not allow 1 % 0 2019-08-11 14:47:34 +03:00
Stefanos Baziotis
02ea168f71 Fix deprecated error 2019-08-11 13:24:31 +02:00
Alexander Medvednikov
8f8e0dfad7 V ORM 2019-08-10 13:35:29 +02:00
Julian Schurhammer
1864e92ff4 parser: disallow statements after a return, branch check $if, $else, switch, and loops correctly 2019-08-10 10:26:42 +02:00
Henrixounez
81cdda842c compiler: fix panic on open bracket without newline 2019-08-09 22:39:29 +02:00
Julian Schurhammer
6a9bda806f parser: panic and exit count as returns 2019-08-09 08:17:31 +02:00
Alexander Medvednikov
fbc480fbed ft: rename to freetype 2019-08-08 16:43:11 +02:00
joe-conigliaro
66ffa764dd compiler: properly add submodule to types 2019-08-08 14:35:53 +02:00
joe-conigliaro
b8d37e0d53 properly add submodule to type 2019-08-08 10:33:47 +02:00
Julian Schurhammer
61983a6799 parser: check that functions return in all if/else branches 2019-08-08 09:49:56 +02:00
Alexander Medvednikov
1470b3da11 parser: better immutability error messages 2019-08-08 07:00:36 +02:00
Emily Hudson
802ff1d012 compiler: scoped defer + build tests with msvc 2019-08-07 17:51:21 +02:00
Alexander Medvednikov
cebb6cd537 ft: minor fixes 2019-08-07 13:39:54 +02:00
Alexander Medvednikov
34e0b164eb make function arguments immutable by default 2019-08-07 08:59:00 +02:00
Alexander Medvednikov
bea8f6d7e5 http: remove libcurl dependency; replace it with a simple OpenSSL backend 2019-08-06 13:32:09 +02:00
Alexander Medvednikov
7a7b5040e2 http: fix response headers and status code; clean up ft and gg 2019-08-06 03:06:27 +02:00
joe-conigliaro
01c2d25ae5 compiler: rename pkg to mod and auto save file import table 2019-08-05 09:49:52 +02:00
Alexander Medvednikov
350e13679c force () in complex bool expressions: (a && b) || c instead of a && b || c 2019-08-05 03:22:28 +02:00
Delyan Angelov
0379b9cc69 compiler: conditional guard for platform specific #includes directives in _xxx.v files. 2019-08-05 02:17:49 +02:00
Emily Hudson
59a4c923c4 Fix for jsdecode struct initialisation 2019-08-04 13:42:48 +02:00
Alexander Medvednikov
ee437de8d3 type name check fixes 2019-08-04 09:38:46 +02:00
Alexander Medvednikov
8bce5cb810 force snake_case in struct fields 2019-08-04 09:18:16 +02:00
Alexander Medvednikov
576192949d fixed size array with const size: numbers := [N]int 2019-08-04 04:11:16 +02:00
Alexander Medvednikov
e446f988f7 clean up map initialization 2019-08-03 10:26:36 +02:00
Alexander Medvednikov
a5f5b52204 map := { 'foo': 'bar' } syntax 2019-08-03 10:20:04 +02:00
Alexander Medvednikov
8ecd62e56f comptime: fix app.$action() or {} 2019-08-02 05:20:18 +02:00
Alexander Medvednikov
a7e464fee9 user modules + v install from vpm 2019-08-01 17:28:25 +02:00
Alexander Medvednikov
8058bf3750 http_nix.v: remove remaining C code 2019-07-31 23:01:06 +02:00
Henrixounez
715bd21118 compiler: check is ptr when free in closing scope (#1399) 2019-07-31 19:21:49 +02:00
vitalyster
37a0e6ebef Travis: run tests for Windows (#1403) 2019-07-31 19:01:52 +02:00
Alexander Medvednikov
ddb4f45b02 another map bug fix + fix some warnings 2019-07-31 10:47:58 +02:00
Vitaly Takmazov
f3d6bc9146 compiler: no need to optimize println on Windows
this fixes string interpolation
2019-07-31 10:01:02 +02:00
Alexander Medvednikov
79be98d2fb Revert "Support for the printf optimisation for windows and wide strings"
This reverts commit acd28fa495.
2019-07-30 18:28:00 +02:00
d2verb
9bcb5aaa55 defer: fix #1281 2019-07-30 18:05:06 +02:00
F1ssi0N
acd28fa495 Support for the printf optimisation for windows and wide strings 2019-07-30 18:04:19 +02:00
joe-conigliaro
74b3ef3a3f minor module fixes 2019-07-30 03:49:47 +02:00
Alexander Medvednikov
ba6bcdb469 fix vweb template compilation 2019-07-29 19:14:07 +02:00
Alexander Medvednikov
ce1288e946 clean up 2019-07-29 18:24:48 +02:00
Alexander Medvednikov
207bab5f79 generics, vweb, comptime codegen, etc 2019-07-29 18:24:48 +02:00
Delyan Angelov
f1373874ef compiler: fix issue #1350 - an error is produced, when a void fn returns a value 2019-07-29 16:35:56 +02:00
Emily Hudson
90bb48db5d interactive debugging 2019-07-26 16:45:16 +02:00
Alexander Medvednikov
9ccd3bde01 do not allow declaring a mutable variable if it's never modified 2019-07-25 13:44:34 +02:00
Alexander Medvednikov
3a8cdadcf5 free strings 2019-07-25 01:22:45 +02:00
Alexander Medvednikov
d2b33397cc optionals: better errors 2019-07-24 22:41:46 +02:00
Emily Hudson
049d78a78d Change CGen so that v.c is compileable with msvc 2019-07-24 17:46:41 +02:00
Alexander Medvednikov
09c447e2b8 remove type keyword hack 2019-07-24 15:44:25 +02:00
Alexander Medvednikov
7ea688aa43 fix mutable array args 2019-07-24 15:10:48 +02:00
Alexander Medvednikov
7f29928aec examples: fix news_fetcher on Windows 2019-07-24 12:34:25 +02:00
Alexander Medvednikov
c28a490c17 @ for escaping keywords 2019-07-24 02:28:29 +02:00
d2verb
88758082d2 scanner.v: refactoring 2019-07-24 00:06:48 +02:00
Emily Hudson
e25ea7f9dd add MSVC C backend support; fix live code reloading on Windows; other Windows fixes 2019-07-23 23:23:13 +02:00
joe-conigliaro
b06cfd702d module aliasing and sub modules for import () syntax 2019-07-23 23:12:55 +02:00
Alexander Medvednikov
527b9e13fa key in map syntax 2019-07-23 23:00:09 +02:00
Alexander Medvednikov
18d95114e0 testing: do not print anything if a test passed successfully 2019-07-21 17:59:25 +02:00
joe-conigliaro
135f200ea2 modules: cyclic import detection 2019-07-21 17:53:35 +02:00
Alexander Medvednikov
ac238a5362 allow multiple defers 2019-07-21 16:34:21 +02:00
Alexander Medvednikov
5d188130e5 fix memory free 2019-07-21 16:30:10 +02:00
Alexander Medvednikov
40c31f701f free arrays when they are out of scope
main.v: update help
2019-07-21 14:42:31 +02:00
Alexander Medvednikov
3245377683 fix defer before returns 2019-07-21 00:52:21 +02:00
Alexander Medvednikov
1b4656a4dc string cast: better error message 2019-07-21 00:04:34 +02:00
Alexander Medvednikov
c3c6648c57 string(bytes_array) cast 2019-07-20 22:03:38 +02:00
Alexander Medvednikov
769cda1d1f simplify gg; remove forced OpenGL dependency; graph builder /w hot code reloading 2019-07-20 16:06:15 +02:00
d2verb
67c2932f34 parser: change cur_line, tmp_line only in main pass 2019-07-18 20:21:23 +02:00
joe-conigliaro
53ac6d352f auto detect u64 const 2019-07-18 10:55:39 +02:00
Alexander Medvednikov
f5c8ee4742 string(buffer, len) cast 2019-07-18 04:50:44 +02:00
Alexander Medvednikov
c35adbea91 vfmt fixes 2019-07-17 21:00:39 +02:00
Alexander Medvednikov
b9f3f2d622 v script 2019-07-17 13:49:42 +02:00
Alexander Medvednikov
14ad70d3a0 match: else 2019-07-17 02:47:45 +02:00
Alexander Medvednikov
a9463a180d new match statement 2019-07-17 02:41:08 +02:00
Alexander Medvednikov
8aa7da1be1 http_win: fix BUF_MAX 2019-07-16 15:29:27 +02:00
Alexander Medvednikov
54b069f9ad fix high order fns 2019-07-16 14:39:34 +02:00
Alexander Medvednikov
8c516bec4f [][]int 2019-07-16 13:56:48 +02:00
Alexander Medvednikov
31032d3a62 allow field 'type' 2019-07-16 13:01:39 +02:00
Alexander Medvednikov
0a4a9a35c3 .key_type 2019-07-16 12:17:17 +02:00
Alexander Medvednikov
840e496a51 force snake_case in variable names 2019-07-15 22:53:33 +02:00
Alexander Medvednikov
17c6ba04a2 defer statement 2019-07-15 22:13:12 +02:00
Alexander Medvednikov
374781da1a OpenBSD, NetBSD, DragonFly support 2019-07-15 20:19:07 +02:00
Alexander Medvednikov
7c6f59afa6 FreeBSD support 2019-07-15 17:24:44 +02:00
d2verb
4020a3ab8c Prevent main function form returning value 2019-07-15 17:19:24 +02:00
d2verb
40ad868f22 Fix #1107 2019-07-15 16:30:06 +02:00
Henrixounez
48c06df5f5 parser: fix bug not printing percentages 2019-07-15 14:26:39 +02:00
d2verb
916b13b286 fix maps 2019-07-15 12:33:18 +02:00
Alexander Medvednikov
f7dbbf5810 re-write map.v and update the compiler 2019-07-14 22:08:17 +02:00
hazohelet
441281dd4f parser: fix small typo 2019-07-14 16:48:57 +02:00
Alexander Medvednikov
48f841bb26 make enums defined in other modules work 2019-07-14 00:10:53 +02:00
joe-conigliaro
b4afa964fc hash/crc32 2019-07-13 15:11:32 +02:00
joe-conigliaro
298ca8676f Change import syntax to "import as alias" 2019-07-13 12:15:16 +02:00
hazohelet
2a0d8072c1 delete unnecessary lines 2019-07-12 15:46:15 +02:00
joe-conigliaro
9a957ccc18 module aliasing & file import scope 2019-07-12 07:37:54 +02:00
Alexander Medvednikov
56b7c9e35f for key, val in map syntax 2019-07-12 07:27:30 +02:00
hazohelet
b039538a27 parser: fix if expressions with multiple else if's 2019-07-12 06:54:01 +02:00
Alexander Medvednikov
5b3295db94 remove # from gg and glm 2019-07-12 06:50:25 +02:00
hazohelet
e15c2da1f4 enable else-if expression 2019-07-12 06:04:37 +02:00
Alexander Medvednikov
f834644db4 make gg work on Windows; prebuild glad and cJSON; new ft module 2019-07-12 04:50:14 +02:00
Alexander Medvednikov
3d4cd0bbc0 check integer const overflow at compilation 2019-07-10 21:22:03 +02:00
Alexander Medvednikov
1b09e37a80 fix typ_to_fmt() 2019-07-10 14:38:39 +02:00
Alexander Medvednikov
c8fc262da3 println: make aliases printable 2019-07-10 14:26:37 +02:00
Alexander Medvednikov
fba8443f30 allow defining methods on aliases 2019-07-10 14:18:21 +02:00
Alexander Medvednikov
28843a12c7 cache string.hash() 2019-07-10 10:00:12 +02:00
Alexander Medvednikov
e1ddac1590 utf8: remove unused UTF8_CHAR_LEN macro and add a simple utf8 test 2019-07-10 09:07:04 +02:00
Alexander Medvednikov
68228f9977 parser: clean up submodule implementation a bit 2019-07-10 09:02:04 +02:00
Alexander Medvednikov
87762d6cf3 DOT => .dot 2019-07-10 02:07:54 +02:00
Alexander Medvednikov
26ef99293d new enum syntax; update the compiler (p.tok == .name) 2019-07-10 02:02:38 +02:00
Henrixounez
7b1be8a2bd CI: Add back erased commits and dont test hot code examples 2019-07-09 20:44:30 +02:00
Alexander Medvednikov
de8dc4cddb hot code reloading examples 2019-07-07 22:02:27 +02:00
Nick Treleaven
af19aa5096 Fix #1021 - Optional or branch doesn't define err 2019-07-07 01:24:36 +02:00
joe-conigliaro
8a2d25247f submodules 2019-07-07 01:22:47 +02:00
Henrixounez
28c2a949b2 compiler: fix errors on dots methods 2019-07-06 12:02:18 +02:00
Alexander Medvednikov
d47e2f113f Revert "make function arguments immutable"
This reverts commit 0f0ed8d716.
2019-07-05 02:44:22 +02:00
Alexander Medvednikov
0f0ed8d716 make function arguments immutable 2019-07-05 00:24:13 +02:00
Alexander Medvednikov
cc77d8cdd2 fix Windows line ending bug 2019-07-04 21:55:29 +02:00
Alexander Medvednikov
9b0bb2f72c make.bat for easier compilation on Windows 2019-07-04 20:44:44 +02:00
Alexander Medvednikov
300ed59598 do not allow import builtin 2019-07-04 17:36:53 +02:00
Alexander Medvednikov
8f10e37370 make << work with appending arrays; PostgreSQL driver 2019-07-04 17:31:14 +02:00
marco
155e1fa961 FIX #202
allow interface method with empty (void) return type

-> only look for type declaration if no new line has been
   while skipping whitespace
2019-07-04 01:04:10 +02:00
Alexander Medvednikov
7fdd94fcbb println: fix a bug with u64 etc and newlines 2019-07-04 00:54:40 +02:00
Alexander Medvednikov
1e32a4cec4 println: optimize and remove memory leaks 2019-07-04 00:40:30 +02:00
Alexander Medvednikov
5d4d3b838b StringsBuilder => strings.Builder; strings.repeat() 2019-07-03 22:18:46 +02:00
Alexander Medvednikov
dec0d961f5 os: clean up file functions, use optionals 2019-07-03 21:37:12 +02:00
Alexander Medvednikov
d9753ee2c6 lots of vfmt fixes 2019-07-03 16:37:21 +02:00
Alexander Medvednikov
a9b8bc067f enums (mode == .default_mode syntax); fix foo.bar[0].baz = val 2019-07-02 21:39:26 +02:00
Henrixounez
dc8c84a2a8 compiler: tmp variables on scripts inside generated main function 2019-07-01 23:42:09 +02:00
Maulana Akmal
24b0fd5097 Refactor BuildMode enum to lowercase 2019-07-01 17:20:59 +02:00
Alexander Medvednikov
99a9a6572a lots of Windows fixes and cross compilation for Windows 2019-07-01 16:51:17 +02:00
Alexander Medvednikov
5936ab16c8 fix maps; use maps for storing functions; verify struct initialization 2019-07-01 02:24:39 +02:00
Archan Patkar
74d234f8cd remove duplication by using a new Preferences struct 2019-06-30 22:03:17 +02:00
Alexander Medvednikov
61b51f6149 os.File clean up + socket.v (dial()) 2019-06-30 20:28:50 +02:00
bitsnaps
067f131b53 remove unnecessary println
comment out unnecessary println for interface.
2019-06-30 11:51:34 +02:00
Alexander Medvednikov
1bcf94f7f4 Windows: another \r\n fix 2019-06-29 21:31:13 +02:00
Alexander Medvednikov
249fa95eab Revert 'compiler: allow mut passed as argument to be modified'. This broke 2019-06-29 11:42:47 +02:00
Henrixounez
d8caa6431f compiler: checks if variables are unused on scripts main function 2019-06-28 21:05:04 +02:00
Henrixounez
165dfe5fe0 compiler: allow mut passed as argument to be modified 2019-06-28 20:15:49 +02:00
Henrixounez
b6b313d246 compiler: clears MainFn when recompile on repl 2019-06-28 17:24:18 +02:00
Alexander Medvednikov
56608dfd2b remove #ifdef, #ifndef, etc 2019-06-28 17:07:03 +02:00
Alexander Medvednikov
b81f615a75 parser.v: string interpolation for pointers 2019-06-28 15:56:07 +02:00
Alexander Medvednikov
42bb85197a force mut a := ..., do not allow mut a = ... 2019-06-28 15:04:41 +02:00
Alexander Medvednikov
bd49977feb fix single file programs without fn main and REPL (allow imports,
function definitions, consts, etc)
2019-06-28 13:43:32 +02:00
Alexander Medvednikov
02131d1ae5 fix http 2019-06-27 23:20:30 +02:00
Alexander Medvednikov
6824e6e7db Replace all remaining C code with V in the compiler and vlib (hoorah!) 2019-06-27 23:11:27 +02:00
Alexander Medvednikov
494010d2af os.v: replace remaining C code with V 2019-06-27 18:49:20 +02:00
Alexander Medvednikov
76bf732e63 builtin: public/private functions, remove lots of duplicate functionality
(string.eq, compare_strings, etc)
2019-06-27 13:29:31 +02:00
Alexander Medvednikov
90c0791345 replace ugly tos2(bytes) with string(bytes) 2019-06-27 12:50:02 +02:00
drswinghead
7ca00c8f5e Fix decl c struct follow a v struct
struct C.CURL

struct Curl {
    h *C.CURL
}
2019-06-27 02:25:39 +02:00
Henrixounez
b1183dfe2c parser: prompt error if struct is made public and if pub is wrongly used
added *yet* to the pub struct error
2019-06-27 01:56:19 +02:00
Alexander Medvednikov
ef737c5e61 parser.v: document "e" check 2019-06-26 21:44:08 +02:00
Henrixounez
6c7eaa7fd3 parser: fixed problem hexa being casted into float 2019-06-26 21:39:30 +02:00
Alexander Medvednikov
b65ef9022a parser.v: a cleaner hint message 2019-06-26 14:53:55 +02:00
Alexander Medvednikov
1e6f90481e add make clean instruction 2019-06-26 14:50:15 +02:00
Alexander Medvednikov
c860bac7bf don't allow calling private functions/methods 2019-06-26 13:15:47 +02:00
Alexander Medvednikov
6a2afa1cfe Parser.error(): information about what to do when V doesn't compile 2019-06-26 01:11:09 +02:00
Alexander Medvednikov
f3f24b25bb remove old types and 2019-06-25 22:19:17 +02:00
Alexander Medvednikov
f26e65a943 remove old float type entirely 2019-06-25 22:10:22 +02:00
jumblerg
a911146182 fix typo in parser 2019-06-25 21:50:38 +02:00
Alexander Medvednikov
056b41521a Revert "fixed indentation on multiline condition"
This reverts commit 8f6ca60876.
2019-06-25 15:41:33 +02:00
Henrixounez
8f6ca60876 fixed indentation on multiline condition 2019-06-25 15:41:04 +02:00
Henrixounez
663cbadf60 quick fix for compound assignment operators
a better fix would be to change lot of things inside parser
2019-06-25 15:41:04 +02:00
Alexander Medvednikov
9c1fc6717f main.v: fix broken thirdparty dependencies 2019-06-25 14:31:51 +02:00
Henrixounez
31a03ae93e parser.v: changed the booleans controlling if pub or mut 2019-06-25 00:20:03 +02:00
Henrixounez
47ad7a4c5e parser.v: fixed pub mut handling 2019-06-25 00:20:03 +02:00
Alexander Medvednikov
b13f233521 re-write $if os { and fix GCC segfaults on compilation 2019-06-24 14:05:31 +02:00
Alexander Medvednikov
a401b5e242 remove old and unused @ syntax 2019-06-23 17:06:00 +02:00
Alexander Medvednikov
c619243067 fix Tetris example 2019-06-23 13:17:56 +02:00
Alexander Medvednikov
64a5dc3f23 json.v example 2019-06-23 12:58:53 +02:00
Ivan Greene
6c6be7acaa Convert OS to enum 2019-06-23 09:24:40 +02:00
chai2010
978ec58fe3 all: add copyright 2019-06-23 09:22:49 +02:00
Alexander Medvednikov
46ba66c24c fix apple headers, clean up the parser 2019-06-22 22:16:39 +02:00