code/__DEFINES/spaceman_dmm.dm ![code/__DEFINES/spaceman_dmm.dm0](git.png)
RETURN_TYPE | Sets a return type expression for a proc. The return type can take the forms: |
---|---|
SHOULD_CALL_PARENT | If set, will enable a diagnostic on children of the proc it is set on which do
not contain any ..() parent calls. This can help with finding situations
where a signal or other important handling in the parent proc is being skipped.
Child procs may set this setting to 0 instead to override the check. |
SHOULD_NOT_OVERRIDE | If set, raise a warning for any child procs that override this one,
regardless of if it calls parent or not.
This functions in a similar way to the final keyword in some languages.
This cannot be disabled by child overrides. |
SHOULD_NOT_SLEEP | If set, raise a warning if the proc or one of the sub-procs it calls
uses a blocking call, such as sleep() or input() without using set waitfor = 0
This cannot be disabled by child overrides. |
SHOULD_BE_PURE | If set, ensure a proc is 'pure', such that it does not make any changes outside itself or output. This also checks to make sure anything using this proc doesn't invoke it without making use of the return value. This cannot be disabled by child overrides. |
PRIVATE_PROC | Private procs can only be called by things of exactly the same type. |
PROTECTED_PROC | Protected procs can only be call by things of the same type or subtypes. |
UNLINT | If set, will not lint. |
VAR_FINAL | If set, overriding their value isn't permitted by types that inherit it. |
VAR_PRIVATE | Private vars can only be called by things of exactly the same type. |
VAR_PROTECTED | Protected vars can only be called by things of the same type or subtypes. |
Define Details
PRIVATE_PROC ![code/__DEFINES/spaceman_dmm.dm 49](git.png)
Private procs can only be called by things of exactly the same type.
PROTECTED_PROC ![code/__DEFINES/spaceman_dmm.dm 51](git.png)
Protected procs can only be call by things of the same type or subtypes.
RETURN_TYPE ![code/__DEFINES/spaceman_dmm.dm 20](git.png)
Sets a return type expression for a proc. The return type can take the forms:
/typepath
- a raw typepath. The return type of the proc is the type named.
param
- a typepath given as a parameter, for procs which return an instance of the passed-in type.
param.type
- the static type of a passed-in parameter, for procs which
return their input or otherwise another value of the same type.
param[_].type
- the static type of a passed-in parameter, with one level
of /list
stripped, for procs which select one item from a list. The [_]
may be repeated to strip more levels of /list
.
SHOULD_BE_PURE ![code/__DEFINES/spaceman_dmm.dm 47](git.png)
If set, ensure a proc is 'pure', such that it does not make any changes outside itself or output. This also checks to make sure anything using this proc doesn't invoke it without making use of the return value. This cannot be disabled by child overrides.
SHOULD_CALL_PARENT ![code/__DEFINES/spaceman_dmm.dm 27](git.png)
If set, will enable a diagnostic on children of the proc it is set on which do
not contain any ..()
parent calls. This can help with finding situations
where a signal or other important handling in the parent proc is being skipped.
Child procs may set this setting to 0
instead to override the check.
SHOULD_NOT_OVERRIDE ![code/__DEFINES/spaceman_dmm.dm 34](git.png)
If set, raise a warning for any child procs that override this one,
regardless of if it calls parent or not.
This functions in a similar way to the final
keyword in some languages.
This cannot be disabled by child overrides.
SHOULD_NOT_SLEEP ![code/__DEFINES/spaceman_dmm.dm 40](git.png)
If set, raise a warning if the proc or one of the sub-procs it calls
uses a blocking call, such as sleep()
or input()
without using set waitfor = 0
This cannot be disabled by child overrides.
UNLINT ![code/__DEFINES/spaceman_dmm.dm 53](git.png)
If set, will not lint.
VAR_FINAL ![code/__DEFINES/spaceman_dmm.dm 56](git.png)
If set, overriding their value isn't permitted by types that inherit it.
VAR_PRIVATE ![code/__DEFINES/spaceman_dmm.dm 58](git.png)
Private vars can only be called by things of exactly the same type.
VAR_PROTECTED ![code/__DEFINES/spaceman_dmm.dm 60](git.png)
Protected vars can only be called by things of the same type or subtypes.