Commit Graph

61 Commits

Author SHA1 Message Date
David Anderson
c116a731f1 Remove sizeof() as a special-case default argument value. 2015-02-02 21:10:20 -08:00
David Anderson
491036a1e6 Allow "stock static" in addition to "static stock". 2015-01-04 12:04:51 -08:00
Ryan Stecker
154d84668b Old style retagging should emit a compiler warning when newdecls are required. 2014-12-17 16:37:39 -06:00
David Anderson
bab1110bc0 Disallow coercion to/from char[] and any[]. 2014-12-14 02:00:58 -08:00
David Anderson
722a23c818 Redo menu methodmaps. 2014-12-13 12:53:30 -08:00
David Anderson
5b69efe5d4 Add static method support to methodmaps. 2014-12-12 10:10:46 -08:00
David Anderson
afeae84340 Replace symbol proxies with type symbols.
Proxies were rather hacky and complicated, and only existed as a
workaround for oddities with constructors. This patch replaces them with
actual type symbols, a very tiny step to semantically getting rid of tags.

This greatly simplifies how we implement constructors, and paves the way
for using methodmap symbols in field expressions.

Since non-value symbols are new to spcomp1, we place a rather
pigeonholed check into primary() to make sure non-value symbols don't
escape into expressions.
2014-12-12 10:10:43 -08:00
David Anderson
0295f817b8 Allow int: and void: tags, but warn. 2014-12-10 02:36:30 -08:00
David Anderson
68e0645813 Add a view_as operator. 2014-11-30 19:08:25 -08:00
David Anderson
157549e119 Fix a bug where aliased constructors of nullable methodmaps could not be used. 2014-11-30 18:56:37 -08:00
David Anderson
9f5c8b60ae Add a "new" keyword for constructing nullable methodmaps. 2014-11-30 18:38:26 -08:00
David Anderson
62c243f0a5 Fix reading the wrong symbol name when throw argument errors. 2014-11-22 12:23:57 -08:00
David Anderson
673ff572c5 Disallow retagging enums or using implicit-int as an enum tag. 2014-11-20 19:30:22 -08:00
David Anderson
cfa0d9341e Remove handling of class pseudokeyword since there is no C++ API to use it. 2014-11-09 18:12:30 -08:00
David Anderson
4bc7b9243a Define 'this' as a keyword. 2014-11-09 13:01:35 -08:00
David Anderson
22df518ab5 Fix a bug where local dynamic array declarations could be mistakenly parsed as old decls (bug 6280). 2014-11-09 00:15:09 -08:00
David Anderson
c228be83d6 Revert "Fix a bug where local dynamic array declarations could be mistakenly parsed as old decls."
This reverts commit 046f167b6e.
2014-11-09 00:15:00 -08:00
David Anderson
046f167b6e Fix a bug where local dynamic array declarations could be mistakenly parsed as old decls (bug 6279). 2014-11-09 00:12:44 -08:00
David Anderson
704e9579f7 Fix comparisons of derived tags (bug 6239). 2014-11-08 20:27:39 -08:00
David Anderson
3cc5c198b4 Allow dynamic char arrays. 2014-11-08 17:39:43 -08:00
David Anderson
512cbc73a0 Fix a loophole with static local variables. 2014-11-08 02:54:29 -08:00
David Anderson
039572060e Add new dynamic array syntax. 2014-11-08 02:48:13 -08:00
David Anderson
f08e53f5d2 Make sizeof on indeterminate arrays an error. 2014-11-08 02:07:43 -08:00
David Anderson
70e095f320 Define post-fix arrays as determinate and pre-fix arrays as indeterminate. 2014-11-07 22:39:00 -08:00
David Anderson
eaff5c9364 Allow any in new-style natives. 2014-10-30 17:19:01 -07:00
David Anderson
e7fc06910b Fix a crash when properties have setters but not getters. 2014-10-29 20:51:03 -07:00
Ryan Stecker
302dc1cb8a Add test. 2014-08-26 14:58:58 -05:00
David Anderson
1f51393e26 Fix typedefs not fixing string sizes (bug 6220). 2014-08-20 00:26:09 -07:00
David Anderson
97e821dd6f Improve error messaging for reserved keywords (bug 6199). 2014-07-24 06:51:03 -04:00
David Anderson
2a99eecdb6 Fix bug in variadic argument parsing. 2014-07-21 23:01:35 -07:00
David Anderson
4051756576 Check for null map in matchtag(). 2014-07-20 10:15:49 -07:00
David Anderson
b0e98b16ec Mark usage correctly when invoking special natives. 2014-07-17 22:30:13 -07:00
David Anderson
f79f5df5ab Allow the any type in non-native newdecls. 2014-07-17 21:43:59 -07:00
David Anderson
beeb848724 Rename. 2014-07-17 21:19:31 -07:00
David Anderson
805b66e539 Fix null not working with comparisons. 2014-07-17 21:18:49 -07:00
David Anderson
84344c1592 Fix const with newdecls and a varargs bug. (bug 6179) 2014-07-17 20:44:54 -07:00
David Anderson
9c6b82f3a5 Merge pull request #89 from alliedmodders/bug-6176
Fix crash with malformed arguments (bug 6176).
2014-07-13 11:26:57 -07:00
David Anderson
2ea9ec50b5 Merge pull request #91 from alliedmodders/bug-6183
Show errors for methods that are unused. (bug 6183)
2014-07-13 11:24:51 -07:00
David Anderson
58a3cb4a06 Merge pull request #90 from alliedmodders/bug-6178
Allow chaining off method calls. (bug 6178)
2014-07-13 11:24:22 -07:00
David Anderson
cd6997cd0b Merge pull request #88 from alliedmodders/bug-6175
Fix and formalize newline and semicolon behavior in methodmaps. (bug 6175)
2014-07-12 20:45:35 -07:00
David Anderson
5dd5b5131b Show errors for methods that are unused. (bug 6183) 2014-07-12 10:28:29 -07:00
David Anderson
1a83ca57fc Allow chaining off method calls. (bug 6178) 2014-07-12 10:05:43 -07:00
David Anderson
21d3a7f93e Fix crash with malformed arguments (bug 6176). 2014-07-12 09:31:51 -07:00
David Anderson
3d3e5c40c2 Fix and formalize newline and semicolon behavior in methodmaps. (bug 6175) 2014-07-12 00:07:34 -07:00
David Anderson
919e859a6d Fix "static stock" not working (bug 6174). 2014-07-10 23:18:07 -07:00
David Anderson
02b7f42811 Unkeyword "class", make it contextual. 2014-07-08 00:44:34 -07:00
David Anderson
da33c79d8b Add #pragma newdecls required|optional. 2014-07-05 01:08:14 -07:00
David Anderson
bfc65b086a Fix bug in newdecls in for loop initializers. 2014-07-05 00:48:32 -07:00
David Anderson
1c41f905f9 Add some tests and errors for bad void usage. 2014-07-04 17:14:40 -07:00
David Anderson
dfa9a8f134 Add tests. 2014-07-04 17:01:12 -07:00