1. class IO::Special does IO {
  2. has Str $.what;
  3. method new(\what) {
  4. nqp::p6bindattrinvres(nqp::create(self),self,'$!what',what)
  5. }
  6. multi method WHICH(IO::Special:D:) { "IO::Special$!what" }
  7. multi method Str(IO::Special:D:) { $!what }
  8. method IO(IO::Special:D:) { self }
  9. method e(IO::Special:D: --> True) { }
  10. method d(IO::Special:D: --> False) { }
  11. method f(IO::Special:D: --> False) { }
  12. method s(IO::Special:D:--> 0) { }
  13. method l(IO::Special:D: --> False) { }
  14. method r(IO::Special:D:) { $!what eq '<STDIN>' }
  15. method w(IO::Special:D:) { $!what eq '<STDOUT>' or $!what eq '<STDERR>' }
  16. method x(IO::Special:D: --> False) { }
  17. method modified(IO::Special:D: --> Instant) { Instant }
  18. method accessed(IO::Special:D: --> Instant) { Instant }
  19. method changed( IO::Special:D: --> Instant) { Instant }
  20. method mode(IO::Special:D: --> Nil) { }
  21. }