Commit graph

113 commits

Author SHA1 Message Date
Tad Hardesty
e202ed0a42 Add extra location notes to must_not_override and must_call_parent 2019-11-27 21:21:37 -08:00
spookydonut
07cc99c81a Add should_not_override proc setting to dreamchecker (#114)
This is meant to add a linter hint to prevent procs being overridden.

I hope to also add something similar for variables.

This is basically `final` in other languages.
2019-11-27 21:15:49 -08:00
Tad Hardesty
685f087531 Remove unused #[allow(dead_code)] attributes 2019-11-11 19:58:08 -08:00
Tad Hardesty
e6c132d12b Bump versions for suite 1.1 2019-11-08 20:37:06 -08:00
Tad Hardesty
7fc9ae2412 Handle TRUE and FALSE constants in should_call_parent
Broken during the change of TRUE and FALSE from macros to const vars, so
the preprocessor doesn't transform them anymore and this argument isn't
currently const-evalauted.

Solved for now by handling the "TRUE" and "FALSE" idents specially.

Fixes #106.
2019-11-07 18:55:38 -08:00
Tad Hardesty
316ddb286a Fix builtins incorrectly inheriting from /datum
The /list, /savefile, /world, and /client types now only declare the
subset of vars and procs they share with /datum. The /list, /savefile,
and /world types reject attempts to modify their parent_type.

Fixes #98.
2019-11-06 21:53:13 -08:00
Tad Hardesty
424731084e Update dependency versions 2019-11-06 18:48:34 -08:00
Tad Hardesty
44c6f818fb Add command-line arguments to dreamchecker 2019-09-29 13:00:50 -07:00
Tad Hardesty
f24e8d25a2 Fix crash when commenting on the global level 2019-09-28 18:31:14 -07:00
Tad Hardesty
fb133cb7c5 Bump command-line tools to 1.0.0 2019-07-03 13:45:34 -07:00
Tad Hardesty
2f4ed73d94 Add a readme for the dreammaker crate 2019-07-02 20:35:20 -07:00
Tad Hardesty
30b78983d0 Rewrite DreamChecker's readme 2019-07-02 20:22:24 -07:00
Tad Hardesty
fba51ebb9a Fix 'never calls parent' error having no component 2019-07-02 20:20:54 -07:00
Tad Hardesty
f9f830ea92 Update dependency versions
Updates git2, rand, jsonrpc-core, lsp-types, pulldown-cmark.
2019-07-02 00:26:02 -07:00
Tad Hardesty
6826974133 Add dreamchecker --version with commit and build date 2019-06-30 15:17:16 -07:00
Tad Hardesty
cb31916ca0 Add ConstFn::File 2019-06-29 17:59:17 -07:00
Tad Hardesty
f2da6c1d3a Add fix hints for proc calls and return types 2019-06-26 14:32:35 -07:00
Tad Hardesty
a14e2be2ef Add 'fix hint' for list type annotations 2019-06-26 14:24:06 -07:00
Tad Hardesty
e730a1e0a6 Improve messaging in the type expr compiler 2019-06-26 02:31:32 -07:00
Tad Hardesty
e931d94c15 Include a constant in the Analysis for prefabs 2019-06-25 22:42:20 -07:00
Tad Hardesty
ebbe056944 Handle .type and L[].type analyses 2019-06-25 01:12:47 -07:00
Tad Hardesty
180f431e07 Pass argument Analysis to TypeExpr::evaluate 2019-06-24 22:30:12 -07:00
Tad Hardesty
ae92ec4772 Implement TypeExprCompiler::visit_follow 2019-06-24 21:58:54 -07:00
Tad Hardesty
f77b8dc70a Add further type expression structure 2019-06-24 21:41:25 -07:00
Tad Hardesty
5ed88c420c Add stub for return type expressions 2019-06-24 20:42:11 -07:00
Tad Hardesty
3a08659f96 Add list of known built-in proc settings 2019-06-24 20:24:25 -07:00
Tad Hardesty
46bd2f0433 Add unlint expression escape hatch 2019-06-24 19:43:34 -07:00
Tad Hardesty
7ca628b4d4 Add warnings for misuse of 'set spacemandmm_' statements 2019-06-24 19:42:05 -07:00
Tad Hardesty
0c0ff4d093 Add must_call_parent checking 2019-05-08 15:56:51 -07:00
Tad Hardesty
8676b7e8b5 Set return type of get_step to /turf 2019-05-06 18:39:29 -07:00
Tad Hardesty
93b2a564f4 Remove Type 2019-05-06 18:24:35 -07:00
Tad Hardesty
4cc6dbfada Replace Analysis::from(Type) with ::from(AssumptionSet) 2019-05-06 00:56:30 -07:00
Tad Hardesty
d1e0055f7c Consider types and paths truthy 2019-05-05 23:51:44 -07:00
Tad Hardesty
ab1e839b4a Replace Type with AssumptionSet in Analysis 2019-05-05 23:48:59 -07:00
Tad Hardesty
f820fb1b0e Add AssumptionSet::from_constant 2019-04-30 00:12:23 -07:00
Tad Hardesty
778e96a554 Add beginning of simplified Assumption system 2019-04-29 23:54:06 -07:00
Tad Hardesty
2364009fd9 Add additional Type to allow is_truthy 2019-04-09 22:36:20 -07:00
Tad Hardesty
603c28efaf Add isX helpers to Type 2019-04-04 23:33:37 -07:00
Tad Hardesty
6ebde3d5f9 Store a set of types in Analysis, not just one 2019-04-04 23:21:09 -07:00
Tad Hardesty
c68a3c1a94 Remove checker Type::List in favor of Instance(/list) 2019-04-04 23:13:07 -07:00
Tad Hardesty
e2fe78c7b4 Add a span to the Follows in Expression::Base 2019-03-28 23:33:48 -07:00
Tad Hardesty
fd3b411e9d Add a span to the Term in Expression::Base 2019-03-28 23:27:57 -07:00
Tad Hardesty
dbb8e95ea5 Fix DreamChecker skipping list, locate, input, pick, call 2019-03-21 18:31:35 -07:00
Tad Hardesty
7717158681 Rearrange visit_term in DreamChecker 2019-03-21 17:50:04 -07:00
Tad Hardesty
b250163eef Parse goto statements 2019-03-19 21:16:08 -07:00
Tad Hardesty
dd62d8fd1b Add filter() as a constant function 2019-03-19 17:50:08 -07:00
Tad Hardesty
ec101e2014 Add first version of return type annotation 2019-03-19 17:08:18 -07:00
Tad Hardesty
6aee4d7ee1 Stop debugging Analysis on untyped proc call 2019-03-17 18:37:00 -07:00
Tad Hardesty
21364cc79e Handle try/catch variables in DreamChecker 2019-03-17 18:36:55 -07:00
Tad Hardesty
667b5a16bd Visit the arguments of :calls() 2019-03-15 21:28:39 -07:00