Commit graph

846 commits

Author SHA1 Message Date
Tad Hardesty
8e2748313e Replace ProcDeclaration::is_verb with a ProcDeclKind enum 2019-02-21 22:56:30 -08:00
Tad Hardesty
bacae4ff99 Add argument names for animate, filter, icon, image/New procs 2019-02-21 22:32:22 -08:00
Tad Hardesty
4e54519297 Don't warn about bad kwargs on non-overrideable calls 2019-02-21 22:32:02 -08:00
Tad Hardesty
375acdd841 Add initial kwargs soundness checking 2019-02-21 21:41:09 -08:00
Tad Hardesty
87b1801cdb Precede diagnostic notes in output with "- " 2019-02-21 21:17:19 -08:00
Tad Hardesty
eccc577a1b Diagnose out-of-order proc overrides 2019-02-21 20:58:12 -08:00
Tad Hardesty
14ab2d1e2d Filter output to show only procs with messages 2019-02-21 20:33:42 -08:00
Tad Hardesty
105af5d8ea Tweak dreamchecker diagnostic messages 2019-02-21 20:18:31 -08:00
Tad Hardesty
a59b33fa3b Handle var/L[] in type tree, store list suffix initializers 2019-02-21 19:13:25 -08:00
Tad Hardesty
66a78b0b97 Mark args, atom/contents, world/contents, savefile/dir as lists 2019-02-21 18:23:02 -08:00
Tad Hardesty
8338bb26e2 Propagate type hints through Or operations 2019-02-21 17:55:19 -08:00
Tad Hardesty
7ac362950e Allow var/L[] to be treated as a list 2019-02-21 17:47:40 -08:00
Tad Hardesty
b868daaa4c Use VarType in Parameter rather than a raw TreePath 2019-02-21 17:45:46 -08:00
Tad Hardesty
98b4faa9cd Mark vars, overlays, underlays, and verbs as lists 2019-02-21 16:39:09 -08:00
Tad Hardesty
f1267d9802 Show proc location in dreamchecker output 2019-02-21 11:48:25 -08:00
Tad Hardesty
492d2f9e29 Impl Display for TypeRef and ProcRef 2019-02-21 11:44:54 -08:00
Tad Hardesty
b775a128eb Use assignment LHS's static type as type hint of RHS 2019-02-21 11:18:27 -08:00
Tad Hardesty
8021ee89f3 Resolve parent calls in same-type proc overrides 2019-02-21 11:13:13 -08:00
Tad Hardesty
1b4852ab3a Add ProcRef handle for easily finding parent procs 2019-02-21 10:36:27 -08:00
Tad Hardesty
9eb48f6673 Add EXCEPTION and ASSERT macros, consider CRASH a proc for now 2019-02-20 21:12:59 -08:00
Tad Hardesty
1408a3fad9 Add missing lentext proc and world procs to builtins 2019-02-20 20:08:31 -08:00
Tad Hardesty
ecce379185 Stop complaining on indexing a known var/list 2019-02-20 19:53:17 -08:00
Tad Hardesty
142bc02214 Add a few missing builtin vars, DM_BUILD macro 2019-02-20 19:51:36 -08:00
Tad Hardesty
b28822baa3 Stub analyze Term::SelfCall, DynamicCall, Pick 2019-02-20 19:13:30 -08:00
Tad Hardesty
f5700886cc Add initial analysis for Term::Locate and Term::Input 2019-02-20 18:27:30 -08:00
Tad Hardesty
f7c5454821 Add builtins entries for /savefile 2019-02-20 18:27:10 -08:00
Tad Hardesty
66dfcf5d7c Split the parameters to visit_var for use in 'for' loops 2019-02-20 18:07:52 -08:00
Tad Hardesty
65e844b4b3 Add a stub Env for global analysis info 2019-02-20 18:07:27 -08:00
Tad Hardesty
e92a567498 Add /client/var/byond_build 2019-02-20 13:53:03 -08:00
Tad Hardesty
852d6f3c11 Handle var declarations in for-range loops as well 2019-02-20 13:52:53 -08:00
Tad Hardesty
30e78da079 Give a static type to the 'global' constant 2019-02-20 13:46:15 -08:00
Tad Hardesty
b818ab5e0e Acknowledge var declarations in for loop headers 2019-02-20 13:40:49 -08:00
Tad Hardesty
7383da9ab3 Add ObjectTree::expect for convenience 2019-02-20 13:29:38 -08:00
Tad Hardesty
a9538cc4a6 Replace NewType::Ident with more-accurate NewType::MiniExpr 2019-02-19 23:35:32 -08:00
Tad Hardesty
09c0154bf9 Combine Parser::follow_index into Parser::follow 2019-02-19 23:35:12 -08:00
Tad Hardesty
e97fedc37c Update map renderer, editor for Pop change 2019-02-19 23:24:40 -08:00
Tad Hardesty
1c2c9a5de2 Replace Prefab<Constant> with Pop, de-genericize Prefab 2019-02-19 23:04:44 -08:00
Tad Hardesty
c9dbaf8d02 Switch Constant away from using NewType 2019-02-19 22:42:59 -08:00
Tad Hardesty
f4f277d2d6 Handle list types and proc parameters uniformly 2019-02-19 21:44:01 -08:00
Tad Hardesty
30c4cd46a8 Implement Follow::Field and Follow::Call analysis 2019-02-19 21:20:08 -08:00
Tad Hardesty
09354b144f Add static_ty field to Analysis to mimic what DM knows 2019-02-19 21:03:24 -08:00
Tad Hardesty
185d7d742c Resolve parent calls, pointed-to procs, and Index follows 2019-02-17 23:30:07 -08:00
Tad Hardesty
eff756e295 Add local variable tracking 2019-02-17 20:52:26 -08:00
Tad Hardesty
b4cd0476b5 Add some messages on unimplemented analyses 2019-02-17 17:01:22 -08:00
Tad Hardesty
bf1430bca0 Fix function macros annotating the wrong location 2019-02-16 21:20:32 -08:00
Tad Hardesty
812800ecbc Add GotoDefinition for macros to the language server 2019-02-16 21:20:15 -08:00
Tad Hardesty
16e2058150 Empower the preprocessor to annotate macro usages 2019-02-16 21:10:01 -08:00
Tad Hardesty
a7433f9ff8 Add IntervalTree::into_iter and IntervalTree::merge 2019-02-16 19:04:04 -08:00
Tad Hardesty
f76206e30a Add analysis for more Terms 2019-02-16 18:27:26 -08:00
Tad Hardesty
2162e5a7fa Replace unimplemented panics with placeholder implementations 2019-02-16 18:00:56 -08:00