// Source: https://github.com/facebook/hhvm/blob/d7dc631ce/hphp/hack/test/full_fidelity/cases/keyword_as_enum.php enum A: int { abstract = 1; and = 1; array = 1; arraykey = 1; as = 1; attribute = 1; binary = 1; bool = 1; boolean = 1; break = 1; case = 1; catch = 1; category = 1; children = 1; // class = 1; // Enum element cannot be named `class` classname = 1; clone = 1; const = 1; continue = 1; coroutine = 1; darray = 1; declare = 1; default = 1; dict = 1; do = 1; double = 1; echo = 1; else = 1; elseif = 1; empty = 1; enddeclare = 1; endfor = 1; endforeach = 1; endif = 1; endswitch = 1; endwhile = 1; enum = 1; eval = 1; extends = 1; fallthrough = 1; false = 1; final = 1; finally = 1; float = 1; for = 1; foreach = 1; from = 1; global = 1; goto = 1; if = 1; implements = 1; include = 1; include_once = 1; inout = 1; instanceof = 1; insteadof = 1; int = 1; integer = 1; interface = 1; is = 1; isset = 1; keyset = 1; let = 1; list = 1; mixed = 1; namespace = 1; new = 1; newtype = 1; noreturn = 1; null = 1; num = 1; object = 1; or = 1; parent = 1; print = 1; private = 1; protected = 1; public = 1; real = 1; require = 1; require_once = 1; resource = 1; return = 1; self = 1; shape = 1; static = 1; string = 1; super = 1; suspend = 1; switch = 1; this = 1; throw = 1; trait = 1; true = 1; try = 1; type = 1; unset = 1; use = 1; using = 1; var = 1; varray = 1; vec = 1; void = 1; where = 1; while = 1; xor = 1; yield = 1; } A::and; A::array; A::arraykey; A::as; A::attribute; A::binary; A::bool; A::boolean; A::break; A::case; A::catch; A::category; A::children; A::class; A::classname; A::clone; A::const; A::continue; A::coroutine; A::darray; A::declare; A::default; A::dict; A::do; A::double; A::echo; A::else; A::elseif; A::empty; A::enddeclare; A::endfor; A::endforeach; A::endif; A::endswitch; A::endwhile; A::enum; A::eval; A::extends; A::fallthrough; A::false; A::final; A::finally; A::float; A::for; A::foreach; A::from; A::global; A::goto; A::if; A::implements; A::include; A::include_once; A::inout; A::instanceof; A::insteadof; A::int; A::integer; A::interface; A::is; A::isset; A::keyset; A::let; A::list; A::mixed; A::namespace; A::new; A::newtype; A::noreturn; A::null; A::num; A::object; A::or; A::parent; A::print; A::private; A::protected; A::public; A::real; A::require; A::require_once; A::resource; A::return; A::self; A::shape; A::static; A::string; A::super; A::suspend; A::switch; A::this; A::throw; A::trait; A::true; A::try; A::type; A::unset; A::use; A::using; A::var; A::varray; A::vec; A::void; A::where; A::while; A::xor; A::yield;