-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Expand file tree
/
Copy path__spacemandmm.dm
More file actions
36 lines (36 loc) · 1.8 KB
/
__spacemandmm.dm
File metadata and controls
36 lines (36 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// This file contains all the defines related to the spacemanDMM linter (dreamchecker). When running under normal conditions, BYOND will ignore all these
// Read https://github.com/SpaceManiac/SpacemanDMM/tree/master/crates/dreamchecker for more info.
#ifdef SPACEMAN_DMM
#define RETURN_TYPE(X) set SpacemanDMM_return_type = X
#define SHOULD_CALL_PARENT(X) set SpacemanDMM_should_call_parent = X
#define UNLINT(X) SpacemanDMM_unlint(X)
#define SHOULD_NOT_OVERRIDE(X) set SpacemanDMM_should_not_override = X
#define SHOULD_NOT_SLEEP(X) set SpacemanDMM_should_not_sleep = X
/// A "pure" proc does not make any external changes, or to its output.
#define SHOULD_BE_PURE(X) set SpacemanDMM_should_be_pure = X
/// Private procs can only be called by things of exactly the same type. This also prevents overriding of the proc.
#define PRIVATE_PROC(X) set SpacemanDMM_private_proc = X
/// Protected procs can only be call by things of the same type or subtypes
#define PROTECTED_PROC(X) set SpacemanDMM_protected_proc = X
/// Redefinable procs permit multiple declarations of themselves.
#define CAN_BE_REDEFINED(X) set SpacemanDMM_can_be_redefined = X
/// Final vars forbid overriding their value by types that inherit it.
#define VAR_FINAL var/SpacemanDMM_final
/// Private vars can only be called by things of exactly the same type
#define VAR_PRIVATE var/SpacemanDMM_private
/// Protected vars can only be call by things of the same type or subtypes
#define VAR_PROTECTED var/SpacemanDMM_protected
#else
#define RETURN_TYPE(X)
#define SHOULD_CALL_PARENT(X)
#define UNLINT(X) X
#define SHOULD_NOT_OVERRIDE(X)
#define SHOULD_NOT_SLEEP(X)
#define SHOULD_BE_PURE(X)
#define PRIVATE_PROC(X)
#define PROTECTED_PROC(X)
#define CAN_BE_REDEFINED(X)
#define VAR_FINAL var
#define VAR_PRIVATE var
#define VAR_PROTECTED var
#endif