Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add return signature to .WHICH methods
that were missing.  There's quite a few .WHICH methods that return Str rather
than a ObjAt / ValueObjAt, so that will be fixed next.
  • Loading branch information
lizmat committed Dec 28, 2018
1 parent af868f8 commit e50f4f2
Show file tree
Hide file tree
Showing 18 changed files with 19 additions and 19 deletions.
2 changes: 1 addition & 1 deletion src/core/Array.pm6
Expand Up @@ -1310,7 +1310,7 @@ my class Array { # declared in BOOTSTRAP
~ ']'
})
}
multi method WHICH(Array:D:) { self.Mu::WHICH }
multi method WHICH(Array:D: --> ObjAt:D) { self.Mu::WHICH }

#=============== class Array is closed in src/core/TypedArray.pm6 ==============

Expand Down
2 changes: 1 addition & 1 deletion src/core/Buf.pm6
Expand Up @@ -38,7 +38,7 @@ my role Blob[::T = uint8] does Positional[T] does Stringy is repr('VMArray') is
(T.^nativesize / 8).Int
} // 1;

multi method WHICH(Blob:D:) {
multi method WHICH(Blob:D: --> ValueObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::if(
Expand Down
2 changes: 1 addition & 1 deletion src/core/Complex.pm6
Expand Up @@ -12,7 +12,7 @@ my class Complex is Cool does Numeric {
multi method new() { self.new: 0, 0 }
multi method new(Real \re, Real \im) { nqp::create(self)!SET-SELF(re, im) }

multi method WHICH(Complex:D:) {
multi method WHICH(Complex:D: --> ValueObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::if(
Expand Down
2 changes: 1 addition & 1 deletion src/core/Date.pm6
Expand Up @@ -85,7 +85,7 @@ my class Date does Dateish {

method today(:&formatter) { self.new(DateTime.now, :&formatter) }

multi method WHICH(Date:D:) {
multi method WHICH(Date:D: --> ValueObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::if(
Expand Down
2 changes: 1 addition & 1 deletion src/core/Enumeration.pm6
Expand Up @@ -23,7 +23,7 @@ my role Enumeration {
multi method Int(::?CLASS:D:) { $!value.Int }
multi method Real(::?CLASS:D:) { $!value.Real }

multi method WHICH(::?CLASS:D:) {
multi method WHICH(::?CLASS:D: --> ValueObjAt:D) {
nqp::box_s(
nqp::concat(self.^name,nqp::concat("|",$!index)),
ValueObjAt
Expand Down
2 changes: 1 addition & 1 deletion src/core/Hash.pm6
Expand Up @@ -4,7 +4,7 @@ my class Hash { # declared in BOOTSTRAP
# my class Hash is Map
# has Mu $!descriptor;

multi method WHICH(Hash:D:) { self.Mu::WHICH }
multi method WHICH(Hash:D: --> ObjAt:D) { self.Mu::WHICH }
multi method Hash(Hash:) {
self
}
Expand Down
2 changes: 1 addition & 1 deletion src/core/Int.pm6
Expand Up @@ -10,7 +10,7 @@ my class Int does Real { # declared in BOOTSTRAP
# class Int is Cool
# has bigint $!value is box_target;

multi method WHICH(Int:D:) {
multi method WHICH(Int:D: --> ValueObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::if(
Expand Down
2 changes: 1 addition & 1 deletion src/core/Map.pm6
Expand Up @@ -4,7 +4,7 @@ my class Map does Iterable does Associative { # declared in BOOTSTRAP
# my class Map is Iterable is Cool
# has Mu $!storage;

multi method WHICH(Map:D:) {
multi method WHICH(Map:D: --> ValueObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::if(
Expand Down
2 changes: 1 addition & 1 deletion src/core/Match.pm6
Expand Up @@ -850,7 +850,7 @@ my class Match is Capture is Cool does NQPMatchRole {
$new;
}
multi method WHICH (Match:D:) {
multi method WHICH(Match:D: --> ObjAt:D) {
self.Mu::WHICH # skip Capture's as Match is not a value type
}
Expand Down
2 changes: 1 addition & 1 deletion src/core/Mix.pm6
Expand Up @@ -26,7 +26,7 @@ my class Mix does Mixy {
}

#--- introspection methods
multi method WHICH(Mix:D:) {
multi method WHICH(Mix:D: --> ValueObjAt:D) {
nqp::if(
nqp::attrinited(self,Mix,'$!WHICH'),
$!WHICH,
Expand Down
4 changes: 2 additions & 2 deletions src/core/Mu.pm6
Expand Up @@ -25,7 +25,7 @@ my class Mu { # declared in BOOTSTRAP
}

proto method WHICH(|) {*}
multi method WHICH(Mu:U:) {
multi method WHICH(Mu:U: --> ValueObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::concat(nqp::unbox_s(self.^name), '|U'),
Expand All @@ -34,7 +34,7 @@ my class Mu { # declared in BOOTSTRAP
ValueObjAt
)
}
multi method WHICH(Mu:D:) {
multi method WHICH(Mu:D: --> ObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::concat(nqp::unbox_s(self.^name), '|'),
Expand Down
2 changes: 1 addition & 1 deletion src/core/Num.pm6
Expand Up @@ -6,7 +6,7 @@ my class Num does Real { # declared in BOOTSTRAP
# class Num is Cool
# has num $!value is box_target;

multi method WHICH(Num:D:) {
multi method WHICH(Num:D: --> ValueObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::if(
Expand Down
2 changes: 1 addition & 1 deletion src/core/ObjAt.pm6
Expand Up @@ -5,7 +5,7 @@ my class ObjAt { # declared in BOOTSTRAP
nqp::box_s($s, self.WHAT)
}

multi method WHICH(ObjAt:D:) {
multi method WHICH(ObjAt:D: --> ObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::if(
Expand Down
2 changes: 1 addition & 1 deletion src/core/Pair.pm6
Expand Up @@ -27,7 +27,7 @@ my class Pair does Associative {
multi method clone(Pair:D:) {
nqp::p6bindattrinvres(self.Mu::clone, Pair, '$!WHICH', nqp::null)
}
multi method WHICH(Pair:D:) {
multi method WHICH(Pair:D: --> ObjAt:D) {
nqp::unless(
$!WHICH,
($!WHICH := nqp::if(
Expand Down
2 changes: 1 addition & 1 deletion src/core/PseudoStash.pm6
Expand Up @@ -20,7 +20,7 @@ my class PseudoStash is Map {
$obj
}

method WHICH() { self.Mu::WHICH }
multi method WHICH(PseudoStash:D --> ObjAt:D) { self.Mu::WHICH }

my constant $pseudoers = nqp::hash(
'MY', sub ($cur) {
Expand Down
2 changes: 1 addition & 1 deletion src/core/Rational.pm6
Expand Up @@ -4,7 +4,7 @@ my role Rational[::NuT = Int, ::DeT = ::("NuT")] does Real {
has NuT $.numerator;
has DeT $.denominator;

multi method WHICH(Rational:D:) {
multi method WHICH(Rational:D: --> ValueObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::if(
Expand Down
2 changes: 1 addition & 1 deletion src/core/Str.pm6
Expand Up @@ -20,7 +20,7 @@ my class Str does Stringy { # declared in BOOTSTRAP

multi method WHY('Life, the Universe and Everything': --> 42) { }

multi method WHICH(Str:D:) {
multi method WHICH(Str:D: --> ValueObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::if(
Expand Down
2 changes: 1 addition & 1 deletion src/core/Version.pm6
Expand Up @@ -136,7 +136,7 @@ class Version {

method Capture() { die X::Cannot::Capture.new: :what(self) }

multi method WHICH(Version:D:) {
multi method WHICH(Version:D: --> ValueObjAt:D) {
nqp::box_s(
nqp::concat(
nqp::if(
Expand Down

0 comments on commit e50f4f2

Please sign in to comment.