ID:2860440
 
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
These would be useful to have for most tasks involving code introspection.

issaved tells us that a var is one of them (except is_final), but not which.

We can determine a const by creating a runtime:
/proc/is_const(datum/holder, varname)
if (holder == FALSE)
try
global.vars[varname] = global.vars[varname]
return FALSE
catch (var/exception/e)
return TRUE
try
holder.vars[varname] = holder.vars[varname]
return FALSE
catch (var/exception/e)
return TRUE

But that's obviously pretty disgusting.

I could go either way on is_static vs is_global.