Red.git | docs/coverage/report-data/ | Red-AST-Infix.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>RaCoCo result: Red::AST::Infix</title>
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">
<style>
pre.code::before {
counter-reset: listing;
}
pre.code span {
counter-increment: listing;
}
pre.code span::before {
content: counter(listing) ". ";
}
.coverage-green {
background-color: #32CD32;
/*color-blind
background-color: #00CED1;
/**/
}
.coverage-red {
background-color: #fa8072;
}
.coverage-purple {
background-color: #9370DB;
}
</style>
</head>
<body>
<div class="container">
<div class="row mt-5 mb-3">
<div class="col-12">
<div class="page-header">
<h1>Red::AST::Infix 90.9%</h1>
</div>
</div>
</div>
<div class="row justify-content-md-center">
<div class="col-md-10">
<pre class="code">
<span class="coverage-green">use Red::AST::Operator;</span>
<span class="coverage-no">use Red::AST::Unary;</span>
<span class="coverage-no"></span>
<span class="coverage-no">#| Base role to infix operators</span>
<span class="coverage-green">unit role Red::AST::Infix does Red::AST::Operator;</span>
<span class="coverage-no"></span>
<span class="coverage-no">has Red::AST $.left is required;</span>
<span class="coverage-no">has Red::AST $.right is required;</span>
<span class="coverage-no">has Bool $.bind-left = False;</span>
<span class="coverage-red">has Bool $.bind-right = False;</span>
<span class="coverage-no"></span>
<span class="coverage-no">#method gist { "$!left.gist() $.op $!right.gist()" }</span>
<span class="coverage-no"></span>
<span class="coverage-green">proto method new($left, $right, |) {*}</span>
<span class="coverage-no"></span>
<span class="coverage-green">multi method new($left, $right, Bool() :$bind-left = False, Bool() :$bind-right = False, Str() :$cast!) {</span>
<span class="coverage-green"> ::?CLASS.new:</span>
<span class="coverage-no"> $left ~~ ::("Red::Column") ?? $left.cast($cast) !! $left,</span>
<span class="coverage-no"> $right ~~ ::("Red::Column") ?? $right.cast($cast) !! $right,</span>
<span class="coverage-no"> :$bind-left,</span>
<span class="coverage-no"> :$bind-right</span>
<span class="coverage-no">}</span>
<span class="coverage-no"></span>
<span class="coverage-green">multi method new($left, $right, Bool :$bind-left = False, Bool :$bind-right = False) {</span>
<span class="coverage-green"> ::?CLASS.Mu::new: :$left, :$right, :$bind-left, :$bind-right</span>
<span class="coverage-no">}</span>
<span class="coverage-no"></span>
<span class="coverage-green">method args { $!left, $!right }</span>
<span class="coverage-green">method not { Red::AST::Not.new: self }</span>
<span class="coverage-green">method find-column-name { ($_ with $.left.find-column-name), ($_ with $.right.find-column-name) }</span>
</pre>
</div>
</div>
</div>
</body>
</html>