method what

Documentation for method what assembled from the following types:

class X::Cannot::Lazy

From X::Cannot::Lazy

(X::Cannot::Lazy) method what

method what()

Returns the type that was the target of the action, if it was not the lazy list itself.

class X::OutOfRange

From X::OutOfRange

(X::OutOfRange) method what

method what(--> Str:D)

Verbal description of the thing that was out of range (e.g. "array index", "month").

class X::Redeclaration

From X::Redeclaration

(X::Redeclaration) method what

Returns the kind of symbol that was redeclared. Usually symbol, but can also be routine, type etc.

class X::Syntax::Malformed

From X::Syntax::Malformed

(X::Syntax::Malformed) method what

method what(X::Syntax::Malformed:D: --> Str)

Returns a description of the thing that was being parsed.

class X::Syntax::Missing

From X::Syntax::Missing

(X::Syntax::Missing) method what

method what(--> Str:D)

Returns a string description of the missing syntax element.

class X::Syntax::Variable::Numeric

From X::Syntax::Variable::Numeric

(X::Syntax::Variable::Numeric) method what

method what returns Str:D

Returns a verbal description of the kind of symbol that was declared (variable, parameter, attribute).

class X::Undeclared

From X::Undeclared

(X::Undeclared) method what

Returns the kind of symbol that was not declared (for example variable, type, routine).

Since The symbol wasn't declared, the compiler sometimes has to guess (or rather disambiguate) what kind of symbol it encounter that wasn't declared. For example if you write

say a;

Then the disambiguation defaults to reporting a missing subroutine, even though declaring a constant a = 'a' would also make the error go away.

class IO::Special

From IO::Special

(IO::Special) method what

say $*IN.path.what;  # OUTPUT: «<STDIN>␤» 
say $*OUT.path.what# OUTPUT: «<STDOUT>␤» 
say $*ERR.path.what# OUTPUT: «<STDERR>␤»

Returns one of the strings '<STDIN>', '<STDOUT>', or '<STDERR>', specifying the type of the special IO device.