<?hh
// This tests the parser. The actual values are arbitrary.

enum Foo: int {
  callable = 0;
  trait = 2;
  extends = 3;
  implements = 4;
  static = 5;
  abstract = 6;
  final = 7;
  public = 8;
  protected = 9;
  private = 10;
  const = 11;
  enddeclare = 12;
  endfor = 13;
  endforeach = 14;
  endif = 15;
  endwhile = 16;
  and = 17;
  global = 18;
  goto = 19;
  instanceof = 20;
  insteadof = 21;
  interface = 22;
  namespace = 23;
  new = 24;
  or = 25;
  xor = 26;
  try = 27;
  use = 28;
  var = 29;
  exit = 30;
  list = 31;
  clone = 32;
  include = 33;
  include_once = 34;
  throw = 35;
  array = 36;
  print = 37;
  echo = 38;
  require = 39;
  require_once = 40;
  return = 41;
  else = 42;
  elseif = 43;
  default = 44;
  break = 45;
  continue = 46;
  switch = 47;
  yield = 48;
  function = 49;
  if = 50;
  endswitch = 51;
  finally = 52;
  for = 53;
  foreach = 54;
  declare = 55;
  case = 56;
  do = 57;
  while = 58;
  as = 59;
  catch = 60;
  // die = 61;
  self = 62;
  parent = 63;
  unset = 64;
}
echo Foo::callable;
echo Foo::trait;
echo Foo::extends;
echo Foo::implements;
echo Foo::static;
echo Foo::abstract;
echo Foo::final;
echo Foo::public;
echo Foo::protected;
echo Foo::private;
echo Foo::const;
echo Foo::enddeclare;
echo Foo::endfor;
echo Foo::endforeach;
echo Foo::endif;
echo Foo::endwhile;
echo Foo::and;
echo Foo::global;
echo Foo::goto;
echo Foo::instanceof;
echo Foo::insteadof;
echo Foo::interface;
echo Foo::namespace;
echo Foo::new;
echo Foo::or;
echo Foo::xor;
echo Foo::try;
echo Foo::use;
echo Foo::var;
echo Foo::exit;
echo Foo::list;
echo Foo::clone;
echo Foo::include;
echo Foo::include_once;
echo Foo::throw;
echo Foo::array;
echo Foo::print;
echo Foo::echo;
echo Foo::require;
echo Foo::require_once;
echo Foo::return;
echo Foo::else;
echo Foo::elseif;
echo Foo::default;
echo Foo::break;
echo Foo::continue;
echo Foo::switch;
echo Foo::yield;
echo Foo::function;
echo Foo::if;
echo Foo::endswitch;
echo Foo::finally;
echo Foo::for;
echo Foo::foreach;
echo Foo::declare;
echo Foo::case;
echo Foo::do;
echo Foo::while;
echo Foo::as;
echo Foo::catch;
// echo Foo::die;
echo Foo::self;
echo Foo::parent;
echo Foo::unset;
echo "Done\n";
