fixed Context.definedValue returning "null" string
do not double-declare vars to keep java happy
push @:coreApi metadata on abstract to implementing class
handle @:coreApi on abstracts
add @:exhaustive only to enum matches