Commit Graph

153 Commits

Author SHA1 Message Date
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
1a83ca57fc Allow chaining off method calls. (bug 6178) 2014-07-12 10:05:43 -07:00
David Anderson
294fdee1e6 Clarify lexpop(). 2014-07-12 00:09:05 -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
1e0155ad17 Merge pull request #81 from alliedmodders/unkeyword-class
Unkeyword "class", make it contextual.
2014-07-08 09:24:11 -07:00
David Anderson
02b7f42811 Unkeyword "class", make it contextual. 2014-07-08 00:44:34 -07:00
David Anderson
e76f553957 Begin locking down function types. 2014-07-08 00:26:37 -07:00
David Anderson
2ade122cd2 Merge branch 'master' into fix-null-func
Conflicts:
	sourcepawn/compiler/sc5.scp
2014-07-08 00:06:04 -07:00
David Anderson
e57a323dc8 WIP. 2014-07-07 23:31:31 -07:00
David Anderson
ff31d8df49 Update nominations.sp and improve compiler error messaging. 2014-07-06 23:59:15 -07:00
David Anderson
44316d63cc Add setters and fix some methodmap bugs. 2014-07-06 23:37:43 -07:00
David Anderson
1277bbd50e Mark the expression before flushing the staging buffer. 2014-07-05 14:15:44 -07:00
David Anderson
9ae3256bc0 Rename the null tag to null_t. 2014-07-05 13:31:10 -07:00
David Anderson
9ff38bcf80 Add nulls, and more newdecl and type system features.
New null_t type has a constant "null", which can be assigned to objects.
Methodmaps can now be "nullable", accepting null_t types.
The delete keyword now zaps non-const lvalue inputs.
Fixed some newdecl arguments not accepting references.
Allow functag matching to coerce arguments and return values.
Allow functags to accept new-style types as a return value.
2014-07-05 13:20:06 -07:00
David Anderson
96bbd4d7e0 Fix potential bugs in restoring newdecl state. 2014-07-05 01:13:45 -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
680a8e0283 Fix tests. 2014-07-05 00:44:46 -07:00
David Anderson
f62769108c Fix some local declarations not working. 2014-07-04 23:53:16 -07:00
David Anderson
386b178ef3 Fix uninitialized variable warning. 2014-07-04 23:00:00 -07:00
David Anderson
79d9a49d28 Fix compiler bug. 2014-07-04 22:46:55 -07:00
David Anderson
376eb9725e Add support for new-style declarations in local variables. 2014-07-04 21:16:39 -07:00
David Anderson
5d753c2697 Merge pull request #67 from alliedmodders/glbdecls
Add support for new-style declarations in globals.
2014-07-04 17:21:26 -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
David Anderson
49eee8c04e Fix regression in methodmap tagging. 2014-07-04 16:55:33 -07:00
David Anderson
58b9fd57b2 Remove unused "no-postdims" flag. 2014-07-04 16:41:38 -07:00
David Anderson
7e770908fb Add support for decl lists. 2014-07-04 16:37:52 -07:00
David Anderson
3cf9e56a19 Fix various bugs in global newdecl support. 2014-07-04 14:31:56 -07:00
David Anderson
19815d42c3 Add new-style declaration support for global declarations. 2014-07-04 00:37:39 -07:00
David Anderson
932a8028ca Merge pull request #60 from VoiDeD/ambuild-remove-tp-flag
Remove the /TP (compile as C++) msvc flag from projects that should be compiling as C.
2014-07-03 09:24:51 -07:00
David Anderson
bdb5ef506b Merge pull request #64 from alliedmodders/newdecl
New declaration syntax: arguments.
2014-07-03 09:18:25 -07:00
David Anderson
438fade64f Bug fixes. 2014-07-03 00:34:11 -07:00
David Anderson
a15153e9b8 Improve error messaging. 2014-07-03 00:21:18 -07:00
David Anderson
ed4cca0225 Bug fixes. 2014-07-03 00:14:12 -07:00
David Anderson
86cd906371 Remove typeinfo_t::type. 2014-07-02 23:17:30 -07:00
David Anderson
153bbba641 WIP. 2014-07-02 23:01:00 -07:00
David Anderson
e46c49abe0 Fix bug. 2014-07-02 21:59:04 -07:00
David Anderson
10c8b78a16 Use in-memory buffers for reading files, and handle newlines better. 2014-07-02 21:52:17 -07:00
Ryan Stecker
db98c98a1a Remove the /TP (compile as C++) msvc flag from projects that should be compiling as C. 2014-07-02 13:46:39 -05:00
David Anderson
84f9b2bf35 Remove accidental files. 2014-07-01 22:06:33 -07:00
David Anderson
beb557aa56 Add unstaged changes. 2014-06-30 20:11:18 -07:00
David Anderson
6f3b08bbae Initial import of new decl parsing structure. 2014-06-30 20:10:15 -07:00
David Anderson
b8bd7c517e Add parsing functions. 2014-06-26 21:05:19 -07:00
David Anderson
99f4cdb3e4 New type system. 2014-06-24 23:37:14 -07:00
David Anderson
92ace5497f More MSVC fixes. 2014-06-22 22:47:17 -07:00
David Anderson
8005009420 Workaround buggy C99 support in MSVC. 2014-06-22 22:44:16 -07:00
David Anderson
123c7f6b06 Fix METHOD_NAMEMAX. 2014-06-22 22:16:41 -07:00