=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm-520- nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm:521: my $where = $params{where} // 'templates'; nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm-522- delete $params{where}; ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm-634- "\n" nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm:635: . $self->inc_comment("Included from `$_[0]`") nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm-636- . $text nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm:637: . $self->inc_comment("End of section included from `$_[0]`"); nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Macros.pm-638-} ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-264- && ( $_ = nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm:265:`"$prefix\\bin\\nqp-m.exe" -e "print(nqp::backendconfig()<make>)"` nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-266- ) ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-273- && ( $_ = nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm:274:`"$prefix\\bin\\nqp-m.bat" -e "print(nqp::backendconfig()<make>)"` nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-275- ) ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-959- nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm:960: my $where = $params{where} || 'templates'; nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-961- my $where_dir = $self->cfg( "${where}_dir", strict => 1 ); ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-1141- nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm:1142: system( 'git', 'config', 'remote.origin.pushurl', $pushurl ) nqp-2020.10+dfsg/3rdparty/nqp-configure/lib/NQP/Config.pm-1143- if defined $pushurl && $pushurl ne $pullurl; ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-147- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:148:### `mute($on)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-149- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:150:Sets `quiet` attribute-flag to `$on` or to a _true_ value if used without an argument. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-151- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:152:### `note($type, @message)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-153- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:154:For cases where a notice must be output which is not a subject for `quiet`ness and requires user attention. `$type` is nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-155-a short message explaining what type of notice we're printing. It's a free-form, but words like `ATTENTION` or 'WARNING' ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-175- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:176:### `batch_file($file)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-177- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-189- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:190:### `option($opt)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-191- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:192:Returns a option `$opt` or _undef_ if its doesn't exists. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-193- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:194:### `has_option($opt)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-195- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:196:Returns _true_ if option `$opt` exists. It may not necessarily be defined though. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-197- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:198:### `validate_backend($backend, $method)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-199- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:200:Dies if `$backend` is not supported. Error message would inform method name if `$method` is defined. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-201- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:202:Returns `$backend` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-203- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-207- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:208:### `known_backend($backend)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-209- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:210:Returns _true_ if `$backend` is supported. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-211- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-215- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:216:### `abbr_to_backend($backend_abbreviation)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-217- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-219- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:220:### `backend_abbr($backend)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-221- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:222:Returns `$backend` short name. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-223- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:224:### `backend_config($backend [, %config])` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-225- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-230- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:231:### `use_backend($backend)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-232- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:233:Activates a `$backend` for build. This includes: nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-234- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-236- the backends were activated. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:237:- if no other backends were activated yet, the `default_backend` configuration variable is set to `$backend` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-238- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-244- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:245:### `active_backend($backend)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-246- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:247:Returns _true_ if `$backend` is activate. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-248- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-252- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:253:### `base_path($relative_path)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-254- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-271- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:272:### `parse_backends($cli_backends)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-273- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-275- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:276:### `backend_error($backend, @msgs)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-277- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:278:Stores error messages related to a `$backend`. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-279- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:280:### `backend_errors($backend)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-281- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:282:Returns a list or arrayref (context dependant) of stored errors for a `$backend`. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-283- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-305- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:306:### `make_option($opt[, no_quote => 1])` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-307- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-320- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:321:### `is_executable($file)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-322- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:323:Returns _true_ if `$file` is an executable. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-324- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:325:### `github_url($protocol, $user, $repo)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-326- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-327-Builds URL for a github repository based on requested protocol. The protocol could be either _"git"_ or _"https"_. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:328:`$user` is github's user account which owns the repository `$repo`. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-329- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:330:### `repo_url($repo_alias[, %params])` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-331- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:332:Higher level github URL builder. `$repo_alias` is a key from `repo_maps` attribute: one of _moar_, _nqp_, _rakudo_, or nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-333-_roast_ values. The following keys can be used in `%params`: ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-339- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:340:### `find_file_path($short_name, %params)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-341- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:342:Finds a file defined `$short_name` in specified subdirectories. Returns file name with path if found or empty string nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-343-otherwise. ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-347-- `where` - which base directory we're lookin in. Currently it could be either _templates_ or _build_. But any other nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:348: word can be used as long as there is a configuration variable `${where}_dir`. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:349:- `subdir` – single directory name to look in. Appended to `$where` directory. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-350-- `subdirs` - a list of directories. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:351:- `subdirs_only` – boolean. If _true_ then file isn't searched in `$where` dir itself, only in subdirectories of it. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-352- For example, one can limit the search of a `Makefile` template by platform of backend directories avoiding the nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-353- universal `Makefile` template. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:354:- `suffix` - suffix to be appended to `$short_name`. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-355-- `suffixes` - list of `suffix`'es. To look for a file without a suffix too this list must contain an empty string. ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-362- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:363:### `template_file_path($template, %params)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-364- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-375- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:376:### `build_file_path($file_name, %params)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-377- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-388- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:389:### `fill_template_file($infile, $outfile, %params)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-390- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:391:Expand `$infile` into `$outfile`. `$outfile` could be a file name or an opened file handle. `$infile` could be a single nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:392:template name or an arrayref of templates. If `$infile` is a list then all templates are expanded into a single nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:393:`$outfile`. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-394- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-409- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:410:### `fill_template_text($text, %params)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-411- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:412:Expands `$text` by creating an instance of `NQP::Macros` class and calling its `expand` method on the text. Passes nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:413:`$self` as the configuration object for the `NQP::Macros` instance. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-414- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-418- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:419:### `fixup_makefile($text)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-420- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-423- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:424:### `git_checkout($repo, $dir, $branch)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-425- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:426:Checkouts a repository specified by its short name `$repo` (see `repo_maps` attribute) into a directory `$dir`. By nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:427:_checkout_ we mean either `clone` or `fetch`, depending on the existence of `$dir`. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-428- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:429:`$branch` defined what specific branch is requested if defined. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-430- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-441- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:442:### `push_ctx($ctx)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-443- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-458- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:459:As soon as a single loop iteration ends `$scoping` will go out of scope and will be destroyed effectively deactivating nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-460-the context. ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-469- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:470:### `push_config({ $config | %config })` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-471- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-483- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:484:### `cfg($variable, %params)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-485- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-491- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:492:### `set($variable, $value[, in_ctx => 1])` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-493- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-496- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:497:### `prop($property[, strict => 1])` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-498- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:499:Looks for a `$property` in the contexts. If not found then tries the configuration object itself. If property is not nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-500-found but `strict` is set then dies. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-501- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:502:### `in_ctx($property, $value)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-503- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:504:Locates the context where `$property` is defined and has value `$value`. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-505- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-507- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:508:### `shell_quote_filename($filename)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-509- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:510:Quotes/escapes `$filename` in accordance to the current platform's rules. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-511- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:512:### `nfp($filename)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-513- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-518- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:519:### `c_escape_string($string)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-520- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-528- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:529:### `slurp($file)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-530- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:531:Returns `$file` content as a single line. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-532- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:533:### `os2platform([$os])` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-534- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-546- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:547:### `run_or_die($cmd, %params)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-548- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-550- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:551:### `parse_revision($rev)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-552- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-556- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md:557:### `cmp_rev($rev_a, $rev_b)` nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/NQP-Config.md-558- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-255-Generates environment variable in the format understood by the current platform. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:256:I.e. for `@envvar(VAR)@` it will generate `$VAR` on \*nix and `%VAR%` on nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-257-DOS-derivatives (Windows, OS/2). ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-297-Taken MVAR returns either backend prefixed (`@bp@`) or suffixed (`@uc(@backend@)@`) nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:298:makefile variable or macro (`$(VARIABLE)`). For example: nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-299- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-478-This macro executes a Perl code snippet and returns either what the snipped nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:479:returned explicitly or what it's left in `$out`: nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-480- ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-488- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:489:- `$macros` – object of class `NQP::Macros` which does expansions of the current template. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:490:- `$cfg` - object of type `NQP::Config`. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-491-- `%config` – hash of configuration variables. Incorporates all surrounding nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-492- contexts. nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:493:- `$out` – content of this variable will be returned as macro result unless the nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-494- snippet returns something explicitly. ############################################## nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-526- nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md:527:where without `@nop()@` the closing brace of `$(VAR1)` would combine with nqp-2020.10+dfsg/3rdparty/nqp-configure/doc/Macros.md-528-opening `@` and form fake closing brace for `@q(`: ############################################## nqp-2020.10+dfsg/Configure.pl-17- if ( !-e '3rdparty/nqp-configure/LICENSE' ) { nqp-2020.10+dfsg/Configure.pl:18: my $code = system($^X, 'tools/build/update-submodules.pl', Cwd::cwd(), @ARGV); nqp-2020.10+dfsg/Configure.pl-19- exit 1 if $code >> 8 != 0; ############################################## nqp-2020.10+dfsg/docs/built-ins.md-8-## match nqp-2020.10+dfsg/docs/built-ins.md:9:* `match($text, $regex, :$global? --> @array)` nqp-2020.10+dfsg/docs/built-ins.md-10- nqp-2020.10+dfsg/docs/built-ins.md:11:Match `$text` against `$regex`. If the `$global` flag is nqp-2020.10+dfsg/docs/built-ins.md-12-given, then return an array of all non-overlapping matches. ############################################## nqp-2020.10+dfsg/docs/built-ins.md-14-## subst nqp-2020.10+dfsg/docs/built-ins.md:15:* `subst($text, $regex, $replacement, :$global? --> str)` nqp-2020.10+dfsg/docs/built-ins.md-16- nqp-2020.10+dfsg/docs/built-ins.md:17:Substitute a match of `$regex` in `$text` with `$replacement`, nqp-2020.10+dfsg/docs/built-ins.md:18:returning the substituted string. If `$global` is given, then nqp-2020.10+dfsg/docs/built-ins.md:19:perform the replacement on all matches of `$text`. nqp-2020.10+dfsg/docs/built-ins.md-20- ############################################## nqp-2020.10+dfsg/docs/built-ins.md-23-## open nqp-2020.10+dfsg/docs/built-ins.md:24:* `open($filename, :$r, :$w, :$a, :$bin, :$enc, :$chomp --> $filehandle)` nqp-2020.10+dfsg/docs/built-ins.md-25- nqp-2020.10+dfsg/docs/built-ins.md:26:Open file `$filename`. Options: nqp-2020.10+dfsg/docs/built-ins.md-27-+ :w - open for writing ############################################## nqp-2020.10+dfsg/docs/built-ins.md-34-## close nqp-2020.10+dfsg/docs/built-ins.md:35:* `close($fh)` nqp-2020.10+dfsg/docs/built-ins.md-36- nqp-2020.10+dfsg/docs/built-ins.md:37:Close the file attached to file handle `$fh`. nqp-2020.10+dfsg/docs/built-ins.md-38- nqp-2020.10+dfsg/docs/built-ins.md-39-## slurp nqp-2020.10+dfsg/docs/built-ins.md:40:* `slurp($filename --> str)` nqp-2020.10+dfsg/docs/built-ins.md-41- nqp-2020.10+dfsg/docs/built-ins.md:42:Returns the contents of `$filename` as a single string. nqp-2020.10+dfsg/docs/built-ins.md-43- nqp-2020.10+dfsg/docs/built-ins.md-44-## spurt nqp-2020.10+dfsg/docs/built-ins.md:45:* `spurt($filename, $contents)` nqp-2020.10+dfsg/docs/built-ins.md-46- nqp-2020.10+dfsg/docs/built-ins.md:47:Write the string value of `$contents` to `$filename`. nqp-2020.10+dfsg/docs/built-ins.md-48- nqp-2020.10+dfsg/docs/built-ins.md-49-## say nqp-2020.10+dfsg/docs/built-ins.md:50:* `say($string)` nqp-2020.10+dfsg/docs/built-ins.md-51- nqp-2020.10+dfsg/docs/built-ins.md:52:Write `$string` to `stdout` with a newline added. nqp-2020.10+dfsg/docs/built-ins.md-53- nqp-2020.10+dfsg/docs/built-ins.md-54-## note nqp-2020.10+dfsg/docs/built-ins.md:55:* `note($string)` nqp-2020.10+dfsg/docs/built-ins.md-56- nqp-2020.10+dfsg/docs/built-ins.md:57:Write `$string` to `stderr` with a newline added. nqp-2020.10+dfsg/docs/built-ins.md-58- nqp-2020.10+dfsg/docs/built-ins.md-59-## join nqp-2020.10+dfsg/docs/built-ins.md:60:* `join($delim, @array --> str)` nqp-2020.10+dfsg/docs/built-ins.md-61- nqp-2020.10+dfsg/docs/built-ins.md-62-Returns a string formed by joining each element of `@array` nqp-2020.10+dfsg/docs/built-ins.md:63:with the `$delim`. nqp-2020.10+dfsg/docs/built-ins.md-64- nqp-2020.10+dfsg/docs/built-ins.md-65-## print nqp-2020.10+dfsg/docs/built-ins.md:66:* `print($string)` nqp-2020.10+dfsg/docs/built-ins.md-67- nqp-2020.10+dfsg/docs/built-ins.md:68:Write `$string` to `stdout`. nqp-2020.10+dfsg/docs/built-ins.md-69- nqp-2020.10+dfsg/docs/built-ins.md-70-## stdin nqp-2020.10+dfsg/docs/built-ins.md:71:* `stdin(--> $filehandle)` nqp-2020.10+dfsg/docs/built-ins.md-72- ############################################## nqp-2020.10+dfsg/docs/built-ins.md-75-## stdout nqp-2020.10+dfsg/docs/built-ins.md:76:* `stdout(--> $filehandle)` nqp-2020.10+dfsg/docs/built-ins.md-77- ############################################## nqp-2020.10+dfsg/docs/built-ins.md-80-## stderr nqp-2020.10+dfsg/docs/built-ins.md:81:* `stderr(--> $filehandle)` nqp-2020.10+dfsg/docs/built-ins.md-82- ############################################## nqp-2020.10+dfsg/docs/built-ins.md-98-## fh.get nqp-2020.10+dfsg/docs/built-ins.md:99:* `$fh.get()` nqp-2020.10+dfsg/docs/built-ins.md-100- nqp-2020.10+dfsg/docs/built-ins.md:101:Reads a line from the file attached to file handle `$fh`. nqp-2020.10+dfsg/docs/built-ins.md-102- nqp-2020.10+dfsg/docs/built-ins.md-103-## fh.print nqp-2020.10+dfsg/docs/built-ins.md:104:* `$fh.print($string)` nqp-2020.10+dfsg/docs/built-ins.md-105- nqp-2020.10+dfsg/docs/built-ins.md:106:Write `$string` to the file attached to file handle `$fh`. nqp-2020.10+dfsg/docs/built-ins.md-107-An ending newline is not added. ############################################## nqp-2020.10+dfsg/docs/built-ins.md-109-## fh.say nqp-2020.10+dfsg/docs/built-ins.md:110:* `$fh.say($string)` nqp-2020.10+dfsg/docs/built-ins.md-111- nqp-2020.10+dfsg/docs/built-ins.md:112:Write `$string` to the file attached to file handle `$fh`. nqp-2020.10+dfsg/docs/built-ins.md-113-An ending newline is added. ############################################## nqp-2020.10+dfsg/docs/built-ins.md-115-## fh.close nqp-2020.10+dfsg/docs/built-ins.md:116:* `$fh.close()` nqp-2020.10+dfsg/docs/built-ins.md-117- nqp-2020.10+dfsg/docs/built-ins.md:118:Close the file attached to file handle `$fh`. nqp-2020.10+dfsg/docs/built-ins.md-119- nqp-2020.10+dfsg/docs/built-ins.md-120-## fh.readchars nqp-2020.10+dfsg/docs/built-ins.md:121:* `$fh.readchars($nchars)` nqp-2020.10+dfsg/docs/built-ins.md-122- nqp-2020.10+dfsg/docs/built-ins.md:123:Read `$nchars` characters from file handle `$fh`. nqp-2020.10+dfsg/docs/built-ins.md-124- nqp-2020.10+dfsg/docs/built-ins.md-125-## fh.eof nqp-2020.10+dfsg/docs/built-ins.md:126:* `$fh.eof` nqp-2020.10+dfsg/docs/built-ins.md-127- nqp-2020.10+dfsg/docs/built-ins.md:128:Returns true if end-of-file has been reached on file handle `$fh`. nqp-2020.10+dfsg/docs/built-ins.md-129- ############################################## nqp-2020.10+dfsg/docs/built-ins.md-132-## plan nqp-2020.10+dfsg/docs/built-ins.md:133:* `plan($quantity --> str)` nqp-2020.10+dfsg/docs/built-ins.md-134- nqp-2020.10+dfsg/docs/built-ins.md-135-## ok nqp-2020.10+dfsg/docs/built-ins.md:136:* `ok($condition, $descrip?)` nqp-2020.10+dfsg/docs/built-ins.md-137- nqp-2020.10+dfsg/docs/built-ins.md-138-## is nqp-2020.10+dfsg/docs/built-ins.md:139:* `is($got, $expected, $desc?)` nqp-2020.10+dfsg/docs/built-ins.md-140- nqp-2020.10+dfsg/docs/built-ins.md-141-## todo nqp-2020.10+dfsg/docs/built-ins.md:142:* `todo($reason, $count)` nqp-2020.10+dfsg/docs/built-ins.md-143- nqp-2020.10+dfsg/docs/built-ins.md-144-## skip nqp-2020.10+dfsg/docs/built-ins.md:145:* `skip($desc, $count=1)` nqp-2020.10+dfsg/docs/built-ins.md-146- nqp-2020.10+dfsg/docs/built-ins.md-147-## bug-workaround nqp-2020.10+dfsg/docs/built-ins.md:148:* `bug-workaround($code)` nqp-2020.10+dfsg/docs/built-ins.md-149- nqp-2020.10+dfsg/docs/built-ins.md:150:If `$code` dies, returns the error message. nqp-2020.10+dfsg/docs/built-ins.md-151- nqp-2020.10+dfsg/docs/built-ins.md-152-## dies-ok nqp-2020.10+dfsg/docs/built-ins.md:153:* `dies-ok($code, $description, :$message)` nqp-2020.10+dfsg/docs/built-ins.md-154- nqp-2020.10+dfsg/docs/built-ins.md-155-## run-command nqp-2020.10+dfsg/docs/built-ins.md:156:* `run-command($command, :$stdout, :$stderr --> @array)` nqp-2020.10+dfsg/docs/built-ins.md-157- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-490-## abs nqp-2020.10+dfsg/docs/ops.markdown:491:* `abs_i(int $i --> int)` nqp-2020.10+dfsg/docs/ops.markdown:492:* `abs_n(num $n --> num)` nqp-2020.10+dfsg/docs/ops.markdown:493:* `abs_I(Int $i, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-494- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-498-## add nqp-2020.10+dfsg/docs/ops.markdown:499:* `add_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:500:* `add_n(num $l, num $r --> num)` nqp-2020.10+dfsg/docs/ops.markdown:501:* `add_I(Int $l, Int $r, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-502- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-506-## div nqp-2020.10+dfsg/docs/ops.markdown:507:* `div_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:508:* `div_n(num $l, num $r --> num)` nqp-2020.10+dfsg/docs/ops.markdown:509:* `div_I(Int $l, Int $r, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown:510:* `div_In(Int $l, Int $r --> num)` nqp-2020.10+dfsg/docs/ops.markdown-511- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-517-## gcd nqp-2020.10+dfsg/docs/ops.markdown:518:* `gcd_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:519:* `gcd_I(Int $l, Int $r, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-520- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-524-## lcm nqp-2020.10+dfsg/docs/ops.markdown:525:* `lcm_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:526:* `lcm_I(Int $l, Int $r, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-527- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-531-## mod nqp-2020.10+dfsg/docs/ops.markdown:532:* `mod_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:533:* `mod_n(num $l, num $r --> num)` nqp-2020.10+dfsg/docs/ops.markdown:534:* `mod_I(Int $l, Int $r, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-535- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-539-## mul nqp-2020.10+dfsg/docs/ops.markdown:540:* `mul_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:541:* `mul_n(num $l, num $r --> num)` nqp-2020.10+dfsg/docs/ops.markdown:542:* `mul_I(Int $l, Int $r, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-543- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-547-## neg nqp-2020.10+dfsg/docs/ops.markdown:548:* `neg_i(int $i --> int)` nqp-2020.10+dfsg/docs/ops.markdown:549:* `neg_n(num $n --> num)` nqp-2020.10+dfsg/docs/ops.markdown:550:* `neg_I(Int $i, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-551- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-555-## sub nqp-2020.10+dfsg/docs/ops.markdown:556:* `sub_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:557:* `sub_n(num $l, num $r --> num)` nqp-2020.10+dfsg/docs/ops.markdown:558:* `sub_I(Int $l, Int $r, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-559- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-565-## base nqp-2020.10+dfsg/docs/ops.markdown:566:* `base_I(Int $i, int $radix --> str)` nqp-2020.10+dfsg/docs/ops.markdown-567- nqp-2020.10+dfsg/docs/ops.markdown:568:Returns a string representing the integer `$i` in base `$radix` nqp-2020.10+dfsg/docs/ops.markdown-569- nqp-2020.10+dfsg/docs/ops.markdown-570-## ceil nqp-2020.10+dfsg/docs/ops.markdown:571:* `ceil_n(num $n --> num)` nqp-2020.10+dfsg/docs/ops.markdown-572- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-575-## exp nqp-2020.10+dfsg/docs/ops.markdown:576:* `exp_n(num $exponent --> num)` nqp-2020.10+dfsg/docs/ops.markdown-577- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-580-## floor nqp-2020.10+dfsg/docs/ops.markdown:581:* `floor_n(num $n --> num)` nqp-2020.10+dfsg/docs/ops.markdown-582- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-590-## log_n nqp-2020.10+dfsg/docs/ops.markdown:591:* `log_n(num $n --> num)` nqp-2020.10+dfsg/docs/ops.markdown-592- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-595-## expmod nqp-2020.10+dfsg/docs/ops.markdown:596:* `expmod_I(Int $base, Int $exponent, Int $modulus, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-597- nqp-2020.10+dfsg/docs/ops.markdown:598:Return a bigint that is `$base` raised to `$exponent` modulus `$modulus`. nqp-2020.10+dfsg/docs/ops.markdown-599-`_I` variant returns an object of the given type. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-611-## pow nqp-2020.10+dfsg/docs/ops.markdown:612:* `pow_i(int $base, int $exponent --> int)` nqp-2020.10+dfsg/docs/ops.markdown:613:* `pow_n(num $base, num $exponent --> num)` nqp-2020.10+dfsg/docs/ops.markdown:614:* `pow_I(Int $base, Int $exponent, Mu:T $type_num, Mu:T $type_bigint --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-615- nqp-2020.10+dfsg/docs/ops.markdown-616-Return the value of $base raised to $exponent; nqp-2020.10+dfsg/docs/ops.markdown:617:`_I` variant returns an object of `$type_num` for negative exponents, nqp-2020.10+dfsg/docs/ops.markdown:618:and of type `$type_bigint` for positive exponents. nqp-2020.10+dfsg/docs/ops.markdown-619- nqp-2020.10+dfsg/docs/ops.markdown-620-## rand nqp-2020.10+dfsg/docs/ops.markdown:621:* `rand_n(num $n --> num)` nqp-2020.10+dfsg/docs/ops.markdown:622:* `rand_i(int $i, Mu:T $type --> int)` `moar` nqp-2020.10+dfsg/docs/ops.markdown:623:* `rand_I(Int $i, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-624- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-629-## srand nqp-2020.10+dfsg/docs/ops.markdown:630:* `srand(int $n)` nqp-2020.10+dfsg/docs/ops.markdown-631- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-636-## sqrt nqp-2020.10+dfsg/docs/ops.markdown:637:* `sqrt_n(num $n--> num)` nqp-2020.10+dfsg/docs/ops.markdown-638- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-641-## asec nqp-2020.10+dfsg/docs/ops.markdown:642:* `asec_n(num $n --> num)` nqp-2020.10+dfsg/docs/ops.markdown-643- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-646-## asin nqp-2020.10+dfsg/docs/ops.markdown:647:* `asin_n(num $n --> num)` nqp-2020.10+dfsg/docs/ops.markdown-648- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-651-## acos nqp-2020.10+dfsg/docs/ops.markdown:652:* `acos_n(num $n --> num)` nqp-2020.10+dfsg/docs/ops.markdown-653- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-656-## atan nqp-2020.10+dfsg/docs/ops.markdown:657:* `atan_n(num $n --> num)` nqp-2020.10+dfsg/docs/ops.markdown-658- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-661-## atan2 nqp-2020.10+dfsg/docs/ops.markdown:662:* `atan2_n(num $l, num $r --> num))` nqp-2020.10+dfsg/docs/ops.markdown-663- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-666-## cos nqp-2020.10+dfsg/docs/ops.markdown:667:* `cos_n(num $n --> num))` nqp-2020.10+dfsg/docs/ops.markdown-668- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-671-## cosh nqp-2020.10+dfsg/docs/ops.markdown:672:* `cosh_n(num $n --> num))` nqp-2020.10+dfsg/docs/ops.markdown-673- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-676-## sin nqp-2020.10+dfsg/docs/ops.markdown:677:* `sin_n(num $n --> num))` nqp-2020.10+dfsg/docs/ops.markdown-678- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-681-## sinh nqp-2020.10+dfsg/docs/ops.markdown:682:* `sinh_n(num $n --> num))` nqp-2020.10+dfsg/docs/ops.markdown-683- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-686-## sec nqp-2020.10+dfsg/docs/ops.markdown:687:* `sec_n(num $n --> num))` nqp-2020.10+dfsg/docs/ops.markdown-688- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-691-## sech nqp-2020.10+dfsg/docs/ops.markdown:692:* `sech_n(num $n --> num))` nqp-2020.10+dfsg/docs/ops.markdown-693- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-696-## tan nqp-2020.10+dfsg/docs/ops.markdown:697:* `tan_n(num $n --> num))` nqp-2020.10+dfsg/docs/ops.markdown-698- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-701-## tanh nqp-2020.10+dfsg/docs/ops.markdown:702:* `tanh_n(num $n --> num))` nqp-2020.10+dfsg/docs/ops.markdown-703- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-708-## cmp nqp-2020.10+dfsg/docs/ops.markdown:709:* `cmp_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:710:* `cmp_n(num $l, num $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:711:* `cmp_s(str $l, str $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:712:* `cmp_I(Int $l, Int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown-713- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-717-## eqat nqp-2020.10+dfsg/docs/ops.markdown:718:* `eqat(str $haystack, str $needle, int $pos --> int)` nqp-2020.10+dfsg/docs/ops.markdown-719- nqp-2020.10+dfsg/docs/ops.markdown:720:Return 1 if the string `$haystack` has the string `$needle` at position `$pos`, nqp-2020.10+dfsg/docs/ops.markdown-721-otherwise return 0. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-723-## eqatic nqp-2020.10+dfsg/docs/ops.markdown:724:* `eqatic(str haystack, str $needle, int $pos --> int)` nqp-2020.10+dfsg/docs/ops.markdown-725-Case-insensitive `eqat` ############################################## nqp-2020.10+dfsg/docs/ops.markdown-727-## eqatim `moar` `js` nqp-2020.10+dfsg/docs/ops.markdown:728:* `eqatim(str haystack, str $needle, int $pos --> int)` nqp-2020.10+dfsg/docs/ops.markdown-729-Ignore-mark `eqat`, NFD decomposes and matches the base codepoint ############################################## nqp-2020.10+dfsg/docs/ops.markdown-733-## eqaticim `moar` `js` nqp-2020.10+dfsg/docs/ops.markdown:734:* `eqaticim(str haystack, str $needle, int $pos --> int)` nqp-2020.10+dfsg/docs/ops.markdown-735-Case-insensitive and ignore-mark `eqat` ############################################## nqp-2020.10+dfsg/docs/ops.markdown-737-## falsey nqp-2020.10+dfsg/docs/ops.markdown:738:* `falsey($a --> int)` nqp-2020.10+dfsg/docs/ops.markdown-739- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-742-## iseq nqp-2020.10+dfsg/docs/ops.markdown:743:* `iseq_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:744:* `iseq_n(num $l, num $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:745:* `iseq_s(str $l, str $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:746:* `iseq_I(Int $l, Int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:747:* `iseq_snfg(str $l, str $r --> int)` `js` nqp-2020.10+dfsg/docs/ops.markdown-748- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-753-## isgt nqp-2020.10+dfsg/docs/ops.markdown:754:* `isgt_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:755:* `isgt_n(num $l, num $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:756:* `isgt_s(str $l, str $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:757:* `isgt_I(Int $l, Int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown-758- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-761-## isge nqp-2020.10+dfsg/docs/ops.markdown:762:* `isge_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:763:* `isge_n(num $l, num $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:764:* `isge_s(str $l, str $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:765:* `isge_I(Int $l, Int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown-766- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-769-## islt nqp-2020.10+dfsg/docs/ops.markdown:770:* `islt_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:771:* `islt_n(num $l, num $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:772:* `islt_s(str $l, str $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:773:* `islt_I(Int $l, Int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown-774- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-777-## isle nqp-2020.10+dfsg/docs/ops.markdown:778:* `isle_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:779:* `isle_n(num $l, num $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:780:* `isle_s(str $l, str $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:781:* `isle_I(Int $l, Int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown-782- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-785-## isne nqp-2020.10+dfsg/docs/ops.markdown:786:* `isne_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:787:* `isne_n(num $l, num $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:788:* `isne_s(str $l, str $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:789:* `isne_I(Int $l, Int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:790:* `isne_snfg(str $l, str $r --> int)` `js` nqp-2020.10+dfsg/docs/ops.markdown-791- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-796-## not_i nqp-2020.10+dfsg/docs/ops.markdown:797:* `not_i(int $val --> int)` nqp-2020.10+dfsg/docs/ops.markdown-798- nqp-2020.10+dfsg/docs/ops.markdown:799:Return 1 if `$val` is 0, 0 otherwise. nqp-2020.10+dfsg/docs/ops.markdown-800- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-803-## atpos nqp-2020.10+dfsg/docs/ops.markdown:804:* `atpos(@arr, int $i --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:805:* `atpos_i(@arr, int $i --> int)` nqp-2020.10+dfsg/docs/ops.markdown:806:* `atpos_n(@arr, int $i --> num)` nqp-2020.10+dfsg/docs/ops.markdown:807:* `atpos_s(@arr, int $i --> str)` nqp-2020.10+dfsg/docs/ops.markdown-808- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-820-## atpos2d nqp-2020.10+dfsg/docs/ops.markdown:821:* `atpos2d(@arr, int $i, int $j --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:822:* `atpos2d_i(@arr, int $i, int $j --> int)` nqp-2020.10+dfsg/docs/ops.markdown:823:* `atpos2d_n(@arr, int $i, int $j --> num)` nqp-2020.10+dfsg/docs/ops.markdown:824:* `atpos2d_s(@arr, int $i, int $j --> str)` nqp-2020.10+dfsg/docs/ops.markdown-825- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-828-## atpos3d nqp-2020.10+dfsg/docs/ops.markdown:829:* `atpos3d(@arr, int $i, int $j, int $k --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:830:* `atpos3d_i(@arr, int $i, int $j, int $k --> int)` nqp-2020.10+dfsg/docs/ops.markdown:831:* `atpos3d_n(@arr, int $i, int $j, int $k --> num)` nqp-2020.10+dfsg/docs/ops.markdown:832:* `atpos3d_s(@arr, int $i, int $j, int $k --> str)` nqp-2020.10+dfsg/docs/ops.markdown-833- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-836-## bindpos nqp-2020.10+dfsg/docs/ops.markdown:837:* `bindpos(@arr, int $i, Mu $v --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:838:* `bindpos_i(@arr, int $i, int $v --> int)` nqp-2020.10+dfsg/docs/ops.markdown:839:* `bindpos_n(@arr, int $i, num $v --> num)` nqp-2020.10+dfsg/docs/ops.markdown:840:* `bindpos_s(@arr, int $i, str $v --> str)` nqp-2020.10+dfsg/docs/ops.markdown-841- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-844-## bindposnd nqp-2020.10+dfsg/docs/ops.markdown:845:* `bindposnd(@arr, @indices, Mu $v --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:846:* `bindposnd_i(@arr, @indices, int $v --> int)` nqp-2020.10+dfsg/docs/ops.markdown:847:* `bindposnd_n(@arr, @indices, num $v --> num)` nqp-2020.10+dfsg/docs/ops.markdown:848:* `bindposnd_s(@arr, @indices, str $v --> str)` nqp-2020.10+dfsg/docs/ops.markdown-849- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-853-## bindpos2d nqp-2020.10+dfsg/docs/ops.markdown:854:* `bindpos2d(@arr, int $i, int $j, Mu $v --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:855:* `bindpos2d_i(@arr, int $i, int $j, int $v --> int)` nqp-2020.10+dfsg/docs/ops.markdown:856:* `bindpos2d_n(@arr, int $i, int $j, num $v --> num)` nqp-2020.10+dfsg/docs/ops.markdown:857:* `bindpos2d_s(@arr, int $i, int $j, str $v --> str)` nqp-2020.10+dfsg/docs/ops.markdown-858- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-861-## bindpos3d nqp-2020.10+dfsg/docs/ops.markdown:862:* `bindpos3d(@arr, int $i, int $j, int $k, Mu $v --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:863:* `bindpos3d_i(@arr, int $i, int $j, int $k, int $v --> int)` nqp-2020.10+dfsg/docs/ops.markdown:864:* `bindpos3d_n(@arr, int $i, int $j, int $k, num $v --> num)` nqp-2020.10+dfsg/docs/ops.markdown:865:* `bindpos3d_s(@arr, int $i, int $j, int $k, str $v --> str)` nqp-2020.10+dfsg/docs/ops.markdown-866- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-869-## atposref nqp-2020.10+dfsg/docs/ops.markdown:870:* `atposref(@arr, int $idx --> Mu)` `js` nqp-2020.10+dfsg/docs/ops.markdown:871:* `atposref_i(@arr, int $idx --> int)` nqp-2020.10+dfsg/docs/ops.markdown:872:* `atposref_n(@arr, int $idx --> num)` nqp-2020.10+dfsg/docs/ops.markdown:873:* `atposref_s(@arr, int $idx --> str)` nqp-2020.10+dfsg/docs/ops.markdown-874- nqp-2020.10+dfsg/docs/ops.markdown:875:Returns a container (of type `IntPosRef`, `NumPosRef`, or `StrPosRef`) that you can assign to or read from which will directly access `@arr` at index `$idx`. nqp-2020.10+dfsg/docs/ops.markdown-876- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-883-## existspos nqp-2020.10+dfsg/docs/ops.markdown:884:* `existspos(@arr, int $i --> int)` nqp-2020.10+dfsg/docs/ops.markdown-885- nqp-2020.10+dfsg/docs/ops.markdown:886:Return 1 if anything is bound to `@arr` at position `$i`, nqp-2020.10+dfsg/docs/ops.markdown-887-0 otherwise. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-900-## push nqp-2020.10+dfsg/docs/ops.markdown:901:* `push(@arr, Mu $v --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:902:* `push_i(Array int @arr, int $v --> int)` nqp-2020.10+dfsg/docs/ops.markdown:903:* `push_n(Array num @arr, num $v --> num)` nqp-2020.10+dfsg/docs/ops.markdown:904:* `push_s(Array str @arr, str $v --> str)` nqp-2020.10+dfsg/docs/ops.markdown:905:* `push_o($obj, str $v --> str)` `moar` nqp-2020.10+dfsg/docs/ops.markdown-906- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-923-## setelems nqp-2020.10+dfsg/docs/ops.markdown:924:* `setelems(@arr, int $i --> @arr)` nqp-2020.10+dfsg/docs/ops.markdown-925- nqp-2020.10+dfsg/docs/ops.markdown:926:Set the size of `@arr` to `$i` elements. If less than the current size, nqp-2020.10+dfsg/docs/ops.markdown-927-any elements after the new last position are unbound. If greater, the empty ############################################## nqp-2020.10+dfsg/docs/ops.markdown-942-## slice nqp-2020.10+dfsg/docs/ops.markdown:943:* `slice(@arr, int $start_pos, int $end_pos --> @copy)` nqp-2020.10+dfsg/docs/ops.markdown-944- nqp-2020.10+dfsg/docs/ops.markdown:945:Copy the elements in `@arr` starting at `$start_pos` and ending at `$end_pos` nqp-2020.10+dfsg/docs/ops.markdown:946:and return the resulting list. If `$start_pos` or `$end_pos` is ```-n``` it will nqp-2020.10+dfsg/docs/ops.markdown-947-translate into the ```n```th position relative to the end of the list. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-956- nqp-2020.10+dfsg/docs/ops.markdown:957:Will throw an exception if either `$start_pos` or `$end_pos` is out-of-bounds nqp-2020.10+dfsg/docs/ops.markdown-958-(after translation). ############################################## nqp-2020.10+dfsg/docs/ops.markdown-960-## splice nqp-2020.10+dfsg/docs/ops.markdown:961:* `splice(@arr, @from, int $offset, int $count --> @arr)` nqp-2020.10+dfsg/docs/ops.markdown-962- nqp-2020.10+dfsg/docs/ops.markdown:963:Remove the elements in `@arr` starting at `$offset`, for `$count` positions. nqp-2020.10+dfsg/docs/ops.markdown-964-Replace them with all the elements from `@from`. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-966-## unshift nqp-2020.10+dfsg/docs/ops.markdown:967:* `unshift(@arr, Mu $v --> $v)` nqp-2020.10+dfsg/docs/ops.markdown:968:* `unshift_i(@arr, int $v --> $v)` nqp-2020.10+dfsg/docs/ops.markdown:969:* `unshift_n(@arr, num $v --> $v)` nqp-2020.10+dfsg/docs/ops.markdown:970:* `unshift_s(@arr, str $v --> $v)` nqp-2020.10+dfsg/docs/ops.markdown-971- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-997-## atkey nqp-2020.10+dfsg/docs/ops.markdown:998:* `atkey(%hash, str $key --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:999:* `atkey_i(%hash, str $key --> int)` nqp-2020.10+dfsg/docs/ops.markdown:1000:* `atkey_n(%hash, str $key --> num)` nqp-2020.10+dfsg/docs/ops.markdown:1001:* `atkey_s(%hash, str $key --> str)` nqp-2020.10+dfsg/docs/ops.markdown:1002:* `atkey_u(%hash, str $key --> uint)` `moar` nqp-2020.10+dfsg/docs/ops.markdown-1003- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1008-## bindkey nqp-2020.10+dfsg/docs/ops.markdown:1009:* `bindkey(%hash, str $key, Mu $v --> $v)` nqp-2020.10+dfsg/docs/ops.markdown:1010:* `bindkey_i(%hash, str $key, int $v --> $v)` nqp-2020.10+dfsg/docs/ops.markdown:1011:* `bindkey_n(%hash, str $key, num $v --> $v)` nqp-2020.10+dfsg/docs/ops.markdown:1012:* `bindkey_s(%hash, str $key, str $v --> $v)` nqp-2020.10+dfsg/docs/ops.markdown-1013- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1016-## existskey nqp-2020.10+dfsg/docs/ops.markdown:1017:* `existskey(%hash, str $key --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1018- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1021-## deletekey nqp-2020.10+dfsg/docs/ops.markdown:1022:* `deletekey(%hash, str $key --> %hash)` nqp-2020.10+dfsg/docs/ops.markdown-1023- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1033-## iterkey nqp-2020.10+dfsg/docs/ops.markdown:1034:* `iterkey_s($pair --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1035- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1054-## iterval nqp-2020.10+dfsg/docs/ops.markdown:1055:* `iterval($pair --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-1056- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1083-## intify `moar` nqp-2020.10+dfsg/docs/ops.markdown:1084:* `intify($o --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1085- nqp-2020.10+dfsg/docs/ops.markdown-1086-## numify `moar` nqp-2020.10+dfsg/docs/ops.markdown:1087:* `numify($o --> num)` nqp-2020.10+dfsg/docs/ops.markdown-1088- nqp-2020.10+dfsg/docs/ops.markdown-1089-## strify `moar` nqp-2020.10+dfsg/docs/ops.markdown:1090:* `strify($o --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1091- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1094-## chars nqp-2020.10+dfsg/docs/ops.markdown:1095:* `chars(str $str --> int)` nqp-2020.10+dfsg/docs/ops.markdown:1096:* `charsnfg(str $str --> int)` `js` nqp-2020.10+dfsg/docs/ops.markdown-1097- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1100-## chr nqp-2020.10+dfsg/docs/ops.markdown:1101:* `chr(int $codepoint --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1102- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1106-## codepointfromname nqp-2020.10+dfsg/docs/ops.markdown:1107:* `codepointfromname(str $name --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1108- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1112-## codes nqp-2020.10+dfsg/docs/ops.markdown:1113:* `codes(str $str --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1114- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1117-## concat nqp-2020.10+dfsg/docs/ops.markdown:1118:* `concat(str $l, str $r --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1119- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1122-## decode nqp-2020.10+dfsg/docs/ops.markdown:1123:* `decode($buffer, str $encoding --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1124- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1128-## decodetocodes `moar` nqp-2020.10+dfsg/docs/ops.markdown:1129:* `decodetocodes($buffer, str $encoding, int $normalization, $codes)` nqp-2020.10+dfsg/docs/ops.markdown-1130- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1136-## encode nqp-2020.10+dfsg/docs/ops.markdown:1137:* `encode(str $string, str $encoding, $buffer)` nqp-2020.10+dfsg/docs/ops.markdown-1138- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1142-## encodefromcodes `moar` nqp-2020.10+dfsg/docs/ops.markdown:1143:* `encodefromcodes($codes, str $encoding, $buffer)` nqp-2020.10+dfsg/docs/ops.markdown-1144- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1148-## encodenorm nqp-2020.10+dfsg/docs/ops.markdown:1149:* `encode(str $string, str $encoding, int $normalization, $buffer)` nqp-2020.10+dfsg/docs/ops.markdown-1150- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1156-## escape nqp-2020.10+dfsg/docs/ops.markdown:1157:* `escape(str $str --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1158- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1163-## fc nqp-2020.10+dfsg/docs/ops.markdown:1164:* `fc(str $str --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1165- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1169-## findcclass nqp-2020.10+dfsg/docs/ops.markdown:1170:* `findcclass(int $class, str $str, int $i, int $count --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1171- nqp-2020.10+dfsg/docs/ops.markdown:1172:Search the string starting at the `$i`th character, for `$count` characters. nqp-2020.10+dfsg/docs/ops.markdown-1173-Return the position of the first character that is of the specified class ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1178-## findnotcclass nqp-2020.10+dfsg/docs/ops.markdown:1179:* `findnotcclass(int $class, str $str, int $i, int $count --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1180- nqp-2020.10+dfsg/docs/ops.markdown:1181:Search the string starting at the `$i`th character, for `$count` characters. nqp-2020.10+dfsg/docs/ops.markdown-1182-Return the position of the first character that is not of the specified class ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1187-## flip nqp-2020.10+dfsg/docs/ops.markdown:1188:* `flip(str $str --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1189- nqp-2020.10+dfsg/docs/ops.markdown:1190:Return a string with the characters of `$string` in reverse order. nqp-2020.10+dfsg/docs/ops.markdown-1191- nqp-2020.10+dfsg/docs/ops.markdown-1192-## index nqp-2020.10+dfsg/docs/ops.markdown:1193:* `index(str $haystack, str $needle --> int)` nqp-2020.10+dfsg/docs/ops.markdown:1194:* `index(str $haystack, str $needle, int $pos --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1195- nqp-2020.10+dfsg/docs/ops.markdown:1196:Return the position in `$haystack` at which `$needle` appears, or -1 nqp-2020.10+dfsg/docs/ops.markdown:1197:if `$needle` does not appear. Begin searching at position `$pos` if specified, nqp-2020.10+dfsg/docs/ops.markdown-1198-or at 0, otherwise. nqp-2020.10+dfsg/docs/ops.markdown-1199- nqp-2020.10+dfsg/docs/ops.markdown:1200:* `indexfrom(str $haystack, str $needle, int $pos)` `moar` `jvm` _Internal_ nqp-2020.10+dfsg/docs/ops.markdown-1201- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1204-## indexic `moar` nqp-2020.10+dfsg/docs/ops.markdown:1205:* `indexic(str $haystack, str $needle, int $pos --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1206- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1213-## indexim `moar` nqp-2020.10+dfsg/docs/ops.markdown:1214:* `indexim(str $haystack, str $needle, int $pos --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1215- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1220-## indexicim `moar` nqp-2020.10+dfsg/docs/ops.markdown:1221:* `indexicim(str $haystack, str $needle, int $pos)` nqp-2020.10+dfsg/docs/ops.markdown-1222- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1225-## iscclass nqp-2020.10+dfsg/docs/ops.markdown:1226:* `iscclass(int $class, str $str, int $i --> int)` nqp-2020.10+dfsg/docs/ops.markdown:1227:* `iscclassnfg(int $class, str $str, int $i --> int)` `js` nqp-2020.10+dfsg/docs/ops.markdown-1228- nqp-2020.10+dfsg/docs/ops.markdown:1229:Return 1 if the `$i`th character of $str is of the specified class, nqp-2020.10+dfsg/docs/ops.markdown-1230-(`nqp::const::CCLASS_*`), 0 otherwise. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1232-## join nqp-2020.10+dfsg/docs/ops.markdown:1233:* `join(str $delim, @arr --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1234- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1238-## lc nqp-2020.10+dfsg/docs/ops.markdown:1239:* `lc(str $str --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1240- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1243-## normalizecodes nqp-2020.10+dfsg/docs/ops.markdown:1244:* `normalizecodes($codes-in, int $normalization, $codes-out)` nqp-2020.10+dfsg/docs/ops.markdown-1245- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1260-## ord nqp-2020.10+dfsg/docs/ops.markdown:1261:* `ord(str $str --> int)` nqp-2020.10+dfsg/docs/ops.markdown:1262:* `ord(str $str, int $i --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1263- nqp-2020.10+dfsg/docs/ops.markdown:1264:Return the unicode codepoint of the first character in `$str`, or nqp-2020.10+dfsg/docs/ops.markdown:1265:at the `$i`th character, if it's specified. nqp-2020.10+dfsg/docs/ops.markdown-1266- nqp-2020.10+dfsg/docs/ops.markdown:1267:* `ordat(str $str, int $i --> int)` _Internal_ nqp-2020.10+dfsg/docs/ops.markdown:1268:* `ordfirst(str $str --> int)` `moar` `jvm` _Internal_ nqp-2020.10+dfsg/docs/ops.markdown-1269- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1272-## ordbaseat nqp-2020.10+dfsg/docs/ops.markdown:1273:* `ordbaseat(str $str, int $pos --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1274- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1279-## radix nqp-2020.10+dfsg/docs/ops.markdown:1280:* `radix(int $radix, str $str, int $pos, int $flags --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:1281:* `radix_I(int $radix, str $str, int $pos, int $flags, Mu:T $type --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-1282- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1300-## replace nqp-2020.10+dfsg/docs/ops.markdown:1301:* `replace(str $str, int $offset, int $count, str $replacement --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1302- nqp-2020.10+dfsg/docs/ops.markdown:1303:Return a copy of `$str` where the characters starting at `$offset` for `$count` nqp-2020.10+dfsg/docs/ops.markdown:1304:characters have been replaced with the `$replacement` string. nqp-2020.10+dfsg/docs/ops.markdown-1305- nqp-2020.10+dfsg/docs/ops.markdown-1306-## rindex nqp-2020.10+dfsg/docs/ops.markdown:1307:* `rindex(str $haystack, str $needle --> int)` nqp-2020.10+dfsg/docs/ops.markdown:1308:* `rindex(str $haystack, str $needle, int $pos --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1309- nqp-2020.10+dfsg/docs/ops.markdown:1310:Searching backwards through the `$haystack`, return the position at which nqp-2020.10+dfsg/docs/ops.markdown:1311:`$needle` appears, or -1 if it does not. Begin searching at `$pos` if nqp-2020.10+dfsg/docs/ops.markdown-1312-specified, otherwise start from the last position. nqp-2020.10+dfsg/docs/ops.markdown-1313- nqp-2020.10+dfsg/docs/ops.markdown:1314:* `rindexfrom(str $haystack, str $needle, int $pos)` `moar` `jvm` _Internal_ nqp-2020.10+dfsg/docs/ops.markdown:1315:* `rindexfromend(str $haystack, str $needle)` `jvm` _Internal_ nqp-2020.10+dfsg/docs/ops.markdown-1316- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1319-## split nqp-2020.10+dfsg/docs/ops.markdown:1320:* `split(str $delimiter, str $string --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-1321- nqp-2020.10+dfsg/docs/ops.markdown:1322:Splits the string `$string` into an array of elements; these elements are nqp-2020.10+dfsg/docs/ops.markdown-1323-the substrings between delimiters in the original string. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1328-## sprintf nqp-2020.10+dfsg/docs/ops.markdown:1329:* `sprintf(str $pattern, @values --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1330- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1335-## sprintfdirectives nqp-2020.10+dfsg/docs/ops.markdown:1336:* `sprintfdirectives(str $pattern)` nqp-2020.10+dfsg/docs/ops.markdown-1337- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1341-## sprintfaddargumenthandler nqp-2020.10+dfsg/docs/ops.markdown:1342:* `sprintfaddargumenthandler(Mu $handler)` nqp-2020.10+dfsg/docs/ops.markdown-1343- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1357-## strfromcodes nqp-2020.10+dfsg/docs/ops.markdown:1358:* `strfromcodes($codes --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1359- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1363-## strfromname nqp-2020.10+dfsg/docs/ops.markdown:1364:* `strfromname(str $name --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1365- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1382-## strtocodes nqp-2020.10+dfsg/docs/ops.markdown:1383:* `strtocodes(str $str, int $normalization, $codes)` nqp-2020.10+dfsg/docs/ops.markdown-1384- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1390-## substr nqp-2020.10+dfsg/docs/ops.markdown:1391:* `substr(str $str, int $position --> str)` nqp-2020.10+dfsg/docs/ops.markdown:1392:* `substr(str $str, int $position, int $length --> str)` nqp-2020.10+dfsg/docs/ops.markdown:1393:* `substr_s(str $str, int $position --> str)` `moar` nqp-2020.10+dfsg/docs/ops.markdown:1394:* `substr_s(str $str, int $position, int $length --> str)` `moar` nqp-2020.10+dfsg/docs/ops.markdown:1395:* `substr2(str $str, int $position)` `jvm` _Internal_ nqp-2020.10+dfsg/docs/ops.markdown:1396:* `substr3(str $str, int $position, int $length)` `jvm` _Internal_ nqp-2020.10+dfsg/docs/ops.markdown:1397:* `substrnfg(str $str, int $position --> str)` `js` nqp-2020.10+dfsg/docs/ops.markdown:1398:* `substrnfg(str $str, int $position, int $length --> str)` `js` nqp-2020.10+dfsg/docs/ops.markdown-1399- nqp-2020.10+dfsg/docs/ops.markdown-1400-Return the portion of the string starting at the given position. nqp-2020.10+dfsg/docs/ops.markdown:1401:If `$length` is specified, only return that many characters. The nqp-2020.10+dfsg/docs/ops.markdown-1402-numbered variants required the args specified - the unnumbered ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1405-## tc nqp-2020.10+dfsg/docs/ops.markdown:1406:* `tc(str $str --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1407- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1410-## tclc nqp-2020.10+dfsg/docs/ops.markdown:1411:* `tclc(str $str --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1412- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1416-## uc nqp-2020.10+dfsg/docs/ops.markdown:1417:* `uc(str $str --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1418- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1421-## unicmp_s `moar` `js` nqp-2020.10+dfsg/docs/ops.markdown:1422:* `unicmp_s(str $str1, str Str2, int $mode, int $iso639, int $iso3166 --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1423- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1477-## x nqp-2020.10+dfsg/docs/ops.markdown:1478:* `x(str $str, int $count --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1479- nqp-2020.10+dfsg/docs/ops.markdown:1480:Return a new string containing `$count` copies of `$str`. nqp-2020.10+dfsg/docs/ops.markdown-1481- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1484-## getuniname nqp-2020.10+dfsg/docs/ops.markdown:1485:* `getuniname(int $codepoint --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1486- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1489-## getuniprop_int `moar` nqp-2020.10+dfsg/docs/ops.markdown:1490:* `getuniprop_int(int $codepoint, int $propcode --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1491- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1498-## getuniprop_str nqp-2020.10+dfsg/docs/ops.markdown:1499:* `getuniprop_str(int $codepoint, int $propcode --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1500- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1503-## getuniprop_bool `moar` nqp-2020.10+dfsg/docs/ops.markdown:1504:* `getuniprop_bool(int $codepoint, int $propcode --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1505- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1508-## matchuniprop `moar` nqp-2020.10+dfsg/docs/ops.markdown:1509:* `matchuniprop(int $codepoint, int $propcode, int $pvalcode --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1510- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1516-## unipropcode nqp-2020.10+dfsg/docs/ops.markdown:1517:* `unipropcode(str $propname --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1518- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1526-## unipvalcode `moar` nqp-2020.10+dfsg/docs/ops.markdown:1527:* `unipvalcode(int $propcode, str $propname --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1528- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1532-## hasuniprop `moar` nqp-2020.10+dfsg/docs/ops.markdown:1533:* `hasuniprop(str $string, int offset, int propcode, int pvalcode --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1534- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1540-## decoderconfigure nqp-2020.10+dfsg/docs/ops.markdown:1541:* `decoderconfigure(Decoder $dec, str $encoding, VMHash $config)` nqp-2020.10+dfsg/docs/ops.markdown-1542- nqp-2020.10+dfsg/docs/ops.markdown:1543:Configures the decoder with an encoding. The `$config` hash parameter is nqp-2020.10+dfsg/docs/ops.markdown-1544-currently unused, and an empty hash or an `nqp::null` should be passed. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1546-## decodersetlineseps nqp-2020.10+dfsg/docs/ops.markdown:1547:* `decodersetlineseps(Decoder $dec, VMArray $separators)` nqp-2020.10+dfsg/docs/ops.markdown-1548- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1552-## decoderaddbytes nqp-2020.10+dfsg/docs/ops.markdown:1553:* `decoderaddbytes(Decoder $dec, VMArray $blob)` nqp-2020.10+dfsg/docs/ops.markdown-1554- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1558-## decodertakechars nqp-2020.10+dfsg/docs/ops.markdown:1559:* `decodertakechars(Decoder $dec, int $num-chars --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1560- nqp-2020.10+dfsg/docs/ops.markdown:1561:Returns an NFG string consisting of `$num-chars` graphemes, provided that nqp-2020.10+dfsg/docs/ops.markdown:1562:many are available after decoding. If less than `$num-chars` characters nqp-2020.10+dfsg/docs/ops.markdown-1563-can be decoded, then `nqp::null_s` will be returned. Note that a ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1568-## decodertakeallchars nqp-2020.10+dfsg/docs/ops.markdown:1569:* `decodertakeallchars(Decoder $dec --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1570- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1576-## decodertakeavailablechars nqp-2020.10+dfsg/docs/ops.markdown:1577:* `decodertakeavailablechars(Decoder $dec -->int)` nqp-2020.10+dfsg/docs/ops.markdown-1578- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1584-## decodertakeline nqp-2020.10+dfsg/docs/ops.markdown:1585:* `decodertakeline(Decoder $dec, int $chomp, int $incomplete-ok --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1586- nqp-2020.10+dfsg/docs/ops.markdown-1587-Decodes bytes until a line separator is reached, or all bytes have been nqp-2020.10+dfsg/docs/ops.markdown:1588:decoded. If `$incomplete-ok` is zero and the separator was not found, then nqp-2020.10+dfsg/docs/ops.markdown:1589:`nqp::null_s` will be returned. (Thus, `$incomplete-ok` is appropriate only nqp-2020.10+dfsg/docs/ops.markdown:1590:when knowing that the end of the stream has been reached.) If `$chomp` is nqp-2020.10+dfsg/docs/ops.markdown-1591-non-zero, then the separator--if present--will not be included in the ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1594-## decoderbytesavailable nqp-2020.10+dfsg/docs/ops.markdown:1595:* `decoderbytesavailable(Decoder $dec --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1596- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1602-normalization buffer. Thus the result is only accurate before reading any chars nqp-2020.10+dfsg/docs/ops.markdown:1603:or after `decodertakechars` or after `decodertakeline` with `$incomplete-ok` nqp-2020.10+dfsg/docs/ops.markdown-1604-passed a non-zero value. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1606-## decodertakebytes nqp-2020.10+dfsg/docs/ops.markdown:1607:* `decodertakebytes(Decoder $dec, VMArray $blob_type, int $bytes)` nqp-2020.10+dfsg/docs/ops.markdown-1608- nqp-2020.10+dfsg/docs/ops.markdown:1609:Takes up to `$bytes` bytes from the decode stream's undecoded buffer, makes an nqp-2020.10+dfsg/docs/ops.markdown:1610:instance of the `$blob_type`, and places the bytes in it. The same set of nqp-2020.10+dfsg/docs/ops.markdown-1611-caveats about decoded-but-untaken bytes in `decoderbytesavailable` apply. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1613-## decoderempty nqp-2020.10+dfsg/docs/ops.markdown:1614:* `decoderempty(Decoder $dec --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1615- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1622-## if nqp-2020.10+dfsg/docs/ops.markdown:1623:* `if(Block $condition, Block $then)` nqp-2020.10+dfsg/docs/ops.markdown:1624:* `if(Block $condition, Block $then, Block $else)` nqp-2020.10+dfsg/docs/ops.markdown-1625- nqp-2020.10+dfsg/docs/ops.markdown:1626:If the `$condition` evaluates to a non-zero value, run the `$then` block. nqp-2020.10+dfsg/docs/ops.markdown:1627:If not, and an `$else` block is present, run that instead, if it's absent, nqp-2020.10+dfsg/docs/ops.markdown:1628:return result of `$condition`. nqp-2020.10+dfsg/docs/ops.markdown-1629- nqp-2020.10+dfsg/docs/ops.markdown-1630-## unless nqp-2020.10+dfsg/docs/ops.markdown:1631:* `unless(Block $condition, Block $then)` nqp-2020.10+dfsg/docs/ops.markdown:1632:* `unless(Block $condition, Block $then, Block $else)` nqp-2020.10+dfsg/docs/ops.markdown-1633- nqp-2020.10+dfsg/docs/ops.markdown:1634:If the `$condition` evaluates to 0, run the `$then` block. nqp-2020.10+dfsg/docs/ops.markdown:1635:If not, and an `$else` block is present, run that instead, if it's absent, nqp-2020.10+dfsg/docs/ops.markdown:1636:return result of `$condition`. nqp-2020.10+dfsg/docs/ops.markdown-1637- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1649-## defor nqp-2020.10+dfsg/docs/ops.markdown:1650:* `defor(Block $cond, Block $body)` nqp-2020.10+dfsg/docs/ops.markdown-1651- nqp-2020.10+dfsg/docs/ops.markdown:1652:If the `$cond` evaluates to defined value, return it, otherwise, evaluate nqp-2020.10+dfsg/docs/ops.markdown:1653:the `$body`. nqp-2020.10+dfsg/docs/ops.markdown-1654- nqp-2020.10+dfsg/docs/ops.markdown-1655-## for nqp-2020.10+dfsg/docs/ops.markdown:1656:* `for(Iterable $iter, Block $body)` nqp-2020.10+dfsg/docs/ops.markdown-1657- nqp-2020.10+dfsg/docs/ops.markdown:1658:Invoke the `$body` for every item available in `$iter`. nqp-2020.10+dfsg/docs/ops.markdown-1659- nqp-2020.10+dfsg/docs/ops.markdown-1660-## ifnull nqp-2020.10+dfsg/docs/ops.markdown:1661:* `ifnull(Block $cond, Block $body)` nqp-2020.10+dfsg/docs/ops.markdown-1662- nqp-2020.10+dfsg/docs/ops.markdown:1663:If the `$cond` evaluates to null, evaluate the `$body`, otherwise return nqp-2020.10+dfsg/docs/ops.markdown:1664:the result of `$cond`. nqp-2020.10+dfsg/docs/ops.markdown-1665- nqp-2020.10+dfsg/docs/ops.markdown-1666-## repeat_until nqp-2020.10+dfsg/docs/ops.markdown:1667:* `repeat_until(Block $condition, Block $body)` nqp-2020.10+dfsg/docs/ops.markdown:1668:* `repeat_until(Block $condition, Block $body, Block $post)` nqp-2020.10+dfsg/docs/ops.markdown-1669- nqp-2020.10+dfsg/docs/ops.markdown:1670:First run the `$body`. Then, enter a loop, running the `$body` nqp-2020.10+dfsg/docs/ops.markdown-1671-only if the condition returns 0. nqp-2020.10+dfsg/docs/ops.markdown-1672- nqp-2020.10+dfsg/docs/ops.markdown:1673:If a `$post` block is present, run that at the end, regardless of `$condition`. nqp-2020.10+dfsg/docs/ops.markdown-1674- nqp-2020.10+dfsg/docs/ops.markdown-1675-## repeat_while nqp-2020.10+dfsg/docs/ops.markdown:1676:* `repeat_while(Block $condition, Block $body)` nqp-2020.10+dfsg/docs/ops.markdown:1677:* `repeat_while(Block $condition, Block $body, Block $post)` nqp-2020.10+dfsg/docs/ops.markdown-1678- nqp-2020.10+dfsg/docs/ops.markdown:1679:First run the `$body`. Then, enter a loop, running the `$body` nqp-2020.10+dfsg/docs/ops.markdown-1680-only if the condition returns a non-0 value. nqp-2020.10+dfsg/docs/ops.markdown-1681- nqp-2020.10+dfsg/docs/ops.markdown:1682:If a `$post` block is present, run that at the end, regardless of `$condition`. nqp-2020.10+dfsg/docs/ops.markdown-1683- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1699-## until nqp-2020.10+dfsg/docs/ops.markdown:1700:* `until(Block $condition, Block $body)` nqp-2020.10+dfsg/docs/ops.markdown:1701:* `until(Block $condition, Block $body, Block $post)` nqp-2020.10+dfsg/docs/ops.markdown-1702- nqp-2020.10+dfsg/docs/ops.markdown:1703:Enter a loop, running the `$body` only if the condition returns 0. nqp-2020.10+dfsg/docs/ops.markdown-1704- nqp-2020.10+dfsg/docs/ops.markdown:1705:If a `$post` block is present, run that at the end, regardless of `$condition`. nqp-2020.10+dfsg/docs/ops.markdown-1706- nqp-2020.10+dfsg/docs/ops.markdown-1707-## while nqp-2020.10+dfsg/docs/ops.markdown:1708:* `while(Block $condition, Block $body)` nqp-2020.10+dfsg/docs/ops.markdown:1709:* `while(Block $condition, Block $body, Block $post)` nqp-2020.10+dfsg/docs/ops.markdown-1710- nqp-2020.10+dfsg/docs/ops.markdown:1711:Enter a loop, running the `$body` only if the condition returns a non-0 value. nqp-2020.10+dfsg/docs/ops.markdown-1712- nqp-2020.10+dfsg/docs/ops.markdown:1713:If a `$post` block is present, run that at the end, regardless of `$condition`. nqp-2020.10+dfsg/docs/ops.markdown-1714- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1717-## backtrace nqp-2020.10+dfsg/docs/ops.markdown:1718:* `backtrace(Exception $ex)` nqp-2020.10+dfsg/docs/ops.markdown-1719- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1722-## backtracestrings nqp-2020.10+dfsg/docs/ops.markdown:1723:* `backtracestrings(Exception $ex)` nqp-2020.10+dfsg/docs/ops.markdown-1724- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1727-## die nqp-2020.10+dfsg/docs/ops.markdown:1728:* `die(str $message)` nqp-2020.10+dfsg/docs/ops.markdown:1729:* `die_s(str $message)` nqp-2020.10+dfsg/docs/ops.markdown-1730- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1738-## getextype nqp-2020.10+dfsg/docs/ops.markdown:1739:* `getextype(Exception $ex)` nqp-2020.10+dfsg/docs/ops.markdown-1740- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1743-## getmessage nqp-2020.10+dfsg/docs/ops.markdown:1744:* `getmessage(Exception $ex)` nqp-2020.10+dfsg/docs/ops.markdown-1745- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1748-## getpayload nqp-2020.10+dfsg/docs/ops.markdown:1749:* `getpayload(Exception $ex)` nqp-2020.10+dfsg/docs/ops.markdown-1750- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1758-## resume nqp-2020.10+dfsg/docs/ops.markdown:1759:* `resume(Exception $ex)` nqp-2020.10+dfsg/docs/ops.markdown-1760- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1763-## rethrow nqp-2020.10+dfsg/docs/ops.markdown:1764:* `rethrow(Exception $ex)` nqp-2020.10+dfsg/docs/ops.markdown-1765- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1768-## setextype nqp-2020.10+dfsg/docs/ops.markdown:1769:* `setextype(Exception $ex, int $type)` nqp-2020.10+dfsg/docs/ops.markdown-1770- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1773-## setmessage nqp-2020.10+dfsg/docs/ops.markdown:1774:* `setmessage(Exception $ex, str $message)` nqp-2020.10+dfsg/docs/ops.markdown-1775- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1778-## setpayload nqp-2020.10+dfsg/docs/ops.markdown:1779:* `setpayload(Exception $ex, Mu $obj)` nqp-2020.10+dfsg/docs/ops.markdown-1780- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1783-## throw nqp-2020.10+dfsg/docs/ops.markdown:1784:* `throw(Exception $ex)` nqp-2020.10+dfsg/docs/ops.markdown-1785- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1790-## closefh nqp-2020.10+dfsg/docs/ops.markdown:1791:* `closefh(Handle $fh)` nqp-2020.10+dfsg/docs/ops.markdown-1792- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1795-## eoffh nqp-2020.10+dfsg/docs/ops.markdown:1796:* `eoffh(Handle $fh --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1797- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1800-## filenofh nqp-2020.10+dfsg/docs/ops.markdown:1801:* `filenofh(Handle $fh --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1802-Returns the filehandle number. Not usable on the JVM (always returns -1). ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1804-## flushfh nqp-2020.10+dfsg/docs/ops.markdown:1805:* `flushfh(Handle $fh)` nqp-2020.10+dfsg/docs/ops.markdown-1806- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1824-## open nqp-2020.10+dfsg/docs/ops.markdown:1825:* `open(str $filename, str $mode)` nqp-2020.10+dfsg/docs/ops.markdown-1826- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1830-## print nqp-2020.10+dfsg/docs/ops.markdown:1831:* `print(str $str)` nqp-2020.10+dfsg/docs/ops.markdown-1832- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1835-## readfh nqp-2020.10+dfsg/docs/ops.markdown:1836:* `readfh(Handle $fh, @arr, long $count)` nqp-2020.10+dfsg/docs/ops.markdown-1837- nqp-2020.10+dfsg/docs/ops.markdown:1838:Given a readable `$fh`, and an array of `Buf[int8]` or a `Buf[uint8]`, read nqp-2020.10+dfsg/docs/ops.markdown:1839:in the next `$count` bytes from the filehandle and store them in the array. nqp-2020.10+dfsg/docs/ops.markdown-1840- nqp-2020.10+dfsg/docs/ops.markdown-1841-## say nqp-2020.10+dfsg/docs/ops.markdown:1842:* `say(str $str)` nqp-2020.10+dfsg/docs/ops.markdown-1843- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1846-## seekfh nqp-2020.10+dfsg/docs/ops.markdown:1847:* `seekfh(Handle $fh, int $offset, int $whence)` nqp-2020.10+dfsg/docs/ops.markdown-1848- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1855-## tellfh nqp-2020.10+dfsg/docs/ops.markdown:1856:* `tellfh(Handle $fh --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1857- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1860-## writefh nqp-2020.10+dfsg/docs/ops.markdown:1861:* `writefh(Handle $fh, Mu $str --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1862- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1868- nqp-2020.10+dfsg/docs/ops.markdown:1869:It's used to implement `$*EXECUTABLE` in Raku, and is the name of the nqp-2020.10+dfsg/docs/ops.markdown-1870-current "executable". So if you run `./raku-m ....` then it'll be the ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1878-## chdir nqp-2020.10+dfsg/docs/ops.markdown:1879:* `chdir(str $path --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1880- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1883-## chmod nqp-2020.10+dfsg/docs/ops.markdown:1884:* `chmod(str $path, int $mode --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1885- nqp-2020.10+dfsg/docs/ops.markdown:1886:Change the permissions of `$path` to the posix style permissions of `$mode`. nqp-2020.10+dfsg/docs/ops.markdown-1887-Returns 0 on success, throws an exception on failure. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1889-## closedir nqp-2020.10+dfsg/docs/ops.markdown:1890:* `closedir(Handle $)` nqp-2020.10+dfsg/docs/ops.markdown-1891- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1894-## copy nqp-2020.10+dfsg/docs/ops.markdown:1895:* `copy(str $from, str $to --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1896- nqp-2020.10+dfsg/docs/ops.markdown:1897:Copy file `$from` to file `$to`. Return 0 on success, throw an exception nqp-2020.10+dfsg/docs/ops.markdown-1898-on failure. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1905-## fileexecutable nqp-2020.10+dfsg/docs/ops.markdown:1906:* `fileexecutable(str $str --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1907- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1911-## fileislink nqp-2020.10+dfsg/docs/ops.markdown:1912:* `fileislink(str $str --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1913- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1917-## filereadable nqp-2020.10+dfsg/docs/ops.markdown:1918:* `filereadable(str $str --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1919- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1923-## filewritable nqp-2020.10+dfsg/docs/ops.markdown:1924:* `filewritable(str $str --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1925- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1929-## gethostname nqp-2020.10+dfsg/docs/ops.markdown:1930:* `gethostname(str $str --> str)` nqp-2020.10+dfsg/docs/ops.markdown-1931- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1934-## getport `moar` `jvm` nqp-2020.10+dfsg/docs/ops.markdown:1935:* `getport($obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1936- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1940-## link nqp-2020.10+dfsg/docs/ops.markdown:1941:* `link(str $before, str $after --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1942- nqp-2020.10+dfsg/docs/ops.markdown:1943:Create a link from `$after` to `$before` nqp-2020.10+dfsg/docs/ops.markdown-1944- nqp-2020.10+dfsg/docs/ops.markdown-1945-## mkdir nqp-2020.10+dfsg/docs/ops.markdown:1946:* `mkdir(str $name, int $mode --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1947- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1951-## nextfiledir nqp-2020.10+dfsg/docs/ops.markdown:1952:* `nextfiledir(handle $iterator)` nqp-2020.10+dfsg/docs/ops.markdown-1953- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1957-## opendir nqp-2020.10+dfsg/docs/ops.markdown:1958:* `opendir(str $path --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-1959- nqp-2020.10+dfsg/docs/ops.markdown-1960-Return a directory handle on the given directory path. Throw an exception nqp-2020.10+dfsg/docs/ops.markdown:1961:if `$path` is not a directory. nqp-2020.10+dfsg/docs/ops.markdown-1962- nqp-2020.10+dfsg/docs/ops.markdown-1963-## rename nqp-2020.10+dfsg/docs/ops.markdown:1964:* `rename(str $from, str $to --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1965- nqp-2020.10+dfsg/docs/ops.markdown:1966:Rename file `$from` to file `$to`. Return 0 on success, throw an exception nqp-2020.10+dfsg/docs/ops.markdown-1967-on failure. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1969-## rmdir nqp-2020.10+dfsg/docs/ops.markdown:1970:* `rmdir(str $path --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1971- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-1975-## stat nqp-2020.10+dfsg/docs/ops.markdown:1976:* `stat(str $path, int $code --> int)` nqp-2020.10+dfsg/docs/ops.markdown-1977- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2058-## stat_time nqp-2020.10+dfsg/docs/ops.markdown:2059:* `stat_time(str $path, int $code --> num)` nqp-2020.10+dfsg/docs/ops.markdown-2060- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2064-## lstat nqp-2020.10+dfsg/docs/ops.markdown:2065:* `lstat(str $path, int $code --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2066- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2070-## lstat_time nqp-2020.10+dfsg/docs/ops.markdown:2071:* `stat_time(str $path, int $code --> num)` nqp-2020.10+dfsg/docs/ops.markdown-2072- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2076-## symlink nqp-2020.10+dfsg/docs/ops.markdown:2077:* `symlink(str $before, str $after)` nqp-2020.10+dfsg/docs/ops.markdown-2078- nqp-2020.10+dfsg/docs/ops.markdown:2079:Create a symbolic link from `$after` to `$before` nqp-2020.10+dfsg/docs/ops.markdown-2080- nqp-2020.10+dfsg/docs/ops.markdown-2081-## unlink nqp-2020.10+dfsg/docs/ops.markdown:2082:* `unlink(str $path --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2083- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2089-## bool nqp-2020.10+dfsg/docs/ops.markdown:2090:* `bool_I(Int $val)` nqp-2020.10+dfsg/docs/ops.markdown-2091- nqp-2020.10+dfsg/docs/ops.markdown:2092:Returns 0 if `$val` is 0, otherwise 1. nqp-2020.10+dfsg/docs/ops.markdown-2093- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2134-## box nqp-2020.10+dfsg/docs/ops.markdown:2135:* `box_i(int $val, Mu:T $type)` nqp-2020.10+dfsg/docs/ops.markdown:2136:* `box_n(num $val, Mu:T $type)` nqp-2020.10+dfsg/docs/ops.markdown:2137:* `box_s(str $val, Mu:T $type)` nqp-2020.10+dfsg/docs/ops.markdown-2138- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2143- nqp-2020.10+dfsg/docs/ops.markdown:2144:`decont(Mu $val --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2145- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2154-## defined nqp-2020.10+dfsg/docs/ops.markdown:2155:* `defined(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2156- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2159-## fromnum nqp-2020.10+dfsg/docs/ops.markdown:2160:* `fromnum_I(num $val, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-2161- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2165-## fromstr nqp-2020.10+dfsg/docs/ops.markdown:2166:* `fromstr_I(str $val, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-2167- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2170-## isbig nqp-2020.10+dfsg/docs/ops.markdown:2171:* `isbig_I(Int $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2172- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2175-## iscoderef `moar` nqp-2020.10+dfsg/docs/ops.markdown:2176:* `iscoderef($obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2177- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2180-## isconcrete nqp-2020.10+dfsg/docs/ops.markdown:2181:* `isconcrete(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2182- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2185-## isconcrete_nd nqp-2020.10+dfsg/docs/ops.markdown:2186:* `isconcrete_nd(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2187- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2191-## iscont nqp-2020.10+dfsg/docs/ops.markdown:2192:* `iscont(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown:2193:* `iscont_i(int $int --> int)` nqp-2020.10+dfsg/docs/ops.markdown:2194:* `iscont_n(num $int --> int)` nqp-2020.10+dfsg/docs/ops.markdown:2195:* `iscont_s(str $int --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2196- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2199-## isfalse nqp-2020.10+dfsg/docs/ops.markdown:2200:* `isfalse(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2201- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2204-## ishash nqp-2020.10+dfsg/docs/ops.markdown:2205:* `ishash(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2206- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2209-## isint nqp-2020.10+dfsg/docs/ops.markdown:2210:* `isint(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2211- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2214-## isinvokable nqp-2020.10+dfsg/docs/ops.markdown:2215:* `isinvokable(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2216- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2219-## islist nqp-2020.10+dfsg/docs/ops.markdown:2220:* `islist(Mu $obj)` nqp-2020.10+dfsg/docs/ops.markdown-2221- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2224-## isnanorinf nqp-2020.10+dfsg/docs/ops.markdown:2225:* `isnanorinf(num $n --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2226- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2230-## isnull nqp-2020.10+dfsg/docs/ops.markdown:2231:* `isnull(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown:2232:* `isnull_s(str $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2233- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2236-## isnum nqp-2020.10+dfsg/docs/ops.markdown:2237:* `isnum(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2238- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2241-## isprime nqp-2020.10+dfsg/docs/ops.markdown:2242:* `isprime_I(Int $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2243- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2246-## isstr nqp-2020.10+dfsg/docs/ops.markdown:2247:* `isstr(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2248- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2251-## istrue nqp-2020.10+dfsg/docs/ops.markdown:2252:* `istrue(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2253- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2256-## istype nqp-2020.10+dfsg/docs/ops.markdown:2257:* `istype(Mu $obj, Mu:T $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2258- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2261-## isttyfh nqp-2020.10+dfsg/docs/ops.markdown:2262:* `isttyfh(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2263- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2277-## tostr nqp-2020.10+dfsg/docs/ops.markdown:2278:* `tostr_I(Int $val --> str)` nqp-2020.10+dfsg/docs/ops.markdown-2279- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2282-## tonum nqp-2020.10+dfsg/docs/ops.markdown:2283:* `tonum_I(Int $val --> num)` nqp-2020.10+dfsg/docs/ops.markdown-2284- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2287-## unbox nqp-2020.10+dfsg/docs/ops.markdown:2288:* `unbox_i(Mu $val --> int)` nqp-2020.10+dfsg/docs/ops.markdown:2289:* `unbox_n(Mu $val --> num)` nqp-2020.10+dfsg/docs/ops.markdown:2290:* `unbox_s(Mu $val --> str)` nqp-2020.10+dfsg/docs/ops.markdown:2291:* `unbox_u(Mu $val --> str)` `moar` nqp-2020.10+dfsg/docs/ops.markdown-2292- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2326-## writeint `moar` `js` nqp-2020.10+dfsg/docs/ops.markdown:2327:* `writeint(buffer $target, int $offset, int $value, int $flags)` nqp-2020.10+dfsg/docs/ops.markdown-2328- nqp-2020.10+dfsg/docs/ops.markdown:2329:Writes the signed integer `$value` at `$offset` into the buffer `$target`, nqp-2020.10+dfsg/docs/ops.markdown:2330:with the size and endianness specified by `$flags`. nqp-2020.10+dfsg/docs/ops.markdown-2331- nqp-2020.10+dfsg/docs/ops.markdown-2332-## writeuint `moar` `js` nqp-2020.10+dfsg/docs/ops.markdown:2333:* `writeuint(buffer $target, int $offset, uint $value, int $flags)` nqp-2020.10+dfsg/docs/ops.markdown-2334- nqp-2020.10+dfsg/docs/ops.markdown:2335:Writes the unsigned integer `$value` at `$offset` into the buffer `$target`, nqp-2020.10+dfsg/docs/ops.markdown:2336:with the size and endianness specified by `$flags`. nqp-2020.10+dfsg/docs/ops.markdown-2337- nqp-2020.10+dfsg/docs/ops.markdown-2338-## writenum `moar` `js` nqp-2020.10+dfsg/docs/ops.markdown:2339:* `writenum(buffer $target, int $offset, num $value, int $flags)` nqp-2020.10+dfsg/docs/ops.markdown-2340- nqp-2020.10+dfsg/docs/ops.markdown:2341:Writes the floating point `$value` at `$offset` into the buffer `$target`. nqp-2020.10+dfsg/docs/ops.markdown-2342-Only 32-bit and 64-bit sizes are supported. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2344-## readint `moar` `js` nqp-2020.10+dfsg/docs/ops.markdown:2345:* `readint(buffer $source, int $offset, int $flags --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2346- nqp-2020.10+dfsg/docs/ops.markdown:2347:Reads a signed integer at offset `$offset` from `$source` with size and nqp-2020.10+dfsg/docs/ops.markdown:2348:endianness specified by `$flags`. Returns that value, widened to a 64-bit int. nqp-2020.10+dfsg/docs/ops.markdown-2349- nqp-2020.10+dfsg/docs/ops.markdown-2350-## readuint `moar` `js` nqp-2020.10+dfsg/docs/ops.markdown:2351:* `readuint(buffer $source, int $offset, int $flags --> uint)` nqp-2020.10+dfsg/docs/ops.markdown-2352- nqp-2020.10+dfsg/docs/ops.markdown:2353:Reads an unsigned integer at offset `$offset` from `$source` with size and nqp-2020.10+dfsg/docs/ops.markdown:2354:endianness specified by `$flags`. Returns that value, widened to a 64-bit uint. nqp-2020.10+dfsg/docs/ops.markdown-2355- nqp-2020.10+dfsg/docs/ops.markdown-2356-## readnum `moar` `js` nqp-2020.10+dfsg/docs/ops.markdown:2357:* `readnum(buffer $source, int $offset, int $flags --> num)` nqp-2020.10+dfsg/docs/ops.markdown-2358- nqp-2020.10+dfsg/docs/ops.markdown:2359:Reads a floating point number at offset `$offset` from `$source` with the nqp-2020.10+dfsg/docs/ops.markdown:2360:size specified by `$flags`. Returns that value, widened to a 64-bit num. nqp-2020.10+dfsg/docs/ops.markdown-2361- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2364-## attrinited nqp-2020.10+dfsg/docs/ops.markdown:2365:* `attrinited(Mu $obj. Mu:T $type, str $attributename --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2366- nqp-2020.10+dfsg/docs/ops.markdown:2367:Test if the attribute of name `$attributename` of object `$obj` nqp-2020.10+dfsg/docs/ops.markdown-2368-has been bound, see `bindattr`. Note that any access to the atribute ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2371-## bindattr nqp-2020.10+dfsg/docs/ops.markdown:2372:* `bindattr(Mu $obj, Mu:T $type, str $attributename, Mu $new_value)` nqp-2020.10+dfsg/docs/ops.markdown:2373:* `bindattr_i(Mu $obj, Mu:T $type, str $attributename, int $new_value)` nqp-2020.10+dfsg/docs/ops.markdown:2374:* `bindattr_n(Mu $obj, Mu:T $type, str $attributename, num $new_value)` nqp-2020.10+dfsg/docs/ops.markdown:2375:* `bindattr_s(Mu $obj, Mu:T $type, str $attributename, str $new_value)` nqp-2020.10+dfsg/docs/ops.markdown-2376- nqp-2020.10+dfsg/docs/ops.markdown:2377:Binds `$new_value` to the attribute of name `$attributename` of object `$obj`, nqp-2020.10+dfsg/docs/ops.markdown:2378:where the attribute was declared in type `$type`. The notes in the nqp-2020.10+dfsg/docs/ops.markdown-2379-`getattr` documentation also apply to `bindattr`. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2381-## bindcomp nqp-2020.10+dfsg/docs/ops.markdown:2382:* `bindcomp(str $base-class, Mu $compiler --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2383- nqp-2020.10+dfsg/docs/ops.markdown:2384:Registers `$compiler` as the compiler for the language named `$base-class`, as in: nqp-2020.10+dfsg/docs/ops.markdown-2385- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2388- nqp-2020.10+dfsg/docs/ops.markdown:2389:In general, though, `$lang` will inherit from `HLL::Compiler`, and the above nqp-2020.10+dfsg/docs/ops.markdown-2390-will be achieved via: ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2404-## callmethod nqp-2020.10+dfsg/docs/ops.markdown:2405:* `callmethod(Mu $obj, str $methodname, *@pos, *%named --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2406- nqp-2020.10+dfsg/docs/ops.markdown:2407:Uses `findmethod` to locate method `$methodname` on object `$obj`, and `call` nqp-2020.10+dfsg/docs/ops.markdown-2408-to invoke the method with positional arguments `*@pos` and named arguments ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2418-## can nqp-2020.10+dfsg/docs/ops.markdown:2419:* `can(Mu $obj, str $method --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2420- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2422- nqp-2020.10+dfsg/docs/ops.markdown:2423:Returns 1 if ``$obj`` object has FALLBACK method. nqp-2020.10+dfsg/docs/ops.markdown-2424- nqp-2020.10+dfsg/docs/ops.markdown-2425-## clone nqp-2020.10+dfsg/docs/ops.markdown:2426:* `clone(Mu $obj --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2427- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2430-## create nqp-2020.10+dfsg/docs/ops.markdown:2431:* `create(Mu:T $type --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2432- nqp-2020.10+dfsg/docs/ops.markdown:2433:Returns a newly allocated instance of type `$type`. nqp-2020.10+dfsg/docs/ops.markdown-2434- nqp-2020.10+dfsg/docs/ops.markdown-2435-## eqaddr nqp-2020.10+dfsg/docs/ops.markdown:2436:* `eqaddr(Mu $l, Mu $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2437- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2441-## findmethod nqp-2020.10+dfsg/docs/ops.markdown:2442:* `findmethod(Mu $obj, str $method --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2443- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2447-## getattr nqp-2020.10+dfsg/docs/ops.markdown:2448:* `getattr(Mu $obj, Mu:T $type, str $attributename --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:2449:* `getattr_i(Mu $obj, Mu:T $type, str $attributename --> int)` nqp-2020.10+dfsg/docs/ops.markdown:2450:* `getattr_n(Mu $obj, Mu:T $type, str $attributename --> num)` nqp-2020.10+dfsg/docs/ops.markdown:2451:* `getattr_s(Mu $obj, Mu:T $type, str $attributename --> str)` nqp-2020.10+dfsg/docs/ops.markdown-2452- nqp-2020.10+dfsg/docs/ops.markdown:2453:Returns the attribute of name `$attributename` of object `$obj`, where the nqp-2020.10+dfsg/docs/ops.markdown:2454:object was declared in class `$type`. The `_n`, `_i`, and `_s` variants are nqp-2020.10+dfsg/docs/ops.markdown-2455-for natively typed attributes. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2473-Note that in languages that support a full-blown container model, you might nqp-2020.10+dfsg/docs/ops.markdown:2474:need to decontainerize `$obj` before passing it to `getattr`, unless you nqp-2020.10+dfsg/docs/ops.markdown-2475-actually want to access an attribute of the container. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2477-## getcomp nqp-2020.10+dfsg/docs/ops.markdown:2478:* `getcomp(str $base-class --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2479- nqp-2020.10+dfsg/docs/ops.markdown:2480:Returns the compiler class registered for that `$base-class`. nqp-2020.10+dfsg/docs/ops.markdown-2481-See `bindcomp` for more information. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2483-## how nqp-2020.10+dfsg/docs/ops.markdown:2484:* `how(Mu $obj --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2485- nqp-2020.10+dfsg/docs/ops.markdown:2486:NQP equivalent for Raku's `$obj.HOW`. nqp-2020.10+dfsg/docs/ops.markdown-2487- nqp-2020.10+dfsg/docs/ops.markdown-2488-## rebless nqp-2020.10+dfsg/docs/ops.markdown:2489:* `rebless(Mu $obj, Mu:T $type --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2490- nqp-2020.10+dfsg/docs/ops.markdown:2491:Convert `$obj` to be an object of the new `$type`. nqp-2020.10+dfsg/docs/ops.markdown-2492- nqp-2020.10+dfsg/docs/ops.markdown-2493-## reprname nqp-2020.10+dfsg/docs/ops.markdown:2494:* `reprname(Mu $obj --> str)` nqp-2020.10+dfsg/docs/ops.markdown-2495- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2498-## setwho nqp-2020.10+dfsg/docs/ops.markdown:2499:* `setwho(Mu $obj, Mu $who --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2500- nqp-2020.10+dfsg/docs/ops.markdown:2501:Replace `$obj`'s WHO. Return `$obj`. nqp-2020.10+dfsg/docs/ops.markdown-2502- nqp-2020.10+dfsg/docs/ops.markdown-2503-## who nqp-2020.10+dfsg/docs/ops.markdown:2504:* `who(Mu $obj --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2505- nqp-2020.10+dfsg/docs/ops.markdown:2506:NQP equivalent for Raku's `$obj.WHO`. nqp-2020.10+dfsg/docs/ops.markdown-2507- nqp-2020.10+dfsg/docs/ops.markdown-2508-## what nqp-2020.10+dfsg/docs/ops.markdown:2509:* `what(Mu $obj --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-2510- nqp-2020.10+dfsg/docs/ops.markdown:2511:NQP equivalent for Raku's `$obj.WHAT`. nqp-2020.10+dfsg/docs/ops.markdown-2512- nqp-2020.10+dfsg/docs/ops.markdown-2513-## where nqp-2020.10+dfsg/docs/ops.markdown:2514:* `where(Mu $obj --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2515- nqp-2020.10+dfsg/docs/ops.markdown:2516:Return a unique ID for this `$obj`. nqp-2020.10+dfsg/docs/ops.markdown-2517- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2520-## bitand nqp-2020.10+dfsg/docs/ops.markdown:2521:* `bitand_i(int $l, int $r)` nqp-2020.10+dfsg/docs/ops.markdown:2522:* `bitand_s(str $l, str $r --> str)` nqp-2020.10+dfsg/docs/ops.markdown:2523:* `bitand_I(Int $l, Int $r, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-2524- nqp-2020.10+dfsg/docs/ops.markdown:2525:AND the bits in `$l` and `$r`. nqp-2020.10+dfsg/docs/ops.markdown-2526-`_I` variant returns an object of the given type. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2528-## bitneg nqp-2020.10+dfsg/docs/ops.markdown:2529:* `bitneg_i(int $bits --> int)` nqp-2020.10+dfsg/docs/ops.markdown:2530:* `bitneg_I(Int $bits, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-2531- nqp-2020.10+dfsg/docs/ops.markdown:2532:Negate the bits in `$bits`. nqp-2020.10+dfsg/docs/ops.markdown-2533-`_I` variant returns an object of the given type. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2535-## bitor nqp-2020.10+dfsg/docs/ops.markdown:2536:* `bitor_i(int $l, int $r)` nqp-2020.10+dfsg/docs/ops.markdown:2537:* `bitor_s(str $l, str $r --> str)` nqp-2020.10+dfsg/docs/ops.markdown:2538:* `bitor_I(Int $l, Int $r, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-2539- nqp-2020.10+dfsg/docs/ops.markdown:2540:OR the bits in `$l` and `$r`. nqp-2020.10+dfsg/docs/ops.markdown-2541-`_I` variant returns an object of the given type. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2543-## bitshiftl nqp-2020.10+dfsg/docs/ops.markdown:2544:* `bitshiftl_i(int $bits, int $count --> int)` nqp-2020.10+dfsg/docs/ops.markdown:2545:* `bitshiftl_I(Int $bits, int $count, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-2546- nqp-2020.10+dfsg/docs/ops.markdown:2547:Signed left shift of `$bits` by `$count`. nqp-2020.10+dfsg/docs/ops.markdown-2548-`_I` variant returns an object of the given type. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2550-## bitshiftr nqp-2020.10+dfsg/docs/ops.markdown:2551:* `bitshiftr_i(int $bits, int $count --> int)` nqp-2020.10+dfsg/docs/ops.markdown:2552:* `bitshiftr_I(Int $bits, int $count, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-2553- nqp-2020.10+dfsg/docs/ops.markdown:2554:Signed right shift of `$bits` by `$count`. nqp-2020.10+dfsg/docs/ops.markdown-2555-`_I` variant returns an object of the given type. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2557-## bitxor nqp-2020.10+dfsg/docs/ops.markdown:2558:* `bitxor_i(int $l, int $r --> int)` nqp-2020.10+dfsg/docs/ops.markdown:2559:* `bitxor_s(str $l, str $r --> str)` nqp-2020.10+dfsg/docs/ops.markdown:2560:* `bitxor_I(Int $l, Int $r, Mu:T $type --> Int)` nqp-2020.10+dfsg/docs/ops.markdown-2561- nqp-2020.10+dfsg/docs/ops.markdown:2562:XOR the bits in `$l` and `$r`. nqp-2020.10+dfsg/docs/ops.markdown-2563-`_I` variant returns an object of the given type. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2572-## ctxcaller nqp-2020.10+dfsg/docs/ops.markdown:2573:* `ctxcaller(Context $ctx)` nqp-2020.10+dfsg/docs/ops.markdown-2574- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2577-## ctxlexpad nqp-2020.10+dfsg/docs/ops.markdown:2578:* `ctxlexpad(Context $ctx)` nqp-2020.10+dfsg/docs/ops.markdown-2579- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2587-## ctxouter nqp-2020.10+dfsg/docs/ops.markdown:2588:* `ctxouter(Context $ctx)` nqp-2020.10+dfsg/docs/ops.markdown-2589- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2592-## lexprimspec nqp-2020.10+dfsg/docs/ops.markdown:2593:* `lexprimspec(LexPad $pad, str $name --> int)` nqp-2020.10+dfsg/docs/ops.markdown-2594- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2616-## getlex `moar` `jvm` nqp-2020.10+dfsg/docs/ops.markdown:2617:* `getlex(str $name)` nqp-2020.10+dfsg/docs/ops.markdown:2618:* `getlex_i(str $name)` nqp-2020.10+dfsg/docs/ops.markdown:2619:* `getlex_n(str $name)` nqp-2020.10+dfsg/docs/ops.markdown:2620:* `getlex_s(str $name)` nqp-2020.10+dfsg/docs/ops.markdown-2621- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2626-## getlexref `moar` `jvm` nqp-2020.10+dfsg/docs/ops.markdown:2627:* `getlexref_i(str $name)` nqp-2020.10+dfsg/docs/ops.markdown:2628:* `getlexref_n(str $name)` nqp-2020.10+dfsg/docs/ops.markdown:2629:* `getlexref_s(str $name)` nqp-2020.10+dfsg/docs/ops.markdown-2630- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2640-## bindlex `moar` `jvm` nqp-2020.10+dfsg/docs/ops.markdown:2641:* `bindlex(str $name, Mu $value)` nqp-2020.10+dfsg/docs/ops.markdown:2642:* `bindlex_i(str $name, int $value)` nqp-2020.10+dfsg/docs/ops.markdown:2643:* `bindlex_n(str $name, num $value)` nqp-2020.10+dfsg/docs/ops.markdown:2644:* `bindlex_s(str $name, str $value)` nqp-2020.10+dfsg/docs/ops.markdown-2645- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2650-## getlexdyn nqp-2020.10+dfsg/docs/ops.markdown:2651:* `getlexdyn(str $name)` nqp-2020.10+dfsg/docs/ops.markdown-2652- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2656-## bindlexdyn nqp-2020.10+dfsg/docs/ops.markdown:2657:* `bindlexdyn(str $name, Mu $value)` nqp-2020.10+dfsg/docs/ops.markdown-2658- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2662-## getlexouter nqp-2020.10+dfsg/docs/ops.markdown:2663:* `getlexouter(str $name)` nqp-2020.10+dfsg/docs/ops.markdown-2664- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2668-## getlexcaller nqp-2020.10+dfsg/docs/ops.markdown:2669:* `getlexcaller(str $name)` nqp-2020.10+dfsg/docs/ops.markdown-2670- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2674-## getlexrel nqp-2020.10+dfsg/docs/ops.markdown:2675:* `getlexrel(Mu $context, str $name)` nqp-2020.10+dfsg/docs/ops.markdown-2676- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2680-## getlexreldyn nqp-2020.10+dfsg/docs/ops.markdown:2681:* `getlexreldyn(Mu $context, str $name)` nqp-2020.10+dfsg/docs/ops.markdown-2682- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2686-## getlexrelcaller nqp-2020.10+dfsg/docs/ops.markdown:2687:* `getlexrelcaller(Mu $context, str $name)` nqp-2020.10+dfsg/docs/ops.markdown-2688- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2694-## bind nqp-2020.10+dfsg/docs/ops.markdown:2695:* `bind(Mu $variable, Mu $value)` nqp-2020.10+dfsg/docs/ops.markdown-2696- nqp-2020.10+dfsg/docs/ops.markdown:2697:Binds `$value` to the `$variable`. Dies if `$variable` isn't actually a nqp-2020.10+dfsg/docs/ops.markdown-2698-variable. Same as the `:=` operator in NQP. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2702-## locallifetime nqp-2020.10+dfsg/docs/ops.markdown:2703:* `QAST::Op.new(:op<locallifetime>, :node($/), QAST::Stmt.new(...))` nqp-2020.10+dfsg/docs/ops.markdown-2704- nqp-2020.10+dfsg/docs/ops.markdown-2705-Defines when local variables can be considered dead. E.g. the temporary setting nqp-2020.10+dfsg/docs/ops.markdown:2706:of `$_` on the right side of `~~` uses that. nqp-2020.10+dfsg/docs/ops.markdown-2707- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2794-## decodelocaltime nqp-2020.10+dfsg/docs/ops.markdown:2795:* `decodelocaltime(int $epoch --> int @tm)` nqp-2020.10+dfsg/docs/ops.markdown-2796- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2807-## getcodename nqp-2020.10+dfsg/docs/ops.markdown:2808:* `getcodename($obj --> str)` nqp-2020.10+dfsg/docs/ops.markdown-2809- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2855-## debugnoop `jvm` nqp-2020.10+dfsg/docs/ops.markdown:2856:* `debugnoop(Mu $a)` nqp-2020.10+dfsg/docs/ops.markdown-2857- nqp-2020.10+dfsg/docs/ops.markdown:2858:Returns `$a`. Does nothing, exists only to provide a breakpoint location nqp-2020.10+dfsg/docs/ops.markdown-2859-for debugging. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2861-## exit nqp-2020.10+dfsg/docs/ops.markdown:2862:* `exit(int $status)` nqp-2020.10+dfsg/docs/ops.markdown-2863- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2964-## setcodename nqp-2020.10+dfsg/docs/ops.markdown:2965:* `setcodename($obj, str)` nqp-2020.10+dfsg/docs/ops.markdown-2966- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2971-## sha1 nqp-2020.10+dfsg/docs/ops.markdown:2972:* `sha1(str $str -> str)` nqp-2020.10+dfsg/docs/ops.markdown-2973- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2978-## sleep nqp-2020.10+dfsg/docs/ops.markdown:2979:* `sleep(num $seconds --> num)` nqp-2020.10+dfsg/docs/ops.markdown-2980- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-2984-## takeclosure nqp-2020.10+dfsg/docs/ops.markdown:2985:* `takeclosure(Block $innerblock)` nqp-2020.10+dfsg/docs/ops.markdown-2986- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3001-## mvmstartprofile `moar` nqp-2020.10+dfsg/docs/ops.markdown:3002:* `mvmstartprofile(hash $config)` nqp-2020.10+dfsg/docs/ops.markdown-3003- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3103-## permit nqp-2020.10+dfsg/docs/ops.markdown:3104:* `permit(AsyncTask $handle, int $channel, int $permits)` nqp-2020.10+dfsg/docs/ops.markdown-3105- nqp-2020.10+dfsg/docs/ops.markdown:3106:Takes something with the AsyncTask REPR (the `$handle` parameter) and nqp-2020.10+dfsg/docs/ops.markdown:3107:permits it to emit up to `$permits` more notifications. This is used nqp-2020.10+dfsg/docs/ops.markdown-3108-as a back-pressure mechanism for asynchronous tasks that produce a ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3111-an asynchronous process may emit events for STDOUT (channel 1) and nqp-2020.10+dfsg/docs/ops.markdown:3112:STDERR (channel 2) if both are of interest. The `$channel` argument is nqp-2020.10+dfsg/docs/ops.markdown-3113-used to specify which channel is to get the permits if needed (use a ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3115- nqp-2020.10+dfsg/docs/ops.markdown:3116:If `$permits` is less than zero (e.g., `permit($task, $channel, -1)`, nqp-2020.10+dfsg/docs/ops.markdown-3117-then it means there is no limit to the emits. nqp-2020.10+dfsg/docs/ops.markdown-3118- nqp-2020.10+dfsg/docs/ops.markdown:3119:If `$permits` is set to any value greater than or equal to zero, then: nqp-2020.10+dfsg/docs/ops.markdown-3120- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3128-## cancel `moar` `jvm` nqp-2020.10+dfsg/docs/ops.markdown:3129:* `cancel(AsyncTask $handle)` nqp-2020.10+dfsg/docs/ops.markdown-3130- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3136-## timer `moar` `jvm` nqp-2020.10+dfsg/docs/ops.markdown:3137:* `timer($queue, $schedulee, int $timeout, int $repeat, $handle_type)` nqp-2020.10+dfsg/docs/ops.markdown-3138- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3145-## signal `moar` `jvm` nqp-2020.10+dfsg/docs/ops.markdown:3146:* `signal($queue, $schedulee, int [nqp::cosnt::SIG_], $handle_type)` nqp-2020.10+dfsg/docs/ops.markdown-3147- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3152-## watchfile `moar` `jvm` nqp-2020.10+dfsg/docs/ops.markdown:3153:* `watchfile($queue, $schedulee, str $filename, $handle_type)` nqp-2020.10+dfsg/docs/ops.markdown-3154- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3160-## asyncconnect nqp-2020.10+dfsg/docs/ops.markdown:3161:* `asyncconnect($queue, $schedulee, str $host, int $port, $handle_type)` nqp-2020.10+dfsg/docs/ops.markdown-3162- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3169-## asynclisten nqp-2020.10+dfsg/docs/ops.markdown:3170:* `asynclisten($queue, $schedulee, str $host, int $port, $handle_type)` nqp-2020.10+dfsg/docs/ops.markdown-3171- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3178-## asyncwritebytes nqp-2020.10+dfsg/docs/ops.markdown:3179:* `asyncwritebytes($handle, $queue, $schedulee, $to_write, $handle_type)` nqp-2020.10+dfsg/docs/ops.markdown-3180- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3187-## asyncreadbytes `moar` `jvm` nqp-2020.10+dfsg/docs/ops.markdown:3188:* `asyncreadbytes($handle, $queue, $schedulee, $buf_type, $handle_type)` nqp-2020.10+dfsg/docs/ops.markdown-3189- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3197-## spawnprocasync nqp-2020.10+dfsg/docs/ops.markdown:3198:* `spawnprocasync($queue, $args, $cwd, %env, $callbacks)` nqp-2020.10+dfsg/docs/ops.markdown-3199- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3202-## killprocasync nqp-2020.10+dfsg/docs/ops.markdown:3203:* `killprocasync($handle, $signal)` nqp-2020.10+dfsg/docs/ops.markdown-3204- nqp-2020.10+dfsg/docs/ops.markdown-3205-## currentthread `moar` `jvm` nqp-2020.10+dfsg/docs/ops.markdown:3206:* `currentthread($thread)` nqp-2020.10+dfsg/docs/ops.markdown-3207- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3210-## threadlockcount `moar` `jvm` nqp-2020.10+dfsg/docs/ops.markdown:3211:* `threadlockcount($thread)` nqp-2020.10+dfsg/docs/ops.markdown-3212- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3245-## bindhllsym / bindcurhllsym nqp-2020.10+dfsg/docs/ops.markdown:3246:* `bindhllsym(str $hllname, str $symname, $value)` nqp-2020.10+dfsg/docs/ops.markdown:3247:* `bindcurhllsym(str $symname, $value)` nqp-2020.10+dfsg/docs/ops.markdown-3248- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3252-## gethllsym / getcurhllsym nqp-2020.10+dfsg/docs/ops.markdown:3253:* `gethllsym(str $hllname, str $symname --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown:3254:* `getcurhllsym(str $symname --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-3255- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3272-## cas `moar` nqp-2020.10+dfsg/docs/ops.markdown:3273:* `cas(ObjectContainer $cont, Mu $expected, Mu $new --> Mu)` nqp-2020.10+dfsg/docs/ops.markdown-3274- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3276-atomic compare and swap, and performs an atomic compare and swap operation. nqp-2020.10+dfsg/docs/ops.markdown:3277:The operation atomically compares the `$expected` object with what is currently nqp-2020.10+dfsg/docs/ops.markdown-3278-held in the container. If they are the same object, then it replaces it with nqp-2020.10+dfsg/docs/ops.markdown:3279:`$new`. If not, no change takes place. The original object stored in the nqp-2020.10+dfsg/docs/ops.markdown-3280-container is returned, which can be used with `eqaddr` to check if it is the nqp-2020.10+dfsg/docs/ops.markdown:3281:same as the `$expected` object. The container may perform type checks on the nqp-2020.10+dfsg/docs/ops.markdown:3282:`$new` object before it attempts the operation. nqp-2020.10+dfsg/docs/ops.markdown-3283- nqp-2020.10+dfsg/docs/ops.markdown-3284-## cas_i `moar` nqp-2020.10+dfsg/docs/ops.markdown:3285:* `cas_i(NativeIntRef $i, int64 $expected, int64 $new --> int)` nqp-2020.10+dfsg/docs/ops.markdown-3286- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3290-perform an atomic compare and swap operation on the referenced integer. The nqp-2020.10+dfsg/docs/ops.markdown:3291:operation atomically compares the `$expected` value with the value currently nqp-2020.10+dfsg/docs/ops.markdown-3292-at the referenced location. If they are equal, it replaces the value with nqp-2020.10+dfsg/docs/ops.markdown:3293:`$new`. If they are not equal, nothing happens. The operation evaluates to the nqp-2020.10+dfsg/docs/ops.markdown:3294:value originally at the location (which can be compared with `$expected` to nqp-2020.10+dfsg/docs/ops.markdown-3295-see if the operation was a success). ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3297-## atomicinc_i `moar` nqp-2020.10+dfsg/docs/ops.markdown:3298:* `atomicinc_i(NativeIntRef $i --> int)` nqp-2020.10+dfsg/docs/ops.markdown-3299- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3304-## atomicdec_i `moar` nqp-2020.10+dfsg/docs/ops.markdown:3305:* `atomicdec_i(NativeIntRef $i --> int)` nqp-2020.10+dfsg/docs/ops.markdown-3306- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3311-## atomicadd_i `moar` nqp-2020.10+dfsg/docs/ops.markdown:3312:* `atomicadd_i(NativeIntRef $i, int $value --> int)` nqp-2020.10+dfsg/docs/ops.markdown-3313- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3320-## atomicload `moar` nqp-2020.10+dfsg/docs/ops.markdown:3321:* `atomicload(ObjectContainer $c)` nqp-2020.10+dfsg/docs/ops.markdown-3322- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3327-## atomicload_i `moar` nqp-2020.10+dfsg/docs/ops.markdown:3328:* `atomicload_i(NativeIntRef $i --> int)` nqp-2020.10+dfsg/docs/ops.markdown-3329- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3334-## atomicstore `moar` nqp-2020.10+dfsg/docs/ops.markdown:3335:* `atomicstore(ObjectContainer $c, Mu $value)` nqp-2020.10+dfsg/docs/ops.markdown-3336- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3343-## atomicstore_i `moar` nqp-2020.10+dfsg/docs/ops.markdown:3344:* `atomicstore_i(NativeIntRef $i, int64 $value)` nqp-2020.10+dfsg/docs/ops.markdown-3345- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3359-## createsc nqp-2020.10+dfsg/docs/ops.markdown:3360:* `createsc($handle-string)` nqp-2020.10+dfsg/docs/ops.markdown-3361-creates a serialization context and returns it. ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3363-## scsetdesc nqp-2020.10+dfsg/docs/ops.markdown:3364:* `scsetdesc($sc, $descriptor-string)` nqp-2020.10+dfsg/docs/ops.markdown-3365- nqp-2020.10+dfsg/docs/ops.markdown:3366:Set a descriptor for `$sc` created by `createsc()` nqp-2020.10+dfsg/docs/ops.markdown-3367- nqp-2020.10+dfsg/docs/ops.markdown-3368-## scgetdesc nqp-2020.10+dfsg/docs/ops.markdown:3369:* `scgetdesc($sc)` nqp-2020.10+dfsg/docs/ops.markdown-3370- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3373-## scgethandle nqp-2020.10+dfsg/docs/ops.markdown:3374:* `scgethandle($sc)` nqp-2020.10+dfsg/docs/ops.markdown-3375- nqp-2020.10+dfsg/docs/ops.markdown:3376:Get the handle string used by `createsc` to create the SC `$sc` nqp-2020.10+dfsg/docs/ops.markdown-3377- nqp-2020.10+dfsg/docs/ops.markdown-3378-## pushcompsc nqp-2020.10+dfsg/docs/ops.markdown:3379:* `pushcompsc($sc)` nqp-2020.10+dfsg/docs/ops.markdown-3380- nqp-2020.10+dfsg/docs/ops.markdown-3381-## popcompsc nqp-2020.10+dfsg/docs/ops.markdown:3382:* `popcompsc($sc)` nqp-2020.10+dfsg/docs/ops.markdown-3383- nqp-2020.10+dfsg/docs/ops.markdown-3384-## scsetobjc nqp-2020.10+dfsg/docs/ops.markdown:3385:* `scsetobj($sc, $idx, $obj)` nqp-2020.10+dfsg/docs/ops.markdown-3386- nqp-2020.10+dfsg/docs/ops.markdown-3387-## setobjsc nqp-2020.10+dfsg/docs/ops.markdown:3388:* `setobjsc($obj, $sc)` nqp-2020.10+dfsg/docs/ops.markdown-3389- nqp-2020.10+dfsg/docs/ops.markdown-3390-## getobjsc nqp-2020.10+dfsg/docs/ops.markdown:3391:* `getobjsc($obj)` nqp-2020.10+dfsg/docs/ops.markdown-3392- ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3405-## freshcoderef nqp-2020.10+dfsg/docs/ops.markdown:3406:* `freshcoderef($code-object)` nqp-2020.10+dfsg/docs/ops.markdown-3407-Creates a clone of the given code object and a clone of its static frame and ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3412-## markcodestatic nqp-2020.10+dfsg/docs/ops.markdown:3413:* `markcodestatic($code-object)` nqp-2020.10+dfsg/docs/ops.markdown-3414-Marks the code as "static" meaning it's not a closure and thus no closure will ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3417-## scsetcode nqp-2020.10+dfsg/docs/ops.markdown:3418:* `scsetcode($sc, $index, $code-object)` nqp-2020.10+dfsg/docs/ops.markdown-3419-Adds $code-object to the serialization context at block index $index ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3421-## forceouterctx nqp-2020.10+dfsg/docs/ops.markdown:3422:* `forceouterctx($code-object, $context)` nqp-2020.10+dfsg/docs/ops.markdown-3423-Sets the code object's outer to the context's frame and also the code object's ############################################## nqp-2020.10+dfsg/docs/ops.markdown-3428-## neverrepossess nqp-2020.10+dfsg/docs/ops.markdown:3429:* `neverrepossess($obj)` nqp-2020.10+dfsg/docs/ops.markdown-3430-Prevents the object from ever getting repossessed. Repossession means that an ############################################## nqp-2020.10+dfsg/examples/rubyish/rubyish.nqp-1047- nqp-2020.10+dfsg/examples/rubyish/rubyish.nqp:1048: method eval($code, *@_args, *%adverbs) { nqp-2020.10+dfsg/examples/rubyish/rubyish.nqp-1049- my $output := self.compile($code, :compunit_ok(1), |%adverbs); ############################################## nqp-2020.10+dfsg/examples/webpacked/example.nqp-1-sub js($code) { nqp-2020.10+dfsg/examples/webpacked/example.nqp:2: nqp::getcomp("JavaScript").eval($code); nqp-2020.10+dfsg/examples/webpacked/example.nqp-3-} ############################################## nqp-2020.10+dfsg/src/HLL/Compiler.nqp-104- { nqp-2020.10+dfsg/src/HLL/Compiler.nqp:105: $output := self.eval($code, :outer_ctx($!save_ctx), |%adverbs); nqp-2020.10+dfsg/src/HLL/Compiler.nqp-106- CATCH { ############################################## nqp-2020.10+dfsg/src/HLL/Compiler.nqp-157- nqp-2020.10+dfsg/src/HLL/Compiler.nqp:158: method eval($code, *@args, *%adverbs) { nqp-2020.10+dfsg/src/HLL/Compiler.nqp-159- my $output; ############################################## nqp-2020.10+dfsg/src/HLL/Compiler.nqp-282- for $split -> $str { nqp-2020.10+dfsg/src/HLL/Compiler.nqp:283: my $absolute := nqp::getcomp('JavaScript').eval('return (function(path) {return require("path").resolve(process.cwd(), path)})')(~$str); nqp-2020.10+dfsg/src/HLL/Compiler.nqp-284- nqp::push_s($*LIBPATH, $absolute); nqp-2020.10+dfsg/src/HLL/Compiler.nqp-285- } nqp-2020.10+dfsg/src/HLL/Compiler.nqp:286: nqp::getcomp('JavaScript').eval('return (function(paths) {nqp.libpath(paths)})')($*LIBPATH); nqp-2020.10+dfsg/src/HLL/Compiler.nqp-287- } ############################################## nqp-2020.10+dfsg/src/HLL/Compiler.nqp-444- my $?FILES := %adverbs<source-name> || join(' ', @files); nqp-2020.10+dfsg/src/HLL/Compiler.nqp:445: my $r := self.eval($code, |@args, |%adverbs); nqp-2020.10+dfsg/src/HLL/Compiler.nqp-446- if $target eq '' || $!backend.is_textual_stage($target) || %adverbs<output> { ############################################## nqp-2020.10+dfsg/src/NQP/Optimizer.nqp-262- my int $und := nqp::index($opname, '_'); nqp-2020.10+dfsg/src/NQP/Optimizer.nqp:263: my str $asm := $und > 0 ?? nqp::substr($opname, 0, $und) !! ''; nqp-2020.10+dfsg/src/NQP/Optimizer.nqp-264- # Enrich various ops with int/num/str annotations. ############################################## nqp-2020.10+dfsg/src/NQP/Optimizer.nqp-338- if returns_int($op[0]) && (nqp::elems($op) == 1 || returns_int($op[1])) { nqp-2020.10+dfsg/src/NQP/Optimizer.nqp:339: my $newopn := $asm ~ "_i"; nqp-2020.10+dfsg/src/NQP/Optimizer.nqp-340- $op.op($newopn); ############################################## nqp-2020.10+dfsg/src/QRegex/Cursor.nqp-122- if nqp::can($value, 'dump') { nqp-2020.10+dfsg/src/QRegex/Cursor.nqp:123: nqp::push(@chunks, nqp::eqaddr($value, self) nqp-2020.10+dfsg/src/QRegex/Cursor.nqp-124- ?? nqp::x(' ', $indent + 2) ~ "- <self-reference>\n" ############################################## nqp-2020.10+dfsg/src/core/NQPRoutine.nqp-82- my $type_obj_b := %b<types>[$i]; nqp-2020.10+dfsg/src/core/NQPRoutine.nqp:83: if nqp::eqaddr($type_obj_a, $type_obj_b) { nqp-2020.10+dfsg/src/core/NQPRoutine.nqp-84- ++$tied; ############################################## nqp-2020.10+dfsg/src/core/NQPRoutine.nqp-278- my $definedness := $cur_candidate<definednesses>[$i]; nqp-2020.10+dfsg/src/core/NQPRoutine.nqp:279: unless nqp::eqaddr($param_type, $type_obj) || nqp::isnull($type_obj) || is_narrower_type($param_type, $type_obj) { nqp-2020.10+dfsg/src/core/NQPRoutine.nqp-280- $type_mismatch := 1; ############################################## nqp-2020.10+dfsg/src/vm/jvm/QAST/Compiler.nqp-3382- } nqp-2020.10+dfsg/src/vm/jvm/QAST/Compiler.nqp:3383: unless nqp::eqaddr(@!stack[$sp], @things[$tp]) { nqp-2020.10+dfsg/src/vm/jvm/QAST/Compiler.nqp-3384- $ok := 0; ############################################## nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java-36- nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java:37:@SuppressWarnings("unchecked") /* our asm is stripped */ nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java-38-class AutosplitMethodWriter extends MethodNode { ############################################## nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java-235- private void getInstructions() { nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java:236: // munge the linked list of insns we got from ASM into something saner nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/jast2bc/AutosplitMethodWriter.java-237- ArrayList<AbstractInsnNode> tempInsnList = new ArrayList< >(); ############################################## nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java-769- public ClassContext() {} nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java:770: /** The ASM class writer. */ nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java-771- public ClassWriter cv; ############################################## nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java-931- public ClassContext cc; nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java:932: /** The ASM method writer. */ nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/BootJavaInterop.java-933- public MethodVisitor mv; ############################################## nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/Ops.java-2350- } nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/Ops.java:2351: public static long eqaddr(SixModelObject a, SixModelObject b) { nqp-2020.10+dfsg/src/vm/jvm/runtime/org/raku/nqp/runtime/Ops.java-2352- return a == b ? 1 : 0; ############################################## nqp-2020.10+dfsg/src/vm/moar/HLL/Backend.nqp-6- while (my $found := nqp::index($result, $pattern, $where)) != -1 { nqp-2020.10+dfsg/src/vm/moar/HLL/Backend.nqp:7: $where := $found + nqp::chars($replacement); nqp-2020.10+dfsg/src/vm/moar/HLL/Backend.nqp-8- $result := nqp::replace($result, $found, nqp::chars($pattern), $replacement); ############################################## nqp-2020.10+dfsg/src/vm/moar/QAST/QASTCompilerMAST.nqp-1377- if !nqp::existskey(%*STMTTEMPS, $temp_key) && nqp-2020.10+dfsg/src/vm/moar/QAST/QASTCompilerMAST.nqp:1378: !nqp::eqaddr($*BLOCK.local($temp_key), $result.result_reg) { nqp-2020.10+dfsg/src/vm/moar/QAST/QASTCompilerMAST.nqp-1379- $*BLOCK.release_temp($temp_key); ############################################## nqp-2020.10+dfsg/t/concurrency/01-thread.t-120- ok($ok, 'threadyield() properly interleaved parent and child threads'); nqp-2020.10+dfsg/t/concurrency/01-thread.t:121: say("# execution order = $order (expected a,1,b,2,c)") if !$ok; nqp-2020.10+dfsg/t/concurrency/01-thread.t-122-} ############################################## nqp-2020.10+dfsg/t/concurrency/01-thread.t-158- ok($ok, 'threadyield() properly interleaved two child threads'); nqp-2020.10+dfsg/t/concurrency/01-thread.t:159: say("# execution order = $order (expected a,1,b,2,c)") if !$ok; nqp-2020.10+dfsg/t/concurrency/01-thread.t-160-} ############################################## nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t-137- $times-run++; nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t:138: if nqp::eqaddr($obj, $do-not-want) { nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t-139- nqp::speshguardobj($obj); ############################################## nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t-350- $times-run++; nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t:351: if nqp::eqaddr($obj, $do-not-want) { nqp-2020.10+dfsg/t/moar/52-pluggable-spesh.t-352- nqp::speshguardobj($obj); ############################################## nqp-2020.10+dfsg/t/nqp/010-cmp.t-64- nqp-2020.10+dfsg/t/nqp/010-cmp.t:65:if nqp::eqaddr((1,2),(1,2)) { nqp-2020.10+dfsg/t/nqp/010-cmp.t-66- print("not "); ############################################## nqp-2020.10+dfsg/t/nqp/010-cmp.t-71- nqp-2020.10+dfsg/t/nqp/010-cmp.t:72:unless nqp::eqaddr(@a,@a) { nqp-2020.10+dfsg/t/nqp/010-cmp.t-73- print("not "); ############################################## nqp-2020.10+dfsg/t/nqp/010-cmp.t-78- nqp-2020.10+dfsg/t/nqp/010-cmp.t:79:unless nqp::eqaddr(@a,@b) { nqp-2020.10+dfsg/t/nqp/010-cmp.t-80- print("not "); ############################################## nqp-2020.10+dfsg/t/nqp/010-cmp.t-87- nqp-2020.10+dfsg/t/nqp/010-cmp.t:88:unless nqp::eqaddr($x,$y) { nqp-2020.10+dfsg/t/nqp/010-cmp.t-89- print("not "); ############################################## nqp-2020.10+dfsg/t/nqp/010-cmp.t-92- nqp-2020.10+dfsg/t/nqp/010-cmp.t:93:if nqp::eqaddr($x,$z) { nqp-2020.10+dfsg/t/nqp/010-cmp.t-94- print("not "); ############################################## nqp-2020.10+dfsg/t/nqp/018-associative.t-36-ok(nqp::isnull($h<foo> := nqp::null()), 'when binding the null results the fallback does not happen'); nqp-2020.10+dfsg/t/nqp/018-associative.t:37:ok(nqp::eqaddr($h<foo>, NQPMu), 'when getting a null from a hash it\'s turned into a NQPMu'); nqp-2020.10+dfsg/t/nqp/018-associative.t-38- ############################################## nqp-2020.10+dfsg/t/nqp/018-associative.t-49- nqp-2020.10+dfsg/t/nqp/018-associative.t:50:ok(nqp::eqaddr(as_return_value(), NQPMu), 'getting a NQPMu for a missing hash member when used a s return value'); ############################################## nqp-2020.10+dfsg/t/nqp/019-file-ops.t-389- my $buf := create_buf(uint8).new; nqp-2020.10+dfsg/t/nqp/019-file-ops.t:390: ok(nqp::eqaddr(nqp::readfh($fh, $buf, 5), $buf), 'nqp::readfh should return the buffer'); nqp-2020.10+dfsg/t/nqp/019-file-ops.t-391- is(buf_dump($buf), '108,105,110,207,128', 'nqp::readfh read in correct unsigned bytes'); ############################################## nqp-2020.10+dfsg/t/nqp/019-file-ops.t-398- my $buf := create_buf(int8).new; nqp-2020.10+dfsg/t/nqp/019-file-ops.t:399: ok(nqp::eqaddr(nqp::readfh($fh, $buf, 5), $buf), 'nqp::readfh should return the buffer'); nqp-2020.10+dfsg/t/nqp/019-file-ops.t-400- is(buf_dump($buf), '108,105,110,-49,-128', 'nqp::readfh read in correct signed bytes'); ############################################## nqp-2020.10+dfsg/t/nqp/022-optional-args.t-20-my $comp := nqp::getcomp('nqp'); nqp-2020.10+dfsg/t/nqp/022-optional-args.t:21:dies-ok({ $comp.eval('sub f4 ($x?, $y) { $y; }') }, nqp-2020.10+dfsg/t/nqp/022-optional-args.t-22- 'illegal optional args dies ok', ############################################## nqp-2020.10+dfsg/t/nqp/058-attrs.t-84-is($low.get_str, "hello world", 'nqp::bindattr_s'); nqp-2020.10+dfsg/t/nqp/058-attrs.t:85:ok(nqp::eqaddr($low.get_obj,$obj), 'nqp::bindattr'); nqp-2020.10+dfsg/t/nqp/058-attrs.t-86- ############################################## nqp-2020.10+dfsg/t/nqp/058-attrs.t-89-is(nqp::getattr_s($low, Lowlevel, '$!str'), 'hello world', 'nqp::getattr_s'); nqp-2020.10+dfsg/t/nqp/058-attrs.t:90:ok(nqp::eqaddr(nqp::getattr($low, Lowlevel, '$!obj'), $obj), 'nqp::getattr'); nqp-2020.10+dfsg/t/nqp/058-attrs.t-91- ############################################## nqp-2020.10+dfsg/t/nqp/058-attrs.t-185- nqp-2020.10+dfsg/t/nqp/058-attrs.t:186:ok(nqp::eqaddr(nqp::getattr($a, $type, '$!type_object'), Mutable), 'autoviving type object'); ############################################## nqp-2020.10+dfsg/t/nqp/067-container.t-29- nqp-2020.10+dfsg/t/nqp/067-container.t:30: ok(nqp::eqaddr(nqp::assign($cont, 101), $cont), "assign return container"); nqp-2020.10+dfsg/t/nqp/067-container.t-31- ok(nqp::decont($cont) == 101, 'assigned value stuck'); ############################################## nqp-2020.10+dfsg/t/nqp/067-container.t-34- nqp-2020.10+dfsg/t/nqp/067-container.t:35: ok(nqp::eqaddr(nqp::assignunchecked($cont, 69), $cont), "assignunchecked returns container"); nqp-2020.10+dfsg/t/nqp/067-container.t-36- ############################################## nqp-2020.10+dfsg/t/nqp/067-container.t-66- is($cont.HOW.name($cont), "Foo", "HOW deconts"); nqp-2020.10+dfsg/t/nqp/067-container.t:67: ok(nqp::eqaddr($cont.WHAT, Foo), "WHAT deconts"); nqp-2020.10+dfsg/t/nqp/067-container.t-68- ############################################## nqp-2020.10+dfsg/t/nqp/067-container.t-157- nqp-2020.10+dfsg/t/nqp/067-container.t:158: ok(nqp::eqaddr(nqp::how_nd($cont), SimpleCont.HOW), 'nqp::how_nd does not decont'); nqp-2020.10+dfsg/t/nqp/067-container.t:159: ok(nqp::eqaddr(nqp::how($cont), Value.HOW), 'nqp::how deconts'); nqp-2020.10+dfsg/t/nqp/067-container.t-160- ############################################## nqp-2020.10+dfsg/t/nqp/067-container.t-163- nqp-2020.10+dfsg/t/nqp/067-container.t:164: ok(nqp::eqaddr(nqp::what_nd($cont), SimpleCont), 'nqp::what_nd does not decont'); nqp-2020.10+dfsg/t/nqp/067-container.t:165: ok(nqp::eqaddr(nqp::what($cont), Value), 'nqp::what deconts'); nqp-2020.10+dfsg/t/nqp/067-container.t-166- ############################################## nqp-2020.10+dfsg/t/nqp/068-associative-for.t-70- nqp-2020.10+dfsg/t/nqp/068-associative-for.t:71: ok(nqp::eqaddr(nqp::shift($iter), $iter), 'iterator returns itself'); nqp-2020.10+dfsg/t/nqp/068-associative-for.t-72- ############################################## nqp-2020.10+dfsg/t/nqp/068-associative-for.t-76- nqp-2020.10+dfsg/t/nqp/068-associative-for.t:77: ok(nqp::eqaddr(nqp::shift($iter), $iter), 'iterator returns itself again'); nqp-2020.10+dfsg/t/nqp/068-associative-for.t-78- ############################################## nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-56- nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:57:ok(nqp::eqaddr($ct1.HOW, $coercion_types.HOW), 'TestCoerceHOW is shared'); nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:58:ok(!nqp::eqaddr($ct1.WHAT, $coercion_types.WHAT), '.WHAT is not shared'); nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-59- nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:60:ok(nqp::eqaddr(nqp::typeparameterized($ct1), $coercion_types), 'Can get back to parametric type'); nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-61- nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:62:ok(nqp::eqaddr($ct1.HOW.to_type($ct1), A), 'Can get type parameter (1)'); nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:63:ok(nqp::eqaddr($ct1.HOW.from_type($ct1), B), 'Can get type parameter (2)'); nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-64- nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-65-ok(nqp::elems(nqp::typeparameters($ct1)) == 2 nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:66: && nqp::eqaddr(nqp::atpos(nqp::typeparameters($ct1), 0), A) nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:67: && nqp::eqaddr(nqp::atpos(nqp::typeparameters($ct1), 1), B), 'nqp::typeparameters works correctly'); nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-68- ############################################## nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-77-ok($num_parameterizations == 1, 'Coercions are interned by type'); nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:78:ok(nqp::eqaddr($ct1, $ct2), 'Really got back same coercion type'); nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-79- ############################################## nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t-81-ok($num_parameterizations == 2, 'Interning actually pays attention to types'); nqp-2020.10+dfsg/t/nqp/087-parametric-6model.t:82:ok(!nqp::eqaddr($ct1, $ct3), 'Got back a different coercion type'); ############################################## nqp-2020.10+dfsg/t/nqp/090-findmethod.t-16- nqp-2020.10+dfsg/t/nqp/090-findmethod.t:17:ok(nqp::eqaddr(nqp::findmethod($foo, 'foo'), nqp::tryfindmethod($foo, 'foo')), 'nqp::tryfindmethod works like nqp::findmethod when the method exists'); nqp-2020.10+dfsg/t/nqp/090-findmethod.t-18- ############################################## nqp-2020.10+dfsg/t/nqp/091-codename.t-4-is(nqp::getcodename(&foo), 'foo'); nqp-2020.10+dfsg/t/nqp/091-codename.t:5:ok(nqp::eqaddr(nqp::setcodename(&foo, 'bar'), &foo)); nqp-2020.10+dfsg/t/nqp/091-codename.t-6-is(nqp::getcodename(&foo), 'bar'); ############################################## nqp-2020.10+dfsg/t/nqp/093-oo-ops.t-27-my $ret := nqp::rebless($foo2, Foo2); nqp-2020.10+dfsg/t/nqp/093-oo-ops.t:28:ok(nqp::eqaddr($ret, $foo2), "return value of nqp::rebless"); nqp-2020.10+dfsg/t/nqp/093-oo-ops.t-29- ############################################## nqp-2020.10+dfsg/t/nqp/094-clone.t-25- nqp-2020.10+dfsg/t/nqp/094-clone.t:26:ok(nqp::eqaddr(Foo, Foo), 'nqp::clone on a type object returns it'); nqp-2020.10+dfsg/t/nqp/094-clone.t-27- ############################################## nqp-2020.10+dfsg/t/nqp/097-hll.t-47- nqp-2020.10+dfsg/t/nqp/097-hll.t:48:ok(nqp::eqaddr(nqp::hllizefor($list_i, 'foobar'), $list_i), "list_i doesn't hllize"); nqp-2020.10+dfsg/t/nqp/097-hll.t:49:ok(nqp::eqaddr(nqp::hllizefor($list_s, 'foobar'), $list_s), "list_s doesn't hllize"); nqp-2020.10+dfsg/t/nqp/097-hll.t:50:ok(nqp::eqaddr(nqp::hllizefor($list_n, 'foobar'), $list_n), "list_n doesn't hllize"); nqp-2020.10+dfsg/t/nqp/097-hll.t-51- ############################################## nqp-2020.10+dfsg/t/nqp/097-hll.t-64- nqp-2020.10+dfsg/t/nqp/097-hll.t:65:ok(nqp::eqaddr($hash, $hash), 'preserving hash'); nqp-2020.10+dfsg/t/nqp/097-hll.t:66:ok(nqp::eqaddr(nqp::hllizefor($list, 'empty'), $list), 'preserving list'); nqp-2020.10+dfsg/t/nqp/097-hll.t:67:ok(nqp::eqaddr(nqp::hllizefor($sub, 'empty'), $sub), 'preserving code ref'); nqp-2020.10+dfsg/t/nqp/097-hll.t-68-ok(nqp::isnull(nqp::hllizefor(nqp::null(), 'empty')), 'preserving null'); ############################################## nqp-2020.10+dfsg/t/nqp/097-hll.t-121- nqp-2020.10+dfsg/t/nqp/097-hll.t:122:ok(nqp::eqaddr(nqp::hllizefor($foobar-array, "foobar"), $foobar-array), "array in correct language"); nqp-2020.10+dfsg/t/nqp/097-hll.t-123-is(nqp::atpos(nqp::hllizefor($foobar-array, "baz"), 0), 'ARRAY:bazified array', "converting custom array"); nqp-2020.10+dfsg/t/nqp/097-hll.t-124- nqp-2020.10+dfsg/t/nqp/097-hll.t:125:ok(nqp::eqaddr(nqp::hllizefor($foobar-code, "foobar"), $foobar-code), "code in correct language"); nqp-2020.10+dfsg/t/nqp/097-hll.t-126-is(nqp::atpos(nqp::hllizefor($foobar-code, "baz"), 0), 'CODE:bazified code', "converting custom code"); nqp-2020.10+dfsg/t/nqp/097-hll.t-127- nqp-2020.10+dfsg/t/nqp/097-hll.t:128:ok(nqp::eqaddr(nqp::hllizefor($foobar-hash, "foobar"), $foobar-hash), "hash in correct language"); nqp-2020.10+dfsg/t/nqp/097-hll.t-129-is(nqp::atpos(nqp::hllizefor($foobar-hash, "baz"), 0), 'HASH:bazified hash', "converting custom hash"); nqp-2020.10+dfsg/t/nqp/097-hll.t-130- nqp-2020.10+dfsg/t/nqp/097-hll.t:131:ok(nqp::eqaddr(nqp::hllizefor($foobar-other, "foobar"), $foobar-other), "other stuff doesn't get transformed"); nqp-2020.10+dfsg/t/nqp/097-hll.t:132:ok(nqp::eqaddr(nqp::hllizefor($foobar-other, "baz"), $foobar-other), "other stuff doesn't get transformed"); nqp-2020.10+dfsg/t/nqp/097-hll.t-133- ############################################## nqp-2020.10+dfsg/t/nqp/097-hll.t-234- nqp-2020.10+dfsg/t/nqp/097-hll.t:235:ok(nqp::eqaddr(nqp::hllboolfor(0, 'true_and_false'), FalseValue), 'hllboolfor with false'); nqp-2020.10+dfsg/t/nqp/097-hll.t:236:ok(nqp::eqaddr(nqp::hllboolfor(7, 'true_and_false'), TrueValue), 'hllboolfor with true'); ############################################## nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t-4-my $orig := nqp::getstaticcode(&foo); nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t:5:ok(nqp::eqaddr(nqp::getstaticcode(nqp::clone(&foo)), $orig), "clone shares static code"); nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t-6- ############################################## nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t-8- nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t:9:ok(nqp::eqaddr(nqp::getstaticcode($fresh), $fresh), "a fresh code ref is it's own static code"); nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t:10:ok(!nqp::eqaddr(nqp::getstaticcode($fresh), $orig), "a fresh code ref has a different static code the orginal"); nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t:11:ok(nqp::eqaddr(nqp::getstaticcode(nqp::clone($fresh)), nqp::getstaticcode($fresh)), "a clone of a fresh code has the same static code"); nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t-12- ############################################## nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t-14- nqp-2020.10+dfsg/t/nqp/099-getstaticcode.t:15:ok(!nqp::eqaddr(nqp::getstaticcode($fresh2), nqp::getstaticcode($fresh)), "different fresh codes have different static codes"); ############################################## nqp-2020.10+dfsg/t/nqp/102-multidim.t-31- dies-ok({ nqp::setdimensions(@a, nqp::list_i(3,3,3)) }, 'cannot set three dimensions on normal array'); nqp-2020.10+dfsg/t/nqp/102-multidim.t:32: ok(nqp::eqaddr(nqp::setdimensions(@a, nqp::list_i(24)), @a), 'nqp::setdimensions has correct return value'); nqp-2020.10+dfsg/t/nqp/102-multidim.t-33- ok(nqp::elems(@a) == 24, 'can set single dimension on normal array, and it influences elems'); ############################################## nqp-2020.10+dfsg/t/nqp/103-typecache.t-12- $!type_check_called := $!type_check_called + 1; nqp-2020.10+dfsg/t/nqp/103-typecache.t:13: return 0 if nqp::eqaddr($type, IsntThisType); nqp-2020.10+dfsg/t/nqp/103-typecache.t:14: return 1 if nqp::eqaddr($type, IsThisType); nqp-2020.10+dfsg/t/nqp/103-typecache.t-15- ok(0, "unexpected argument passed to type_check"); ############################################## nqp-2020.10+dfsg/t/nqp/103-typecache.t-89-ok(nqp::istype($type_check_false, $accepts_true), 'nqp::const::TYPE_CHECK_NEEDS_ACCEPTS: istype (+)'); nqp-2020.10+dfsg/t/nqp/103-typecache.t:90:ok(nqp::eqaddr($got_accepts_type_obj, $type_check_false), 'accepts_type got correct obj'); nqp-2020.10+dfsg/t/nqp/103-typecache.t:91:ok(nqp::eqaddr($got_accepts_type_type, $accepts_true), 'accepts_type got correct type'); nqp-2020.10+dfsg/t/nqp/103-typecache.t-92- ############################################## nqp-2020.10+dfsg/t/nqp/103-typecache.t-95-ok(!nqp::istype($type_check_false, $accepts_false), 'nqp::const::TYPE_CHECK_NEEDS_ACCEPTS: istype (-)'); nqp-2020.10+dfsg/t/nqp/103-typecache.t:96:ok(nqp::eqaddr($got_accepts_type_obj, $type_check_false), 'accepts_type got correct obj'); nqp-2020.10+dfsg/t/nqp/103-typecache.t:97:ok(nqp::eqaddr($got_accepts_type_type, $accepts_false), 'accepts_type got correct type'); nqp-2020.10+dfsg/t/nqp/103-typecache.t-98- ############################################## nqp-2020.10+dfsg/t/nqp/110-normalization.t-17-my $ret := nqp::normalizecodes($input, nqp::const::NORMALIZE_NFC, $output); nqp-2020.10+dfsg/t/nqp/110-normalization.t:18:ok(nqp::eqaddr($output, $ret), 'nqp::normalizecodes returns the output buffer'); nqp-2020.10+dfsg/t/nqp/110-normalization.t-19-is(nqp::elems($output), 2, '1E0A 0323 -> NFC -> 1E0C 0307 # right amount of code points'); ############################################## nqp-2020.10+dfsg/t/nqp/115-nums.t-84- my $n := gen-num(); nqp-2020.10+dfsg/t/nqp/115-nums.t:85: is(+$n, +~+$n, "no drift in str -> num roundtrip `$n` (1 level)"); nqp-2020.10+dfsg/t/nqp/115-nums.t:86: is(+$n, +~+~+$n, "no drift in str -> num roundtrip `$n` (2 levels)"); nqp-2020.10+dfsg/t/nqp/115-nums.t:87: is(+$n, +~+~+~+$n, "no drift in str -> num roundtrip `$n` (3 levels)"); nqp-2020.10+dfsg/t/nqp/115-nums.t-88- } ############################################## nqp-2020.10+dfsg/t/qast/01-qast.t-1939- -> $r { nqp-2020.10+dfsg/t/qast/01-qast.t:1940: ok(nqp::eqaddr($r[0], $int_boxer), 'hllboxtype_i works'); nqp-2020.10+dfsg/t/qast/01-qast.t:1941: ok(nqp::eqaddr($r[1], $num_boxer), 'hllboxtype_n works'); nqp-2020.10+dfsg/t/qast/01-qast.t:1942: ok(nqp::eqaddr($r[2], $str_boxer), 'hllboxtype_s works'); nqp-2020.10+dfsg/t/qast/01-qast.t-1943- } ############################################## nqp-2020.10+dfsg/t/qast/01-qast.t-1956- -> $r { nqp-2020.10+dfsg/t/qast/01-qast.t:1957: ok(nqp::eqaddr($r[0], FalseValue), 'hllbool works with false'); nqp-2020.10+dfsg/t/qast/01-qast.t:1958: ok(nqp::eqaddr($r[1], TrueValue), 'hllbool works with true'); nqp-2020.10+dfsg/t/qast/01-qast.t-1959- } ############################################## nqp-2020.10+dfsg/t/qast/01-qast.t-2055- my $not_boxed_twice_int := $block($autoboxed_int); nqp-2020.10+dfsg/t/qast/01-qast.t:2056: ok(nqp::eqaddr($autoboxed_int, $not_boxed_twice_int), "alread autoboxed ints don't get boxed twice"); nqp-2020.10+dfsg/t/qast/01-qast.t-2057- ############################################## nqp-2020.10+dfsg/t/qast/01-qast.t-2059- my $not_boxed_twice_str := $block($autoboxed_str); nqp-2020.10+dfsg/t/qast/01-qast.t:2060: ok(nqp::eqaddr($autoboxed_str, $not_boxed_twice_str), "alread autoboxed strs don't get boxed twice"); nqp-2020.10+dfsg/t/qast/01-qast.t-2061- ############################################## nqp-2020.10+dfsg/t/qast/01-qast.t-2063- my $not_boxed_twice_num := $block($autoboxed_num); nqp-2020.10+dfsg/t/qast/01-qast.t:2064: ok(nqp::eqaddr($autoboxed_num, $not_boxed_twice_num), "alread autoboxed nums don't get boxed twice"); nqp-2020.10+dfsg/t/qast/01-qast.t-2065- } ############################################## nqp-2020.10+dfsg/t/serialization/01-basic.t-48- nqp-2020.10+dfsg/t/serialization/01-basic.t:49: ok(nqp::eqaddr(nqp::getobjsc($v1), $sc), 'nqp::getobjsc'); nqp-2020.10+dfsg/t/serialization/01-basic.t-50- ok(nqp::scgetobjidx($sc, $v2) == 1, 'nqp::scgetobjidx'); ############################################## nqp-2020.10+dfsg/t/serialization/02-types.t-409- nqp-2020.10+dfsg/t/serialization/02-types.t:410: ok(nqp::eqaddr(nqp::typeparameterat($dsc_with_foo, 0), Foo), "Type parameterized with type object is serialized correctly"); nqp-2020.10+dfsg/t/serialization/02-types.t-411- ############################################## nqp-2020.10+dfsg/t/serialization/02-types.t-414- nqp-2020.10+dfsg/t/serialization/02-types.t:415: ok(nqp::eqaddr(nqp::typeparameterat($new_with_foo, 0), Foo), "We can parameterize with a type object using a deserialized parameterizer "); nqp-2020.10+dfsg/t/serialization/02-types.t-416- nqp-2020.10+dfsg/t/serialization/02-types.t:417: #ok(nqp::eqaddr($new_with_foo, $dsc_with_foo), "We get stuff from the type cache"); nqp-2020.10+dfsg/t/serialization/02-types.t:418: ok(!nqp::eqaddr($new_with_bar, $dsc_with_foo), "Parameterizing with a type object that's not in cache"); nqp-2020.10+dfsg/t/serialization/02-types.t-419- ############################################## nqp-2020.10+dfsg/t/serialization/02-types.t-460- nqp-2020.10+dfsg/t/serialization/02-types.t:461: ok(nqp::eqaddr(nqp::hllizefor($obj, "foo"), $obj), "correct hll prevents convertion"); nqp-2020.10+dfsg/t/serialization/02-types.t:462: ok(nqp::eqaddr(nqp::hllizefor($obj, "baz"), Baz), "in this case it's converted anyway"); nqp-2020.10+dfsg/t/serialization/02-types.t-463-} ############################################## nqp-2020.10+dfsg/t/serialization/04-repossession.t-128- nqp-2020.10+dfsg/t/serialization/04-repossession.t:129: ok(nqp::eqaddr(nqp::getobjsc($new_obj), $old_dsc), "the object stars out in the old sc"); nqp-2020.10+dfsg/t/serialization/04-repossession.t-130- ############################################## nqp-2020.10+dfsg/t/serialization/04-repossession.t-137- nqp-2020.10+dfsg/t/serialization/04-repossession.t:138: ok(nqp::eqaddr(nqp::getobjsc($new_obj), $new_dsc), "the object is repossesed into the new sc"); nqp-2020.10+dfsg/t/serialization/04-repossession.t-139- ############################################## nqp-2020.10+dfsg/t/serialization/04-repossession.t-163- nqp-2020.10+dfsg/t/serialization/04-repossession.t:164: ok(nqp::eqaddr(nqp::neverrepossess($obj), $obj), 'nqp::neverrepossess has the correct return value'); nqp-2020.10+dfsg/t/serialization/04-repossession.t-165- ############################################## nqp-2020.10+dfsg/tools/build/npm-install-or-link.pl-17-$cmd = $link ? "npm link $link_what" : "npm install $install_what"; nqp-2020.10+dfsg/tools/build/npm-install-or-link.pl:18:system($cmd); nqp-2020.10+dfsg/tools/build/npm-install-or-link.pl-19-if ( $? != 0 ) { nqp-2020.10+dfsg/tools/build/npm-install-or-link.pl:20: print "=== SORRY! === `$cmd` failed with exit code $? (", ( $? >> 8 ), ")\n"; nqp-2020.10+dfsg/tools/build/npm-install-or-link.pl-21-} ############################################## nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm-246- { nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm:247: asm => [qw<3rdparty asm asm-4.1.jar>], nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm:248: 'asm-tree' => [qw<3rdparty asm asm-tree-4.1.jar>], nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm-249- jline => [qw<3rdparty jline jline-1.0.jar>], ############################################## nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm-436-# my $make = nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm:437:#`$moar_path --libpath="$libpath" "$nqp_moarvm" -e "print(nqp::backendconfig()<make>)"`; nqp-2020.10+dfsg/tools/lib/NQP/Config/NQP.pm-438-} ############################################## nqp-2020.10+dfsg/tools/templates/jvm/Makefile.in-12- nqp-2020.10+dfsg/tools/templates/jvm/Makefile.in:13:ASM = @asm@ nqp-2020.10+dfsg/tools/templates/jvm/Makefile.in-14-ASMTREE = @asmtree@ ############################################## nqp-2020.10+dfsg/tools/templates/jvm/nqp-j.in-34- nqp-2020.10+dfsg/tools/templates/jvm/nqp-j.in:35:@exec(java)@ -Dnqp.execname="$EXEC" -Xss1m -Xmx1324m -Xbootclasspath/a:"@cur_dir@@envvar(LIB_DIR)@@cpsep@@nfp(@envvar(JAR_DIR)@/nqp-runtime.jar)@@cpsep@@nfp(@envvar(JAR_DIR)@/@asmfile@)@@cpsep@@nfp(@envvar(JAR_DIR)@/@jlinefile@)@@cpsep@@nfp(@envvar(JAR_DIR)@/@jnafile@)@@cpsep@@nfp(@envvar(LIB_DIR)@/nqp.jar)@" -cp "@cur_dir@@envvar(LIB_DIR)@" nqp "@sh_allparams@" ############################################## nqp-2020.10+dfsg/debian/copyright-3-Source: https://github.com/perl6/nqp nqp-2020.10+dfsg/debian/copyright:4:Files-Excluded: *.jar 3rdparty/asm 3rdparty/jline 3rdparty/jna src/vm/js nqp-2020.10+dfsg/debian/copyright-5- ############################################## nqp-2020.10+dfsg/debian/update-control.pl-9- nqp-2020.10+dfsg/debian/update-control.pl:10:my $status = `git status --porcelain $control`; nqp-2020.10+dfsg/debian/update-control.pl-11- ############################################## nqp-2020.10+dfsg/debian/update-control.pl-24- nqp-2020.10+dfsg/debian/update-control.pl:25:system(qw/git commit/, "-m" => "control: update moarvm-dev dep versions", $control); ############################################## nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t-120- ok($ok, 'threadyield() properly interleaved parent and child threads'); nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t:121: say("# execution order = $order (expected a,1,b,2,c)") if !$ok; nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t-122-} ############################################## nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t-158- ok($ok, 'threadyield() properly interleaved two child threads'); nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t:159: say("# execution order = $order (expected a,1,b,2,c)") if !$ok; nqp-2020.10+dfsg/.pc/skip-dubious-tests/t/concurrency/01-thread.t-160-}