code/__DEFINES/spaceman_dmm.dm 
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 
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.
RETURN_TYPE 
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 
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 
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.
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.