OpenDream
OpenDream copied to clipboard
`::` not implemented
Once this is done in the compiler, it might need to be worked on in increments, since it can do 4-5 different things.
- ::varname and ::procname(...) can be used as a shorthand for global.varname and global.procname(...), respectively.
- /thing::staticvar can be used to disambiguate var names when a static and local var have the same name.
- Most commonly, A::B is a shorthand for initial(A.B), but can be used where A is a constant type path, e.g. /foo::bar.
- In an object's var declarations, and static var declarations, type::varname and parent_type::varname are valid, so an expression like HP = parent_type::HP + 20 is allowed.
- /mytype::procname() can provide a reference to a specific proc for use with call().