Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created July 6, 2017 02:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Whateverable/9fbca2dcf2e9e4f816fbc05069803283 to your computer and use it in GitHub Desktop.
Save Whateverable/9fbca2dcf2e9e4f816fbc05069803283 to your computer and use it in GitHub Desktop.
coverable6test
HEAD~2 grep=SETTING|/Perl6/ say "hi"
¦d39f7b9aff1fb6424a2d42d6ce520839fc60faa5: «hi»
File Code
src/core/AST.pm#L3 my class AST {
src/core/Any-iterable-methods.pm#L9 augment class Any {
src/core/Any-iterable-methods.pm#L11 proto method map(|) is nodal { * }
src/core/Any-iterable-methods.pm#L17 multi method map(\SELF: █; :$label, :$item) {
src/core/Any-iterable-methods.pm#L59 my class IterateOneWithPhasers does SlippyIterator {
src/core/Any-iterable-methods.pm#L253 my class IterateOneNotSlippingWithoutPhasers does Iterator {
src/core/Any-iterable-methods.pm#L353 my class IterateOneWithoutPhasers does SlippyIterator {
src/core/Any-iterable-methods.pm#L358 method new(&block,$source,$label) {
src/core/Any-iterable-methods.pm#L360 nqp::bindattr($iter, self, '&!block', &block);
src/core/Any-iterable-methods.pm#L366 method is-lazy() { $!source.is-lazy }
src/core/Any-iterable-methods.pm#L368-L369 method pull-one() is raw {
my int $redo = 1;
src/core/Any-iterable-methods.pm#L373 if $!slipping && nqp::not_i(nqp::eqaddr(
src/core/Any-iterable-methods.pm#L386 nqp::while(
src/core/Any-iterable-methods.pm#L390 nqp::handle(
src/core/Any-iterable-methods.pm#L426 method push-all($target --> IterationEnd) {
src/core/Any-iterable-methods.pm#L430 {
src/core/Any-iterable-methods.pm#L435 nqp::until(
src/core/Any-iterable-methods.pm#L439 nqp::while(
src/core/Any-iterable-methods.pm#L443 nqp::handle(
src/core/Any-iterable-methods.pm#L494 my class IterateTwoWithoutPhasers does SlippyIterator {
src/core/Any-iterable-methods.pm#L671 my class IterateMoreWithPhasers does SlippyIterator {
src/core/Any-iterable-methods.pm#L769 sub sequential-map(\source, &block, $label) {
src/core/Any-iterable-methods.pm#L772 my $count = &block.count;
src/core/Any-iterable-methods.pm#L774 Seq.new(
src/core/Any-iterable-methods.pm#L789-L790 proto method flatmap (|) is nodal { * }
multi method flatmap(&block, :$label) {
src/core/Any-iterable-methods.pm#L909 method !grep-callable(Callable:D $test) {
src/core/Any-iterable-methods.pm#L1469 sub find-reducer-for-op(&op) {
src/core/Any.pm#L14 my class Any { # declared in BOOTSTRAP
src/core/Any.pm#L23 proto method EXISTS-KEY(|) is nodal { * }
src/core/Any.pm#L49 method cache() { self.list }
src/core/Any.pm#L51 proto method list(|) is nodal { * }
src/core/Any.pm#L58 proto method eager(|) is nodal { * }
src/core/Any.pm#L82 proto method elems(|) is nodal { * }
src/core/Any.pm#L187 proto method push(|) is nodal {*}
src/core/Any.pm#L394 proto method AT-KEY(|) is nodal { * }
src/core/Any.pm#L425 proto method ASSIGN-KEY(|) is nodal { * }
src/core/Any.pm#L475 Metamodel::ClassHOW.exclude_parent(Any);
src/core/Any.pm#L593 sub dd(|) {
src/core/Argfiles.pm#L1 Rakudo::Internals.REGISTER-DYNAMIC: '@*ARGS', {
src/core/Argfiles.pm#L7 Rakudo::Internals.REGISTER-DYNAMIC: '$*ARGFILES', {
src/core/Array.pm#L14 my class Array { # declared in BOOTSTRAP
src/core/Array.pm#L18 my class ArrayReificationTarget {
src/core/Array.pm#L22 method new(\target, Mu \descriptor) {
src/core/Array.pm#L31 method push(Mu \value) {
src/core/Array.pm#L37 my class ListReificationTarget {
src/core/Array.pm#L52 method iterator(Array:D:) {
src/core/Array.pm#L56 class :: does Iterator {
src/core/Array.pm#L149-L150 else {
Rakudo::Iterator.Empty
src/core/Array.pm#L179 proto method new(|) { * }
src/core/Array.pm#L191 multi method new() {
src/core/Array.pm#L223-L224 proto method STORE(|) { * }
multi method STORE(Array:D: Iterable:D \iterable) {
src/core/Array.pm#L232-L235 method !STORE-ITERABLE(\iterable) {
my \new-storage = nqp::create(IterationBuffer);
my \iter = iterable.iterator;
my \target = ArrayReificationTarget.new(new-storage,
src/core/Array.pm#L237-L238 if iter.push-until-lazy(target) =:= IterationEnd {
nqp::bindattr(self, List, '$!todo', Mu);
src/core/Array.pm#L259 method reification-target() {
src/core/Array.pm#L715 my $empty := nqp::create(IterationBuffer); # splicing in without values
src/core/Array.pm#L1095 multi method WHICH(Array:D:) { self.Mu::WHICH }
src/core/Attribute.pm#L1 my class Attribute { # declared in BOOTSTRAP
src/core/Awaitable.pm#L4 my role Awaitable {
src/core/Awaiter.pm#L6 my class Awaiter::Blocking does Awaiter {
src/core/Awaiter.pm#L105 PROCESS::<$AWAITER> := Awaiter::Blocking;
src/core/Backtrace.pm#L8 my class Backtrace::Frame {
src/core/Backtrace.pm#L73 my class Backtrace {
src/core/Bag.pm#L1 my class Bag does Baggy {
src/core/BagHash.pm#L1 my class BagHash does Baggy {
src/core/BagHash.pm#L101 sub proxy(Mu \iter,Mu \storage) is raw {
src/core/Baggy.pm#L1 my role Baggy does QuantHash {
src/core/Baggy.pm#L652 multi sub infix:<eqv>(Baggy:D \a, Baggy:D \b --> Bool:D) {
src/core/Block.pm#L1 my class Block { # declared in BOOTSTRAP
src/core/Block.pm#L7 method returns(Block:D:) { nqp::getattr(self,Code,'$!signature').returns }
src/core/Block.pm#L47 method has-phasers() { nqp::attrinited(self,Block,'$!phasers') }
src/core/Bool.pm#L12 BEGIN {
src/core/Bool.pm#L25 BEGIN {
src/core/Bool.pm#L42 multi sub prefix:<++>(Bool $a is rw) { $a = True; }
src/core/Bool.pm#L76-L77 proto sub prefix:<!>(Mu $) is pure { * }
multi sub prefix:<!>(Bool \a) { nqp::p6bool(nqp::not_i(nqp::istrue(a))) }
src/core/Buf.pm#L8 my role Blob[::T = uint8] does Positional[T] does Stringy is repr('VMArray') is array_type(T) {
src/core/Buf.pm#L413 my class utf8 does Blob[uint8] is repr('VMArray') {
src/core/Buf.pm#L425 my class utf16 does Blob[uint16] is repr('VMArray') {
src/core/Buf.pm#L437 my class utf32 does Blob[uint32] is repr('VMArray') {
src/core/Buf.pm#L449 my role Buf[::T = uint8] does Blob[T] is repr('VMArray') is array_type(T) {
src/core/Buf.pm#L602 proto sub pack(|) { * }
src/core/CallFrame.pm#L1 my class CallFrame {
src/core/Callable.pm#L3 method returns() { T }
src/core/Cancellation.pm#L1 my class Cancellation {
src/core/Capture.pm#L1 my class Capture { # declared in BOOTSTRAP
src/core/Channel.pm#L3 my class X::Channel::SendOnClosed is Exception {
src/core/Channel.pm#L7 my class X::Channel::ReceiveOnClosed is Exception {
src/core/Channel.pm#L11 my class Channel does Awaitable {
src/core/Channel.pm#L13 my class Queue is repr('ConcBlockingQueue') { }
src/core/Channel.pm#L32-L33 my class CHANNEL_CLOSE { }
my class CHANNEL_FAIL { has $.error }
src/core/Channel.pm#L160 my class ChannelAwaitableHandle does Awaitable::Handle {
src/core/Code.pm#L1 my class Code does Callable { # declared in BOOTSTRAP
src/core/Code.pm#L13 method count(Code:D:) { nqp::getattr($!signature,Signature,'$!count') }
src/core/Code.pm#L15 method signature(Code:D:) { $!signature }
src/core/Collation.pm#L1 class Collation {
src/core/Collation.pm#L44 Rakudo::Internals.REGISTER-DYNAMIC: '$*COLLATION', {
src/core/CompUnit.pm#L1 class CompUnit {
src/core/CompUnit/DependencySpecification.pm#L1 class CompUnit::DependencySpecification {
src/core/CompUnit/Handle.pm#L1 class CompUnit::Handle {
src/core/CompUnit/Loader.pm#L1 class CompUnit::Loader is repr('Uninstantiable') {
src/core/CompUnit/PrecompilationRepository.pm#L1 {
src/core/CompUnit/PrecompilationRepository.pm#L22 class CompUnit::PrecompilationRepository::Default does CompUnit::PrecompilationRepository {
src/core/CompUnit/PrecompilationRepository.pm#L25 my $loaded-lock = Lock.new;
src/core/CompUnit/PrecompilationStore.pm#L1 role CompUnit::PrecompilationStore {
src/core/CompUnit/PrecompilationStore/File.pm#L1-L2 class CompUnit::PrecompilationStore::File does CompUnit::PrecompilationStore {
my class CompUnit::PrecompilationUnit::File does CompUnit::PrecompilationUnit {
src/core/CompUnit/PrecompilationUnit.pm#L1 class CompUnit::PrecompilationId {
src/core/CompUnit/PrecompilationUnit.pm#L4 my $cache-lock = Lock.new;
src/core/CompUnit/PrecompilationUnit.pm#L20 role CompUnit::PrecompilationDependency {
src/core/CompUnit/PrecompilationUnit.pm#L65 class CompUnit::PrecompilationDependency::File does CompUnit::PrecompilationDependency {
src/core/CompUnit/Repository.pm#L1 role CompUnit::Repository {
src/core/CompUnit/Repository/AbsolutePath.pm#L1 class CompUnit::Repository::AbsolutePath does CompUnit::Repository {
src/core/CompUnit/Repository/FileSystem.pm#L1 class CompUnit::Repository::FileSystem does CompUnit::Repository::Locally does CompUnit::Repository {
src/core/CompUnit/Repository/FileSystem.pm#L10 my $extensions := nqp::hash('pm6',1,'pm',1);
src/core/CompUnit/Repository/Installation.pm#L1 class CompUnit::Repository::Installation does CompUnit::Repository::Locally does CompUnit::Repository::Installable {
src/core/CompUnit/Repository/Installation.pm#L11 my $verbose := nqp::getenvhash<RAKUDO_LOG_PRECOMP>;
src/core/CompUnit/Repository/Installation.pm#L15 my class InstalledDistribution is Distribution::Hash {
src/core/CompUnit/Repository/Installation.pm#L591 sub provides-warning($is-win, $name --> Nil) {
src/core/CompUnit/Repository/Locally.pm#L1 role CompUnit::Repository::Locally {
src/core/CompUnit/Repository/NQP.pm#L1 class CompUnit::Repository::NQP does CompUnit::Repository {
src/core/CompUnit/Repository/Perl5.pm#L1 class CompUnit::Repository::Perl5 does CompUnit::Repository {
src/core/CompUnit/Repository/Unknown.pm#L1 class CompUnit::Repository::Unknown does CompUnit::Repository {
src/core/CompUnit/RepositoryRegistry.pm#L12-L13 class CompUnit::RepositoryRegistry {
my $lock = Lock.new;
src/core/CompUnit/RepositoryRegistry.pm#L293 sub short-id2class(Str:D $short-id) {
src/core/CompUnit/RepositoryRegistry.pm#L295 state $lock = Lock.new;
src/core/CompUnit/RepositoryRegistry.pm#L297 Proxy.new(
src/core/CompUnit/RepositoryRegistry.pm#L324-L327 STORE => -> $, $class {
my $type = ::($class);
die "Must load class '$class' first" if nqp::istype($type,Failure);
$lock.protect( { %short-id2class{$short-id} := $type } );
src/core/CompUnit/RepositoryRegistry.pm#L333-L337 short-id2class('file') = 'CompUnit::Repository::FileSystem';
short-id2class('inst') = 'CompUnit::Repository::Installation';
short-id2class('ap') = 'CompUnit::Repository::AbsolutePath';
short-id2class('nqp') = 'CompUnit::Repository::NQP';
short-id2class('perl5') = 'CompUnit::Repository::Perl5';
src/core/CompUnit/RepositoryRegistry.pm#L343 sub parse-include-spec(Str:D $spec, Str:D $default-short-id = 'file') {
src/core/CompUnit/RepositoryRegistry.pm#L362 sub parse-include-specS(Str:D $specs) {
src/core/Compiler.pm#L1 class Compiler does Systemic {
src/core/Complex.pm#L2 my class Complex is Cool does Numeric {
src/core/Cool.pm#L1 my class Cool { # declared in BOOTSTRAP
src/core/Cool.pm#L254 Metamodel::ClassHOW.exclude_parent(Cool);
src/core/Cool.pm#L264 sub lc(Cool $s) { $s.lc }
src/core/Cool.pm#L505 multi sub unimatch(Int:D $code, Stringy:D $pvalname, Stringy:D $propname = $pvalname) {
src/core/CurrentThreadScheduler.pm#L3 my class CurrentThreadScheduler does Scheduler {
src/core/Date.pm#L1 my class Date does Dateish {
src/core/Date.pm#L228 sub sleep-until(Instant() $until --> Bool:D) {
src/core/DateTime.pm#L1 my class DateTime does Dateish {
src/core/DateTime.pm#L382 Rakudo::Internals.REGISTER-DYNAMIC: '$*TZ', {
src/core/Dateish.pm#L1 my role Dateish {
src/core/Deprecations.pm#L3 class Deprecation {
src/core/Deprecations.pm#L17-L19 proto method report (|) { * }
multi method report (Deprecation:U:) {
return Nil unless %DEPRECATIONS;
src/core/Deprecations.pm#L30 $message.chop;
src/core/Deprecations.pm#L101-L103 END {
unless %*ENV<RAKUDO_NO_DEPRECATIONS> {
if Deprecation.report -> $message {
src/core/Distribution.pm#L4 role Distribution {
src/core/Distribution.pm#L87 class CompUnit::Repository::Distribution {
src/core/Distribution.pm#L112 class Distribution::Hash does Distribution::Locally {
src/core/Distribution.pm#L119 class Distribution::Path does Distribution::Locally {
src/core/Distribution.pm#L155 class Distribution::Resource {
src/core/Distribution.pm#L238 class Distribution::Resources does Associative {
src/core/Distro.pm#L6 class Distro does Systemic {
src/core/Distro.pm#L89 Rakudo::Internals.REGISTER-DYNAMIC: '$*DISTRO', {
src/core/Duration.pm#L1 my class Duration is Cool does Real {
src/core/EXPORTHOW.pm#L3 my module EXPORTHOW {
src/core/Encoding.pm#L1 role Encoding {
src/core/Encoding/Builtin.pm#L1 class Encoding::Builtin does Encoding {
src/core/Encoding/Builtin.pm#L17 method alternative-names() { $!alternative-names }
src/core/Encoding/Builtin.pm#L19 method decoder(*%options --> Encoding::Decoder) {
src/core/Encoding/Builtin.pm#L23-L25 my int $is-win = Rakudo::Internals.IS-WIN;
method encoder(:$replacement, :$translate-nl --> Encoding::Encoder) {
my $encoder = $replacement.DEFINITE && $replacement !=== False
src/core/Encoding/Builtin.pm#L29 $translate-nl && $is-win
src/core/Encoding/Builtin.pm#L35-L36 method !buf-type() {
nqp::ifnull(nqp::atkey($enc_type, $!name), blob8)
src/core/Encoding/Builtin.pm#L46 Encoding::Registry.register(
src/core/Encoding/Builtin.pm#L51 Encoding::Registry.register(
src/core/Encoding/Builtin.pm#L56 Encoding::Registry.register(
src/core/Encoding/Builtin.pm#L61 Encoding::Registry.register(
src/core/Encoding/Builtin.pm#L77 Encoding::Registry.register(
src/core/Encoding/Builtin.pm#L82 Encoding::Registry.register(
src/core/Encoding/Builtin.pm#L87 Encoding::Registry.register(
src/core/Encoding/Decoder/Builtin.pm#L1-L3 my class Encoding::Decoder::Builtin is repr('Decoder') does Encoding::Decoder {
method new(str $encoding, :$translate-nl) {
nqp::decoderconfigure(nqp::create(self), $encoding,
src/core/Encoding/Decoder/Builtin.pm#L24 method set-line-separators(@seps --> Nil) {
src/core/Encoding/Decoder/Builtin.pm#L26 nqp::push_s($sep-strs, .Str) for @seps;
src/core/Encoding/Decoder/Builtin.pm#L50 augment class Rakudo::Internals {
src/core/Encoding/Encoder.pm#L1 role Encoding::Encoder {
src/core/Encoding/Encoder/Builtin.pm#L1 my class Encoding::Encoder::Builtin does Encoding::Encoder {
src/core/Encoding/Encoder/Builtin.pm#L5 method new(Str $encoding, Blob:U $type) {
src/core/Encoding/Encoder/Builtin.pm#L9 method !setup($encoding, $type) {
src/core/Encoding/Encoder/Builtin.pm#L11 $!type := nqp::can($type.HOW, 'pun') ?? $type.^pun !! $type.WHAT;
src/core/Encoding/Encoder/Builtin.pm#L15-L16 method encode-chars(str $str --> Blob:D) {
nqp::encode($str, $!encoding, nqp::create($!type))
src/core/Encoding/Encoder/Builtin.pm#L20 my class Encoding::Encoder::Builtin::Replacement does Encoding::Encoder {
src/core/Encoding/Encoder/TranslateNewlineWrapper.pm#L1 my class Encoding::Encoder::TranslateNewlineWrapper does Encoding::Encoder {
src/core/Encoding/Registry.pm#L4-L5 my class Encoding::Registry {
my $lock := Lock.new;
src/core/Encoding/Registry.pm#L8-L11 method register(Encoding $enc --> Nil) {
my @names = ($enc.name, $enc.alternative-names).flat.map(*.fc);
$lock.protect: {
if %lookup{@names}:k -> @bad {
src/core/Encoding/Registry.pm#L14 %lookup{@names} = $enc xx *;
src/core/Encoding/Registry.pm#L18-L21 method find(Str() $name) {
$lock.protect: {
my $fname = $name.fc;
%lookup{$fname}:exists
src/core/Enumeration.pm#L66 Metamodel::EnumHOW.set_composalizer(-> $type, $name, %enum_values {
src/core/Env.pm#L1 PROCESS::<%ENV> := Rakudo::Internals.createENV(0);
src/core/Env.pm#L3 Rakudo::Internals.REGISTER-DYNAMIC: '$*CWD', {
src/core/Exception.pm#L4 my class Exception {
src/core/Exception.pm#L89 my class X::SecurityPolicy is Exception {}
src/core/Exception.pm#L91 my class X::SecurityPolicy::Eval is X::SecurityPolicy {
src/core/Exception.pm#L116 my class X::AdHoc is Exception {
src/core/Exception.pm#L138 my class X::NQP::NotFound is Exception {
src/core/Exception.pm#L144 my class X::Dynamic::NotFound is Exception {
src/core/Exception.pm#L150 my class X::Method::NotFound is Exception {
src/core/Exception.pm#L208 my class X::Method::InvalidQualifier is Exception {
src/core/Exception.pm#L218 my class X::Role::Parametric::NoSuchCandidate is Exception {
src/core/Exception.pm#L227 my class X::Pragma::NoArgs is Exception {
src/core/Exception.pm#L231 my class X::Pragma::CannotPrecomp is Exception {
src/core/Exception.pm#L235 my class X::Pragma::CannotWhat is Exception {
src/core/Exception.pm#L240 my class X::Pragma::MustOneOf is Exception {
src/core/Exception.pm#L245 my class X::Pragma::UnknownArg is Exception {
src/core/Exception.pm#L250 my class X::Pragma::OnlyOne is Exception {
src/core/Exception.pm#L255 my role X::Control is Exception {
src/core/Exception.pm#L257 my class CX::Next does X::Control {
src/core/Exception.pm#L260 my class CX::Redo does X::Control {
src/core/Exception.pm#L263 my class CX::Last does X::Control {
src/core/Exception.pm#L266 my class CX::Take does X::Control {
src/core/Exception.pm#L269 my class CX::Warn does X::Control {
src/core/Exception.pm#L272 my class CX::Succeed does X::Control {
src/core/Exception.pm#L275 my class CX::Proceed does X::Control {
src/core/Exception.pm#L278 my class CX::Return does X::Control {
src/core/Exception.pm#L281 my class CX::Emit does X::Control {
src/core/Exception.pm#L284 my class CX::Done does X::Control {
src/core/Exception.pm#L364 do {
src/core/Exception.pm#L366 sub print_exception(|) {
src/core/Exception.pm#L406 sub print_control(|) {
src/core/Exception.pm#L455 $comp.^add_method('handle-exception',
src/core/Exception.pm#L463 $comp.^add_method('handle-control',
src/core/Exception.pm#L480 my class X::IO::Unknown does X::IO {
src/core/Exception.pm#L484 my class X::IO::Rename does X::IO {
src/core/Exception.pm#L492 my class X::IO::Copy does X::IO {
src/core/Exception.pm#L500 my class X::IO::Lock does X::IO {
src/core/Exception.pm#L505 my class X::IO::Move does X::IO {
src/core/Exception.pm#L513 my class X::IO::DoesNotExist does X::IO {
src/core/Exception.pm#L521 my class X::IO::NotAFile does X::IO {
src/core/Exception.pm#L529 my class X::IO::Null does X::IO {
src/core/Exception.pm#L535 my class X::IO::Directory does X::IO {
src/core/Exception.pm#L546 my class X::IO::Symlink does X::IO {
src/core/Exception.pm#L554 my class X::IO::Link does X::IO {
src/core/Exception.pm#L562 my class X::IO::Mkdir does X::IO {
src/core/Exception.pm#L570 my class X::IO::Chdir does X::IO {
src/core/Exception.pm#L577 my class X::IO::Dir does X::IO {
src/core/Exception.pm#L584 my class X::IO::Cwd does X::IO {
src/core/Exception.pm#L590 my class X::IO::Flush does X::IO {
src/core/Exception.pm#L596 my class X::IO::NotAChild does X::IO {
src/core/Exception.pm#L604 my class X::IO::Resolve does X::IO {
src/core/Exception.pm#L609 my class X::IO::Rmdir does X::IO {
src/core/Exception.pm#L616 my class X::IO::Unlink does X::IO {
src/core/Exception.pm#L623 my class X::IO::Chmod does X::IO {
src/core/Exception.pm#L631 my class X::IO::BinaryAndEncoding does X::IO {
src/core/Exception.pm#L635 my class X::IO::BinaryMode does X::IO {
src/core/Exception.pm#L640 my role X::Comp is Exception {
src/core/Exception.pm#L694 my class X::Comp::Group is Exception {
src/core/Exception.pm#L739 my role X::MOP is Exception { }
src/core/Exception.pm#L741 my class X::Comp::BeginTime does X::Comp {
src/core/Exception.pm#L768 my class X::Comp::AdHoc is X::AdHoc does X::Comp {
src/core/Exception.pm#L772 my class X::Comp::FailGoal does X::Comp {
src/core/Exception.pm#L781 my role X::Syntax does X::Comp { }
src/core/Exception.pm#L784 my class X::NYI is Exception {
src/core/Exception.pm#L793-L794 my class X::Comp::NYI is X::NYI does X::Comp { };
my class X::NYI::Available is X::NYI {
src/core/Exception.pm#L805 my class X::NYI::BigInt is Exception {
src/core/Exception.pm#L813 my class X::Experimental does X::Comp {
src/core/Exception.pm#L819-L821 my class X::Worry is Exception { }
my class X::Worry::P5 is X::Worry { }
my class X::Worry::P5::Reference is X::Worry::P5 {
src/core/Exception.pm#L828 my class X::Worry::P5::BackReference is X::Worry::P5 {
src/core/Exception.pm#L834 my class X::Worry::P5::LeadingZero is X::Worry::P5 {
src/core/Exception.pm#L851 my class X::Trait::Invalid is Exception {
src/core/Exception.pm#L861 my class X::Trait::Unknown is Exception {
src/core/Exception.pm#L869 my class X::Comp::Trait::Unknown is X::Trait::Unknown does X::Comp { };
src/core/Exception.pm#L871 my class X::Trait::NotOnNative is Exception {
src/core/Exception.pm#L880 my class X::Comp::Trait::NotOnNative is X::Trait::NotOnNative does X::Comp { };
src/core/Exception.pm#L882 my class X::Trait::Scope is Exception {
src/core/Exception.pm#L893 my class X::Comp::Trait::Scope is X::Trait::Scope does X::Comp { };
src/core/Exception.pm#L895 my class X::OutOfRange is Exception {
src/core/Exception.pm#L908 my class X::Buf::AsStr is Exception {
src/core/Exception.pm#L914 my class X::Buf::Pack is Exception {
src/core/Exception.pm#L921 my class X::Buf::Pack::NonASCII is Exception {
src/core/Exception.pm#L928 my class X::Signature::Placeholder does X::Comp {
src/core/Exception.pm#L935 my class X::Placeholder::Block does X::Comp {
src/core/Exception.pm#L942 my class X::Placeholder::NonPlaceholder does X::Comp {
src/core/Exception.pm#L953 my class X::Placeholder::Mainline is X::Placeholder::Block {
src/core/Exception.pm#L959 my class X::Placeholder::Attribute is X::Placeholder::Block {
src/core/Exception.pm#L965 my class X::Undeclared does X::Comp {
src/core/Exception.pm#L980 my class X::Attribute::Undeclared is X::Undeclared {
src/core/Exception.pm#L989 my class X::Attribute::Regex is X::Undeclared {
src/core/Exception.pm#L996 my class X::Undeclared::Symbols does X::Comp {
src/core/Exception.pm#L1052 my class X::Redeclaration does X::Comp {
src/core/Exception.pm#L1063 my class X::Redeclaration::Outer does X::Comp {
src/core/Exception.pm#L1072 my class X::Dynamic::Postdeclaration does X::Comp {
src/core/Exception.pm#L1081 my class X::Dynamic::Package does X::Comp {
src/core/Exception.pm#L1088 my class X::Import::Redeclaration does X::Comp {
src/core/Exception.pm#L1098 my class X::Import::OnlystarProto does X::Comp {
src/core/Exception.pm#L1108 my class X::PoisonedAlias does X::Comp {
src/core/Exception.pm#L1118 my class X::Phaser::Multiple does X::Comp {
src/core/Exception.pm#L1123 my class X::Obsolete does X::Comp {
src/core/Exception.pm#L1130 my class X::Parameter::Default does X::Comp {
src/core/Exception.pm#L1140 my class X::Parameter::Default::TypeCheck does X::Comp {
src/core/Exception.pm#L1148 my class X::Parameter::AfterDefault does X::Syntax {
src/core/Exception.pm#L1158 my class X::Parameter::Placeholder does X::Comp {
src/core/Exception.pm#L1167 my class X::Parameter::Twigil does X::Comp {
src/core/Exception.pm#L1175 my class X::Parameter::MultipleTypeConstraints does X::Comp {
src/core/Exception.pm#L1183 my class X::Parameter::BadType does X::Comp {
src/core/Exception.pm#L1191 my class X::Parameter::WrongOrder does X::Comp {
src/core/Exception.pm#L1200 my class X::Parameter::InvalidConcreteness is Exception {
src/core/Exception.pm#L1220 my class X::Parameter::InvalidType does X::Comp {
src/core/Exception.pm#L1232 my class X::Parameter::RW is Exception {
src/core/Exception.pm#L1240 my class X::Parameter::TypedSlurpy does X::Comp {
src/core/Exception.pm#L1247 my class X::Signature::NameClash does X::Comp {
src/core/Exception.pm#L1254 my class X::Method::Private::Permission does X::Comp {
src/core/Exception.pm#L1263 my class X::Method::Private::Unqualified does X::Comp {
src/core/Exception.pm#L1270 my class X::Adverb is Exception {
src/core/Exception.pm#L1292 my class X::Bind is Exception {
src/core/Exception.pm#L1300 my class X::Bind::NativeType does X::Comp {
src/core/Exception.pm#L1306 my class X::Bind::Slice is Exception {
src/core/Exception.pm#L1312 my class X::Bind::ZenSlice is X::Bind::Slice {
src/core/Exception.pm#L1318 my class X::Subscript::Negative is Exception {
src/core/Exception.pm#L1326 my class X::Invalid::Value is Exception {
src/core/Exception.pm#L1335 my class X::Invalid::ComputedValue is Exception {
src/core/Exception.pm#L1347 my class X::Value::Dynamic does X::Comp {
src/core/Exception.pm#L1352 my class X::Syntax::Name::Null does X::Syntax {
src/core/Exception.pm#L1356 my class X::Syntax::UnlessElse does X::Syntax {
src/core/Exception.pm#L1361 my class X::Syntax::WithoutElse does X::Syntax {
src/core/Exception.pm#L1366 my class X::Syntax::KeywordAsFunction does X::Syntax {
src/core/Exception.pm#L1375 my class X::Syntax::Malformed::Elsif does X::Syntax {
src/core/Exception.pm#L1380 my class X::Syntax::Reserved does X::Syntax {
src/core/Exception.pm#L1386 my class X::Syntax::P5 does X::Syntax {
src/core/Exception.pm#L1390 my class X::Syntax::NegatedPair does X::Syntax {
src/core/Exception.pm#L1395 my class X::Syntax::Variable::Numeric does X::Syntax {
src/core/Exception.pm#L1400 my class X::Syntax::Variable::Match does X::Syntax {
src/core/Exception.pm#L1404 my class X::Syntax::Variable::Initializer does X::Syntax {
src/core/Exception.pm#L1410 my class X::Syntax::Variable::Twigil does X::Syntax {
src/core/Exception.pm#L1418 my class X::Syntax::Variable::IndirectDeclaration does X::Syntax {
src/core/Exception.pm#L1422 my class X::Syntax::Variable::BadType does X::Comp {
src/core/Exception.pm#L1430 my class X::Syntax::Variable::ConflictingTypes does X::Comp {
src/core/Exception.pm#L1438 my class X::Syntax::Augment::WithoutMonkeyTyping does X::Syntax {
src/core/Exception.pm#L1442 my class X::Syntax::Augment::Illegal does X::Syntax {
src/core/Exception.pm#L1447 my class X::Syntax::Augment::Adverb does X::Syntax {
src/core/Exception.pm#L1451 my class X::Syntax::Type::Adverb does X::Syntax {
src/core/Exception.pm#L1456 my class X::Syntax::Argument::MOPMacro does X::Syntax {
src/core/Exception.pm#L1461 my class X::Role::Initialization is Exception {
src/core/Exception.pm#L1466 my class X::Syntax::Comment::Embedded does X::Syntax {
src/core/Exception.pm#L1470 my class X::Syntax::Pod::BeginWithoutIdentifier does X::Syntax does X::Pod {
src/core/Exception.pm#L1476 my class X::Syntax::Pod::BeginWithoutEnd does X::Syntax does X::Pod {
src/core/Exception.pm#L1489 my class X::Syntax::Confused does X::Syntax {
src/core/Exception.pm#L1494 my class X::Syntax::Malformed does X::Syntax {
src/core/Exception.pm#L1498 my class X::Syntax::Missing does X::Syntax {
src/core/Exception.pm#L1502 my class X::Syntax::BlockGobbled does X::Syntax {
src/core/Exception.pm#L1513 my class X::Syntax::ConditionalOperator::PrecedenceTooLoose does X::Syntax {
src/core/Exception.pm#L1518 my class X::Syntax::ConditionalOperator::SecondPartGobbled does X::Syntax {
src/core/Exception.pm#L1522 my class X::Syntax::ConditionalOperator::SecondPartInvalid does X::Syntax {
src/core/Exception.pm#L1527 my class X::Syntax::Perl5Var does X::Syntax {
src/core/Exception.pm#L1595 my class X::Syntax::Self::WithoutObject does X::Syntax {
src/core/Exception.pm#L1598 my class X::Syntax::VirtualCall does X::Syntax {
src/core/Exception.pm#L1602 my class X::Syntax::NoSelf does X::Syntax {
src/core/Exception.pm#L1607 my class X::Syntax::Number::RadixOutOfRange does X::Syntax {
src/core/Exception.pm#L1612 my class X::Syntax::Number::IllegalDecimal does X::Syntax {
src/core/Exception.pm#L1616 my class X::Syntax::Number::LiteralType does X::Syntax {
src/core/Exception.pm#L1632 my class X::Syntax::NonAssociative does X::Syntax {
src/core/Exception.pm#L1640 my class X::Syntax::NonListAssociative is X::Syntax::NonAssociative {
src/core/Exception.pm#L1646 my class X::Syntax::CannotMeta does X::Syntax {
src/core/Exception.pm#L1656 my class X::Syntax::Adverb does X::Syntax {
src/core/Exception.pm#L1662 my class X::Syntax::Regex::Adverb does X::Syntax {
src/core/Exception.pm#L1668 my class X::Syntax::Regex::UnrecognizedMetachar does X::Syntax {
src/core/Exception.pm#L1673 my class X::Syntax::Regex::UnrecognizedModifier does X::Syntax {
src/core/Exception.pm#L1678 my class X::Syntax::Regex::NullRegex does X::Syntax {
src/core/Exception.pm#L1682 my class X::Syntax::Regex::MalformedRange does X::Syntax {
src/core/Exception.pm#L1689 my class X::Syntax::Regex::Unspace does X::Syntax {
src/core/Exception.pm#L1697 my class X::Syntax::Regex::Unterminated does X::Syntax {
src/core/Exception.pm#L1701 my class X::Syntax::Regex::SpacesInBareRange does X::Syntax {
src/core/Exception.pm#L1705 my class X::Syntax::Regex::SolitaryQuantifier does X::Syntax {
src/core/Exception.pm#L1709 my class X::Syntax::Regex::NonQuantifiable does X::Syntax {
src/core/Exception.pm#L1713 my class X::Syntax::Regex::SolitaryBacktrackControl does X::Syntax {
src/core/Exception.pm#L1717 my class X::Syntax::Term::MissingInitializer does X::Syntax {
src/core/Exception.pm#L1721 my class X::Syntax::Variable::MissingInitializer does X::Syntax {
src/core/Exception.pm#L1731 my class X::Syntax::AddCategorical::TooFewParts does X::Syntax {
src/core/Exception.pm#L1737 my class X::Syntax::AddCategorical::TooManyParts does X::Syntax {
src/core/Exception.pm#L1743 my class X::Syntax::Signature::InvocantMarker does X::Syntax {
src/core/Exception.pm#L1749 my class X::Syntax::Signature::InvocantNotAllowed does X::Syntax {
src/core/Exception.pm#L1755 my class X::Syntax::Extension::Category does X::Syntax {
src/core/Exception.pm#L1762 my class X::Syntax::Extension::Null does X::Syntax {
src/core/Exception.pm#L1768 my class X::Syntax::Extension::TooComplex does X::Syntax {
src/core/Exception.pm#L1775 my class X::Syntax::Extension::SpecialForm does X::Syntax {
src/core/Exception.pm#L1785 my class X::Syntax::InfixInTermPosition does X::Syntax {
src/core/Exception.pm#L1792 my class X::Syntax::DuplicatedPrefix does X::Syntax {
src/core/Exception.pm#L1801 my class X::Attribute::Package does X::Comp {
src/core/Exception.pm#L1806 my class X::Attribute::NoPackage does X::Comp {
src/core/Exception.pm#L1810 my class X::Attribute::Required does X::MOP {
src/core/Exception.pm#L1819 my class X::Attribute::Scope::Package does X::Comp {
src/core/Exception.pm#L1826 my class X::Declaration::Scope does X::Comp {
src/core/Exception.pm#L1832 my class X::Declaration::Scope::Multi is X::Declaration::Scope {
src/core/Exception.pm#L1838 my class X::Declaration::OurScopeInRole does X::Comp {
src/core/Exception.pm#L1847 my class X::Anon::Multi does X::Comp {
src/core/Exception.pm#L1852 my class X::Anon::Augment does X::Comp {
src/core/Exception.pm#L1856 my class X::Augment::NoSuchType does X::Comp {
src/core/Exception.pm#L1862 my class X::Routine::Unwrap is Exception {
src/core/Exception.pm#L1866 my class X::Constructor::Positional is Exception {
src/core/Exception.pm#L1871 my class X::Hash::Store::OddNumber is Exception {
src/core/Exception.pm#L1889 my class X::Pairup::OddNumber is Exception {
src/core/Exception.pm#L1893 my class X::Match::Bool is Exception {
src/core/Exception.pm#L1898 my class X::LibNone does X::Comp {
src/core/Exception.pm#L1901 my class X::Package::UseLib does X::Comp {
src/core/Exception.pm#L1905 my class X::Package::Stubbed does X::Comp {
src/core/Exception.pm#L1914 my class X::Phaser::PrePost is Exception {
src/core/Exception.pm#L1925 my class X::Str::InvalidCharName is Exception {
src/core/Exception.pm#L1933 my class X::Str::Numeric is Exception {
src/core/Exception.pm#L1958 my class X::Str::Match::x is Exception {
src/core/Exception.pm#L1965 my class X::Str::Subst::Adverb is Exception {
src/core/Exception.pm#L1973 my class X::Str::Trans::IllegalKey is Exception {
src/core/Exception.pm#L1979 my class X::Str::Trans::InvalidArg is Exception {
src/core/Exception.pm#L1986 my class X::Str::Sprintf::Directives::Count is Exception {
src/core/Exception.pm#L2000 my class X::Str::Sprintf::Directives::Unsupported is Exception {
src/core/Exception.pm#L2008 my class X::Str::Sprintf::Directives::BadType is Exception {
src/core/Exception.pm#L2016 my role X::Encoding is Exception { }
src/core/Exception.pm#L2018 my class X::Encoding::Unknown does X::Encoding {
src/core/Exception.pm#L2025 my class X::Encoding::AlreadyRegistered does X::Encoding {
src/core/Exception.pm#L2032 my class X::Range::InvalidArg is Exception {
src/core/Exception.pm#L2039 my class X::Sequence::Deduction is Exception {
src/core/Exception.pm#L2047 my class X::Cannot::Lazy is Exception {
src/core/Exception.pm#L2056 my class X::Cannot::Empty is Exception {
src/core/Exception.pm#L2063 my class X::Cannot::New is Exception {
src/core/Exception.pm#L2070 my class X::Backslash::UnrecognizedSequence does X::Syntax {
src/core/Exception.pm#L2075 my class X::Backslash::NonVariableDollar does X::Syntax {
src/core/Exception.pm#L2079 my class X::ControlFlow is Exception {
src/core/Exception.pm#L2090 my class X::ControlFlow::Return is X::ControlFlow {
src/core/Exception.pm#L2096 my class X::Composition::NotComposable does X::Comp {
src/core/Exception.pm#L2104 my class X::TypeCheck is Exception {
src/core/Exception.pm#L2133 my class X::TypeCheck::Binding is X::TypeCheck {
src/core/Exception.pm#L2146 my class X::TypeCheck::Binding::Parameter is X::TypeCheck::Binding {
src/core/Exception.pm#L2165 my class X::TypeCheck::Return is X::TypeCheck {
src/core/Exception.pm#L2176 my class X::TypeCheck::Assignment is X::TypeCheck {
src/core/Exception.pm#L2189 my class X::TypeCheck::Argument is X::TypeCheck {
src/core/Exception.pm#L2204 my class X::TypeCheck::Splice is X::TypeCheck does X::Comp {
src/core/Exception.pm#L2213 my class X::Assignment::RO is Exception {
src/core/Exception.pm#L2221 my class X::Assignment::RO::Comp does X::Comp {
src/core/Exception.pm#L2228 my class X::Immutable is Exception {
src/core/Exception.pm#L2236 my class X::NoDispatcher is Exception {
src/core/Exception.pm#L2243 my class X::Localizer::NoContainer is Exception {
src/core/Exception.pm#L2250 my class X::Mixin::NotComposable is Exception {
src/core/Exception.pm#L2258 my class X::Inheritance::Unsupported does X::Comp {
src/core/Exception.pm#L2270 my class X::Inheritance::UnknownParent is Exception {
src/core/Exception.pm#L2286 my class X::Inheritance::SelfInherit is Exception {
src/core/Exception.pm#L2294 my class X::Export::NameClash does X::Comp {
src/core/Exception.pm#L2301 my class X::HyperOp::NonDWIM is Exception {
src/core/Exception.pm#L2313 my class X::HyperOp::Infinite is Exception {
src/core/Exception.pm#L2323 my class X::Set::Coerce is Exception {
src/core/Exception.pm#L2331-L2332 my role X::Temporal is Exception { }
my class X::Temporal::InvalidFormat does X::Temporal {
src/core/Exception.pm#L2340 my class X::DateTime::TimezoneClash does X::Temporal {
src/core/Exception.pm#L2345 my class X::DateTime::InvalidDeltaUnit does X::Temporal {
src/core/Exception.pm#L2352 my class X::Eval::NoSuchLang is Exception {
src/core/Exception.pm#L2359 my class X::Import::MissingSymbols is Exception {
src/core/Exception.pm#L2368 my class X::Import::NoSuchTag is Exception {
src/core/Exception.pm#L2376 my class X::Import::Positional is Exception {
src/core/Exception.pm#L2384 my class X::Numeric::Real is Exception {
src/core/Exception.pm#L2394 my class X::Numeric::DivideByZero is Exception {
src/core/Exception.pm#L2405 my class X::Numeric::Overflow is Exception {
src/core/Exception.pm#L2409 my class X::Numeric::Underflow is Exception {
src/core/Exception.pm#L2413 my class X::Numeric::Confused is Exception {
src/core/Exception.pm#L2427 my class X::PseudoPackage::InDeclaration does X::Comp {
src/core/Exception.pm#L2435 my class X::NoSuchSymbol is Exception {
src/core/Exception.pm#L2440 my class X::Item is Exception {
src/core/Exception.pm#L2446 my class X::Multi::Ambiguous is Exception {
src/core/Exception.pm#L2457 my class X::Multi::NoMatch is Exception {
src/core/Exception.pm#L2523 my class X::Caller::NotDynamic is Exception {
src/core/Exception.pm#L2530 my class X::Inheritance::NotComposed does X::MOP {
src/core/Exception.pm#L2543 my class X::PhaserExceptions is Exception {
src/core/Exception.pm#L2560 nqp::bindcurhllsym('P6EX', BEGIN nqp::hash(
src/core/Exception.pm#L2638 my class X::HyperWhatever::Multiple is Exception {
src/core/Exception.pm#L2644 my class X::EXPORTHOW::InvalidDirective does X::Comp {
src/core/Exception.pm#L2651 my class X::EXPORTHOW::NothingToSupersede does X::Comp {
src/core/Exception.pm#L2658 my class X::EXPORTHOW::Conflict does X::Comp {
src/core/Exception.pm#L2666 my class X::UnitScope::Invalid does X::Syntax {
src/core/Exception.pm#L2675 my class X::UnitScope::TooLate does X::Syntax {
src/core/Exception.pm#L2683 my class X::StubCode is Exception {
src/core/Exception.pm#L2687 my class X::TooLateForREPR is X::Comp {
src/core/Exception.pm#L2694 my class X::MustBeParametric is Exception {
src/core/Exception.pm#L2700 my class X::NotParametric is Exception {
src/core/Exception.pm#L2707 my class X::InvalidType does X::Comp {
src/core/Exception.pm#L2719 my class X::InvalidTypeSmiley does X::Comp {
src/core/Exception.pm#L2726 my class X::Seq::Consumed is Exception {
src/core/Exception.pm#L2734 my class X::Seq::NotIndexable is Exception {
src/core/Exception.pm#L2740 my class X::WheneverOutOfScope is Exception {
src/core/Exception.pm#L2746 my class X::IllegalOnFixedDimensionArray is Exception {
src/core/Exception.pm#L2753 my class X::NotEnoughDimensions is Exception {
src/core/Exception.pm#L2762 my class X::TooManyDimensions is Exception {
src/core/Exception.pm#L2771 my class X::IllegalDimensionInShape is Exception {
src/core/Exception.pm#L2778 my class X::Assignment::ArrayShapeMismatch is Exception {
src/core/Exception.pm#L2786 my class X::Assignment::ToShaped is Exception {
src/core/Exception.pm#L2793 my class X::Language::Unsupported is Exception {
src/core/Exception.pm#L2800 my class X::Proc::Unsuccessful is Exception {
src/core/Exception.pm#L2808 my class X::CompUnit::UnsatisfiedDependency is Exception {
src/core/Exception.pm#L2811 my sub is-core($name) {
src/core/Exception.pm#L2836 my class Exceptions::JSON {
src/core/Failure.pm#L1 my class Failure is Nil {
src/core/ForeignCode.pm#L4 my class ForeignCode does Callable { # declared in BOOTSTRAP
src/core/Grammar.pm#L1 my class Grammar is Match {
src/core/Hash.pm#L3 my class Hash { # declared in BOOTSTRAP
src/core/Hash.pm#L48 multi method AT-KEY(Hash:D: Str:D \key) is raw {
src/core/Hash.pm#L58 -> { nqp::bindkey(nqp::getattr(self,Map,'$!storage'),
src/core/Hash.pm#L66 -> { nqp::bindkey(
src/core/Hash.pm#L107-L108 multi method STORE_AT_KEY(Str:D \key, Mu \x --> Nil) {
nqp::bindkey(
src/core/Hash.pm#L122 multi method ASSIGN-KEY(Hash:D: Str:D \key, Mu \assignval) is raw {
src/core/Hash.pm#L167-L168 method BIND-KEY(Hash:D: \key, Mu \bindval) is raw {
nqp::bindattr(self,Map,'$!storage',nqp::hash)
src/core/Hash.pm#L170 nqp::bindkey(nqp::getattr(self,Map,'$!storage'),
src/core/Hash.pm#L452 method !_append_construct(Mu $key, Mu \value --> Nil) {
src/core/Hash.pm#L744 method ^parameterize(Mu:U \hash, Mu:U \t, |c) {
src/core/HyperConfiguration.pm#L4 my class HyperConfiguration {
src/core/HyperIterator.pm#L5 my role HyperIterator {
src/core/HyperSeq.pm#L7 my class HyperSeq does Iterable does HyperIterable does PositionalBindFailover {
src/core/HyperWorkBuffer.pm#L5 my class HyperWorkBuffer {
src/core/IO.pm#L1 my role IO {
src/core/IO/ArgFiles.pm#L1 my class IO::ArgFiles is IO::CatHandle {
src/core/IO/CatHandle.pm#L1 my class IO::CatHandle is IO::Handle {
src/core/IO/Handle.pm#L5 my class IO::Handle {
src/core/IO/Handle.pm#L8-L10 has $.chomp is rw = Bool::True;
has $.nl-in = ["\x0A", "\r\n"];
has Str:D $.nl-out is rw = "\n";
src/core/IO/Handle.pm#L15 submethod TWEAK (:$encoding, :$bin) {
src/core/IO/Handle.pm#L22 method open(IO::Handle:D:
src/core/IO/Handle.pm#L32-L34 :$chomp = $!chomp,
:$nl-in is copy = $!nl-in,
Str:D :$nl-out is copy = $!nl-out,
src/core/IO/Handle.pm#L37 nqp::if(
src/core/IO/Handle.pm#L40 nqp::isconcrete($enc) && X::IO::BinaryAndEncoding.new.throw,
src/core/IO/Handle.pm#L46 my int $buffer-size = nqp::istype($buffer, Bool)
src/core/IO/Handle.pm#L50 $mode = nqp::if(
src/core/IO/Handle.pm#L55 nqp::stmts(($create = True), 'rw'),
src/core/IO/Handle.pm#L58 nqp::stmts(($create = $exclusive = True), 'rw'),
src/core/IO/Handle.pm#L61 nqp::stmts(($create = $append = True), 'rw'),
src/core/IO/Handle.pm#L66 nqp::stmts(($create = $truncate = True), 'wo'),
src/core/IO/Handle.pm#L69 nqp::stmts(($create = $exclusive = True), 'wo'),
src/core/IO/Handle.pm#L72 nqp::stmts(($create = $append = True), 'wo'),
src/core/IO/Handle.pm#L86 nqp::if(
src/core/IO/Handle.pm#L112 return $*OUT.open: :w, :$enc,
src/core/IO/Handle.pm#L116-L119 if nqp::istype($!path, IO::Special) {
my $what := $!path.what;
if $what eq '<STDIN>' {
$!PIO := nqp::getstdin();
src/core/IO/Handle.pm#L122 $!PIO := nqp::getstdout();
src/core/IO/Handle.pm#L128 die "Don't know how to open '$_' especially";
src/core/IO/Handle.pm#L132-L136 if nqp::isconcrete($enc) {
my $encoding = Encoding::Registry.find($enc);
$!decoder := $encoding.decoder(:translate-nl);
$!decoder.set-line-separators(($!nl-in = $nl-in).list);
$!encoder := $encoding.encoder(:translate-nl);
src/core/IO/Handle.pm#L184 self;
src/core/IO/Handle.pm#L386 method !LINES-ITERATOR (IO::Handle:D:) {
src/core/IO/Handle.pm#L546 method write-internal(IO::Handle:D: Blob:D $buf --> True) {
src/core/IO/Handle.pm#L577-L580 proto method print(|) { * }
multi method print(IO::Handle:D: Str:D \x --> True) {
$!decoder or die X::IO::BinaryMode.new(:trying<print>);
self.write-internal($!encoder.encode-chars(x));
src/core/IO/Handle.pm#L760 Rakudo::Internals.REGISTER-DYNAMIC: '$*DEFAULT-READ-ELEMS', {
src/core/IO/Notification.pm#L6-L7 my class IO::Notification {
my class FileWatchCancellation is repr('AsyncTask') { }
src/core/IO/Notification.pm#L9 class Change {
src/core/IO/Path.pm#L3 my class IO::Path is Cool does IO {
src/core/IO/Path.pm#L84 ) is pure {
src/core/IO/Path.pm#L105 my sub EXTENSION-SUBST ($ext, $base, $subst, $joiner) is pure {
src/core/IO/Path.pm#L741 my class IO::Path::Cygwin is IO::Path {
src/core/IO/Path.pm#L747 my class IO::Path::QNX is IO::Path {
src/core/IO/Path.pm#L753 my class IO::Path::Unix is IO::Path {
src/core/IO/Path.pm#L759 my class IO::Path::Win32 is IO::Path {
src/core/IO/Pipe.pm#L1 my class IO::Pipe is IO::Handle {
src/core/IO/Socket.pm#L1 my role IO::Socket {
src/core/IO/Socket/Async.pm#L1-L2 my class IO::Socket::Async {
my class SocketCancellation is repr('AsyncTask') { }
src/core/IO/Socket/Async.pm#L37 my sub capture(\supply) {
src/core/IO/Socket/INET.pm#L1-L2 my class IO::Socket::INET does IO::Socket {
my module PIO {
src/core/IO/Socket/INET.pm#L31 my sub split-host-port(:$host is copy, :$port is copy, :$family) {
src/core/IO/Socket/INET.pm#L49 my sub v4-split($uri) {
src/core/IO/Socket/INET.pm#L53 my sub v6-split($uri) {
src/core/IO/Spec.pm#L3 my class IO::Spec {
src/core/IO/Spec.pm#L19 method select(IO::Spec:U: $token?) {
src/core/IO/Spec.pm#L25 PROCESS::<$SPEC> = IO::Spec.select;
src/core/IO/Spec/Cygwin.pm#L1 my class IO::Spec::Cygwin is IO::Spec::Unix {
src/core/IO/Spec/QNX.pm#L1 my class IO::Spec::QNX is IO::Spec::Unix {
src/core/IO/Spec/Unix.pm#L1 my class IO::Spec::Unix is IO::Spec {
src/core/IO/Spec/Win32.pm#L1 my class IO::Spec::Win32 is IO::Spec::Unix {
src/core/IO/Spec/Win32.pm#L4-L8 my $slash = regex { <[\/ \\]> }
my $notslash = regex { <-[\/ \\]> }
my $driveletter = regex { <[A..Z a..z]> ':' }
my $UNCpath = regex { [<$slash> ** 2] <$notslash>+ <$slash> [<$notslash>+ | $] }
my $volume_rx = regex { <$driveletter> | <$UNCpath> }
src/core/IO/Special.pm#L1 class IO::Special does IO {
src/core/IO/Special.pm#L4 method new(\what) {
src/core/IO/Special.pm#L8 multi method Str (IO::Special:D:) { $!what }
src/core/Instant.pm#L5 my class Instant is Cool does Real {
src/core/Instant.pm#L119 Rakudo::Internals.REGISTER-DYNAMIC: '$*INITTIME', {
src/core/Int.pm#L8 my class Int does Real { # declared in BOOTSTRAP
src/core/Int.pm#L37 method Int() { self }
src/core/Int.pm#L39 multi method Str(Int:D:) {
src/core/Int.pm#L245-L246 multi sub infix:<+>(Int:D \a, Int:D \b --> Int:D) {
nqp::add_I(nqp::decont(a), nqp::decont(b), Int);
src/core/Int.pm#L259-L260 multi sub infix:<*>(Int:D \a, Int:D \b --> Int:D) {
nqp::mul_I(nqp::decont(a), nqp::decont(b), Int);
src/core/Int.pm#L266 multi sub infix:<div>(Int:D \a, Int:D \b) {
src/core/Int.pm#L322-L323 multi sub infix:<gcd>(Int:D \a, Int:D \b --> Int:D) {
nqp::gcd_I(nqp::decont(a), nqp::decont(b), Int);
src/core/Int.pm#L340 multi sub infix:<==>(Int:D \a, Int:D \b) {
src/core/Int.pm#L351 multi sub infix:«<»(Int:D \a, Int:D \b) {
src/core/Int.pm#L365 multi sub infix:«>»(Int:D \a, Int:D \b) {
src/core/Iterable.pm#L18-L19 method flat(Iterable:D:) {
Seq.new(class :: does Iterator {
src/core/Iterable.pm#L23 method new(\source) {
src/core/Iterable.pm#L27 method pull-one() is raw {
src/core/Iterable.pm#L53 method push-all($target --> IterationEnd) {
src/core/Iterable.pm#L55 nqp::if(
src/core/Iterable.pm#L62 nqp::until(
src/core/Iterable.pm#L76 method is-lazy() { $!source.is-lazy }
src/core/IterationBuffer.pm#L13 my class IterationBuffer {
src/core/IterationBuffer.pm#L22 multi method push(IterationBuffer:D: Mu \value) {
src/core/Iterator.pm#L5 my role Iterator {
src/core/Iterator.pm#L69 method push-until-lazy($target) {
src/core/Iterator.pm#L127 method is-lazy(--> False) { }
src/core/JSON/Pretty.pm#L6 sub from-json($text) {
src/core/Junction.pm#L1 my class Junction { # declared in BOOTSTRAP
src/core/Junction.pm#L306 sub any (+values) is pure { values.any }
src/core/Junction.pm#L325-L326 nqp::p6setautothreader(&AUTOTHREAD);
Mu.HOW.setup_junction_fallback(Junction, &AUTOTHREAD_METHOD);
src/core/Kernel.pm#L6 class Kernel does Systemic {
src/core/Kernel.pm#L12 sub uname($opt) {
src/core/Kernel.pm#L163 Rakudo::Internals.REGISTER-DYNAMIC: '$*KERNEL', {
src/core/Label.pm#L1 my class Label {
src/core/List.pm#L5 my class List does Iterable does Positional { # declared in BOOTSTRAP
src/core/List.pm#L18 class Reifier {
src/core/List.pm#L98 method reify-until-lazy() {
src/core/List.pm#L100 nqp::if(
src/core/List.pm#L110 nqp::if(
src/core/List.pm#L113 nqp::while(
src/core/List.pm#L126 last
src/core/List.pm#L132 nqp::unless(
src/core/List.pm#L142 method reify-all() {
src/core/List.pm#L144 nqp::if(
src/core/List.pm#L166 nqp::elems($!reified)
src/core/List.pm#L170 method fully-reified() {
src/core/List.pm#L182 method from-iterator(List:U: Iterator $iter) {
src/core/List.pm#L275 method from-slurpy-flat(|) {
src/core/List.pm#L285 nqp::while(
src/core/List.pm#L304 nqp::if(
src/core/List.pm#L321 nqp::bindattr($todo,List::Reifier,'$!reification-target',
src/core/List.pm#L324 nqp::bindattr($todo,List::Reifier,'$!future',
src/core/List.pm#L328 nqp::unless(
src/core/List.pm#L332 $result
src/core/List.pm#L358-L359 multi method Bool(List:D:) {
nqp::p6bool(
src/core/List.pm#L458 multi method elems(List:D:) is nodal {
src/core/List.pm#L467 nqp::elems($!reified)
src/core/List.pm#L571 method iterator(List:D:) {
src/core/List.pm#L576 class :: does Iterator {
src/core/List.pm#L692 multi method list(List:D:) { self }
src/core/List.pm#L696 method sink(--> Nil) { }
src/core/List.pm#L726-L727 proto method STORE(|) { * }
multi method STORE(List:D: Iterable:D \iterable) {
src/core/List.pm#L731-L733 my \cv = nqp::list();
my \lhs-iter = self.iterator;
my \rhs-iter = iterable.iterator;
src/core/List.pm#L740 nqp::until(
src/core/List.pm#L746 nqp::if(
src/core/List.pm#L789 nqp::shift(cv) = nqp::shift(cv) while nqp::elems(cv);
src/core/List.pm#L860 method eager {
src/core/List.pm#L862 nqp::if(
src/core/List.pm#L920 multi method is-lazy(List:D:) {
src/core/List.pm#L925 nqp::if(
src/core/List.pm#L1149 method join(List:D: Str(Cool) $separator = '') is nodal {
src/core/List.pm#L1162 nqp::if(
src/core/List.pm#L1169 nqp::while(
src/core/List.pm#L1186 nqp::p6box_s(nqp::join($separator,$strings))
src/core/List.pm#L1327 proto sub infix:<,>(|) is pure {*}
src/core/List.pm#L1329 multi sub infix:<,>(|) {
src/core/List.pm#L1332 my \in := nqp::p6argvmarray();
src/core/List.pm#L1335 nqp::while(
src/core/List.pm#L1341 nqp::if(
src/core/List.pm#L1360 $list
src/core/List.pm#L1385 proto sub infix:<xx>(|) { * }
src/core/List.pm#L1391 multi sub infix:<xx>(&x, Whatever) {
src/core/Lock.pm#L2 my class X::Lock::ConditionVariable::New is Exception {
src/core/Lock.pm#L7-L8 my class Lock {
class ConditionVariable is repr('ConditionVariable') {
src/core/Lock.pm#L17 method new() { nqp::create(self) }
src/core/Lock.pm#L23-L26 method protect(Lock:D: &code) {
nqp::lock(self);
LEAVE nqp::unlock(self);
code()
src/core/Macro.pm#L1 my class Macro is Routine {
src/core/Map.pm#L3 my class Map does Iterable does Associative { # declared in BOOTSTRAP
src/core/Map.pm#L40-L41 multi method Bool(Map:D:) {
nqp::p6bool(nqp::defined($!storage) && nqp::elems($!storage));
src/core/Map.pm#L108-L109 multi method EXISTS-KEY(Map:D: Str:D \key) {
nqp::p6bool(
src/core/Map.pm#L259-L260 method STORE(\to_store) {
my $temp := nqp::p6bindattrinvres(
src/core/Map.pm#L266 my $iter := to_store.iterator;
src/core/Map.pm#L270 nqp::until(
src/core/Map.pm#L300 proto method STORE_AT_KEY(|) { * }
src/core/Map.pm#L315-L316 method FLATTENABLE_LIST() { nqp::list() }
method FLATTENABLE_HASH() {
src/core/Match.pm#L1 my class Match is Capture is Cool does NQPMatchRole {
src/core/Match.pm#L419 sub MAKE_REGEX($arg, int $i, int $m, int $monkey, $context) {
src/core/Metamodel/Primitives.pm#L1 my class Metamodel::Primitives {
src/core/Method.pm#L1 my class Method { # declared in BOOTSTRAP
src/core/Mix.pm#L1 my class Mix does Mixy {
src/core/MixHash.pm#L1 my class MixHash does Mixy {
src/core/MixHash.pm#L82 sub proxy(Mu \iter,Mu \storage) is raw {
src/core/Mixy.pm#L1 my role Mixy does Baggy {
src/core/Mu.pm#L6 my class Mu { # declared in BOOTSTRAP
src/core/Mu.pm#L10 method sink(--> Nil) { }
src/core/Mu.pm#L20 method WHERE() {
src/core/Mu.pm#L99 proto method Bool() {*}
src/core/Mu.pm#L106 method defined() {
src/core/Mu.pm#L110-L111 proto method new(|) { * }
multi method new(*%) {
src/core/Mu.pm#L118 proto method is-lazy (|) { * }
src/core/Mu.pm#L125 method bless(*%attrinit) {
src/core/Mu.pm#L129 proto method BUILDALL(|) { * }
src/core/Mu.pm#L137-L138 multi method BUILDALL(%attrinit) {
my $init := nqp::getattr(%attrinit,Map,'$!storage');
src/core/Mu.pm#L142 my $bp := nqp::findmethod(self.HOW,'BUILDALLPLAN')(self.HOW, self);
src/core/Mu.pm#L152 nqp::while(
src/core/Mu.pm#L188 (attr = nqp::atpos($task,3)(self,attr))
src/core/Mu.pm#L285 nqp::while(
src/core/Mu.pm#L525 proto method Str(|) { * }
src/core/Mu.pm#L542 proto method Stringy(|) { * }
src/core/Mu.pm#L547 multi method Stringy(Mu:D $:) { self.Str }
src/core/Mu.pm#L929 proto sub infix:<=:=>(Mu $?, Mu $?) is pure { * }
src/core/Mu.pm#L931 multi sub infix:<=:=>(Mu \a, Mu \b) {
src/core/Mu.pm#L1048 Metamodel::ClassHOW.exclude_parent(Mu);
src/core/Nil.pm#L3 my class Nil is Cool { # declared in BOOTSTRAP
src/core/Num.pm#L4 my class Num does Real { # declared in BOOTSTRAP
src/core/Num.pm#L605 multi sub sqrt(num $a --> num) {
src/core/Numeric.pm#L35 multi sub infix:<eqv>(Numeric:D \a, Numeric:D \b) {
src/core/Numeric.pm#L189 proto sub infix:<+>(Mu $?, Mu $?) is pure { * }
src/core/Numeric.pm#L197 proto sub infix:<*>(Mu $?, Mu $?) is pure { * }
src/core/Numeric.pm#L210 proto sub infix:<div>(Mu $?, Mu $?) is pure { * }
src/core/Numeric.pm#L254 proto sub infix:<gcd>(Mu $?, Mu $?) is pure { * }
src/core/Numeric.pm#L271 proto sub infix:<==>(Mu $?, Mu $?) is pure { * }
src/core/Numeric.pm#L296 proto sub infix:«<»(Mu $?, Mu $?) is pure { * }
src/core/Numeric.pm#L307 proto sub infix:«>»(Mu $?, Mu $?) is pure { * }
src/core/ObjAt.pm#L1 my class ObjAt { # declared in BOOTSTRAP
src/core/Pair.pm#L1 my class Pair does Associative {
src/core/Pair.pm#L5 proto method new(|) { * }
src/core/Pair.pm#L7 multi method new(Pair: Cool:D \key, Mu \value) {
src/core/Pair.pm#L105 sub infix:«=>»(Mu $key, Mu \value) is pure {
src/core/Parameter.pm#L1 my class Parameter { # declared in BOOTSTRAP
src/core/Parameter.pm#L414 multi sub infix:<eqv>(Parameter:D \a, Parameter:D \b) {
src/core/Perl.pm#L1 class Perl does Systemic {
src/core/Perl.pm#L28 Rakudo::Internals.REGISTER-DYNAMIC: '$*PERL', {
src/core/Pod.pm#L1 my class Pod::Block {
src/core/Pod.pm#L7 sub pod-gist(Pod::Block $pod, $level = 0) {
src/core/Pod.pm#L39 my class Pod::Block::Para is Pod::Block {
src/core/Pod.pm#L42 my class Pod::Block::Named is Pod::Block {
src/core/Pod.pm#L46 my class Pod::Block::Comment is Pod::Block { }
src/core/Pod.pm#L48 my class Pod::Block::Code is Pod::Block {
src/core/Pod.pm#L52 my class Pod::Block::Declarator is Pod::Block {
src/core/Pod.pm#L93 my class Pod::Block::Table is Pod::Block {
src/core/Pod.pm#L98 my class Pod::FormattingCode is Pod::Block {
src/core/Pod.pm#L103 my class Pod::Heading is Pod::Block {
src/core/Pod.pm#L107 my class Pod::Item is Pod::Block {
src/core/Pod.pm#L111 class Pod::Config {
src/core/Pod.pm#L117 class Pod::Raw {
src/core/Proc.pm#L4 my class Proc {
src/core/Proc/Async.pm#L3 my role X::Proc::Async is Exception {
src/core/Proc/Async.pm#L7 my class X::Proc::Async::TapBeforeSpawn does X::Proc::Async {
src/core/Proc/Async.pm#L14 my class X::Proc::Async::SupplyOrStd does X::Proc::Async {
src/core/Proc/Async.pm#L21 my class X::Proc::Async::BindOrUse does X::Proc::Async {
src/core/Proc/Async.pm#L29 my class X::Proc::Async::CharsOrBytes does X::Proc::Async {
src/core/Proc/Async.pm#L36 my class X::Proc::Async::AlreadyStarted does X::Proc::Async {
src/core/Proc/Async.pm#L42 my class X::Proc::Async::MustBeStarted does X::Proc::Async {
src/core/Proc/Async.pm#L49 my class X::Proc::Async::OpenForWriting does X::Proc::Async {
src/core/Proc/Async.pm#L56 my class Proc::Async {
src/core/Proc/Async.pm#L59-L60 class Pipe is Supply {
my class PermitOnTap does Tappable {
src/core/Proc/Async.pm#L90 my class ProcessCancellation is repr('AsyncTask') { }
src/core/Proc/Async.pm#L421 my $kill-lock = Lock.new;
src/core/Process.pm#L1 Rakudo::Internals.REGISTER-DYNAMIC: '$*RAKUDO_MODULE_DEBUG', {
src/core/Process.pm#L14 Rakudo::Internals.REGISTER-DYNAMIC: '$*PID', {
src/core/Process.pm#L18 Rakudo::Internals.REGISTER-DYNAMIC: '$*EXECUTABLE', {
src/core/Process.pm#L32 Rakudo::Internals.REGISTER-DYNAMIC: '$*EXECUTABLE-NAME', {
src/core/Process.pm#L36 Rakudo::Internals.REGISTER-DYNAMIC: '$*PROGRAM-NAME', {
src/core/Process.pm#L40 Rakudo::Internals.REGISTER-DYNAMIC: '$*PROGRAM', {
src/core/Process.pm#L44 Rakudo::Internals.REGISTER-DYNAMIC: '$*TMPDIR', {
src/core/Process.pm#L48 Rakudo::Internals.REGISTER-DYNAMIC: '$*TOLERANCE', {
src/core/Process.pm#L52 Rakudo::Internals.REGISTER-DYNAMIC: '$*REPO', {
src/core/Process.pm#L61 Rakudo::Internals.REGISTER-DYNAMIC: '$*HOME', {
src/core/Process.pm#L77 {
src/core/Process.pm#L100-L101 Rakudo::Internals.REGISTER-DYNAMIC: '$*USER', { fetch('$USER') };
Rakudo::Internals.REGISTER-DYNAMIC: '$*GROUP', { fetch('$GROUP') };
src/core/Promise.pm#L5 my class X::Promise::Combinator is Exception {
src/core/Promise.pm#L9 my class X::Promise::CauseOnlyValidOnBroken is Exception {
src/core/Promise.pm#L14 my class X::Promise::Vowed is Exception {
src/core/Promise.pm#L18 my role X::Promise::Broken {
src/core/Promise.pm#L27 my class Promise does Awaitable {
src/core/Promise.pm#L48 my class Vow {
src/core/Promise.pm#L169 my class PromiseAwaitableHandle does Awaitable::Handle {
src/core/PseudoStash.pm#L4 my class PseudoStash is Map {
src/core/PseudoStash.pm#L15 method new() {
src/core/PseudoStash.pm#L23 my %pseudoers =
src/core/PseudoStash.pm#L156 multi method AT-KEY(PseudoStash:D: Str() $key) is raw {
src/core/PseudoStash.pm#L178 $res
src/core/PseudoStash.pm#L219 method EXISTS-KEY(PseudoStash:D: Str() $key) {
src/core/QuantHash.pm#L1 my role QuantHash does Associative {
src/core/REPL.pm#L3-L4 do {
my sub sorted-set-insert(@values, $value) {
src/core/REPL.pm#L164 class REPL {
src/core/REPL.pm#L177 sub do-mixin($self, Str $module-name, $behavior, Str :$fallback) {
src/core/REPL.pm#L202 sub mixin-readline($self, |c) {
src/core/REPL.pm#L206 sub mixin-linenoise($self, |c) {
src/core/REPL.pm#L210 sub mixin-line-editor($self) {
src/core/Rakudo/Internals.pm#L15 my class Rakudo::Internals {
src/core/Rakudo/Internals.pm#L138-L139 method createENV(int $bind) {
nqp::stmts(
src/core/Rakudo/Internals.pm#L142 nqp::while(
src/core/Rakudo/Internals.pm#L154 nqp::p6bindattrinvres(
src/core/Rakudo/Internals.pm#L301 method TRANSPOSE(Str:D $string, Str:D $original, Str:D $final) {
src/core/Rakudo/Internals.pm#L333 method SHAPED-ARRAY-STORAGE(\spec, Mu \meta-obj, Mu \type) {
src/core/Rakudo/Internals.pm#L493 our class SupplySequencer {
src/core/Rakudo/Internals.pm#L543 my int $sprintfHandlerInitialized = 0;
src/core/Rakudo/Internals.pm#L597-L598 my $IS-WIN = do {
my str $os = Rakudo::Internals.TRANSPOSE(nqp::lc(
src/core/Rakudo/Internals.pm#L606 nqp::p6bool(
src/core/Rakudo/Internals.pm#L613 method IS-WIN() { $IS-WIN }
src/core/Rakudo/Internals.pm#L880 method REGISTER-DYNAMIC(Str:D \name, &code, Str $version = '6.c' --> Nil) {
src/core/Rakudo/Internals.pm#L884 nqp::stmts(
src/core/Rakudo/Internals.pm#L886 nqp::if(
src/core/Rakudo/Internals.pm#L894 nqp::unless( # first come, first kept
src/core/Rakudo/Internals.pm#L1256 our class CompilerServices {
src/core/Rakudo/Internals.pm#L1338 sub SUCC-NOT-SO-SIMPLE(str \string, int \pos) {
src/core/Rakudo/Internals.pm#L1389 sub PRED-NOT-SO-SIMPLE(str \string, int \pos) {
src/core/Rakudo/Internals.pm#L1532 Rakudo::Internals.REGISTER-DYNAMIC: '&*EXIT', {
src/core/Rakudo/Internals.pm#L1545 sub exit($status = 0) { &*EXIT($status) }
src/core/Rakudo/Internals/JSON.pm#L1 my class JSONException is Exception {
src/core/Rakudo/Internals/JSON.pm#L9-L10 my class Rakudo::Internals::JSON {
my class JSONPrettyActions {
src/core/Rakudo/Internals/JSON.pm#L64 my grammar JSONPrettyGrammar {
src/core/Rakudo/Internals/JSON.pm#L100 proto sub to-json(|) {*}
src/core/Rakudo/Iterator.pm#L11 class Rakudo::Iterator {
src/core/Rakudo/Iterator.pm#L664-L665 method Callable-xx-Whatever(&code) {
class :: does Iterator {
src/core/Rakudo/Iterator.pm#L668 method new(\code) {
src/core/Rakudo/Iterator.pm#L671 method pull-one() {
src/core/Rakudo/Iterator.pm#L2388-L2389 method ReifiedArray(\array) {
class :: does Iterator {
src/core/Rakudo/Iterator.pm#L2394-L2395 method !SET-SELF(\array) {
nqp::stmts(
src/core/Rakudo/Iterator.pm#L2402 method new(\array) { nqp::create(self)!SET-SELF(array) }
src/core/Rakudo/Iterator.pm#L2404-L2405 method pull-one() is raw {
nqp::ifnull(
src/core/Rakudo/Iterator.pm#L2459-L2460 method ReifiedList(\list) {
class :: does Iterator {
src/core/Rakudo/Iterator.pm#L2464-L2465 method !SET-SELF(\list) {
nqp::stmts(
src/core/Rakudo/Iterator.pm#L2474 method new(\list) { nqp::create(self)!SET-SELF(list) }
src/core/Rakudo/Iterator.pm#L2476-L2477 method pull-one() is raw {
nqp::ifnull(
src/core/Rakudo/Iterator.pm#L2486-L2487 method push-all($target --> IterationEnd) {
nqp::stmts(
src/core/Rakudo/Iterator.pm#L2490 nqp::while( # doesn't sink
src/core/Rakudo/Metaops.pm#L15 class Rakudo::Metaops {
src/core/Rakudo/Metaops.pm#L17 my $mappers := nqp::hash(
src/core/Rakudo/QuantHash.pm#L3 my class Rakudo::QuantHash {
src/core/Rakudo/QuantHash.pm#L32 method ROLL(Mu \elems) {
src/core/Rakudo/Sorting.pm#L1 my class Rakudo::Sorting {
src/core/Rakudo/Sorting.pm#L4 sub IB2(Mu \one,Mu \two --> IterationBuffer) {
src/core/Range.pm#L4 my class Range is Cool does Iterable does Positional {
src/core/Rat.pm#L2 my class Rat is Cool does Rational[Int, Int] {
src/core/Rat.pm#L26 my class FatRat is Cool does Rational[Int, Int] {
src/core/Rational.pm#L24 method new(NuT \nu = 0, DeT \de = 1) {
src/core/Rational.pm#L28 if de == 0 {
src/core/Rational.pm#L30 nqp::bindattr($new,::?CLASS,'$!denominator',nqp::decont(de));
src/core/Rational.pm#L34-L38 else {
my $gcd := nu gcd de;
my $numerator = nu div $gcd;
my $denominator = de div $gcd;
if $denominator < 0 {
src/core/Rational.pm#L40 $denominator = -$denominator;
src/core/Real.pm#L130 proto sub cis($) {*}
src/core/Regex.pm#L1 my class Regex { # declared in BOOTSTRAP
src/core/Regex.pm#L9 my $cursor-init := Match.^lookup("!cursor_init");
src/core/Routine.pm#L3 my role HardRoutine {
src/core/Routine.pm#L10 my class Routine { # declared in BOOTSTRAP
src/core/Routine.pm#L23 method onlystar() { nqp::p6bool($!onlystar) }
src/core/SLICE.pm#L645-L646 sub SLICE_MORE_HASH(\SELF,$more,$key,$value,%adv) {
my Mu $d := nqp::clone(nqp::getattr(%adv,Map,'$!storage'));
src/core/SLICE.pm#L649 sub HANDLED($key) {
src/core/SLICE.pm#L655 $value
src/core/SLICE.pm#L662 my \result = do {
src/core/SLICE.pm#L664 if HANDLED('delete') { # :delete:*
src/core/SLICE.pm#L778 @nogo = <delete>;
src/core/SLICE.pm#L854-L859 elsif nqp::existskey($d,'k') { # :!delete?:k(0|1):*
my $k := HANDLED('k');
if nqp::elems($d) == 0 { # :!delete?:k(0|1)
$k
?? $more.cache.flatmap( {
next unless SELF.EXISTS-KEY($_);
src/core/SLICE.pm#L885 $more.cache.flatmap( { SELF.AT-KEY($_) } ).eager.list;
src/core/SLICE.pm#L889 @nogo || nqp::elems($d)
src/core/Scalar.pm#L1 my class Scalar { # declared in BOOTSTRAP
src/core/Scalar.pm#L31-L39 my class IntLexRef { }
my class NumLexRef { }
my class StrLexRef { }
my class IntAttrRef { }
my class NumAttrRef { }
my class StrAttrRef { }
my class IntPosRef { }
my class NumPosRef { }
my class StrPosRef { }
src/core/Scheduler.pm#L5 my role Scheduler {
src/core/Semaphore.pm#L1 my class Semaphore is repr('Semaphore') {
src/core/Seq.pm#L19 my role PositionalBindFailover {
src/core/Seq.pm#L34-L35 Routine.'!configure_positional_bind_failover'(Positional, PositionalBindFailover); # Multi-dispatch
my class Seq is Cool does Iterable does PositionalBindFailover {
src/core/Seq.pm#L42 method new(Iterator:D $iter) {
src/core/Seq.pm#L50 method iterator(Seq:D:) {
src/core/Seq.pm#L55 iter
src/core/Seq.pm#L77 multi method eager(Seq:D:) { List.from-iterator(self.iterator).eager }
src/core/Set.pm#L1 my class Set does Setty {
src/core/SetHash.pm#L1 my class SetHash does Setty {
src/core/SetHash.pm#L83 sub proxy(Mu \iter,Mu \storage) is raw {
src/core/Setty.pm#L283 multi sub infix:<eqv>(Setty:D \a, Setty:D \b --> Bool:D) {
src/core/ShapedNArray.pm#L6 sub set-shape(\base, \shape) is raw {
src/core/Signature.pm#L1 my class Signature { # declared in BOOTSTRAP
src/core/Signature.pm#L205-L206 Perl6::Metamodel::Configuration.set_multi_sig_comparator(
-> \a, \b { a.signature eqv b.signature }
src/core/Slang.pm#L1 class Slang {
src/core/Slip.pm#L3 my class Slip { # is List
src/core/Stash.pm#L1 my class Stash { # declared in BOOTSTRAP
src/core/Stash.pm#L5 multi method AT-KEY(Stash:D: Str:D $key) is raw {
src/core/Stash.pm#L12 -> { nqp::bindkey(
src/core/Str.pm#L14 my class Str does Stringy { # declared in BOOTSTRAP
src/core/Str.pm#L43 multi method Str(Str:D:) { self }
src/core/Str.pm#L505-L506 my \POST-MATCH := Match.^lookup("MATCH" ); # Match object
my \POST-STR := Match.^lookup("STR" ); # Str object
src/core/Str.pm#L509 class POST-ITERATOR does Iterator {
src/core/Str.pm#L549 class CURSOR-ITERATOR does Iterator {
src/core/Str.pm#L587 sub fetch-short-long(\opts, str $short, str $long, \store --> Nil) {
src/core/Str.pm#L620 sub die-before-first($got) {
src/core/Str.pm#L2330 my class LSM {
src/core/Str.pm#L2744-L2745 proto method lc(|) { * }
multi method lc(Str:D:) {
src/core/Str.pm#L2760-L2761 proto method fc(|) { * }
multi method fc(Str:D:) {
src/core/Str.pm#L2797-L2798 multi sub infix:<~>(Str:D \a, Str:D \b --> Str:D) {
nqp::p6box_s(nqp::concat(nqp::unbox_s(a), nqp::unbox_s(b)))
src/core/Str.pm#L2836-L2837 multi sub infix:<eq>(Str:D \a, Str:D \b --> Bool:D) {
nqp::p6bool(nqp::iseq_s(nqp::unbox_s(a), nqp::unbox_s(b)))
src/core/StrDistance.pm#L1 my class StrDistance is Cool {
src/core/Stringy.pm#L19 proto sub infix:<~>(|) is pure { * }
src/core/Stringy.pm#L37 proto sub infix:<eq>(Mu $?, Mu $?) is pure { * }
src/core/Sub.pm#L1 my class Sub { # declared in BOOTSTRAP
src/core/Submethod.pm#L1 my class Submethod { # declared in BOOTSTRAP
src/core/Supply.pm#L3 my class Tap {
src/core/Supply.pm#L28 my role Tappable {
src/core/Supply.pm#L36 my class X::Supply::Combinator is Exception {
src/core/Supply.pm#L40 my class X::Supply::Migrate::Needs is Exception {
src/core/Supply.pm#L45 my class X::Supply::New is Exception {
src/core/Supply.pm#L59 my class Supply does Awaitable {
src/core/Supply.pm#L75 my \DISCARD = -> $ {};
src/core/Supply.pm#L77 my \DEATH = -> $ex { $ex.throw };
src/core/Supply.pm#L165 method serialize(Supply:D:) {
src/core/Supply.pm#L588 my class ConcQueue is repr('ConcBlockingQueue') { }
src/core/Supply.pm#L624 my class SupplyAwaitableHandle does Awaitable::Handle {
src/core/Supply.pm#L1416-L1418 my class Supplier {
my class TapList does Tappable {
my class TapListEntry {
src/core/Supply.pm#L1522-L1524 my class Supplier::Preserving is Supplier {
my class PreservingTapList does Tappable {
my class TapListEntry {
src/core/Systemic.pm#L1 role Systemic {
src/core/Thread.pm#L4 my class Thread {
src/core/Thread.pm#L73 Rakudo::Internals.REGISTER-DYNAMIC: '$*THREAD', {
src/core/ThreadPoolScheduler.pm#L5 my class ThreadPoolScheduler does Scheduler {
src/core/ThreadPoolScheduler.pm#L8 class ThreadPoolAwaiter does Awaiter {
src/core/ThreadPoolScheduler.pm#L129 my class Queue is repr('ConcBlockingQueue') { }
src/core/ThreadPoolScheduler.pm#L193 submethod BUILD(
src/core/ThreadPoolScheduler.pm#L195 Int :$!max_threads = (%*ENV<RAKUDO_MAX_THREADS> // 16).Int
src/core/ThreadPoolScheduler.pm#L198 die "Initial thread pool threads ($!initial_threads) must be less than or equal to maximum threads ($!max_threads)"
src/core/ThreadPoolScheduler.pm#L297 multi to-millis(Int $value) {
src/core/ThreadPoolScheduler.pm#L321 PROCESS::<$SCHEDULER> = ThreadPoolScheduler.new();
src/core/UInt64.pm#L1 my Int $UINT64_UPPER = nqp::pow_I(2, 64, Num, Int);
src/core/Uni.pm#L6 my class Uni does Positional[uint32] does Stringy is repr('VMArray') is array_type(uint32) {
src/core/Uni.pm#L95 my class NFD is Uni {
src/core/Uni.pm#L103 my class NFC is Uni {
src/core/Uni.pm#L111 my class NFKD is Uni {
src/core/Uni.pm#L119 my class NFKC is Uni {
src/core/VM.pm#L7 class VM does Systemic {
src/core/VM.pm#L72-L73 proto method osname(|) { * }
multi method osname(VM:U:) {
src/core/VM.pm#L123 Rakudo::Internals.REGISTER-DYNAMIC: '$*VM', {
src/core/Variable.pm#L10 my class Variable {
src/core/Version.pm#L1 class Version {
src/core/Version.pm#L6 method !SET-SELF(\parts,\plus,\string) {
src/core/Version.pm#L15 INIT nqp::create(Version)!SET-SELF(nqp::list,0,"") # should be once
src/core/Version.pm#L19 INIT nqp::create(Version)!SET-SELF(nqp::list(*),-1,"*") # should be once
src/core/Version.pm#L28 INIT nqp::create(Version)!SET-SELF(nqp::list(6),0,"6") # should be once
src/core/Version.pm#L31 INIT nqp::create(Version)!SET-SELF(nqp::list(6,"c"),0,"6.c") # should be once
src/core/Version.pm#L61 INIT nqp::create(Version)!SET-SELF(nqp::list,1,"") # should be once
src/core/Whatever.pm#L3 my class Whatever {
src/core/Whatever.pm#L9 my class HyperWhatever {
src/core/WhateverCode.pm#L1 my class WhateverCode is Code {
src/core/allomorphs.pm#L2-L3 my class IntStr is Int is Str {
method new(Int $i, Str $s) {
src/core/allomorphs.pm#L24 my class NumStr is Num is Str {
src/core/allomorphs.pm#L47 my class RatStr is Rat is Str {
src/core/allomorphs.pm#L71 my class ComplexStr is Complex is Str {
src/core/allomorphs.pm#L151 multi sub val(*@maybevals) {
src/core/allomorphs.pm#L178 multi sub val(Str:D $MAYBEVAL, :$val-or-fail) {
src/core/allomorphs.pm#L185 my str $str = nqp::unbox_s($MAYBEVAL);
src/core/allomorphs.pm#L187 return IntStr.new(0,"") unless $eos; # handle ""
src/core/allomorphs.pm#L194 $end = nqp::sub_i($end, 1)
src/core/allomorphs.pm#L200-L201 my &parse_fail := -> \msg {
$val-or-fail
src/core/allomorphs.pm#L207 parse_fail "Empty string not properly caught before val()" if nqp::islt_i($end, $pos);
src/core/allomorphs.pm#L214-L215 my &parse_win := -> \newval {
$val-or-fail
src/core/allomorphs.pm#L228 my sub parse-simple-number() {
src/core/allomorphs.pm#L230 if nqp::eqat($str,'NaN',$pos) {
src/core/allomorphs.pm#L232 return nqp::p6box_n(nqp::nan());
src/core/allomorphs.pm#L237 my int $neg = nqp::iseq_i($ch, 45) || nqp::iseq_i($ch, 8722); # '-', '−'
src/core/allomorphs.pm#L240 $ch = nqp::islt_i($pos, $eos) && nqp::ord($str, $pos);
src/core/allomorphs.pm#L249 my sub parse-int-frac-exp() {
src/core/allomorphs.pm#L251 my Int $int := 0;
src/core/allomorphs.pm#L253 parse_fail "Cannot convert radix of $radix (max 36)"
src/core/allomorphs.pm#L257 parse_fail "base-$radix number must begin with valid digits or '.'"
src/core/allomorphs.pm#L261-L262 $int := nqp::atpos($parse, 0);
nqp::isge_i($pos, $eos)
src/core/allomorphs.pm#L268-L269 my Int $frac := 0;
my Int $base := 0;
src/core/allomorphs.pm#L275 parse_fail 'radix point must be followed by one or more valid digits'
src/core/allomorphs.pm#L279-L281 $frac := nqp::atpos($parse, 0);
$base := nqp::atpos($parse, 1);
$ch = nqp::islt_i($pos, $eos) && nqp::ord($str, $pos);
src/core/allomorphs.pm#L285 if nqp::iseq_i($ch, 69) || nqp::iseq_i($ch, 101) { # 'E', 'e'
src/core/allomorphs.pm#L320 if nqp::iseq_i($ch, 42)
src/core/allomorphs.pm#L342 nqp::unless($base, $int, Rat.new($int * $base + $frac, $base));
src/core/allomorphs.pm#L412 parse_fail "malformed ':$radix' style radix number, expecting '<' or '[' after the base";
src/core/allomorphs.pm#L426 parse-int-frac-exp();
src/core/allomorphs.pm#L431 $neg ?? -Inf !! Inf;
src/core/allomorphs.pm#L436 parse-int-frac-exp();
src/core/allomorphs.pm#L440 my sub parse-real() {
src/core/allomorphs.pm#L442-L443 my $result := parse-simple-number();
return $result if nqp::iseq_i($pos, $eos);
src/core/allomorphs.pm#L446 if nqp::iseq_i(nqp::ord($str, $pos), 47) { # '/'
src/core/allomorphs.pm#L458 $result;
src/core/allomorphs.pm#L464 parse_win $result if nqp::iseq_i($pos, $eos);
src/core/allomorphs.pm#L472 $result := Complex.new(0, $result);
src/core/allomorphs.pm#L476 $result := Complex.new(0, $result);
src/core/allomorphs.pm#L504 parse_fail "trailing characters after number"
src/core/allomorphs.pm#L507 parse_win $result;
src/core/array_operators.pm#L2 proto circumfix:<[ ]>(|) { * }
src/core/array_operators.pm#L6 multi circumfix:<[ ]>(Iterable:D \iterable) {
src/core/array_operators.pm#L8 nqp::if(
src/core/array_operators.pm#L17 $reified
src/core/array_operators.pm#L30 nqp::while(
src/core/array_operators.pm#L36 nqp::p6bindattrinvres(nqp::create(Array),List,'$!reified',$reified)
src/core/asyncops.pm#L50 sub cas (\val,&code) { val = code(val) } # naive implementation of cas
src/core/control.pm#L42 proto sub return(|) {*}
src/core/control.pm#L46 multi sub return(Mu \x --> Nil) {
src/core/control.pm#L79-L80 proto sub next(|) { * }
multi sub next(--> Nil) { nqp::throwextype(nqp::const::CONTROL_NEXT); Nil }
src/core/control.pm#L195 my class Rakudo::Internals::EvalIdSource {
src/core/control.pm#L197 my Lock $lock = Lock.new;
src/core/core_epilogue.pm#L21 {YOU_ARE_HERE}
src/core/core_prologue.pm#L33 my class Rakudo::Internals::IterationSet is repr('VMHash') { }
src/core/hash_slice.pm#L3 proto sub postcircumfix:<{ }>(|) is nodal { * }
src/core/hash_slice.pm#L6 multi sub postcircumfix:<{ }>( \SELF, \key ) is raw {
src/core/hash_slice.pm#L9 multi sub postcircumfix:<{ }>(\SELF, \key, Mu \ASSIGN) is raw {
src/core/hash_slice.pm#L12 multi sub postcircumfix:<{ }>(\SELF, \key, Mu :$BIND! is raw) is raw {
src/core/hash_slice.pm#L22 multi sub postcircumfix:<{ }>( \SELF, \key, :$exists!, *%other ) is raw {
src/core/hash_slice.pm#L56 multi sub postcircumfix:<{ }>(\SELF, Iterable \key, Mu \ASSIGN) is raw {
src/core/hash_slice.pm#L59 !! (key.flatmap({ SELF{$_} }).eager.list = ASSIGN)
src/core/hash_slice.pm#L84 multi sub postcircumfix:<{ }>(\SELF, Iterable \key, :$k!, *%other) is raw {
src/core/io_operators.pm#L20 proto sub say(|) { * }
src/core/io_operators.pm#L22-L24 multi sub say(Str:D \x) {
my $out := $*OUT;
$out.print(nqp::concat(nqp::unbox_s(x),$out.nl-out));
src/core/io_operators.pm#L124 {
src/core/io_operators.pm#L134 PROCESS::<&chdir> := &chdir;
src/core/io_operators.pm#L171 PROCESS::<$IN> =
src/core/io_operators.pm#L173 PROCESS::<$OUT> =
src/core/io_operators.pm#L175 PROCESS::<$ERR> =
src/core/native_array.pm#L5 my class array does Iterable {
src/core/native_array.pm#L38 sub EQV_DIMENSIONS(Mu \one, Mu \two) is raw {
src/core/natives.pm#L1-L5 my native int is repr('P6int') is Int { }
my native int8 is repr('P6int') is Int is nativesize( 8) { }
my native int16 is repr('P6int') is Int is nativesize(16) { }
my native int32 is repr('P6int') is Int is nativesize(32) { }
my native int64 is repr('P6int') is Int is nativesize(64) { }
src/core/natives.pm#L7-L12 my native uint is repr('P6int') is Int is unsigned { }
my native uint8 is repr('P6int') is Int is nativesize( 8) is unsigned { }
my native byte is repr('P6int') is Int is nativesize( 8) is unsigned { }
my native uint16 is repr('P6int') is Int is nativesize(16) is unsigned { }
my native uint32 is repr('P6int') is Int is nativesize(32) is unsigned { }
my native uint64 is repr('P6int') is Int is nativesize(64) is unsigned { }
src/core/natives.pm#L14-L16 my native num is repr('P6num') is Num { }
my native num32 is repr('P6num') is Num is nativesize(32) { }
my native num64 is repr('P6num') is Num is nativesize(64) { }
src/core/natives.pm#L18 my native str is repr('P6str') is Str { }
src/core/operators.pm#L10 my class X::Does::TypeObject is Exception {
src/core/operators.pm#L573 sub INDIRECT_NAME_LOOKUP($root, *@chunks) is raw {
src/core/operators.pm#L581 nqp::if( # move the sigil to the last part of the name if available
src/core/operators.pm#L585 nqp::if(
src/core/operators.pm#L596 nqp::unless(
src/core/operators.pm#L619 nqp::while(
src/core/operators.pm#L821 my &infix:<o> := &infix:<∘>;
src/core/set_operators.pm#L1 proto sub set(|) { * }
src/core/set_precedes.pm#L106 only sub infix:<≽>($a, $b --> Bool:D) is pure {
src/core/signals.pm#L9 sub signal(Signal $signal, *@signals, :$scheduler = $*SCHEDULER) {
src/core/stubs.pm#L30-L31 sub DYNAMIC(\name) is raw {
nqp::ifnull(
src/core/stubs.pm#L34 nqp::unless(
src/core/stubs.pm#L40 nqp::ifnull(
src/core/stubs.pm#L44 nqp::ifnull(
src/core/stubs.pm#L59-L61 {
my class Dummy {
our proto method AUTOGEN(::T $: |) { * }
src/core/stubs.pm#L63 Dummy.HOW.set_autogen_proto(&Dummy::AUTOGEN);
src/core/traits.pm#L487 multi sub trait_mod:<hides>(Mu:U $child, Mu:U $parent) {
src/Perl6/Compiler.nqp#L1 use NQPP6QRegex;
src/Perl6/Compiler.nqp#L5 class Perl6::Compiler is HLL::Compiler {
src/Perl6/Compiler.nqp#L16 method reset_language_version() {
src/Perl6/Compiler.nqp#L31 method command_eval(*@args, *%options) {
src/Perl6/Compiler.nqp#L36-L37 my $argiter := nqp::iterator(@args);
nqp::shift($argiter) if $argiter && !nqp::defined(%options<e>);
src/Perl6/Compiler.nqp#L41 %*COMPILING<%?OPTIONS> := %options;
src/Perl6/Compiler.nqp#L45 method optimize($past, *%adverbs) {
src/Perl6/Compiler.nqp#L47 my $result := %adverbs<optimize> eq 'off'
src/Perl6/Compiler.nqp#L58-L59 method syntaxcheck($past, *%adverbs) {
if %adverbs<c> {
src/Perl6/Grammar.nqp#L1 use QRegex;
src/Perl6/Grammar.nqp#L18 role stop[$stop] {
src/Perl6/Grammar.nqp#L57-L58 method unbalanced($stop) {
self.HOW.mixin(self, stop.HOW.curry(stop, $stop));
src/Perl6/Grammar.nqp#L65 method quote_lang($l, $start, $stop, @base_tweaks?, @extra_tweaks?) {
src/Perl6/Grammar.nqp#L67-L68 my $stopstr := nqp::istype($stop,VMArray) ?? nqp::join(' ',$stop) !! $stop;
my @keybits := [$l.HOW.name($l), $start, $stopstr];
src/Perl6/Grammar.nqp#L70 @keybits.push($_);
src/Perl6/Grammar.nqp#L78 nqp::join("\0", @keybits)
src/Perl6/Grammar.nqp#L80-L82 sub con_lang() {
my $lang := $l.'!cursor_init'(self.orig(), :p(self.pos()), :shared(self.'!shared'()));
$lang.clone_braid_from(self);
src/Perl6/Grammar.nqp#L84 $lang := $lang."tweak_$_"(1);
src/Perl6/Grammar.nqp#L93 self.sorry("Unrecognized adverb: :$t");
src/Perl6/Grammar.nqp#L98 $lang.set_actions(self.slang_actions($_.key));
src/Perl6/Grammar.nqp#L104 $start ne $stop ?? $lang.balanced($start, $stop)
src/Perl6/Grammar.nqp#L110 my $quote_lang := nqp::existskey(%quote_lang_cache, $key) && $key ne 'NOCACHE'
src/Perl6/Grammar.nqp#L235-L236 method nibble($lang) {
$lang.'!cursor_init'(self.orig(), :p(self.pos()), :shared(self.'!shared'())).nibbler().set_braid_from(self)
src/Perl6/Grammar.nqp#L429 grammar Perl6::Grammar is HLL::Grammar does STD {
src/Perl6/Grammar.nqp#L435-L438 self.define_slang('MAIN', self.WHAT, self.actions);
self.define_slang('Quote', Perl6::QGrammar, Perl6::QActions);
self.define_slang('Regex', Perl6::RegexGrammar, Perl6::RegexActions);
self.define_slang('P5Regex', Perl6::P5RegexGrammar, Perl6::P5RegexActions);
src/Perl6/Grammar.nqp#L443-L451 my %*LANG;
%*LANG<Regex> := Perl6::RegexGrammar;
%*LANG<Regex-actions> := Perl6::RegexActions;
%*LANG<P5Regex> := Perl6::P5RegexGrammar;
%*LANG<P5Regex-actions> := Perl6::P5RegexActions;
%*LANG<Quote> := Perl6::QGrammar;
%*LANG<Quote-actions> := Perl6::QActions;
%*LANG<MAIN> := self.WHAT;
%*LANG<MAIN-actions> := self.actions;
src/Perl6/Grammar.nqp#L465 self.set_how('package', nqp::knowhow());
src/Perl6/Grammar.nqp#L468 my $*NEED_RESULT := nqp::existskey(%*COMPILING<%?OPTIONS>, 'outer_ctx');
src/Perl6/Grammar.nqp#L474 my $source_id := nqp::sha1($file ~ (
src/Perl6/Grammar.nqp#L479 my $is_nested := (
src/Perl6/Grammar.nqp#L485 my $*W := $is_nested
src/Perl6/Grammar.nqp#L492 $*W.add_initializations();
src/Perl6/Grammar.nqp#L495-L497 my $cursor := self.comp_unit;
$*W.pop_lexpad(); # UNIT
$*W.pop_lexpad(); # UNIT_OUTER
src/Perl6/Grammar.nqp#L528 || $<bad>=[<.sigil><.identifier>] { my str $b := $<bad>; self.malformed("lookup of ::$b; please use ::('$b'), ::\{'$b'\}, or ::<$b>") }
src/Perl6/Grammar.nqp#L533 <name> {} [ <?before ':' <.+alpha+[\< \[ \« ]>> <!RESTRICTED> <colonpair> ]*
src/Perl6/Grammar.nqp#L616-L617 method ws() {
self.MARKED('ws') ?? self !! self._ws()
src/Perl6/Grammar.nqp#L1110 :my $*LEFTSIGIL; # sigil of LHS for item vs list assignment
src/Perl6/Grammar.nqp#L1173 :my $*PRECEDING_DECL; # for #= comments
src/Perl6/Grammar.nqp#L1188 $*W.loading_and_symbol_setup($/)
src/Perl6/Grammar.nqp#L1202 { $*W.mop_up_and_check($/) }
src/Perl6/Grammar.nqp#L1214 rule statementlist($*statement_level = 0) {
src/Perl6/Grammar.nqp#L1216 :my $*LEAF;
src/Perl6/Grammar.nqp#L1224 <!!{ $*LANG := $*LEAF := $/.clone_braid_from(self); 1 }>
src/Perl6/Grammar.nqp#L1231 <!!{ nqp::rebless($/, self.WHAT); 1 }>
src/Perl6/Grammar.nqp#L1234 method shallow_copy(%hash) {
src/Perl6/Grammar.nqp#L1237 %result{$_.key} := $_.value;
src/Perl6/Grammar.nqp#L1280 token statement($*LABEL = '') {
src/Perl6/Grammar.nqp#L1287 <!!{ $/.set_actions($actions); 1 }>
src/Perl6/Grammar.nqp#L1290 <!!{ nqp::rebless($/, self.slang_grammar('MAIN')); 1 }>
src/Perl6/Grammar.nqp#L1292 | <label> <statement($*LABEL)> { $*LABEL := '' if $*LABEL }
src/Perl6/Grammar.nqp#L1294 | <EXPR> :dba('statement end') { $*IN_STMT_MOD := 1 }
src/Perl6/Grammar.nqp#L1309 | {} <.panic: "Bogus statement">
src/Perl6/Grammar.nqp#L1319-L1320 || <?before [if|while|for|loop|repeat|given|when] » > { self.typed_panic( 'X::Syntax::Confused', reason => "Missing semicolon" ) }
|| { $/.typed_panic( 'X::Syntax::Confused', reason => "Confused" ) }
src/Perl6/Grammar.nqp#L1660-L1661 method FOREIGN_LANG($langname, $regex, *@args) {
my $grammar := self.slang_grammar($langname);
src/Perl6/Grammar.nqp#L1663 self.LANG($langname, $regex, @args);
src/Perl6/Grammar.nqp#L3367 :my %colonpairs;
src/Perl6/Grammar.nqp#L3370 :my $*IN_RETURN;
src/Perl6/Grammar.nqp#L3373 $*longname := $*W.dissect_longname($<longname>);
src/Perl6/Grammar.nqp#L3375-L3376 $*IN_RETURN := $<longname>.Str eq 'return';
$is_type := !$*longname.get_who && $*W.is_type($*longname.components());
src/Perl6/Grammar.nqp#L3379 || <?{ nqp::eqat($<longname>.Str, '::', 0) || $*W.is_name($*longname.components()) }>
src/Perl6/Grammar.nqp#L3411 [<?{ %colonpairs }> <colonpairs=.O(|%colonpairs)>]?
src/Perl6/Grammar.nqp#L3414-L3416 if !$<args><invocant> {
my $name := ~$<longname>;
if $*BORG<block> {
src/Perl6/Grammar.nqp#L3421-L3423 my $nextch := nqp::substr($/.orig, $/.pos, 1) || ' ';
if %deftrap{$name} {
my $al := $<args><arglist>;
src/Perl6/Grammar.nqp#L3425-L3426 $ok := 1 unless $al<EXPR> eq '';
$ok := 1 if $<args><semiarglist>;
src/Perl6/Grammar.nqp#L3445 $<longname>.sorry("Argument to \"$name\" seems to be malformed") if $orry eq 'worry';
src/Perl6/Grammar.nqp#L3463-L3464 token args($*INVOCANT_OK = 0) {
:my $*INVOCANT;
src/Perl6/Grammar.nqp#L3917-L3918 :my $*OFTYPE;
:my $*VAR;
src/Perl6/Grammar.nqp#L3923 | <prefixish>+ [ <.arg_flat_nok> <term> || {} <.panic("Prefix " ~ $<prefixish>[-1].Str ~ " requires an argument, but no valid term found")> ]
src/Perl6/Grammar.nqp#L3926 || <!{ $*QSIGIL }> <?before <infixish> {
src/Perl6/Grammar.nqp#L3932 || <?{ $*QSIGIL }>
src/Perl6/Grammar.nqp#L3935 || <postfixish>+! <?{ bracket_ending($<postfixish>) }>
src/Perl6/Grammar.nqp#L3937 || <!{ $*QSIGIL }> <postfixish>*
src/Perl6/Grammar.nqp#L3940 if $*VAR {
src/Perl6/Grammar.nqp#L3944 $*ARG_FLAT_OK := $orig_arg_flat_ok;
src/Perl6/Grammar.nqp#L3949 <!{ $*ARG_FLAT_OK := 0 }>
src/Perl6/Grammar.nqp#L3959 method EXPR(str $preclim = '') {
src/Perl6/Grammar.nqp#L3976 token infixish($in_meta = nqp::getlexdyn('$*IN_META')) {
src/Perl6/Grammar.nqp#L3978 :my $*OPER;
src/Perl6/Grammar.nqp#L4003 { nqp::bindattr_i($<OPER>, NQPMatch, '$!pos', $*OPER.pos); }
src/Perl6/Grammar.nqp#L4024 <?{
src/Perl6/Grammar.nqp#L4048 { $*LEFTSIGIL := '@'; }
src/Perl6/Grammar.nqp#L4571 method add_mystery($token, $pos, $ctx) {
src/Perl6/Grammar.nqp#L4573-L4575 my $actions := self.actions;
$name := nqp::substr($name,1) if nqp::eqat($name,"&",0);
my $categorical := $name ~~ /^((\w+?fix) [ ':<'\s*(\S+?)\s*'>' | ':«'\s*(\S+?)\s*'»' ])$/;
src/Perl6/Grammar.nqp#L4603 unless $name eq '' || $*W.is_lexical('&' ~ $name) {
src/Perl6/Grammar.nqp#L4610 %*MYSTERY{$key} := nqp::hash(
src/Perl6/Grammar.nqp#L4621 my %post_types;
src/Perl6/Grammar.nqp#L4631-L4632 my %routine_suggestion := hash();
my %type_suggestion := hash();
src/Perl6/Grammar.nqp#L4665-L4666 if %post_types || %unk_types || %unk_routines {
self.typed_sorry('X::Undeclared::Symbols',
src/Perl6/Grammar.nqp#L4674-L4675 method cry_sorrows() {
if @*SORROWS {
src/Perl6/Grammar.nqp#L4680 $*W.group_exception(@*SORROWS.pop).throw();
src/Perl6/Grammar.nqp#L4941 grammar Perl6::QGrammar is HLL::Grammar does STD {
src/Perl6/Grammar.nqp#L4950 role b1 {
src/Perl6/Grammar.nqp#L4975 role c1 {
src/Perl6/Grammar.nqp#L4983 role s1 {
src/Perl6/Grammar.nqp#L4996 role a1 {
src/Perl6/Grammar.nqp#L5009 role h1 {
src/Perl6/Grammar.nqp#L5022 role f1 {
src/Perl6/Grammar.nqp#L5068 role qq does b1 does c1 does s1 does a1 does h1 does f1 {
src/Perl6/Grammar.nqp#L5079 :my @*nibbles;
src/Perl6/Grammar.nqp#L5090 {
src/Perl6/Grammar.nqp#L5101 $from := $to := $c.pos;
src/Perl6/Grammar.nqp#L5113 $from := $to := $c.pos;
src/Perl6/Grammar.nqp#L5121-L5123 $*LASTQUOTE := [self.pos, $to];
if $from != $to || !@*nibbles {
nqp::push(@*nibbles, nqp::substr($c.orig, $from, $to - $from));
src/Perl6/Grammar.nqp#L5193-L5194 method truly($bool, $opt) {
self.sorry("Cannot negate $opt adverb") unless $bool;
src/Perl6/Grammar.nqp#L5198-L5199 method apply_tweak($role) {
my $target := nqp::can(self, 'herelang') ?? self.herelang !! self;
src/Perl6/Grammar.nqp#L5206 method tweak_qq($v) { self.truly($v, ':qq'); self.apply_tweak(Perl6::QGrammar::qq); }
src/Perl6/Grammar.nqp#L5272 my role MatchPackageNibbler {
src/Perl6/Grammar.nqp#L5287 grammar Perl6::RegexGrammar is QRegex::P6Regex::Grammar does STD does MatchPackageNibbler {
src/Perl6/Grammar.nqp#L5408 grammar Perl6::P5RegexGrammar is QRegex::P5Regex::Grammar does STD does MatchPackageNibbler {
src/Perl6/Pod.nqp#L1-L2 # various helper methods for Pod parsing and processing
class Perl6::Pod {
src/Perl6/Pod.nqp#L8 my $is_table_row_sep := /
src/Perl6/Pod.nqp#L16-L20 my $csep0 := /\h '|' \h/; # the pipe
my $csep1 := /\h '+' \h/;
my $csep2 := /\h '=' \h/;
my $csep3 := /\h '_' \h/;
my $csep4 := /\h \h/;
src/Perl6/Pod.nqp#L22 my $has_table_col_sep := /
src/Perl6/World.nqp#L1 use NQPHLL;
src/Perl6/World.nqp#L182-L183 class Perl6::World is HLL::World {
my class Perl6CompilationContext is HLL::World::CompilationContext {
src/Perl6/World.nqp#L228 method BUILD(:$handle, :$description) {
src/Perl6/World.nqp#L242 method blocks() {
src/Perl6/World.nqp#L247 method push_lexpad($/) {
src/Perl6/World.nqp#L249-L251 my $pad := QAST::Block.new( QAST::Stmts.new( :node($/) ) );
if $*WANTEDOUTERBLOCK { # (outside of 1st push/pop pass)
$pad.annotate('outer', $*WANTEDOUTERBLOCK);
src/Perl6/World.nqp#L256-L257 $pad.annotate('statement_id', $*STATEMENT_ID);
$pad.annotate('in_stmt_mod', $*IN_STMT_MOD);
src/Perl6/World.nqp#L263 method pop_lexpad() {
src/Perl6/World.nqp#L268 method cur_lexpad() {
src/Perl6/World.nqp#L323 method is_lexical(str $name) {
src/Perl6/World.nqp#L325 while $i > 0 {
src/Perl6/World.nqp#L327-L328 my %sym := @!BLOCKS[$i].symbol($name);
if +%sym {
src/Perl6/World.nqp#L355 method push_code_object($code) {
src/Perl6/World.nqp#L359 method pop_code_object() {
src/Perl6/World.nqp#L372 method stub_check() {
src/Perl6/World.nqp#L381 method protos_to_sort() {
src/Perl6/World.nqp#L385 method magical_cds() {
src/Perl6/World.nqp#L389 method sub_id_to_code_object() {
src/Perl6/World.nqp#L393 method sub_id_to_sc_idx() {
src/Perl6/World.nqp#L397 method const_cache() {
src/Perl6/World.nqp#L401 method add_cleanup_task($task) {
src/Perl6/World.nqp#L405 method cleanup_tasks() {
src/Perl6/World.nqp#L441 method checks() {
src/Perl6/World.nqp#L446 method context_class() {
src/Perl6/World.nqp#L464 method BUILD(*%adv) {
src/Perl6/World.nqp#L486 method loading_and_symbol_setup($/) {
src/Perl6/World.nqp#L491-L492 $*UNIT_OUTER := self.push_lexpad($/);
$*UNIT := self.push_lexpad($/);
src/Perl6/World.nqp#L497 my $have_outer := nqp::defined(%*COMPILING<%?OPTIONS><outer_ctx>);
src/Perl6/World.nqp#L504 $setting_name := %*COMPILING<%?OPTIONS><setting> // 'CORE';
src/Perl6/World.nqp#L506-L507 self.load_setting($/,$setting_name);
$*UNIT.annotate('IN_DECL', 'mainline');
src/Perl6/World.nqp#L509 $/.unitstart();
src/Perl6/World.nqp#L512 my $EXPORTHOW := self.find_symbol(['EXPORTHOW']);
src/Perl6/World.nqp#L514 $*LANG.set_how($_.key, $_.value);
src/Perl6/World.nqp#L519-L520 if nqp::existskey(%*COMPILING<%?OPTIONS>, 'global') {
$*GLOBALish := %*COMPILING<%?OPTIONS><global>;
src/Perl6/World.nqp#L527 $*GLOBALish :=
src/Perl6/World.nqp#L529 self.pkg_compose($/, $*GLOBALish);
src/Perl6/World.nqp#L533 if $have_outer && $*UNIT_OUTER.symbol('EXPORT') {
src/Perl6/World.nqp#L538-L539 $*EXPORT := self.pkg_create_mo($/, $/.how('package'), :name('EXPORT'));
self.pkg_compose($/, $*EXPORT);
src/Perl6/World.nqp#L543 if $have_outer && $*UNIT_OUTER.symbol('self') {
src/Perl6/World.nqp#L550 if $have_outer && $*UNIT_OUTER.symbol('$?PACKAGE') {
src/Perl6/World.nqp#L555 $package := $*GLOBALish;
src/Perl6/World.nqp#L562 if $have_outer && $*UNIT_OUTER.symbol('%?LANG') {
src/Perl6/World.nqp#L568 if $have_outer && $*UNIT_OUTER.symbol('$*MAIN') {
src/Perl6/World.nqp#L572 if $have_outer && $*UNIT_OUTER.symbol('$?STRICT') {
src/Perl6/World.nqp#L577 $*STRICT := 1;
src/Perl6/World.nqp#L581 if $setting_name eq 'NULL' {
src/Perl6/World.nqp#L600-L604 self.install_lexical_symbol($*UNIT, 'GLOBALish', $*GLOBALish);
self.install_lexical_symbol($*UNIT, 'EXPORT', $*EXPORT);
self.install_lexical_symbol($*UNIT, '$?PACKAGE', $package);
self.install_lexical_symbol($*UNIT, '::?PACKAGE', $package);
$*CODE_OBJECT := $*DECLARAND := self.stub_code_object('Block');
src/Perl6/World.nqp#L607 self.install_lexical_symbol(
src/Perl6/World.nqp#L613 my $M := %*COMPILING<%?OPTIONS><M>;
src/Perl6/World.nqp#L616 self.do_pragma_or_load_module($/,1,$longname);
src/Perl6/World.nqp#L622 method mop_up_and_check($/) {
src/Perl6/World.nqp#L625 $*POD_PAST := self.add_constant(
src/Perl6/World.nqp#L628 self.install_lexical_symbol(
src/Perl6/World.nqp#L634 my $name := $*COMPILING_CORE_SETTING
src/Perl6/World.nqp#L637 my $marker := self.pkg_create_mo($/, $/.how('package'), :$name);
src/Perl6/World.nqp#L639 self.install_lexical_symbol($*UNIT, $name, $marker);
src/Perl6/World.nqp#L645-L646 if $!compiler_services {
my $cs := $!compiler_services;
src/Perl6/World.nqp#L652-L653 method push_lexpad($/) {
self.context().push_lexpad($/)
src/Perl6/World.nqp#L657-L658 method pop_lexpad() {
self.context().pop_lexpad()
src/Perl6/World.nqp#L662-L663 method cur_lexpad() {
self.context().cur_lexpad()
src/Perl6/World.nqp#L694 method assert_stubs_defined($/) {
src/Perl6/World.nqp#L701 if +@incomplete {
src/Perl6/World.nqp#L707 method sort_protos() {
src/Perl6/World.nqp#L716 method load_setting($/, $setting_name) {
src/Perl6/World.nqp#L722 my $setting := %*COMPILING<%?OPTIONS><outer_ctx>
src/Perl6/World.nqp#L726 my $fixup := QAST::Stmt.new(
src/Perl6/World.nqp#L741 self.add_load_dependency_task(:deserialize_ast($fixup), :fixup_ast($fixup));
src/Perl6/World.nqp#L1227-L1228 method perl6_module_loader_code() {
QAST::Stmt.new(
src/Perl6/World.nqp#L1422 method install_lexical_symbol($block, str $name, $obj, :$clone) {
src/Perl6/World.nqp#L1427 if $block.symbol($name) {
src/Perl6/World.nqp#L1437 $block[0].push(QAST::Var.new(
src/Perl6/World.nqp#L1444 if $clone {
src/Perl6/World.nqp#L1459 method install_lexical_container($block, str $name, %cont_info, $descriptor, :$scope, :$package, :$cont = self.build_container_and_add_to_sc(%cont_info, $descriptor)) {
src/Perl6/World.nqp#L1473 $var := QAST::Var.new(
src/Perl6/World.nqp#L1477 $block[0].unshift($var);
src/Perl6/World.nqp#L1479 $block.symbol($name, :scope('lexical'), :type(%cont_info<bind_constraint>), :descriptor($descriptor));
src/Perl6/World.nqp#L1483 my $prim := %cont_info<sigil> eq '$' && nqp::objprimspec($descriptor.of);
src/Perl6/World.nqp#L1504-L1505 $block.symbol($name, :value($cont));
self.install_package_symbol_unchecked($package, $name, $cont) if $scope eq 'our';
src/Perl6/World.nqp#L1508-L1509 $var.value($cont);
$var.decl($scope eq 'state' ?? 'statevar' !! 'contvar');
src/Perl6/World.nqp#L1516 method create_container_descriptor($of, $rw, $name, $default = $of, $dynamic = nqp::chars($name) > 2 && nqp::eqat($name, '*', 1)) {
src/Perl6/World.nqp#L1518 my $cd := $cd_type.new( :$of, :$rw, :$name, :$default, :$dynamic );
src/Perl6/World.nqp#L1524 method build_container(%cont_info, $descriptor) {
src/Perl6/World.nqp#L1526-L1528 my $cont_type := %cont_info<container_type>;
if %cont_info<build_ast> {
$cont := $cont_type;
src/Perl6/World.nqp#L1532 nqp::bindattr($cont, %cont_info<container_base>, '$!descriptor', $descriptor);
src/Perl6/World.nqp#L1534 nqp::bindattr($cont, %cont_info<container_base>, '$!value',
src/Perl6/World.nqp#L1551-L1552 method build_container_and_add_to_sc(%cont_info, $descriptor) {
my $cont := self.build_container(%cont_info, $descriptor);
src/Perl6/World.nqp#L1712-L1713 method install_lexical_magical($block, $name) {
my %magical_cds := self.context().magical_cds();
src/Perl6/World.nqp#L1720-L1721 my $Mu := self.find_symbol(['Mu']);
my $WHAT := self.find_symbol([ $name eq '$_' ?? 'Any' !! 'Nil' ]);
src/Perl6/World.nqp#L1732 my $desc :=
src/Perl6/World.nqp#L1735 my $cont := self.build_container_and_add_to_sc(%info, $desc);
src/Perl6/World.nqp#L1738 self.install_lexical_container($block, $name, %info, $desc, :cont($cont));
src/Perl6/World.nqp#L2079 method create_signature(%signature_info) {
src/Perl6/World.nqp#L2081 my $sig_type := self.find_symbol(['Signature'], :setting-only);
src/Perl6/World.nqp#L2083 my @parameters := %signature_info<parameter_objects>;
src/Perl6/World.nqp#L2093 my $p_type := self.find_symbol(['Parameter'], :setting-only);
src/Perl6/World.nqp#L2111 nqp::bindattr_i($signature, $sig_type, '$!arity', $arity);
src/Perl6/World.nqp#L2116 nqp::bindattr($signature, $sig_type, '$!count',
src/Perl6/World.nqp#L2161-L2162 method stub_code_object($type) {
my $type_obj := self.find_symbol([$type], :setting-only);
src/Perl6/World.nqp#L2164-L2165 self.context().push_code_object($code);
self.add_object($code);
src/Perl6/World.nqp#L2171-L2173 method attach_signature($code, $signature) {
my $code_type := self.find_symbol(['Code'], :setting-only);
my $sig_type := self.find_symbol(['Signature'], :setting-only);
src/Perl6/World.nqp#L2184 method finish_code_object($code, $code_past, $is_dispatcher = 0, :$yada) {
src/Perl6/World.nqp#L2186 my $des := QAST::Stmts.new();
src/Perl6/World.nqp#L2189 self.context().pop_code_object();
src/Perl6/World.nqp#L2192 my $code_type := self.find_symbol(['Code'], :setting-only);
src/Perl6/World.nqp#L2200 $code_past.code_object($code);
src/Perl6/World.nqp#L2203-L2204 my str $cuid := $code_past.cuid();
self.context().sub_id_to_code_object(){$cuid} := $code;
src/Perl6/World.nqp#L2210 self.context().add_cleanup_task(sub () {
src/Perl6/World.nqp#L2217 my $compiler_thunk := {
src/Perl6/World.nqp#L2242 nqp::setcodename($stub, $code_past.name);
src/Perl6/World.nqp#L2248-L2249 my $code_ref_idx := self.add_root_code_ref($stub, $code_past);
self.context().sub_id_to_sc_idx(){$cuid} := $code_ref_idx;
src/Perl6/World.nqp#L2266-L2268 unless $*PKGDECL eq 'role' {
unless self.is_precompilation_mode() || self.is_nested() {
$fixups.push(self.set_attribute($code, $code_type, '$!do',
src/Perl6/World.nqp#L2300 @compstuff[0] := $code_past;
src/Perl6/World.nqp#L2305 if $is_dispatcher {
src/Perl6/World.nqp#L2310 if $yada {
src/Perl6/World.nqp#L2315 if nqp::istype($code, $routine_type) {
src/Perl6/World.nqp#L2320 if self.is_nested() {
src/Perl6/World.nqp#L2324 self.add_fixup_task(:deserialize_ast($des), :fixup_ast($fixups));
src/Perl6/World.nqp#L2369-L2370 method add_phasers_handling_code($code, $code_past) {
my $block_type := self.find_symbol(['Block'], :setting-only);
src/Perl6/World.nqp#L2372 my %phasers := nqp::getattr($code, $block_type, '$!phasers');
src/Perl6/World.nqp#L2396 $code_past[0].push(QAST::Op.new(
src/Perl6/World.nqp#L2466-L2467 method set_attribute($obj, $class, $name, $value_past) {
QAST::Op.new(
src/Perl6/World.nqp#L2603 method add_constant($type, $primitive, :$nocache, *@value, *%named) {
src/Perl6/World.nqp#L2606 my %const_cache := self.context().const_cache();
src/Perl6/World.nqp#L2609 my str $namedkey := '';
src/Perl6/World.nqp#L2614 if $primitive eq 'bigint' {
src/Perl6/World.nqp#L2617 $cache_key := "$type,$primitive,"
src/Perl6/World.nqp#L2628 my $type_obj := self.find_symbol(nqp::split('::', $type));
src/Perl6/World.nqp#L2634 $constant := nqp::box_i(@value[0], $type_obj);
src/Perl6/World.nqp#L2637 $constant := nqp::box_s(@value[0], $type_obj);
src/Perl6/World.nqp#L2640 $constant := nqp::box_n(@value[0], $type_obj);
src/Perl6/World.nqp#L2643 $constant := @value[0];
src/Perl6/World.nqp#L2646 $constant := $type_obj.new(|@value, |%named);
src/Perl6/World.nqp#L2653 self.add_object($constant);
src/Perl6/World.nqp#L2658 my $qast := QAST::WVal.new( :value($constant), :returns($constant.WHAT) );
src/Perl6/World.nqp#L2660 %const_cache{$cache_key} := $constant;
src/Perl6/World.nqp#L2698-L2700 method add_string_constant($value) {
my $const := self.add_constant('Str', 'str', $value);
QAST::Want.new(
src/Perl6/World.nqp#L2851 method pkg_create_mo($/, $how, :$name, :$repr, :$auth, :$ver, *%extra) {
src/Perl6/World.nqp#L2855-L2858 if nqp::defined($repr) { %args<repr> := ~$repr; }
if nqp::defined($ver) { %args<ver> := $ver; }
if nqp::defined($auth) { %args<auth> := $auth; }
if nqp::existskey(%extra, 'base_type') {
src/Perl6/World.nqp#L2861 if nqp::existskey(%extra, 'group') {
src/Perl6/World.nqp#L2864 if nqp::existskey(%extra, 'signatured') {
src/Perl6/World.nqp#L2867-L2868 my $mo := $how.new_type(|%args);
self.add_object($mo);
src/Perl6/World.nqp#L2952-L2953 method pkg_compose($/, $obj) {
my $compiler_services := self.get_compiler_services();
src/Perl6/World.nqp#L2955 self.ex-handle($/, { $obj.HOW.compose($obj, :$compiler_services) })
src/Perl6/World.nqp#L2962 my class CompilerServices {
src/Perl6/World.nqp#L3013-L3014 method get_compiler_services() {
unless nqp::isconcrete($!compiler_services) {
src/Perl6/World.nqp#L3016-L3017 my $wtype := self.find_symbol(['Rakudo', 'Internals', 'CompilerServices']);
my $wrapped := CompilerServices.new(w => self);
src/Perl6/World.nqp#L3020 $!compiler_services := $wrapper;
src/Perl6/World.nqp#L3202 method resolve($resolved) {
src/Perl6/World.nqp#L3354 method CHECK() {
src/Perl6/World.nqp#L3362-L3363 method cleanup() {
for self.context().cleanup_tasks() { $_() }
src/Perl6/World.nqp#L3367-L3368 method add_libs($comp_unit) {
$comp_unit.push(QAST::VM.new(
src/Perl6/World.nqp#L3378 my class LongName {
src/Perl6/World.nqp#L3451 method attach_adverbs() {
src/Perl6/World.nqp#L3454 nqp::push(@!components,$last);
src/Perl6/World.nqp#L3461 method components() {
src/Perl6/World.nqp#L3480-L3481 for @!components {
if nqp::istype($_, QAST::Node) {
src/Perl6/World.nqp#L3558 method get_who() {
src/Perl6/World.nqp#L3584-L3585 method is_pseudo_package($comp) {
!nqp::istype($comp, QAST::Node) && %pseudo{$comp};
src/Perl6/World.nqp#L3599 method dissect_longname($longname) {
src/Perl6/World.nqp#L3606-L3608 my $name := $longname<name>;
if $name<identifier> {
@components.push(~$name<identifier>);
src/Perl6/World.nqp#L3626 nqp::bindattr($result, LongName, '@!components', @components);
src/Perl6/World.nqp#L3672 nqp::bindattr($result, LongName, '@!colonpairs', @pairs);
src/Perl6/World.nqp#L3682 method is_pseudo_package($comp) {
src/Perl6/World.nqp#L3687 method is_name(@name) {
src/Perl6/World.nqp#L3689 if self.is_pseudo_package(@name[0]) {
src/Perl6/World.nqp#L3692 else {
src/Perl6/World.nqp#L3696 $is_name := 1;
src/Perl6/World.nqp#L3699 $is_name || +@name == 1 && self.is_lexical(@name[0])
src/Perl6/World.nqp#L3712 method is_type(@name) {
src/Perl6/World.nqp#L3716 $is_name := !nqp::isconcrete(self.find_symbol(@name))
src/Perl6/World.nqp#L3796 method find_symbol(@name, :$setting-only, :$upgrade_to_global, :$cur-package) {
src/Perl6/World.nqp#L3801 if +@name == 1 && @name[0] eq 'GLOBAL' {
src/Perl6/World.nqp#L3805 my @BLOCKS := self.context().blocks;
src/Perl6/World.nqp#L3808 my int $start_scope := $setting-only
src/Perl6/World.nqp#L3815-L3816 my str $final_name := ~@name[0];
if $*WANTEDOUTERBLOCK {
src/Perl6/World.nqp#L3831-L3832 my int $i := $start_scope;
while $i > 0 {
src/Perl6/World.nqp#L3834 my %sym := @BLOCKS[$i].symbol($final_name);
src/Perl6/World.nqp#L3836 my $value := self.force_value(%sym, $final_name, 1);
src/Perl6/World.nqp#L3844-L3845 nqp::die("find_symbol1") unless nqp::objectid($*PACKAGE) == nqp::objectid($*LEAF.package);
$cur-package := $*LEAF.package unless $cur-package;
src/Perl6/World.nqp#L3854 my $result := $*GLOBALish;
src/Perl6/World.nqp#L3856 my str $first := ~@name[0];
src/Perl6/World.nqp#L3859 while $i > 0 {
src/Perl6/World.nqp#L3861 my %sym := @BLOCKS[$i].symbol($first);
src/Perl6/World.nqp#L3863 $result := self.force_value(%sym, $first, 1);
src/Perl6/World.nqp#L3876 @name.shift();
src/Perl6/World.nqp#L3884 $result := ($result.WHO){$_};
src/Perl6/World.nqp#L3887 nqp::die("Could not locate compile-time value for symbol " ~
src/Perl6/World.nqp#L3992-L3993 method is_lexical(str $name) {
self.context().is_lexical($name)
src/Perl6/World.nqp#L4095-L4096 method force_value(%sym, $key, int $die) {
if nqp::existskey(%sym, 'value') {
src/Perl6/World.nqp#L4103 $die ?? nqp::die("No compile-time value for $key") !! NQPMu
src/Perl6/World.nqp#L4108-L4109 method add_initializations() {
if self.is_precompilation_mode() {
src/Perl6/World.nqp#L4351 method stash_hash($pkg) {
src/Perl6/World.nqp#L4354 $hash := $hash.FLATTENABLE_HASH();
src/Perl6/World.nqp#L4373 method ex-handle($/, $code) {
src/Perl6/World.nqp#L4378-L4379 my $*LEAF := $/;
$res := $code();
src/Perl6/World.nqp#L4385 if $nok {
src/Perl6/World.nqp#L4387 } else {
src/vm/moar/Perl6/Ops.nqp#L1 # Operand read/write/literal flags.
src/vm/moar/Perl6/Ops.nqp#L27 MAST::ExtOpRegistry.register_extop('p6settypes',
src/vm/moar/Perl6/Ops.nqp#L29 MAST::ExtOpRegistry.register_extop('p6box_i',
src/vm/moar/Perl6/Ops.nqp#L32 MAST::ExtOpRegistry.register_extop('p6box_n',
src/vm/moar/Perl6/Ops.nqp#L35 MAST::ExtOpRegistry.register_extop('p6box_s',
src/vm/moar/Perl6/Ops.nqp#L38 MAST::ExtOpRegistry.register_extop('p6box_u',
src/vm/moar/Perl6/Ops.nqp#L41 MAST::ExtOpRegistry.register_extop('p6bool',
src/vm/moar/Perl6/Ops.nqp#L44 MAST::ExtOpRegistry.register_extop('p6scalarfromdesc',
src/vm/moar/Perl6/Ops.nqp#L47 MAST::ExtOpRegistry.register_extop('p6var',
src/vm/moar/Perl6/Ops.nqp#L50 MAST::ExtOpRegistry.register_extop('p6reprname',
src/vm/moar/Perl6/Ops.nqp#L53 MAST::ExtOpRegistry.register_extop('p6recont_ro',
src/vm/moar/Perl6/Ops.nqp#L56 MAST::ExtOpRegistry.register_extop('p6decontrv',
src/vm/moar/Perl6/Ops.nqp#L59 MAST::ExtOpRegistry.register_extop('p6capturelex',
src/vm/moar/Perl6/Ops.nqp#L62 MAST::ExtOpRegistry.register_extop('p6capturelexwhere',
src/vm/moar/Perl6/Ops.nqp#L65 MAST::ExtOpRegistry.register_extop('p6stateinit',
src/vm/moar/Perl6/Ops.nqp#L67 MAST::ExtOpRegistry.register_extop('p6setfirstflag',
src/vm/moar/Perl6/Ops.nqp#L70 MAST::ExtOpRegistry.register_extop('p6takefirstflag',
src/vm/moar/Perl6/Ops.nqp#L72 MAST::ExtOpRegistry.register_extop('p6captureouters',
src/vm/moar/Perl6/Ops.nqp#L75 MAST::ExtOpRegistry.register_extop('p6getouterctx',
src/vm/moar/Perl6/Ops.nqp#L78 MAST::ExtOpRegistry.register_extop('p6finddispatcher',
src/vm/moar/Perl6/Ops.nqp#L81 MAST::ExtOpRegistry.register_extop('p6argsfordispatcher',
src/vm/moar/Perl6/Ops.nqp#L84 MAST::ExtOpRegistry.register_extop('p6decodelocaltime',
src/vm/moar/Perl6/Ops.nqp#L87 MAST::ExtOpRegistry.register_extop('p6staticouter',
src/vm/moar/Perl6/Ops.nqp#L90 MAST::ExtOpRegistry.register_extop('p6setpre',
src/vm/moar/Perl6/Ops.nqp#L92 MAST::ExtOpRegistry.register_extop('p6clearpre',
src/vm/moar/Perl6/Ops.nqp#L94 MAST::ExtOpRegistry.register_extop('p6inpre',
src/vm/moar/Perl6/Ops.nqp#L96 MAST::ExtOpRegistry.register_extop('p6invokeunder',
src/vm/moar/Perl6/Ops.nqp#L102 sub register_op_desugar($name, $desugar, :$inlinable = 1) is export {
src/vm/moar/Perl6/Ops.nqp#L109 my $ops := nqp::getcomp('QAST').operations;
src/vm/moar/Perl6/Ops.nqp#L112-L115 $ops.add_hll_moarop_mapping('perl6', 'p6box_s', 'p6box_s');
$ops.add_hll_moarop_mapping('perl6', 'p6box_u', 'p6box_u');
$ops.add_hll_moarop_mapping('perl6', 'p6recont_ro', 'p6recont_ro');
$ops.add_hll_op('perl6', 'p6store', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L148-L150 $ops.add_hll_moarop_mapping('perl6', 'p6var', 'p6var');
$ops.add_hll_moarop_mapping('perl6', 'p6reprname', 'p6reprname', :decont(0));
$ops.add_hll_op('perl6', 'p6definite', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L164-L165 $ops.add_hll_moarop_mapping('perl6', 'p6capturelex', 'p6capturelex');
$ops.add_hll_op('perl6', 'p6bindassert', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L207-L212 $ops.add_hll_moarop_mapping('perl6', 'p6stateinit', 'p6stateinit');
$ops.add_hll_moarop_mapping('perl6', 'p6setpre', 'p6setpre');
$ops.add_hll_moarop_mapping('perl6', 'p6clearpre', 'p6clearpre');
$ops.add_hll_moarop_mapping('perl6', 'p6setfirstflag', 'p6setfirstflag');
$ops.add_hll_moarop_mapping('perl6', 'p6takefirstflag', 'p6takefirstflag');
$ops.add_hll_op('perl6', 'p6return', :!inlinable, -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L223-L226 $ops.add_hll_moarop_mapping('perl6', 'p6getouterctx', 'p6getouterctx', :decont(0));
$ops.add_hll_moarop_mapping('perl6', 'p6captureouters', 'p6captureouters', 0);
$ops.add_hll_moarop_mapping('nqp', 'p6captureouters2', 'p6captureouters', 0);
$ops.add_hll_op('perl6', 'p6argvmarray', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L255 $ops.add_hll_op('perl6', 'p6bindattrinvres', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L272-L276 $ops.add_hll_moarop_mapping('perl6', 'p6finddispatcher', 'p6finddispatcher');
$ops.add_hll_moarop_mapping('perl6', 'p6argsfordispatcher', 'p6argsfordispatcher');
$ops.add_hll_moarop_mapping('perl6', 'p6decodelocaltime', 'p6decodelocaltime');
$ops.add_hll_moarop_mapping('perl6', 'p6staticouter', 'p6staticouter');
my $p6bool := -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L321-L322 $ops.add_hll_moarop_mapping('perl6', 'p6scalarfromdesc', 'p6scalarfromdesc');
$ops.add_hll_op('perl6', 'p6invokehandler', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L325 $ops.add_hll_op('perl6', 'p6invokeflat', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L329 $ops.add_hll_op('perl6', 'p6sink', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L331 my $sinkee_res := $qastcomp.as_mast($op[0]);
src/vm/moar/Perl6/Ops.nqp#L334 my @ops;
src/vm/moar/Perl6/Ops.nqp#L338-L339 my $sinkee_reg := $sinkee_res.result_reg;
my $itmp := $*REGALLOC.fresh_i();
src/vm/moar/Perl6/Ops.nqp#L341-L343 nqp::push(@ops, MAST::Op.new( :op('isconcrete'), $itmp, $sinkee_reg ));
nqp::push(@ops, MAST::Op.new( :op('unless_i'), $itmp, $done_lbl ));
nqp::push(@ops, MAST::Op.new( :op('can'), $itmp, $sinkee_reg,
src/vm/moar/Perl6/Ops.nqp#L346 $*REGALLOC.release_register($itmp, $MVM_reg_int64);
src/vm/moar/Perl6/Ops.nqp#L349-L350 my $meth := $*REGALLOC.fresh_o();
nqp::push(@ops, MAST::Op.new( :op('findmeth'), $meth, $sinkee_reg,
src/vm/moar/Perl6/Ops.nqp#L352 nqp::push(@ops, MAST::Call.new(
src/vm/moar/Perl6/Ops.nqp#L355 $*REGALLOC.release_register($meth, $MVM_reg_obj);
src/vm/moar/Perl6/Ops.nqp#L359-L360 $*REGALLOC.release_register($sinkee_res.result_reg, $MVM_reg_obj);
MAST::InstructionList.new(@ops, MAST::VOID, $MVM_reg_void);
src/vm/moar/Perl6/Ops.nqp#L369-L376 $ops.add_hll_op('nqp', 'p6bool', $p6bool);
$ops.add_hll_moarop_mapping('nqp', 'p6init', 'p6init');
$ops.add_hll_moarop_mapping('nqp', 'p6settypes', 'p6settypes', 0);
$ops.add_hll_moarop_mapping('nqp', 'p6var', 'p6var');
$ops.add_hll_moarop_mapping('nqp', 'p6reprname', 'p6reprname');
$ops.add_hll_moarop_mapping('nqp', 'p6inpre', 'p6inpre');
$ops.add_hll_moarop_mapping('nqp', 'p6capturelexwhere', 'p6capturelexwhere');
$ops.add_hll_moarop_mapping('nqp', 'p6invokeunder', 'p6invokeunder');
src/vm/moar/Perl6/Ops.nqp#L379 $ops.add_hll_op('perl6', 'defor', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L402 sub boxer($kind, $op) {
src/vm/moar/Perl6/Ops.nqp#L412-L415 $ops.add_hll_box('perl6', $MVM_reg_int64, boxer($MVM_reg_int64, 'p6box_i'));
$ops.add_hll_box('perl6', $MVM_reg_num64, boxer($MVM_reg_num64, 'p6box_n'));
$ops.add_hll_box('perl6', $MVM_reg_str, boxer($MVM_reg_str, 'p6box_s'));
$ops.add_hll_box('perl6', $MVM_reg_uint64, boxer($MVM_reg_uint64, 'p6box_u'));
src/vm/moar/Perl6/Ops.nqp#L423 QAST::MASTOperations.add_hll_unbox('perl6', $MVM_reg_num64, -> $qastcomp, $reg {
src/vm/moar/Perl6/Ops.nqp#L430 QAST::MASTOperations.add_hll_unbox('perl6', $MVM_reg_str, -> $qastcomp, $reg {
src/vm/moar/Perl6/Ops.nqp#L437 QAST::MASTOperations.add_hll_unbox('perl6', $MVM_reg_uint64, -> $qastcomp, $reg {
src/vm/moar/Perl6/Ops.nqp#L447 $ops.add_hll_op('perl6', 'p6bindsig', :!inlinable, -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L468 my $is_bindable := -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L476-L477 $ops.add_hll_op('perl6', 'p6isbindable', :!inlinable, $is_bindable);
my $p6bindcaptosig := -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L485-L486 proto sub trial_bind(*@args) {
$Binder.trial_bind(|@args);
src/vm/moar/Perl6/Ops.nqp#L488 my $trial_bind := -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L496-L497 $ops.add_hll_op('perl6', 'p6trialbind', :!inlinable, $trial_bind);
proto sub set_binder($b) { $Binder := $b; }
src/vm/moar/Perl6/Ops.nqp#L499 $ops.add_hll_op('nqp', 'p6setbinder', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L506 $ops.add_hll_op('perl6', 'p6typecheckrv', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L644 $ops.add_hll_op('perl6', 'p6decontrv', -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L672 $ops.add_hll_op('perl6', 'p6setautothreader', :inlinable, -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L678 $ops.add_hll_op('perl6', 'p6configposbindfailover', :inlinable, -> $qastcomp, $op {
src/vm/moar/Perl6/Ops.nqp#L685-L686 sub push_ilist(@dest, $src) {
nqp::splice(@dest, $src.instructions, +@dest, 0);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment