1. # Stub a few things the compiler wants to have really early on.
  2. my class Pair { ... }
  3. my class Whatever { ... }
  4. my class HyperWhatever { ... }
  5. my class WhateverCode { ... }
  6. my class Cursor { ... }
  7. my class Failure { ... }
  8. my class Rakudo::Internals { ... }
  9. my class Rakudo::Internals::JSON { ... }
  10. my class Rakudo::Iterator { ... }
  11. my class X::Numeric::Overflow { ... }
  12. my class X::Numeric::Underflow { ... }
  13. # Stub these or we can't use any sigil other than $.
  14. my role Positional { ... }
  15. my role Associative { ... }
  16. my role Callable { ... }
  17. my role Iterable { ... }
  18. my role PositionalBindFailover { ... }
  19. # Set up Empty, which is a Slip created with an empty IterationBuffer (which
  20. # we also stub here). This is needed in a bunch of simple constructs (like if
  21. # with only one branch).
  22. my class IterationBuffer is repr('VMArray') { ... }
  23. my constant Empty = nqp::p6bindattrinvres(nqp::create(Slip),
  24. List, '$!reified', nqp::create(IterationBuffer));
  25. # The value for \n.
  26. my constant $?NL = "\x0A";