Deploy ameba to github.com/crystal-ameba/ameba.git:gh-pages

This commit is contained in:
Deployment Bot (from Travis CI) 2021-01-11 14:49:07 +00:00
commit 783b1f1658
94 changed files with 91379 additions and 0 deletions

949
Ameba/AST/Argument.html Normal file
View file

@ -0,0 +1,949 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Crystal Docs 0.35.1">
<meta name="crystal_docs.project_version" content="0.13.3-dev">
<meta name="crystal_docs.project_name" content="ameba">
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../js/doc.js"></script>
<meta name="repository-name" content="ameba">
<title>Ameba::AST::Argument - ameba 0.13.3-dev</title>
<script type="text/javascript">
CrystalDocs.base_path = "../../";
</script>
</head>
<body>
<svg class="hidden">
<symbol id="octicon-link" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path>
</symbol>
</svg>
<div class="sidebar">
<div class="sidebar-header">
<div class="search-box">
<input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search">
</div>
<div class="project-summary">
<h1 class="project-name">
<a href="../../index.html">
ameba
</a>
</h1>
<span class="project-version">
0.13.3-dev
</span>
</div>
</div>
<div class="search-results hidden">
<ul class="search-list"></ul>
</div>
<div class="types-list">
<ul>
<li class="parent open current" data-id="ameba/Ameba" data-name="ameba">
<a href="../../Ameba.html">Ameba</a>
<ul>
<li class="parent open current" data-id="ameba/Ameba/AST" data-name="ameba::ast">
<a href="../../Ameba/AST.html">AST</a>
<ul>
<li class=" current" data-id="ameba/Ameba/AST/Argument" data-name="ameba::ast::argument">
<a href="../../Ameba/AST/Argument.html">Argument</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Assignment" data-name="ameba::ast::assignment">
<a href="../../Ameba/AST/Assignment.html">Assignment</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/BaseVisitor" data-name="ameba::ast::basevisitor">
<a href="../../Ameba/AST/BaseVisitor.html">BaseVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branch" data-name="ameba::ast::branch">
<a href="../../Ameba/AST/Branch.html">Branch</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branchable" data-name="ameba::ast::branchable">
<a href="../../Ameba/AST/Branchable.html">Branchable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/CountingVisitor" data-name="ameba::ast::countingvisitor">
<a href="../../Ameba/AST/CountingVisitor.html">CountingVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpression" data-name="ameba::ast::flowexpression">
<a href="../../Ameba/AST/FlowExpression.html">FlowExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpressionVisitor" data-name="ameba::ast::flowexpressionvisitor">
<a href="../../Ameba/AST/FlowExpressionVisitor.html">FlowExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/InstanceVariable" data-name="ameba::ast::instancevariable">
<a href="../../Ameba/AST/InstanceVariable.html">InstanceVariable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/NodeVisitor" data-name="ameba::ast::nodevisitor">
<a href="../../Ameba/AST/NodeVisitor.html">NodeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/RedundantControlExpressionVisitor" data-name="ameba::ast::redundantcontrolexpressionvisitor">
<a href="../../Ameba/AST/RedundantControlExpressionVisitor.html">RedundantControlExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Reference" data-name="ameba::ast::reference">
<a href="../../Ameba/AST/Reference.html">Reference</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Scope" data-name="ameba::ast::scope">
<a href="../../Ameba/AST/Scope.html">Scope</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/ScopeVisitor" data-name="ameba::ast::scopevisitor">
<a href="../../Ameba/AST/ScopeVisitor.html">ScopeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Util" data-name="ameba::ast::util">
<a href="../../Ameba/AST/Util.html">Util</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Variable" data-name="ameba::ast::variable">
<a href="../../Ameba/AST/Variable.html">Variable</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Config" data-name="ameba::config">
<a href="../../Ameba/Config.html">Config</a>
</li>
<li class="parent " data-id="ameba/Ameba/Formatter" data-name="ameba::formatter">
<a href="../../Ameba/Formatter.html">Formatter</a>
<ul>
<li class=" " data-id="ameba/Ameba/Formatter/BaseFormatter" data-name="ameba::formatter::baseformatter">
<a href="../../Ameba/Formatter/BaseFormatter.html">BaseFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DisabledFormatter" data-name="ameba::formatter::disabledformatter">
<a href="../../Ameba/Formatter/DisabledFormatter.html">DisabledFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DotFormatter" data-name="ameba::formatter::dotformatter">
<a href="../../Ameba/Formatter/DotFormatter.html">DotFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/ExplainFormatter" data-name="ameba::formatter::explainformatter">
<a href="../../Ameba/Formatter/ExplainFormatter.html">ExplainFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/FlycheckFormatter" data-name="ameba::formatter::flycheckformatter">
<a href="../../Ameba/Formatter/FlycheckFormatter.html">FlycheckFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/JSONFormatter" data-name="ameba::formatter::jsonformatter">
<a href="../../Ameba/Formatter/JSONFormatter.html">JSONFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/TODOFormatter" data-name="ameba::formatter::todoformatter">
<a href="../../Ameba/Formatter/TODOFormatter.html">TODOFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/Util" data-name="ameba::formatter::util">
<a href="../../Ameba/Formatter/Util.html">Util</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/GlobUtils" data-name="ameba::globutils">
<a href="../../Ameba/GlobUtils.html">GlobUtils</a>
</li>
<li class="parent " data-id="ameba/Ameba/InlineComments" data-name="ameba::inlinecomments">
<a href="../../Ameba/InlineComments.html">InlineComments</a>
<ul>
<li class=" " data-id="ameba/Ameba/InlineComments/Action" data-name="ameba::inlinecomments::action">
<a href="../../Ameba/InlineComments/Action.html">Action</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Issue" data-name="ameba::issue">
<a href="../../Ameba/Issue.html">Issue</a>
</li>
<li class=" " data-id="ameba/Ameba/Reportable" data-name="ameba::reportable">
<a href="../../Ameba/Reportable.html">Reportable</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule" data-name="ameba::rule">
<a href="../../Ameba/Rule.html">Rule</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Base" data-name="ameba::rule::base">
<a href="../../Ameba/Rule/Base.html">Base</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Layout" data-name="ameba::rule::layout">
<a href="../../Ameba/Rule/Layout.html">Layout</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Layout/LineLength" data-name="ameba::rule::layout::linelength">
<a href="../../Ameba/Rule/Layout/LineLength.html">LineLength</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingBlankLines" data-name="ameba::rule::layout::trailingblanklines">
<a href="../../Ameba/Rule/Layout/TrailingBlankLines.html">TrailingBlankLines</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingWhitespace" data-name="ameba::rule::layout::trailingwhitespace">
<a href="../../Ameba/Rule/Layout/TrailingWhitespace.html">TrailingWhitespace</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Lint" data-name="ameba::rule::lint">
<a href="../../Ameba/Rule/Lint.html">Lint</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Lint/BadDirective" data-name="ameba::rule::lint::baddirective">
<a href="../../Ameba/Rule/Lint/BadDirective.html">BadDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ComparisonToBoolean" data-name="ameba::rule::lint::comparisontoboolean">
<a href="../../Ameba/Rule/Lint/ComparisonToBoolean.html">ComparisonToBoolean</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/DebuggerStatement" data-name="ameba::rule::lint::debuggerstatement">
<a href="../../Ameba/Rule/Lint/DebuggerStatement.html">DebuggerStatement</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyEnsure" data-name="ameba::rule::lint::emptyensure">
<a href="../../Ameba/Rule/Lint/EmptyEnsure.html">EmptyEnsure</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyExpression" data-name="ameba::rule::lint::emptyexpression">
<a href="../../Ameba/Rule/Lint/EmptyExpression.html">EmptyExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyLoop" data-name="ameba::rule::lint::emptyloop">
<a href="../../Ameba/Rule/Lint/EmptyLoop.html">EmptyLoop</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/HashDuplicatedKey" data-name="ameba::rule::lint::hashduplicatedkey">
<a href="../../Ameba/Rule/Lint/HashDuplicatedKey.html">HashDuplicatedKey</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInCondition" data-name="ameba::rule::lint::literalincondition">
<a href="../../Ameba/Rule/Lint/LiteralInCondition.html">LiteralInCondition</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInInterpolation" data-name="ameba::rule::lint::literalininterpolation">
<a href="../../Ameba/Rule/Lint/LiteralInInterpolation.html">LiteralInInterpolation</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/PercentArrays" data-name="ameba::rule::lint::percentarrays">
<a href="../../Ameba/Rule/Lint/PercentArrays.html">PercentArrays</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RandZero" data-name="ameba::rule::lint::randzero">
<a href="../../Ameba/Rule/Lint/RandZero.html">RandZero</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantStringCoercion" data-name="ameba::rule::lint::redundantstringcoercion">
<a href="../../Ameba/Rule/Lint/RedundantStringCoercion.html">RedundantStringCoercion</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithIndex" data-name="ameba::rule::lint::redundantwithindex">
<a href="../../Ameba/Rule/Lint/RedundantWithIndex.html">RedundantWithIndex</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithObject" data-name="ameba::rule::lint::redundantwithobject">
<a href="../../Ameba/Rule/Lint/RedundantWithObject.html">RedundantWithObject</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedArgument" data-name="ameba::rule::lint::shadowedargument">
<a href="../../Ameba/Rule/Lint/ShadowedArgument.html">ShadowedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedException" data-name="ameba::rule::lint::shadowedexception">
<a href="../../Ameba/Rule/Lint/ShadowedException.html">ShadowedException</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowingOuterLocalVar" data-name="ameba::rule::lint::shadowingouterlocalvar">
<a href="../../Ameba/Rule/Lint/ShadowingOuterLocalVar.html">ShadowingOuterLocalVar</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/SharedVarInFiber" data-name="ameba::rule::lint::sharedvarinfiber">
<a href="../../Ameba/Rule/Lint/SharedVarInFiber.html">SharedVarInFiber</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/Syntax" data-name="ameba::rule::lint::syntax">
<a href="../../Ameba/Rule/Lint/Syntax.html">Syntax</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnneededDisableDirective" data-name="ameba::rule::lint::unneededdisabledirective">
<a href="../../Ameba/Rule/Lint/UnneededDisableDirective.html">UnneededDisableDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnreachableCode" data-name="ameba::rule::lint::unreachablecode">
<a href="../../Ameba/Rule/Lint/UnreachableCode.html">UnreachableCode</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnusedArgument" data-name="ameba::rule::lint::unusedargument">
<a href="../../Ameba/Rule/Lint/UnusedArgument.html">UnusedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessAssign" data-name="ameba::rule::lint::uselessassign">
<a href="../../Ameba/Rule/Lint/UselessAssign.html">UselessAssign</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessConditionInWhen" data-name="ameba::rule::lint::uselessconditioninwhen">
<a href="../../Ameba/Rule/Lint/UselessConditionInWhen.html">UselessConditionInWhen</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Metrics" data-name="ameba::rule::metrics">
<a href="../../Ameba/Rule/Metrics.html">Metrics</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Metrics/CyclomaticComplexity" data-name="ameba::rule::metrics::cyclomaticcomplexity">
<a href="../../Ameba/Rule/Metrics/CyclomaticComplexity.html">CyclomaticComplexity</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Performance" data-name="ameba::rule::performance">
<a href="../../Ameba/Rule/Performance.html">Performance</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Performance/AnyAfterFilter" data-name="ameba::rule::performance::anyafterfilter">
<a href="../../Ameba/Rule/Performance/AnyAfterFilter.html">AnyAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/FirstLastAfterFilter" data-name="ameba::rule::performance::firstlastafterfilter">
<a href="../../Ameba/Rule/Performance/FirstLastAfterFilter.html">FirstLastAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/SizeAfterFilter" data-name="ameba::rule::performance::sizeafterfilter">
<a href="../../Ameba/Rule/Performance/SizeAfterFilter.html">SizeAfterFilter</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Style" data-name="ameba::rule::style">
<a href="../../Ameba/Rule/Style.html">Style</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Style/ConstantNames" data-name="ameba::rule::style::constantnames">
<a href="../../Ameba/Rule/Style/ConstantNames.html">ConstantNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/IsANil" data-name="ameba::rule::style::isanil">
<a href="../../Ameba/Rule/Style/IsANil.html">IsANil</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/LargeNumbers" data-name="ameba::rule::style::largenumbers">
<a href="../../Ameba/Rule/Style/LargeNumbers.html">LargeNumbers</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/MethodNames" data-name="ameba::rule::style::methodnames">
<a href="../../Ameba/Rule/Style/MethodNames.html">MethodNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/NegatedConditionsInUnless" data-name="ameba::rule::style::negatedconditionsinunless">
<a href="../../Ameba/Rule/Style/NegatedConditionsInUnless.html">NegatedConditionsInUnless</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/PredicateName" data-name="ameba::rule::style::predicatename">
<a href="../../Ameba/Rule/Style/PredicateName.html">PredicateName</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantBegin" data-name="ameba::rule::style::redundantbegin">
<a href="../../Ameba/Rule/Style/RedundantBegin.html">RedundantBegin</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantNext" data-name="ameba::rule::style::redundantnext">
<a href="../../Ameba/Rule/Style/RedundantNext.html">RedundantNext</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantReturn" data-name="ameba::rule::style::redundantreturn">
<a href="../../Ameba/Rule/Style/RedundantReturn.html">RedundantReturn</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/TypeNames" data-name="ameba::rule::style::typenames">
<a href="../../Ameba/Rule/Style/TypeNames.html">TypeNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/UnlessElse" data-name="ameba::rule::style::unlesselse">
<a href="../../Ameba/Rule/Style/UnlessElse.html">UnlessElse</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/VariableNames" data-name="ameba::rule::style::variablenames">
<a href="../../Ameba/Rule/Style/VariableNames.html">VariableNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/WhileTrue" data-name="ameba::rule::style::whiletrue">
<a href="../../Ameba/Rule/Style/WhileTrue.html">WhileTrue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Runner" data-name="ameba::runner">
<a href="../../Ameba/Runner.html">Runner</a>
</li>
<li class=" " data-id="ameba/Ameba/Severity" data-name="ameba::severity">
<a href="../../Ameba/Severity.html">Severity</a>
</li>
<li class=" " data-id="ameba/Ameba/SeverityYamlConverter" data-name="ameba::severityyamlconverter">
<a href="../../Ameba/SeverityYamlConverter.html">SeverityYamlConverter</a>
</li>
<li class=" " data-id="ameba/Ameba/Source" data-name="ameba::source">
<a href="../../Ameba/Source.html">Source</a>
</li>
<li class=" " data-id="ameba/Ameba/Tokenizer" data-name="ameba::tokenizer">
<a href="../../Ameba/Tokenizer.html">Tokenizer</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="main-content">
<h1 class="type-name">
<span class="kind">class</span> Ameba::AST::Argument
</h1>
<ul class="superclass-hierarchy"><li class="superclass"><a href="../../Ameba/AST/Argument.html">Ameba::AST::Argument</a></li><li class="superclass">Reference</li><li class="superclass">Object</li></ul>
<h2>
<a id="overview" class="anchor" href="#overview">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Overview
</h2>
<p>Represents the argument of some node.
Holds the reference to the variable, thus to scope.</p>
<p>For example, all these vars are arguments:</p>
<pre><code class="language-crystal"><span class="k">def</span> <span class="m">method</span>(a, b, c <span class="o">=</span> <span class="n">10</span>, <span class="o">&amp;</span>block)
<span class="n">3</span>.times <span class="k">do</span> <span class="o">|</span>i<span class="o">|</span>
<span class="k">end</span>
->(x : <span class="t">Int32</span>) {}
<span class="k">end</span></code></pre>
<h2>
<a id="defined-in" class="anchor" href="#defined-in">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Defined in:
</h2>
<h2>
<a id="constructors" class="anchor" href="#constructors">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructors
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#new(node,variable)-class-method" class="signature"><strong>.new</strong>(node, variable)</a>
<div class="summary"><p>Creates a new argument.</p></div>
</li>
</ul>
<h2>
<a id="instance-method-summary" class="anchor" href="#instance-method-summary">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Summary
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#end_location(*args,**options)-instance-method" class="signature"><strong>#end_location</strong>(*args, **options)</a>
</li>
<li class="entry-summary">
<a href="#end_location(*args,**options,&)-instance-method" class="signature"><strong>#end_location</strong>(*args, **options, &)</a>
</li>
<li class="entry-summary">
<a href="#ignored?-instance-method" class="signature"><strong>#ignored?</strong></a>
<div class="summary"><p>Returns true if the name starts with '_', false if not.</p></div>
</li>
<li class="entry-summary">
<a href="#location(*args,**options)-instance-method" class="signature"><strong>#location</strong>(*args, **options)</a>
</li>
<li class="entry-summary">
<a href="#location(*args,**options,&)-instance-method" class="signature"><strong>#location</strong>(*args, **options, &)</a>
</li>
<li class="entry-summary">
<a href="#name-instance-method" class="signature"><strong>#name</strong></a>
<div class="summary"><p>Name of the argument.</p></div>
</li>
<li class="entry-summary">
<a href="#node:Crystal::Var%7CCrystal::Arg-instance-method" class="signature"><strong>#node</strong> : Crystal::Var | Crystal::Arg</a>
<div class="summary"><p>The actual node.</p></div>
</li>
<li class="entry-summary">
<a href="#to_s(*args,**options)-instance-method" class="signature"><strong>#to_s</strong>(*args, **options)</a>
</li>
<li class="entry-summary">
<a href="#to_s(*args,**options,&)-instance-method" class="signature"><strong>#to_s</strong>(*args, **options, &)</a>
</li>
<li class="entry-summary">
<a href="#variable:Variable-instance-method" class="signature"><strong>#variable</strong> : Variable</a>
<div class="summary"><p>Variable of this argument (may be the same node)</p></div>
</li>
</ul>
<div class="methods-inherited">
</div>
<h2>
<a id="constructor-detail" class="anchor" href="#constructor-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructor Detail
</h2>
<div class="entry-detail" id="new(node,variable)-class-method">
<div class="signature">
def self.<strong>new</strong>(node, variable)
<a class="method-permalink" href="#new(node,variable)-class-method">#</a>
</div>
<div class="doc">
<p>Creates a new argument.</p>
<pre><code class="language-crystal"><span class="t">Argument</span>.<span class="k">new</span>(node, variable)</code></pre>
</div>
<br/>
<div>
</div>
</div>
<h2>
<a id="instance-method-detail" class="anchor" href="#instance-method-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Detail
</h2>
<div class="entry-detail" id="end_location(*args,**options)-instance-method">
<div class="signature">
def <strong>end_location</strong>(*args, **options)
<a class="method-permalink" href="#end_location(*args,**options)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="end_location(*args,**options,&)-instance-method">
<div class="signature">
def <strong>end_location</strong>(*args, **options, &)
<a class="method-permalink" href="#end_location(*args,**options,&)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="ignored?-instance-method">
<div class="signature">
def <strong>ignored?</strong>
<a class="method-permalink" href="#ignored?-instance-method">#</a>
</div>
<div class="doc">
<p>Returns true if the name starts with '_', false if not.</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="location(*args,**options)-instance-method">
<div class="signature">
def <strong>location</strong>(*args, **options)
<a class="method-permalink" href="#location(*args,**options)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="location(*args,**options,&)-instance-method">
<div class="signature">
def <strong>location</strong>(*args, **options, &)
<a class="method-permalink" href="#location(*args,**options,&)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="name-instance-method">
<div class="signature">
def <strong>name</strong>
<a class="method-permalink" href="#name-instance-method">#</a>
</div>
<div class="doc">
<p>Name of the argument.</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="node:Crystal::Var|Crystal::Arg-instance-method">
<div class="signature">
def <strong>node</strong> : Crystal::Var | Crystal::Arg
<a class="method-permalink" href="#node:Crystal::Var%7CCrystal::Arg-instance-method">#</a>
</div>
<div class="doc">
<p>The actual node.</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="to_s(*args,**options)-instance-method">
<div class="signature">
def <strong>to_s</strong>(*args, **options)
<a class="method-permalink" href="#to_s(*args,**options)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="to_s(*args,**options,&)-instance-method">
<div class="signature">
def <strong>to_s</strong>(*args, **options, &)
<a class="method-permalink" href="#to_s(*args,**options,&)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="variable:Variable-instance-method">
<div class="signature">
def <strong>variable</strong> : <a href="../../Ameba/AST/Variable.html">Variable</a>
<a class="method-permalink" href="#variable:Variable-instance-method">#</a>
</div>
<div class="doc">
<p>Variable of this argument (may be the same node)</p>
</div>
<br/>
<div>
</div>
</div>
</div>
</body>
</html>

1120
Ameba/AST/Assignment.html Normal file

File diff suppressed because it is too large Load diff

776
Ameba/AST/BaseVisitor.html Normal file
View file

@ -0,0 +1,776 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Crystal Docs 0.35.1">
<meta name="crystal_docs.project_version" content="0.13.3-dev">
<meta name="crystal_docs.project_name" content="ameba">
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../js/doc.js"></script>
<meta name="repository-name" content="ameba">
<title>Ameba::AST::BaseVisitor - ameba 0.13.3-dev</title>
<script type="text/javascript">
CrystalDocs.base_path = "../../";
</script>
</head>
<body>
<svg class="hidden">
<symbol id="octicon-link" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path>
</symbol>
</svg>
<div class="sidebar">
<div class="sidebar-header">
<div class="search-box">
<input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search">
</div>
<div class="project-summary">
<h1 class="project-name">
<a href="../../index.html">
ameba
</a>
</h1>
<span class="project-version">
0.13.3-dev
</span>
</div>
</div>
<div class="search-results hidden">
<ul class="search-list"></ul>
</div>
<div class="types-list">
<ul>
<li class="parent open current" data-id="ameba/Ameba" data-name="ameba">
<a href="../../Ameba.html">Ameba</a>
<ul>
<li class="parent open current" data-id="ameba/Ameba/AST" data-name="ameba::ast">
<a href="../../Ameba/AST.html">AST</a>
<ul>
<li class=" " data-id="ameba/Ameba/AST/Argument" data-name="ameba::ast::argument">
<a href="../../Ameba/AST/Argument.html">Argument</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Assignment" data-name="ameba::ast::assignment">
<a href="../../Ameba/AST/Assignment.html">Assignment</a>
</li>
<li class=" current" data-id="ameba/Ameba/AST/BaseVisitor" data-name="ameba::ast::basevisitor">
<a href="../../Ameba/AST/BaseVisitor.html">BaseVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branch" data-name="ameba::ast::branch">
<a href="../../Ameba/AST/Branch.html">Branch</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branchable" data-name="ameba::ast::branchable">
<a href="../../Ameba/AST/Branchable.html">Branchable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/CountingVisitor" data-name="ameba::ast::countingvisitor">
<a href="../../Ameba/AST/CountingVisitor.html">CountingVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpression" data-name="ameba::ast::flowexpression">
<a href="../../Ameba/AST/FlowExpression.html">FlowExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpressionVisitor" data-name="ameba::ast::flowexpressionvisitor">
<a href="../../Ameba/AST/FlowExpressionVisitor.html">FlowExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/InstanceVariable" data-name="ameba::ast::instancevariable">
<a href="../../Ameba/AST/InstanceVariable.html">InstanceVariable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/NodeVisitor" data-name="ameba::ast::nodevisitor">
<a href="../../Ameba/AST/NodeVisitor.html">NodeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/RedundantControlExpressionVisitor" data-name="ameba::ast::redundantcontrolexpressionvisitor">
<a href="../../Ameba/AST/RedundantControlExpressionVisitor.html">RedundantControlExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Reference" data-name="ameba::ast::reference">
<a href="../../Ameba/AST/Reference.html">Reference</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Scope" data-name="ameba::ast::scope">
<a href="../../Ameba/AST/Scope.html">Scope</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/ScopeVisitor" data-name="ameba::ast::scopevisitor">
<a href="../../Ameba/AST/ScopeVisitor.html">ScopeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Util" data-name="ameba::ast::util">
<a href="../../Ameba/AST/Util.html">Util</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Variable" data-name="ameba::ast::variable">
<a href="../../Ameba/AST/Variable.html">Variable</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Config" data-name="ameba::config">
<a href="../../Ameba/Config.html">Config</a>
</li>
<li class="parent " data-id="ameba/Ameba/Formatter" data-name="ameba::formatter">
<a href="../../Ameba/Formatter.html">Formatter</a>
<ul>
<li class=" " data-id="ameba/Ameba/Formatter/BaseFormatter" data-name="ameba::formatter::baseformatter">
<a href="../../Ameba/Formatter/BaseFormatter.html">BaseFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DisabledFormatter" data-name="ameba::formatter::disabledformatter">
<a href="../../Ameba/Formatter/DisabledFormatter.html">DisabledFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DotFormatter" data-name="ameba::formatter::dotformatter">
<a href="../../Ameba/Formatter/DotFormatter.html">DotFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/ExplainFormatter" data-name="ameba::formatter::explainformatter">
<a href="../../Ameba/Formatter/ExplainFormatter.html">ExplainFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/FlycheckFormatter" data-name="ameba::formatter::flycheckformatter">
<a href="../../Ameba/Formatter/FlycheckFormatter.html">FlycheckFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/JSONFormatter" data-name="ameba::formatter::jsonformatter">
<a href="../../Ameba/Formatter/JSONFormatter.html">JSONFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/TODOFormatter" data-name="ameba::formatter::todoformatter">
<a href="../../Ameba/Formatter/TODOFormatter.html">TODOFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/Util" data-name="ameba::formatter::util">
<a href="../../Ameba/Formatter/Util.html">Util</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/GlobUtils" data-name="ameba::globutils">
<a href="../../Ameba/GlobUtils.html">GlobUtils</a>
</li>
<li class="parent " data-id="ameba/Ameba/InlineComments" data-name="ameba::inlinecomments">
<a href="../../Ameba/InlineComments.html">InlineComments</a>
<ul>
<li class=" " data-id="ameba/Ameba/InlineComments/Action" data-name="ameba::inlinecomments::action">
<a href="../../Ameba/InlineComments/Action.html">Action</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Issue" data-name="ameba::issue">
<a href="../../Ameba/Issue.html">Issue</a>
</li>
<li class=" " data-id="ameba/Ameba/Reportable" data-name="ameba::reportable">
<a href="../../Ameba/Reportable.html">Reportable</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule" data-name="ameba::rule">
<a href="../../Ameba/Rule.html">Rule</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Base" data-name="ameba::rule::base">
<a href="../../Ameba/Rule/Base.html">Base</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Layout" data-name="ameba::rule::layout">
<a href="../../Ameba/Rule/Layout.html">Layout</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Layout/LineLength" data-name="ameba::rule::layout::linelength">
<a href="../../Ameba/Rule/Layout/LineLength.html">LineLength</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingBlankLines" data-name="ameba::rule::layout::trailingblanklines">
<a href="../../Ameba/Rule/Layout/TrailingBlankLines.html">TrailingBlankLines</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingWhitespace" data-name="ameba::rule::layout::trailingwhitespace">
<a href="../../Ameba/Rule/Layout/TrailingWhitespace.html">TrailingWhitespace</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Lint" data-name="ameba::rule::lint">
<a href="../../Ameba/Rule/Lint.html">Lint</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Lint/BadDirective" data-name="ameba::rule::lint::baddirective">
<a href="../../Ameba/Rule/Lint/BadDirective.html">BadDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ComparisonToBoolean" data-name="ameba::rule::lint::comparisontoboolean">
<a href="../../Ameba/Rule/Lint/ComparisonToBoolean.html">ComparisonToBoolean</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/DebuggerStatement" data-name="ameba::rule::lint::debuggerstatement">
<a href="../../Ameba/Rule/Lint/DebuggerStatement.html">DebuggerStatement</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyEnsure" data-name="ameba::rule::lint::emptyensure">
<a href="../../Ameba/Rule/Lint/EmptyEnsure.html">EmptyEnsure</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyExpression" data-name="ameba::rule::lint::emptyexpression">
<a href="../../Ameba/Rule/Lint/EmptyExpression.html">EmptyExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyLoop" data-name="ameba::rule::lint::emptyloop">
<a href="../../Ameba/Rule/Lint/EmptyLoop.html">EmptyLoop</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/HashDuplicatedKey" data-name="ameba::rule::lint::hashduplicatedkey">
<a href="../../Ameba/Rule/Lint/HashDuplicatedKey.html">HashDuplicatedKey</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInCondition" data-name="ameba::rule::lint::literalincondition">
<a href="../../Ameba/Rule/Lint/LiteralInCondition.html">LiteralInCondition</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInInterpolation" data-name="ameba::rule::lint::literalininterpolation">
<a href="../../Ameba/Rule/Lint/LiteralInInterpolation.html">LiteralInInterpolation</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/PercentArrays" data-name="ameba::rule::lint::percentarrays">
<a href="../../Ameba/Rule/Lint/PercentArrays.html">PercentArrays</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RandZero" data-name="ameba::rule::lint::randzero">
<a href="../../Ameba/Rule/Lint/RandZero.html">RandZero</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantStringCoercion" data-name="ameba::rule::lint::redundantstringcoercion">
<a href="../../Ameba/Rule/Lint/RedundantStringCoercion.html">RedundantStringCoercion</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithIndex" data-name="ameba::rule::lint::redundantwithindex">
<a href="../../Ameba/Rule/Lint/RedundantWithIndex.html">RedundantWithIndex</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithObject" data-name="ameba::rule::lint::redundantwithobject">
<a href="../../Ameba/Rule/Lint/RedundantWithObject.html">RedundantWithObject</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedArgument" data-name="ameba::rule::lint::shadowedargument">
<a href="../../Ameba/Rule/Lint/ShadowedArgument.html">ShadowedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedException" data-name="ameba::rule::lint::shadowedexception">
<a href="../../Ameba/Rule/Lint/ShadowedException.html">ShadowedException</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowingOuterLocalVar" data-name="ameba::rule::lint::shadowingouterlocalvar">
<a href="../../Ameba/Rule/Lint/ShadowingOuterLocalVar.html">ShadowingOuterLocalVar</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/SharedVarInFiber" data-name="ameba::rule::lint::sharedvarinfiber">
<a href="../../Ameba/Rule/Lint/SharedVarInFiber.html">SharedVarInFiber</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/Syntax" data-name="ameba::rule::lint::syntax">
<a href="../../Ameba/Rule/Lint/Syntax.html">Syntax</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnneededDisableDirective" data-name="ameba::rule::lint::unneededdisabledirective">
<a href="../../Ameba/Rule/Lint/UnneededDisableDirective.html">UnneededDisableDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnreachableCode" data-name="ameba::rule::lint::unreachablecode">
<a href="../../Ameba/Rule/Lint/UnreachableCode.html">UnreachableCode</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnusedArgument" data-name="ameba::rule::lint::unusedargument">
<a href="../../Ameba/Rule/Lint/UnusedArgument.html">UnusedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessAssign" data-name="ameba::rule::lint::uselessassign">
<a href="../../Ameba/Rule/Lint/UselessAssign.html">UselessAssign</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessConditionInWhen" data-name="ameba::rule::lint::uselessconditioninwhen">
<a href="../../Ameba/Rule/Lint/UselessConditionInWhen.html">UselessConditionInWhen</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Metrics" data-name="ameba::rule::metrics">
<a href="../../Ameba/Rule/Metrics.html">Metrics</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Metrics/CyclomaticComplexity" data-name="ameba::rule::metrics::cyclomaticcomplexity">
<a href="../../Ameba/Rule/Metrics/CyclomaticComplexity.html">CyclomaticComplexity</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Performance" data-name="ameba::rule::performance">
<a href="../../Ameba/Rule/Performance.html">Performance</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Performance/AnyAfterFilter" data-name="ameba::rule::performance::anyafterfilter">
<a href="../../Ameba/Rule/Performance/AnyAfterFilter.html">AnyAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/FirstLastAfterFilter" data-name="ameba::rule::performance::firstlastafterfilter">
<a href="../../Ameba/Rule/Performance/FirstLastAfterFilter.html">FirstLastAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/SizeAfterFilter" data-name="ameba::rule::performance::sizeafterfilter">
<a href="../../Ameba/Rule/Performance/SizeAfterFilter.html">SizeAfterFilter</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Style" data-name="ameba::rule::style">
<a href="../../Ameba/Rule/Style.html">Style</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Style/ConstantNames" data-name="ameba::rule::style::constantnames">
<a href="../../Ameba/Rule/Style/ConstantNames.html">ConstantNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/IsANil" data-name="ameba::rule::style::isanil">
<a href="../../Ameba/Rule/Style/IsANil.html">IsANil</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/LargeNumbers" data-name="ameba::rule::style::largenumbers">
<a href="../../Ameba/Rule/Style/LargeNumbers.html">LargeNumbers</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/MethodNames" data-name="ameba::rule::style::methodnames">
<a href="../../Ameba/Rule/Style/MethodNames.html">MethodNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/NegatedConditionsInUnless" data-name="ameba::rule::style::negatedconditionsinunless">
<a href="../../Ameba/Rule/Style/NegatedConditionsInUnless.html">NegatedConditionsInUnless</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/PredicateName" data-name="ameba::rule::style::predicatename">
<a href="../../Ameba/Rule/Style/PredicateName.html">PredicateName</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantBegin" data-name="ameba::rule::style::redundantbegin">
<a href="../../Ameba/Rule/Style/RedundantBegin.html">RedundantBegin</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantNext" data-name="ameba::rule::style::redundantnext">
<a href="../../Ameba/Rule/Style/RedundantNext.html">RedundantNext</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantReturn" data-name="ameba::rule::style::redundantreturn">
<a href="../../Ameba/Rule/Style/RedundantReturn.html">RedundantReturn</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/TypeNames" data-name="ameba::rule::style::typenames">
<a href="../../Ameba/Rule/Style/TypeNames.html">TypeNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/UnlessElse" data-name="ameba::rule::style::unlesselse">
<a href="../../Ameba/Rule/Style/UnlessElse.html">UnlessElse</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/VariableNames" data-name="ameba::rule::style::variablenames">
<a href="../../Ameba/Rule/Style/VariableNames.html">VariableNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/WhileTrue" data-name="ameba::rule::style::whiletrue">
<a href="../../Ameba/Rule/Style/WhileTrue.html">WhileTrue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Runner" data-name="ameba::runner">
<a href="../../Ameba/Runner.html">Runner</a>
</li>
<li class=" " data-id="ameba/Ameba/Severity" data-name="ameba::severity">
<a href="../../Ameba/Severity.html">Severity</a>
</li>
<li class=" " data-id="ameba/Ameba/SeverityYamlConverter" data-name="ameba::severityyamlconverter">
<a href="../../Ameba/SeverityYamlConverter.html">SeverityYamlConverter</a>
</li>
<li class=" " data-id="ameba/Ameba/Source" data-name="ameba::source">
<a href="../../Ameba/Source.html">Source</a>
</li>
<li class=" " data-id="ameba/Ameba/Tokenizer" data-name="ameba::tokenizer">
<a href="../../Ameba/Tokenizer.html">Tokenizer</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="main-content">
<h1 class="type-name">
<span class="kind">abstract class</span> Ameba::AST::BaseVisitor
</h1>
<ul class="superclass-hierarchy"><li class="superclass"><a href="../../Ameba/AST/BaseVisitor.html">Ameba::AST::BaseVisitor</a></li><li class="superclass">Crystal::Visitor</li><li class="superclass">Reference</li><li class="superclass">Object</li></ul>
<h2>
<a id="overview" class="anchor" href="#overview">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Overview
</h2>
<p>An abstract base visitor that utilizes general logic for all visitors.</p>
<h2>
<a id="direct-known-subclasses" class="anchor" href="#direct-known-subclasses">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Direct Known Subclasses
</h2>
<ul class="other-types-list">
<li class="other-type"><a href="../../Ameba/AST/FlowExpressionVisitor.html">Ameba::AST::FlowExpressionVisitor</a></li>
<li class="other-type"><a href="../../Ameba/AST/NodeVisitor.html">Ameba::AST::NodeVisitor</a></li>
<li class="other-type"><a href="../../Ameba/AST/ScopeVisitor.html">Ameba::AST::ScopeVisitor</a></li>
</ul>
<h2>
<a id="defined-in" class="anchor" href="#defined-in">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Defined in:
</h2>
<h2>
<a id="constructors" class="anchor" href="#constructors">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructors
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#new(rule,source)-class-method" class="signature"><strong>.new</strong>(rule, source)</a>
<div class="summary"><p>Creates instance of this visitor.</p></div>
</li>
</ul>
<h2>
<a id="instance-method-summary" class="anchor" href="#instance-method-summary">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Summary
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#visit(node:Crystal::ASTNode)-instance-method" class="signature"><strong>#visit</strong>(node : Crystal::ASTNode)</a>
<div class="summary"><p>A main visit method that accepts <code>Crystal::ASTNode</code>.</p></div>
</li>
</ul>
<div class="methods-inherited">
</div>
<h2>
<a id="constructor-detail" class="anchor" href="#constructor-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructor Detail
</h2>
<div class="entry-detail" id="new(rule,source)-class-method">
<div class="signature">
def self.<strong>new</strong>(rule, source)
<a class="method-permalink" href="#new(rule,source)-class-method">#</a>
</div>
<div class="doc">
<p>Creates instance of this visitor.</p>
<pre><code class="language-crystal">visitor <span class="o">=</span> <span class="t">Ameba</span><span class="t">::</span><span class="t">AST</span><span class="t">::</span><span class="t">NodeVisitor</span>.<span class="k">new</span>(rule, source)</code></pre>
</div>
<br/>
<div>
</div>
</div>
<h2>
<a id="instance-method-detail" class="anchor" href="#instance-method-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Detail
</h2>
<div class="entry-detail" id="visit(node:Crystal::ASTNode)-instance-method">
<div class="signature">
def <strong>visit</strong>(node : Crystal::ASTNode)
<a class="method-permalink" href="#visit(node:Crystal::ASTNode)-instance-method">#</a>
</div>
<div class="doc">
<p>A main visit method that accepts <code>Crystal::ASTNode</code>.
Returns true meaning all child nodes will be traversed.</p>
</div>
<br/>
<div>
</div>
</div>
</div>
</body>
</html>

1068
Ameba/AST/Branch.html Normal file

File diff suppressed because it is too large Load diff

1008
Ameba/AST/Branchable.html Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,812 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Crystal Docs 0.35.1">
<meta name="crystal_docs.project_version" content="0.13.3-dev">
<meta name="crystal_docs.project_name" content="ameba">
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../js/doc.js"></script>
<meta name="repository-name" content="ameba">
<title>Ameba::AST::CountingVisitor - ameba 0.13.3-dev</title>
<script type="text/javascript">
CrystalDocs.base_path = "../../";
</script>
</head>
<body>
<svg class="hidden">
<symbol id="octicon-link" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path>
</symbol>
</svg>
<div class="sidebar">
<div class="sidebar-header">
<div class="search-box">
<input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search">
</div>
<div class="project-summary">
<h1 class="project-name">
<a href="../../index.html">
ameba
</a>
</h1>
<span class="project-version">
0.13.3-dev
</span>
</div>
</div>
<div class="search-results hidden">
<ul class="search-list"></ul>
</div>
<div class="types-list">
<ul>
<li class="parent open current" data-id="ameba/Ameba" data-name="ameba">
<a href="../../Ameba.html">Ameba</a>
<ul>
<li class="parent open current" data-id="ameba/Ameba/AST" data-name="ameba::ast">
<a href="../../Ameba/AST.html">AST</a>
<ul>
<li class=" " data-id="ameba/Ameba/AST/Argument" data-name="ameba::ast::argument">
<a href="../../Ameba/AST/Argument.html">Argument</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Assignment" data-name="ameba::ast::assignment">
<a href="../../Ameba/AST/Assignment.html">Assignment</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/BaseVisitor" data-name="ameba::ast::basevisitor">
<a href="../../Ameba/AST/BaseVisitor.html">BaseVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branch" data-name="ameba::ast::branch">
<a href="../../Ameba/AST/Branch.html">Branch</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branchable" data-name="ameba::ast::branchable">
<a href="../../Ameba/AST/Branchable.html">Branchable</a>
</li>
<li class=" current" data-id="ameba/Ameba/AST/CountingVisitor" data-name="ameba::ast::countingvisitor">
<a href="../../Ameba/AST/CountingVisitor.html">CountingVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpression" data-name="ameba::ast::flowexpression">
<a href="../../Ameba/AST/FlowExpression.html">FlowExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpressionVisitor" data-name="ameba::ast::flowexpressionvisitor">
<a href="../../Ameba/AST/FlowExpressionVisitor.html">FlowExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/InstanceVariable" data-name="ameba::ast::instancevariable">
<a href="../../Ameba/AST/InstanceVariable.html">InstanceVariable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/NodeVisitor" data-name="ameba::ast::nodevisitor">
<a href="../../Ameba/AST/NodeVisitor.html">NodeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/RedundantControlExpressionVisitor" data-name="ameba::ast::redundantcontrolexpressionvisitor">
<a href="../../Ameba/AST/RedundantControlExpressionVisitor.html">RedundantControlExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Reference" data-name="ameba::ast::reference">
<a href="../../Ameba/AST/Reference.html">Reference</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Scope" data-name="ameba::ast::scope">
<a href="../../Ameba/AST/Scope.html">Scope</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/ScopeVisitor" data-name="ameba::ast::scopevisitor">
<a href="../../Ameba/AST/ScopeVisitor.html">ScopeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Util" data-name="ameba::ast::util">
<a href="../../Ameba/AST/Util.html">Util</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Variable" data-name="ameba::ast::variable">
<a href="../../Ameba/AST/Variable.html">Variable</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Config" data-name="ameba::config">
<a href="../../Ameba/Config.html">Config</a>
</li>
<li class="parent " data-id="ameba/Ameba/Formatter" data-name="ameba::formatter">
<a href="../../Ameba/Formatter.html">Formatter</a>
<ul>
<li class=" " data-id="ameba/Ameba/Formatter/BaseFormatter" data-name="ameba::formatter::baseformatter">
<a href="../../Ameba/Formatter/BaseFormatter.html">BaseFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DisabledFormatter" data-name="ameba::formatter::disabledformatter">
<a href="../../Ameba/Formatter/DisabledFormatter.html">DisabledFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DotFormatter" data-name="ameba::formatter::dotformatter">
<a href="../../Ameba/Formatter/DotFormatter.html">DotFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/ExplainFormatter" data-name="ameba::formatter::explainformatter">
<a href="../../Ameba/Formatter/ExplainFormatter.html">ExplainFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/FlycheckFormatter" data-name="ameba::formatter::flycheckformatter">
<a href="../../Ameba/Formatter/FlycheckFormatter.html">FlycheckFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/JSONFormatter" data-name="ameba::formatter::jsonformatter">
<a href="../../Ameba/Formatter/JSONFormatter.html">JSONFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/TODOFormatter" data-name="ameba::formatter::todoformatter">
<a href="../../Ameba/Formatter/TODOFormatter.html">TODOFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/Util" data-name="ameba::formatter::util">
<a href="../../Ameba/Formatter/Util.html">Util</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/GlobUtils" data-name="ameba::globutils">
<a href="../../Ameba/GlobUtils.html">GlobUtils</a>
</li>
<li class="parent " data-id="ameba/Ameba/InlineComments" data-name="ameba::inlinecomments">
<a href="../../Ameba/InlineComments.html">InlineComments</a>
<ul>
<li class=" " data-id="ameba/Ameba/InlineComments/Action" data-name="ameba::inlinecomments::action">
<a href="../../Ameba/InlineComments/Action.html">Action</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Issue" data-name="ameba::issue">
<a href="../../Ameba/Issue.html">Issue</a>
</li>
<li class=" " data-id="ameba/Ameba/Reportable" data-name="ameba::reportable">
<a href="../../Ameba/Reportable.html">Reportable</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule" data-name="ameba::rule">
<a href="../../Ameba/Rule.html">Rule</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Base" data-name="ameba::rule::base">
<a href="../../Ameba/Rule/Base.html">Base</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Layout" data-name="ameba::rule::layout">
<a href="../../Ameba/Rule/Layout.html">Layout</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Layout/LineLength" data-name="ameba::rule::layout::linelength">
<a href="../../Ameba/Rule/Layout/LineLength.html">LineLength</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingBlankLines" data-name="ameba::rule::layout::trailingblanklines">
<a href="../../Ameba/Rule/Layout/TrailingBlankLines.html">TrailingBlankLines</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingWhitespace" data-name="ameba::rule::layout::trailingwhitespace">
<a href="../../Ameba/Rule/Layout/TrailingWhitespace.html">TrailingWhitespace</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Lint" data-name="ameba::rule::lint">
<a href="../../Ameba/Rule/Lint.html">Lint</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Lint/BadDirective" data-name="ameba::rule::lint::baddirective">
<a href="../../Ameba/Rule/Lint/BadDirective.html">BadDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ComparisonToBoolean" data-name="ameba::rule::lint::comparisontoboolean">
<a href="../../Ameba/Rule/Lint/ComparisonToBoolean.html">ComparisonToBoolean</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/DebuggerStatement" data-name="ameba::rule::lint::debuggerstatement">
<a href="../../Ameba/Rule/Lint/DebuggerStatement.html">DebuggerStatement</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyEnsure" data-name="ameba::rule::lint::emptyensure">
<a href="../../Ameba/Rule/Lint/EmptyEnsure.html">EmptyEnsure</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyExpression" data-name="ameba::rule::lint::emptyexpression">
<a href="../../Ameba/Rule/Lint/EmptyExpression.html">EmptyExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyLoop" data-name="ameba::rule::lint::emptyloop">
<a href="../../Ameba/Rule/Lint/EmptyLoop.html">EmptyLoop</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/HashDuplicatedKey" data-name="ameba::rule::lint::hashduplicatedkey">
<a href="../../Ameba/Rule/Lint/HashDuplicatedKey.html">HashDuplicatedKey</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInCondition" data-name="ameba::rule::lint::literalincondition">
<a href="../../Ameba/Rule/Lint/LiteralInCondition.html">LiteralInCondition</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInInterpolation" data-name="ameba::rule::lint::literalininterpolation">
<a href="../../Ameba/Rule/Lint/LiteralInInterpolation.html">LiteralInInterpolation</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/PercentArrays" data-name="ameba::rule::lint::percentarrays">
<a href="../../Ameba/Rule/Lint/PercentArrays.html">PercentArrays</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RandZero" data-name="ameba::rule::lint::randzero">
<a href="../../Ameba/Rule/Lint/RandZero.html">RandZero</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantStringCoercion" data-name="ameba::rule::lint::redundantstringcoercion">
<a href="../../Ameba/Rule/Lint/RedundantStringCoercion.html">RedundantStringCoercion</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithIndex" data-name="ameba::rule::lint::redundantwithindex">
<a href="../../Ameba/Rule/Lint/RedundantWithIndex.html">RedundantWithIndex</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithObject" data-name="ameba::rule::lint::redundantwithobject">
<a href="../../Ameba/Rule/Lint/RedundantWithObject.html">RedundantWithObject</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedArgument" data-name="ameba::rule::lint::shadowedargument">
<a href="../../Ameba/Rule/Lint/ShadowedArgument.html">ShadowedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedException" data-name="ameba::rule::lint::shadowedexception">
<a href="../../Ameba/Rule/Lint/ShadowedException.html">ShadowedException</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowingOuterLocalVar" data-name="ameba::rule::lint::shadowingouterlocalvar">
<a href="../../Ameba/Rule/Lint/ShadowingOuterLocalVar.html">ShadowingOuterLocalVar</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/SharedVarInFiber" data-name="ameba::rule::lint::sharedvarinfiber">
<a href="../../Ameba/Rule/Lint/SharedVarInFiber.html">SharedVarInFiber</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/Syntax" data-name="ameba::rule::lint::syntax">
<a href="../../Ameba/Rule/Lint/Syntax.html">Syntax</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnneededDisableDirective" data-name="ameba::rule::lint::unneededdisabledirective">
<a href="../../Ameba/Rule/Lint/UnneededDisableDirective.html">UnneededDisableDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnreachableCode" data-name="ameba::rule::lint::unreachablecode">
<a href="../../Ameba/Rule/Lint/UnreachableCode.html">UnreachableCode</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnusedArgument" data-name="ameba::rule::lint::unusedargument">
<a href="../../Ameba/Rule/Lint/UnusedArgument.html">UnusedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessAssign" data-name="ameba::rule::lint::uselessassign">
<a href="../../Ameba/Rule/Lint/UselessAssign.html">UselessAssign</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessConditionInWhen" data-name="ameba::rule::lint::uselessconditioninwhen">
<a href="../../Ameba/Rule/Lint/UselessConditionInWhen.html">UselessConditionInWhen</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Metrics" data-name="ameba::rule::metrics">
<a href="../../Ameba/Rule/Metrics.html">Metrics</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Metrics/CyclomaticComplexity" data-name="ameba::rule::metrics::cyclomaticcomplexity">
<a href="../../Ameba/Rule/Metrics/CyclomaticComplexity.html">CyclomaticComplexity</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Performance" data-name="ameba::rule::performance">
<a href="../../Ameba/Rule/Performance.html">Performance</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Performance/AnyAfterFilter" data-name="ameba::rule::performance::anyafterfilter">
<a href="../../Ameba/Rule/Performance/AnyAfterFilter.html">AnyAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/FirstLastAfterFilter" data-name="ameba::rule::performance::firstlastafterfilter">
<a href="../../Ameba/Rule/Performance/FirstLastAfterFilter.html">FirstLastAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/SizeAfterFilter" data-name="ameba::rule::performance::sizeafterfilter">
<a href="../../Ameba/Rule/Performance/SizeAfterFilter.html">SizeAfterFilter</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Style" data-name="ameba::rule::style">
<a href="../../Ameba/Rule/Style.html">Style</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Style/ConstantNames" data-name="ameba::rule::style::constantnames">
<a href="../../Ameba/Rule/Style/ConstantNames.html">ConstantNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/IsANil" data-name="ameba::rule::style::isanil">
<a href="../../Ameba/Rule/Style/IsANil.html">IsANil</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/LargeNumbers" data-name="ameba::rule::style::largenumbers">
<a href="../../Ameba/Rule/Style/LargeNumbers.html">LargeNumbers</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/MethodNames" data-name="ameba::rule::style::methodnames">
<a href="../../Ameba/Rule/Style/MethodNames.html">MethodNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/NegatedConditionsInUnless" data-name="ameba::rule::style::negatedconditionsinunless">
<a href="../../Ameba/Rule/Style/NegatedConditionsInUnless.html">NegatedConditionsInUnless</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/PredicateName" data-name="ameba::rule::style::predicatename">
<a href="../../Ameba/Rule/Style/PredicateName.html">PredicateName</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantBegin" data-name="ameba::rule::style::redundantbegin">
<a href="../../Ameba/Rule/Style/RedundantBegin.html">RedundantBegin</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantNext" data-name="ameba::rule::style::redundantnext">
<a href="../../Ameba/Rule/Style/RedundantNext.html">RedundantNext</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantReturn" data-name="ameba::rule::style::redundantreturn">
<a href="../../Ameba/Rule/Style/RedundantReturn.html">RedundantReturn</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/TypeNames" data-name="ameba::rule::style::typenames">
<a href="../../Ameba/Rule/Style/TypeNames.html">TypeNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/UnlessElse" data-name="ameba::rule::style::unlesselse">
<a href="../../Ameba/Rule/Style/UnlessElse.html">UnlessElse</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/VariableNames" data-name="ameba::rule::style::variablenames">
<a href="../../Ameba/Rule/Style/VariableNames.html">VariableNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/WhileTrue" data-name="ameba::rule::style::whiletrue">
<a href="../../Ameba/Rule/Style/WhileTrue.html">WhileTrue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Runner" data-name="ameba::runner">
<a href="../../Ameba/Runner.html">Runner</a>
</li>
<li class=" " data-id="ameba/Ameba/Severity" data-name="ameba::severity">
<a href="../../Ameba/Severity.html">Severity</a>
</li>
<li class=" " data-id="ameba/Ameba/SeverityYamlConverter" data-name="ameba::severityyamlconverter">
<a href="../../Ameba/SeverityYamlConverter.html">SeverityYamlConverter</a>
</li>
<li class=" " data-id="ameba/Ameba/Source" data-name="ameba::source">
<a href="../../Ameba/Source.html">Source</a>
</li>
<li class=" " data-id="ameba/Ameba/Tokenizer" data-name="ameba::tokenizer">
<a href="../../Ameba/Tokenizer.html">Tokenizer</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="main-content">
<h1 class="type-name">
<span class="kind">class</span> Ameba::AST::CountingVisitor
</h1>
<ul class="superclass-hierarchy"><li class="superclass"><a href="../../Ameba/AST/CountingVisitor.html">Ameba::AST::CountingVisitor</a></li><li class="superclass">Crystal::Visitor</li><li class="superclass">Reference</li><li class="superclass">Object</li></ul>
<h2>
<a id="overview" class="anchor" href="#overview">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Overview
</h2>
<p>AST Visitor that counts occurrences of certain keywords</p>
<h2>
<a id="defined-in" class="anchor" href="#defined-in">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Defined in:
</h2>
<h2>
<a id="constant-summary" class="anchor" href="#constant-summary">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constant Summary
</h2>
<dl>
<dt class="entry-const" id="DEFAULT_COMPLEXITY">
<strong>DEFAULT_COMPLEXITY</strong> = <code><span class="n">1</span></code>
</dt>
</dl>
<h2>
<a id="constructors" class="anchor" href="#constructors">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructors
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#new(scope:Crystal::ASTNode)-class-method" class="signature"><strong>.new</strong>(scope : Crystal::ASTNode)</a>
<div class="summary"><p>Creates a new counting visitor</p></div>
</li>
</ul>
<h2>
<a id="instance-method-summary" class="anchor" href="#instance-method-summary">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Summary
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#count-instance-method" class="signature"><strong>#count</strong></a>
<div class="summary"><p>Returns the number of keywords that were found in the node</p></div>
</li>
<li class="entry-summary">
<a href="#macro_condition:Bool-instance-method" class="signature"><strong>#macro_condition</strong> : Bool</a>
</li>
<li class="entry-summary">
<a href="#visit(node:Crystal::MacroIf%7CCrystal::MacroFor)-instance-method" class="signature"><strong>#visit</strong>(node : Crystal::MacroIf | Crystal::MacroFor)</a>
</li>
</ul>
<div class="methods-inherited">
</div>
<h2>
<a id="constructor-detail" class="anchor" href="#constructor-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructor Detail
</h2>
<div class="entry-detail" id="new(scope:Crystal::ASTNode)-class-method">
<div class="signature">
def self.<strong>new</strong>(scope : Crystal::ASTNode)
<a class="method-permalink" href="#new(scope:Crystal::ASTNode)-class-method">#</a>
</div>
<div class="doc">
<p>Creates a new counting visitor</p>
</div>
<br/>
<div>
</div>
</div>
<h2>
<a id="instance-method-detail" class="anchor" href="#instance-method-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Detail
</h2>
<div class="entry-detail" id="count-instance-method">
<div class="signature">
def <strong>count</strong>
<a class="method-permalink" href="#count-instance-method">#</a>
</div>
<div class="doc">
<p>Returns the number of keywords that were found in the node</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="macro_condition:Bool-instance-method">
<div class="signature">
def <strong>macro_condition</strong> : Bool
<a class="method-permalink" href="#macro_condition:Bool-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="visit(node:Crystal::MacroIf|Crystal::MacroFor)-instance-method">
<div class="signature">
def <strong>visit</strong>(node : Crystal::MacroIf | Crystal::MacroFor)
<a class="method-permalink" href="#visit(node:Crystal::MacroIf%7CCrystal::MacroFor)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,803 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Crystal Docs 0.35.1">
<meta name="crystal_docs.project_version" content="0.13.3-dev">
<meta name="crystal_docs.project_name" content="ameba">
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../js/doc.js"></script>
<meta name="repository-name" content="ameba">
<title>Ameba::AST::FlowExpressionVisitor - ameba 0.13.3-dev</title>
<script type="text/javascript">
CrystalDocs.base_path = "../../";
</script>
</head>
<body>
<svg class="hidden">
<symbol id="octicon-link" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path>
</symbol>
</svg>
<div class="sidebar">
<div class="sidebar-header">
<div class="search-box">
<input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search">
</div>
<div class="project-summary">
<h1 class="project-name">
<a href="../../index.html">
ameba
</a>
</h1>
<span class="project-version">
0.13.3-dev
</span>
</div>
</div>
<div class="search-results hidden">
<ul class="search-list"></ul>
</div>
<div class="types-list">
<ul>
<li class="parent open current" data-id="ameba/Ameba" data-name="ameba">
<a href="../../Ameba.html">Ameba</a>
<ul>
<li class="parent open current" data-id="ameba/Ameba/AST" data-name="ameba::ast">
<a href="../../Ameba/AST.html">AST</a>
<ul>
<li class=" " data-id="ameba/Ameba/AST/Argument" data-name="ameba::ast::argument">
<a href="../../Ameba/AST/Argument.html">Argument</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Assignment" data-name="ameba::ast::assignment">
<a href="../../Ameba/AST/Assignment.html">Assignment</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/BaseVisitor" data-name="ameba::ast::basevisitor">
<a href="../../Ameba/AST/BaseVisitor.html">BaseVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branch" data-name="ameba::ast::branch">
<a href="../../Ameba/AST/Branch.html">Branch</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branchable" data-name="ameba::ast::branchable">
<a href="../../Ameba/AST/Branchable.html">Branchable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/CountingVisitor" data-name="ameba::ast::countingvisitor">
<a href="../../Ameba/AST/CountingVisitor.html">CountingVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpression" data-name="ameba::ast::flowexpression">
<a href="../../Ameba/AST/FlowExpression.html">FlowExpression</a>
</li>
<li class=" current" data-id="ameba/Ameba/AST/FlowExpressionVisitor" data-name="ameba::ast::flowexpressionvisitor">
<a href="../../Ameba/AST/FlowExpressionVisitor.html">FlowExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/InstanceVariable" data-name="ameba::ast::instancevariable">
<a href="../../Ameba/AST/InstanceVariable.html">InstanceVariable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/NodeVisitor" data-name="ameba::ast::nodevisitor">
<a href="../../Ameba/AST/NodeVisitor.html">NodeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/RedundantControlExpressionVisitor" data-name="ameba::ast::redundantcontrolexpressionvisitor">
<a href="../../Ameba/AST/RedundantControlExpressionVisitor.html">RedundantControlExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Reference" data-name="ameba::ast::reference">
<a href="../../Ameba/AST/Reference.html">Reference</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Scope" data-name="ameba::ast::scope">
<a href="../../Ameba/AST/Scope.html">Scope</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/ScopeVisitor" data-name="ameba::ast::scopevisitor">
<a href="../../Ameba/AST/ScopeVisitor.html">ScopeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Util" data-name="ameba::ast::util">
<a href="../../Ameba/AST/Util.html">Util</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Variable" data-name="ameba::ast::variable">
<a href="../../Ameba/AST/Variable.html">Variable</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Config" data-name="ameba::config">
<a href="../../Ameba/Config.html">Config</a>
</li>
<li class="parent " data-id="ameba/Ameba/Formatter" data-name="ameba::formatter">
<a href="../../Ameba/Formatter.html">Formatter</a>
<ul>
<li class=" " data-id="ameba/Ameba/Formatter/BaseFormatter" data-name="ameba::formatter::baseformatter">
<a href="../../Ameba/Formatter/BaseFormatter.html">BaseFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DisabledFormatter" data-name="ameba::formatter::disabledformatter">
<a href="../../Ameba/Formatter/DisabledFormatter.html">DisabledFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DotFormatter" data-name="ameba::formatter::dotformatter">
<a href="../../Ameba/Formatter/DotFormatter.html">DotFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/ExplainFormatter" data-name="ameba::formatter::explainformatter">
<a href="../../Ameba/Formatter/ExplainFormatter.html">ExplainFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/FlycheckFormatter" data-name="ameba::formatter::flycheckformatter">
<a href="../../Ameba/Formatter/FlycheckFormatter.html">FlycheckFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/JSONFormatter" data-name="ameba::formatter::jsonformatter">
<a href="../../Ameba/Formatter/JSONFormatter.html">JSONFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/TODOFormatter" data-name="ameba::formatter::todoformatter">
<a href="../../Ameba/Formatter/TODOFormatter.html">TODOFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/Util" data-name="ameba::formatter::util">
<a href="../../Ameba/Formatter/Util.html">Util</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/GlobUtils" data-name="ameba::globutils">
<a href="../../Ameba/GlobUtils.html">GlobUtils</a>
</li>
<li class="parent " data-id="ameba/Ameba/InlineComments" data-name="ameba::inlinecomments">
<a href="../../Ameba/InlineComments.html">InlineComments</a>
<ul>
<li class=" " data-id="ameba/Ameba/InlineComments/Action" data-name="ameba::inlinecomments::action">
<a href="../../Ameba/InlineComments/Action.html">Action</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Issue" data-name="ameba::issue">
<a href="../../Ameba/Issue.html">Issue</a>
</li>
<li class=" " data-id="ameba/Ameba/Reportable" data-name="ameba::reportable">
<a href="../../Ameba/Reportable.html">Reportable</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule" data-name="ameba::rule">
<a href="../../Ameba/Rule.html">Rule</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Base" data-name="ameba::rule::base">
<a href="../../Ameba/Rule/Base.html">Base</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Layout" data-name="ameba::rule::layout">
<a href="../../Ameba/Rule/Layout.html">Layout</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Layout/LineLength" data-name="ameba::rule::layout::linelength">
<a href="../../Ameba/Rule/Layout/LineLength.html">LineLength</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingBlankLines" data-name="ameba::rule::layout::trailingblanklines">
<a href="../../Ameba/Rule/Layout/TrailingBlankLines.html">TrailingBlankLines</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingWhitespace" data-name="ameba::rule::layout::trailingwhitespace">
<a href="../../Ameba/Rule/Layout/TrailingWhitespace.html">TrailingWhitespace</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Lint" data-name="ameba::rule::lint">
<a href="../../Ameba/Rule/Lint.html">Lint</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Lint/BadDirective" data-name="ameba::rule::lint::baddirective">
<a href="../../Ameba/Rule/Lint/BadDirective.html">BadDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ComparisonToBoolean" data-name="ameba::rule::lint::comparisontoboolean">
<a href="../../Ameba/Rule/Lint/ComparisonToBoolean.html">ComparisonToBoolean</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/DebuggerStatement" data-name="ameba::rule::lint::debuggerstatement">
<a href="../../Ameba/Rule/Lint/DebuggerStatement.html">DebuggerStatement</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyEnsure" data-name="ameba::rule::lint::emptyensure">
<a href="../../Ameba/Rule/Lint/EmptyEnsure.html">EmptyEnsure</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyExpression" data-name="ameba::rule::lint::emptyexpression">
<a href="../../Ameba/Rule/Lint/EmptyExpression.html">EmptyExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyLoop" data-name="ameba::rule::lint::emptyloop">
<a href="../../Ameba/Rule/Lint/EmptyLoop.html">EmptyLoop</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/HashDuplicatedKey" data-name="ameba::rule::lint::hashduplicatedkey">
<a href="../../Ameba/Rule/Lint/HashDuplicatedKey.html">HashDuplicatedKey</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInCondition" data-name="ameba::rule::lint::literalincondition">
<a href="../../Ameba/Rule/Lint/LiteralInCondition.html">LiteralInCondition</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInInterpolation" data-name="ameba::rule::lint::literalininterpolation">
<a href="../../Ameba/Rule/Lint/LiteralInInterpolation.html">LiteralInInterpolation</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/PercentArrays" data-name="ameba::rule::lint::percentarrays">
<a href="../../Ameba/Rule/Lint/PercentArrays.html">PercentArrays</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RandZero" data-name="ameba::rule::lint::randzero">
<a href="../../Ameba/Rule/Lint/RandZero.html">RandZero</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantStringCoercion" data-name="ameba::rule::lint::redundantstringcoercion">
<a href="../../Ameba/Rule/Lint/RedundantStringCoercion.html">RedundantStringCoercion</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithIndex" data-name="ameba::rule::lint::redundantwithindex">
<a href="../../Ameba/Rule/Lint/RedundantWithIndex.html">RedundantWithIndex</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithObject" data-name="ameba::rule::lint::redundantwithobject">
<a href="../../Ameba/Rule/Lint/RedundantWithObject.html">RedundantWithObject</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedArgument" data-name="ameba::rule::lint::shadowedargument">
<a href="../../Ameba/Rule/Lint/ShadowedArgument.html">ShadowedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedException" data-name="ameba::rule::lint::shadowedexception">
<a href="../../Ameba/Rule/Lint/ShadowedException.html">ShadowedException</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowingOuterLocalVar" data-name="ameba::rule::lint::shadowingouterlocalvar">
<a href="../../Ameba/Rule/Lint/ShadowingOuterLocalVar.html">ShadowingOuterLocalVar</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/SharedVarInFiber" data-name="ameba::rule::lint::sharedvarinfiber">
<a href="../../Ameba/Rule/Lint/SharedVarInFiber.html">SharedVarInFiber</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/Syntax" data-name="ameba::rule::lint::syntax">
<a href="../../Ameba/Rule/Lint/Syntax.html">Syntax</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnneededDisableDirective" data-name="ameba::rule::lint::unneededdisabledirective">
<a href="../../Ameba/Rule/Lint/UnneededDisableDirective.html">UnneededDisableDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnreachableCode" data-name="ameba::rule::lint::unreachablecode">
<a href="../../Ameba/Rule/Lint/UnreachableCode.html">UnreachableCode</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnusedArgument" data-name="ameba::rule::lint::unusedargument">
<a href="../../Ameba/Rule/Lint/UnusedArgument.html">UnusedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessAssign" data-name="ameba::rule::lint::uselessassign">
<a href="../../Ameba/Rule/Lint/UselessAssign.html">UselessAssign</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessConditionInWhen" data-name="ameba::rule::lint::uselessconditioninwhen">
<a href="../../Ameba/Rule/Lint/UselessConditionInWhen.html">UselessConditionInWhen</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Metrics" data-name="ameba::rule::metrics">
<a href="../../Ameba/Rule/Metrics.html">Metrics</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Metrics/CyclomaticComplexity" data-name="ameba::rule::metrics::cyclomaticcomplexity">
<a href="../../Ameba/Rule/Metrics/CyclomaticComplexity.html">CyclomaticComplexity</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Performance" data-name="ameba::rule::performance">
<a href="../../Ameba/Rule/Performance.html">Performance</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Performance/AnyAfterFilter" data-name="ameba::rule::performance::anyafterfilter">
<a href="../../Ameba/Rule/Performance/AnyAfterFilter.html">AnyAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/FirstLastAfterFilter" data-name="ameba::rule::performance::firstlastafterfilter">
<a href="../../Ameba/Rule/Performance/FirstLastAfterFilter.html">FirstLastAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/SizeAfterFilter" data-name="ameba::rule::performance::sizeafterfilter">
<a href="../../Ameba/Rule/Performance/SizeAfterFilter.html">SizeAfterFilter</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Style" data-name="ameba::rule::style">
<a href="../../Ameba/Rule/Style.html">Style</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Style/ConstantNames" data-name="ameba::rule::style::constantnames">
<a href="../../Ameba/Rule/Style/ConstantNames.html">ConstantNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/IsANil" data-name="ameba::rule::style::isanil">
<a href="../../Ameba/Rule/Style/IsANil.html">IsANil</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/LargeNumbers" data-name="ameba::rule::style::largenumbers">
<a href="../../Ameba/Rule/Style/LargeNumbers.html">LargeNumbers</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/MethodNames" data-name="ameba::rule::style::methodnames">
<a href="../../Ameba/Rule/Style/MethodNames.html">MethodNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/NegatedConditionsInUnless" data-name="ameba::rule::style::negatedconditionsinunless">
<a href="../../Ameba/Rule/Style/NegatedConditionsInUnless.html">NegatedConditionsInUnless</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/PredicateName" data-name="ameba::rule::style::predicatename">
<a href="../../Ameba/Rule/Style/PredicateName.html">PredicateName</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantBegin" data-name="ameba::rule::style::redundantbegin">
<a href="../../Ameba/Rule/Style/RedundantBegin.html">RedundantBegin</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantNext" data-name="ameba::rule::style::redundantnext">
<a href="../../Ameba/Rule/Style/RedundantNext.html">RedundantNext</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantReturn" data-name="ameba::rule::style::redundantreturn">
<a href="../../Ameba/Rule/Style/RedundantReturn.html">RedundantReturn</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/TypeNames" data-name="ameba::rule::style::typenames">
<a href="../../Ameba/Rule/Style/TypeNames.html">TypeNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/UnlessElse" data-name="ameba::rule::style::unlesselse">
<a href="../../Ameba/Rule/Style/UnlessElse.html">UnlessElse</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/VariableNames" data-name="ameba::rule::style::variablenames">
<a href="../../Ameba/Rule/Style/VariableNames.html">VariableNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/WhileTrue" data-name="ameba::rule::style::whiletrue">
<a href="../../Ameba/Rule/Style/WhileTrue.html">WhileTrue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Runner" data-name="ameba::runner">
<a href="../../Ameba/Runner.html">Runner</a>
</li>
<li class=" " data-id="ameba/Ameba/Severity" data-name="ameba::severity">
<a href="../../Ameba/Severity.html">Severity</a>
</li>
<li class=" " data-id="ameba/Ameba/SeverityYamlConverter" data-name="ameba::severityyamlconverter">
<a href="../../Ameba/SeverityYamlConverter.html">SeverityYamlConverter</a>
</li>
<li class=" " data-id="ameba/Ameba/Source" data-name="ameba::source">
<a href="../../Ameba/Source.html">Source</a>
</li>
<li class=" " data-id="ameba/Ameba/Tokenizer" data-name="ameba::tokenizer">
<a href="../../Ameba/Tokenizer.html">Tokenizer</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="main-content">
<h1 class="type-name">
<span class="kind">class</span> Ameba::AST::FlowExpressionVisitor
</h1>
<ul class="superclass-hierarchy"><li class="superclass"><a href="../../Ameba/AST/FlowExpressionVisitor.html">Ameba::AST::FlowExpressionVisitor</a></li><li class="superclass"><a href="../../Ameba/AST/BaseVisitor.html">Ameba::AST::BaseVisitor</a></li><li class="superclass">Crystal::Visitor</li><li class="superclass">Reference</li><li class="superclass">Object</li></ul>
<h2>
<a id="overview" class="anchor" href="#overview">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Overview
</h2>
<p>AST Visitor that traverses all the flow expressions.</p>
<h2>
<a id="included-modules" class="anchor" href="#included-modules">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Included Modules
</h2>
<ul class="other-types-list">
<li class="other-type"><a href="../../Ameba/AST/Util.html">Ameba::AST::Util</a></li>
</ul>
<h2>
<a id="defined-in" class="anchor" href="#defined-in">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Defined in:
</h2>
<h2>
<a id="constructors" class="anchor" href="#constructors">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructors
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#new(rule,source)-class-method" class="signature"><strong>.new</strong>(rule, source)</a>
<div class="summary"><p>Creates a new flow expression visitor.</p></div>
</li>
</ul>
<div class="methods-inherited">
<h3>Instance methods inherited from module <code><a href="../../Ameba/AST/Util.html">Ameba::AST::Util</a></code></h3>
<a href="../../Ameba/AST/Util.html#abort?(node)-instance-method" class="tooltip">
<span>abort?(node)</span>
abort?</a>,
<a href="../../Ameba/AST/Util.html#exit?(node)-instance-method" class="tooltip">
<span>exit?(node)</span>
exit?</a>,
<a href="../../Ameba/AST/Util.html#flow_command?(node,in_loop)-instance-method" class="tooltip">
<span>flow_command?(node, in_loop)</span>
flow_command?</a>,
<a href="../../Ameba/AST/Util.html#flow_expression?(node,in_loop=false)-instance-method" class="tooltip">
<span>flow_expression?(node, in_loop = <span class="n">false</span>)</span>
flow_expression?</a>,
<a href="../../Ameba/AST/Util.html#literal?(node)-instance-method" class="tooltip">
<span>literal?(node)</span>
literal?</a>,
<a href="../../Ameba/AST/Util.html#loop?(node)-instance-method" class="tooltip">
<span>loop?(node)</span>
loop?</a>,
<a href="../../Ameba/AST/Util.html#node_source(node,code_lines)-instance-method" class="tooltip">
<span>node_source(node, code_lines)</span>
node_source</a>,
<a href="../../Ameba/AST/Util.html#raise?(node)-instance-method" class="tooltip">
<span>raise?(node)</span>
raise?</a>
<h3>Instance methods inherited from class <code><a href="../../Ameba/AST/BaseVisitor.html">Ameba::AST::BaseVisitor</a></code></h3>
<a href="../../Ameba/AST/BaseVisitor.html#visit(node:Crystal::ASTNode)-instance-method" class="tooltip">
<span>visit(node : Crystal::ASTNode)</span>
visit</a>
<h3>Constructor methods inherited from class <code><a href="../../Ameba/AST/BaseVisitor.html">Ameba::AST::BaseVisitor</a></code></h3>
<a href="../../Ameba/AST/BaseVisitor.html#new(rule,source)-class-method" class="tooltip">
<span>new(rule, source)</span>
new</a>
</div>
<h2>
<a id="constructor-detail" class="anchor" href="#constructor-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructor Detail
</h2>
<div class="entry-detail" id="new(rule,source)-class-method">
<div class="signature">
def self.<strong>new</strong>(rule, source)
<a class="method-permalink" href="#new(rule,source)-class-method">#</a>
</div>
<div class="doc">
<p>Creates a new flow expression visitor.</p>
</div>
<br/>
<div>
</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,872 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Crystal Docs 0.35.1">
<meta name="crystal_docs.project_version" content="0.13.3-dev">
<meta name="crystal_docs.project_name" content="ameba">
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../js/doc.js"></script>
<meta name="repository-name" content="ameba">
<title>Ameba::AST::InstanceVariable - ameba 0.13.3-dev</title>
<script type="text/javascript">
CrystalDocs.base_path = "../../";
</script>
</head>
<body>
<svg class="hidden">
<symbol id="octicon-link" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path>
</symbol>
</svg>
<div class="sidebar">
<div class="sidebar-header">
<div class="search-box">
<input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search">
</div>
<div class="project-summary">
<h1 class="project-name">
<a href="../../index.html">
ameba
</a>
</h1>
<span class="project-version">
0.13.3-dev
</span>
</div>
</div>
<div class="search-results hidden">
<ul class="search-list"></ul>
</div>
<div class="types-list">
<ul>
<li class="parent open current" data-id="ameba/Ameba" data-name="ameba">
<a href="../../Ameba.html">Ameba</a>
<ul>
<li class="parent open current" data-id="ameba/Ameba/AST" data-name="ameba::ast">
<a href="../../Ameba/AST.html">AST</a>
<ul>
<li class=" " data-id="ameba/Ameba/AST/Argument" data-name="ameba::ast::argument">
<a href="../../Ameba/AST/Argument.html">Argument</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Assignment" data-name="ameba::ast::assignment">
<a href="../../Ameba/AST/Assignment.html">Assignment</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/BaseVisitor" data-name="ameba::ast::basevisitor">
<a href="../../Ameba/AST/BaseVisitor.html">BaseVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branch" data-name="ameba::ast::branch">
<a href="../../Ameba/AST/Branch.html">Branch</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branchable" data-name="ameba::ast::branchable">
<a href="../../Ameba/AST/Branchable.html">Branchable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/CountingVisitor" data-name="ameba::ast::countingvisitor">
<a href="../../Ameba/AST/CountingVisitor.html">CountingVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpression" data-name="ameba::ast::flowexpression">
<a href="../../Ameba/AST/FlowExpression.html">FlowExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpressionVisitor" data-name="ameba::ast::flowexpressionvisitor">
<a href="../../Ameba/AST/FlowExpressionVisitor.html">FlowExpressionVisitor</a>
</li>
<li class=" current" data-id="ameba/Ameba/AST/InstanceVariable" data-name="ameba::ast::instancevariable">
<a href="../../Ameba/AST/InstanceVariable.html">InstanceVariable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/NodeVisitor" data-name="ameba::ast::nodevisitor">
<a href="../../Ameba/AST/NodeVisitor.html">NodeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/RedundantControlExpressionVisitor" data-name="ameba::ast::redundantcontrolexpressionvisitor">
<a href="../../Ameba/AST/RedundantControlExpressionVisitor.html">RedundantControlExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Reference" data-name="ameba::ast::reference">
<a href="../../Ameba/AST/Reference.html">Reference</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Scope" data-name="ameba::ast::scope">
<a href="../../Ameba/AST/Scope.html">Scope</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/ScopeVisitor" data-name="ameba::ast::scopevisitor">
<a href="../../Ameba/AST/ScopeVisitor.html">ScopeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Util" data-name="ameba::ast::util">
<a href="../../Ameba/AST/Util.html">Util</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Variable" data-name="ameba::ast::variable">
<a href="../../Ameba/AST/Variable.html">Variable</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Config" data-name="ameba::config">
<a href="../../Ameba/Config.html">Config</a>
</li>
<li class="parent " data-id="ameba/Ameba/Formatter" data-name="ameba::formatter">
<a href="../../Ameba/Formatter.html">Formatter</a>
<ul>
<li class=" " data-id="ameba/Ameba/Formatter/BaseFormatter" data-name="ameba::formatter::baseformatter">
<a href="../../Ameba/Formatter/BaseFormatter.html">BaseFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DisabledFormatter" data-name="ameba::formatter::disabledformatter">
<a href="../../Ameba/Formatter/DisabledFormatter.html">DisabledFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DotFormatter" data-name="ameba::formatter::dotformatter">
<a href="../../Ameba/Formatter/DotFormatter.html">DotFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/ExplainFormatter" data-name="ameba::formatter::explainformatter">
<a href="../../Ameba/Formatter/ExplainFormatter.html">ExplainFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/FlycheckFormatter" data-name="ameba::formatter::flycheckformatter">
<a href="../../Ameba/Formatter/FlycheckFormatter.html">FlycheckFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/JSONFormatter" data-name="ameba::formatter::jsonformatter">
<a href="../../Ameba/Formatter/JSONFormatter.html">JSONFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/TODOFormatter" data-name="ameba::formatter::todoformatter">
<a href="../../Ameba/Formatter/TODOFormatter.html">TODOFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/Util" data-name="ameba::formatter::util">
<a href="../../Ameba/Formatter/Util.html">Util</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/GlobUtils" data-name="ameba::globutils">
<a href="../../Ameba/GlobUtils.html">GlobUtils</a>
</li>
<li class="parent " data-id="ameba/Ameba/InlineComments" data-name="ameba::inlinecomments">
<a href="../../Ameba/InlineComments.html">InlineComments</a>
<ul>
<li class=" " data-id="ameba/Ameba/InlineComments/Action" data-name="ameba::inlinecomments::action">
<a href="../../Ameba/InlineComments/Action.html">Action</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Issue" data-name="ameba::issue">
<a href="../../Ameba/Issue.html">Issue</a>
</li>
<li class=" " data-id="ameba/Ameba/Reportable" data-name="ameba::reportable">
<a href="../../Ameba/Reportable.html">Reportable</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule" data-name="ameba::rule">
<a href="../../Ameba/Rule.html">Rule</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Base" data-name="ameba::rule::base">
<a href="../../Ameba/Rule/Base.html">Base</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Layout" data-name="ameba::rule::layout">
<a href="../../Ameba/Rule/Layout.html">Layout</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Layout/LineLength" data-name="ameba::rule::layout::linelength">
<a href="../../Ameba/Rule/Layout/LineLength.html">LineLength</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingBlankLines" data-name="ameba::rule::layout::trailingblanklines">
<a href="../../Ameba/Rule/Layout/TrailingBlankLines.html">TrailingBlankLines</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingWhitespace" data-name="ameba::rule::layout::trailingwhitespace">
<a href="../../Ameba/Rule/Layout/TrailingWhitespace.html">TrailingWhitespace</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Lint" data-name="ameba::rule::lint">
<a href="../../Ameba/Rule/Lint.html">Lint</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Lint/BadDirective" data-name="ameba::rule::lint::baddirective">
<a href="../../Ameba/Rule/Lint/BadDirective.html">BadDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ComparisonToBoolean" data-name="ameba::rule::lint::comparisontoboolean">
<a href="../../Ameba/Rule/Lint/ComparisonToBoolean.html">ComparisonToBoolean</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/DebuggerStatement" data-name="ameba::rule::lint::debuggerstatement">
<a href="../../Ameba/Rule/Lint/DebuggerStatement.html">DebuggerStatement</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyEnsure" data-name="ameba::rule::lint::emptyensure">
<a href="../../Ameba/Rule/Lint/EmptyEnsure.html">EmptyEnsure</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyExpression" data-name="ameba::rule::lint::emptyexpression">
<a href="../../Ameba/Rule/Lint/EmptyExpression.html">EmptyExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyLoop" data-name="ameba::rule::lint::emptyloop">
<a href="../../Ameba/Rule/Lint/EmptyLoop.html">EmptyLoop</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/HashDuplicatedKey" data-name="ameba::rule::lint::hashduplicatedkey">
<a href="../../Ameba/Rule/Lint/HashDuplicatedKey.html">HashDuplicatedKey</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInCondition" data-name="ameba::rule::lint::literalincondition">
<a href="../../Ameba/Rule/Lint/LiteralInCondition.html">LiteralInCondition</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInInterpolation" data-name="ameba::rule::lint::literalininterpolation">
<a href="../../Ameba/Rule/Lint/LiteralInInterpolation.html">LiteralInInterpolation</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/PercentArrays" data-name="ameba::rule::lint::percentarrays">
<a href="../../Ameba/Rule/Lint/PercentArrays.html">PercentArrays</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RandZero" data-name="ameba::rule::lint::randzero">
<a href="../../Ameba/Rule/Lint/RandZero.html">RandZero</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantStringCoercion" data-name="ameba::rule::lint::redundantstringcoercion">
<a href="../../Ameba/Rule/Lint/RedundantStringCoercion.html">RedundantStringCoercion</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithIndex" data-name="ameba::rule::lint::redundantwithindex">
<a href="../../Ameba/Rule/Lint/RedundantWithIndex.html">RedundantWithIndex</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithObject" data-name="ameba::rule::lint::redundantwithobject">
<a href="../../Ameba/Rule/Lint/RedundantWithObject.html">RedundantWithObject</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedArgument" data-name="ameba::rule::lint::shadowedargument">
<a href="../../Ameba/Rule/Lint/ShadowedArgument.html">ShadowedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedException" data-name="ameba::rule::lint::shadowedexception">
<a href="../../Ameba/Rule/Lint/ShadowedException.html">ShadowedException</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowingOuterLocalVar" data-name="ameba::rule::lint::shadowingouterlocalvar">
<a href="../../Ameba/Rule/Lint/ShadowingOuterLocalVar.html">ShadowingOuterLocalVar</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/SharedVarInFiber" data-name="ameba::rule::lint::sharedvarinfiber">
<a href="../../Ameba/Rule/Lint/SharedVarInFiber.html">SharedVarInFiber</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/Syntax" data-name="ameba::rule::lint::syntax">
<a href="../../Ameba/Rule/Lint/Syntax.html">Syntax</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnneededDisableDirective" data-name="ameba::rule::lint::unneededdisabledirective">
<a href="../../Ameba/Rule/Lint/UnneededDisableDirective.html">UnneededDisableDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnreachableCode" data-name="ameba::rule::lint::unreachablecode">
<a href="../../Ameba/Rule/Lint/UnreachableCode.html">UnreachableCode</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnusedArgument" data-name="ameba::rule::lint::unusedargument">
<a href="../../Ameba/Rule/Lint/UnusedArgument.html">UnusedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessAssign" data-name="ameba::rule::lint::uselessassign">
<a href="../../Ameba/Rule/Lint/UselessAssign.html">UselessAssign</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessConditionInWhen" data-name="ameba::rule::lint::uselessconditioninwhen">
<a href="../../Ameba/Rule/Lint/UselessConditionInWhen.html">UselessConditionInWhen</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Metrics" data-name="ameba::rule::metrics">
<a href="../../Ameba/Rule/Metrics.html">Metrics</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Metrics/CyclomaticComplexity" data-name="ameba::rule::metrics::cyclomaticcomplexity">
<a href="../../Ameba/Rule/Metrics/CyclomaticComplexity.html">CyclomaticComplexity</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Performance" data-name="ameba::rule::performance">
<a href="../../Ameba/Rule/Performance.html">Performance</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Performance/AnyAfterFilter" data-name="ameba::rule::performance::anyafterfilter">
<a href="../../Ameba/Rule/Performance/AnyAfterFilter.html">AnyAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/FirstLastAfterFilter" data-name="ameba::rule::performance::firstlastafterfilter">
<a href="../../Ameba/Rule/Performance/FirstLastAfterFilter.html">FirstLastAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/SizeAfterFilter" data-name="ameba::rule::performance::sizeafterfilter">
<a href="../../Ameba/Rule/Performance/SizeAfterFilter.html">SizeAfterFilter</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Style" data-name="ameba::rule::style">
<a href="../../Ameba/Rule/Style.html">Style</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Style/ConstantNames" data-name="ameba::rule::style::constantnames">
<a href="../../Ameba/Rule/Style/ConstantNames.html">ConstantNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/IsANil" data-name="ameba::rule::style::isanil">
<a href="../../Ameba/Rule/Style/IsANil.html">IsANil</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/LargeNumbers" data-name="ameba::rule::style::largenumbers">
<a href="../../Ameba/Rule/Style/LargeNumbers.html">LargeNumbers</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/MethodNames" data-name="ameba::rule::style::methodnames">
<a href="../../Ameba/Rule/Style/MethodNames.html">MethodNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/NegatedConditionsInUnless" data-name="ameba::rule::style::negatedconditionsinunless">
<a href="../../Ameba/Rule/Style/NegatedConditionsInUnless.html">NegatedConditionsInUnless</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/PredicateName" data-name="ameba::rule::style::predicatename">
<a href="../../Ameba/Rule/Style/PredicateName.html">PredicateName</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantBegin" data-name="ameba::rule::style::redundantbegin">
<a href="../../Ameba/Rule/Style/RedundantBegin.html">RedundantBegin</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantNext" data-name="ameba::rule::style::redundantnext">
<a href="../../Ameba/Rule/Style/RedundantNext.html">RedundantNext</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantReturn" data-name="ameba::rule::style::redundantreturn">
<a href="../../Ameba/Rule/Style/RedundantReturn.html">RedundantReturn</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/TypeNames" data-name="ameba::rule::style::typenames">
<a href="../../Ameba/Rule/Style/TypeNames.html">TypeNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/UnlessElse" data-name="ameba::rule::style::unlesselse">
<a href="../../Ameba/Rule/Style/UnlessElse.html">UnlessElse</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/VariableNames" data-name="ameba::rule::style::variablenames">
<a href="../../Ameba/Rule/Style/VariableNames.html">VariableNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/WhileTrue" data-name="ameba::rule::style::whiletrue">
<a href="../../Ameba/Rule/Style/WhileTrue.html">WhileTrue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Runner" data-name="ameba::runner">
<a href="../../Ameba/Runner.html">Runner</a>
</li>
<li class=" " data-id="ameba/Ameba/Severity" data-name="ameba::severity">
<a href="../../Ameba/Severity.html">Severity</a>
</li>
<li class=" " data-id="ameba/Ameba/SeverityYamlConverter" data-name="ameba::severityyamlconverter">
<a href="../../Ameba/SeverityYamlConverter.html">SeverityYamlConverter</a>
</li>
<li class=" " data-id="ameba/Ameba/Source" data-name="ameba::source">
<a href="../../Ameba/Source.html">Source</a>
</li>
<li class=" " data-id="ameba/Ameba/Tokenizer" data-name="ameba::tokenizer">
<a href="../../Ameba/Tokenizer.html">Tokenizer</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="main-content">
<h1 class="type-name">
<span class="kind">class</span> Ameba::AST::InstanceVariable
</h1>
<ul class="superclass-hierarchy"><li class="superclass"><a href="../../Ameba/AST/InstanceVariable.html">Ameba::AST::InstanceVariable</a></li><li class="superclass">Reference</li><li class="superclass">Object</li></ul>
<h2>
<a id="defined-in" class="anchor" href="#defined-in">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Defined in:
</h2>
<h2>
<a id="constructors" class="anchor" href="#constructors">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructors
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#new(node)-class-method" class="signature"><strong>.new</strong>(node)</a>
</li>
</ul>
<h2>
<a id="instance-method-summary" class="anchor" href="#instance-method-summary">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Summary
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#end_location(*args,**options)-instance-method" class="signature"><strong>#end_location</strong>(*args, **options)</a>
</li>
<li class="entry-summary">
<a href="#end_location(*args,**options,&)-instance-method" class="signature"><strong>#end_location</strong>(*args, **options, &)</a>
</li>
<li class="entry-summary">
<a href="#location(*args,**options)-instance-method" class="signature"><strong>#location</strong>(*args, **options)</a>
</li>
<li class="entry-summary">
<a href="#location(*args,**options,&)-instance-method" class="signature"><strong>#location</strong>(*args, **options, &)</a>
</li>
<li class="entry-summary">
<a href="#name(*args,**options)-instance-method" class="signature"><strong>#name</strong>(*args, **options)</a>
</li>
<li class="entry-summary">
<a href="#name(*args,**options,&)-instance-method" class="signature"><strong>#name</strong>(*args, **options, &)</a>
</li>
<li class="entry-summary">
<a href="#node:Crystal::InstanceVar-instance-method" class="signature"><strong>#node</strong> : Crystal::InstanceVar</a>
</li>
<li class="entry-summary">
<a href="#to_s(*args,**options)-instance-method" class="signature"><strong>#to_s</strong>(*args, **options)</a>
</li>
<li class="entry-summary">
<a href="#to_s(*args,**options,&)-instance-method" class="signature"><strong>#to_s</strong>(*args, **options, &)</a>
</li>
</ul>
<div class="methods-inherited">
</div>
<h2>
<a id="constructor-detail" class="anchor" href="#constructor-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructor Detail
</h2>
<div class="entry-detail" id="new(node)-class-method">
<div class="signature">
def self.<strong>new</strong>(node)
<a class="method-permalink" href="#new(node)-class-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<h2>
<a id="instance-method-detail" class="anchor" href="#instance-method-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Detail
</h2>
<div class="entry-detail" id="end_location(*args,**options)-instance-method">
<div class="signature">
def <strong>end_location</strong>(*args, **options)
<a class="method-permalink" href="#end_location(*args,**options)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="end_location(*args,**options,&)-instance-method">
<div class="signature">
def <strong>end_location</strong>(*args, **options, &)
<a class="method-permalink" href="#end_location(*args,**options,&)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="location(*args,**options)-instance-method">
<div class="signature">
def <strong>location</strong>(*args, **options)
<a class="method-permalink" href="#location(*args,**options)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="location(*args,**options,&)-instance-method">
<div class="signature">
def <strong>location</strong>(*args, **options, &)
<a class="method-permalink" href="#location(*args,**options,&)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="name(*args,**options)-instance-method">
<div class="signature">
def <strong>name</strong>(*args, **options)
<a class="method-permalink" href="#name(*args,**options)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="name(*args,**options,&)-instance-method">
<div class="signature">
def <strong>name</strong>(*args, **options, &)
<a class="method-permalink" href="#name(*args,**options,&)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="node:Crystal::InstanceVar-instance-method">
<div class="signature">
def <strong>node</strong> : Crystal::InstanceVar
<a class="method-permalink" href="#node:Crystal::InstanceVar-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="to_s(*args,**options)-instance-method">
<div class="signature">
def <strong>to_s</strong>(*args, **options)
<a class="method-permalink" href="#to_s(*args,**options)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="to_s(*args,**options,&)-instance-method">
<div class="signature">
def <strong>to_s</strong>(*args, **options, &)
<a class="method-permalink" href="#to_s(*args,**options,&)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
</div>
</body>
</html>

1420
Ameba/AST/NodeVisitor.html Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,792 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Crystal Docs 0.35.1">
<meta name="crystal_docs.project_version" content="0.13.3-dev">
<meta name="crystal_docs.project_name" content="ameba">
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../js/doc.js"></script>
<meta name="repository-name" content="ameba">
<title>Ameba::AST::RedundantControlExpressionVisitor - ameba 0.13.3-dev</title>
<script type="text/javascript">
CrystalDocs.base_path = "../../";
</script>
</head>
<body>
<svg class="hidden">
<symbol id="octicon-link" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path>
</symbol>
</svg>
<div class="sidebar">
<div class="sidebar-header">
<div class="search-box">
<input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search">
</div>
<div class="project-summary">
<h1 class="project-name">
<a href="../../index.html">
ameba
</a>
</h1>
<span class="project-version">
0.13.3-dev
</span>
</div>
</div>
<div class="search-results hidden">
<ul class="search-list"></ul>
</div>
<div class="types-list">
<ul>
<li class="parent open current" data-id="ameba/Ameba" data-name="ameba">
<a href="../../Ameba.html">Ameba</a>
<ul>
<li class="parent open current" data-id="ameba/Ameba/AST" data-name="ameba::ast">
<a href="../../Ameba/AST.html">AST</a>
<ul>
<li class=" " data-id="ameba/Ameba/AST/Argument" data-name="ameba::ast::argument">
<a href="../../Ameba/AST/Argument.html">Argument</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Assignment" data-name="ameba::ast::assignment">
<a href="../../Ameba/AST/Assignment.html">Assignment</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/BaseVisitor" data-name="ameba::ast::basevisitor">
<a href="../../Ameba/AST/BaseVisitor.html">BaseVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branch" data-name="ameba::ast::branch">
<a href="../../Ameba/AST/Branch.html">Branch</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branchable" data-name="ameba::ast::branchable">
<a href="../../Ameba/AST/Branchable.html">Branchable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/CountingVisitor" data-name="ameba::ast::countingvisitor">
<a href="../../Ameba/AST/CountingVisitor.html">CountingVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpression" data-name="ameba::ast::flowexpression">
<a href="../../Ameba/AST/FlowExpression.html">FlowExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpressionVisitor" data-name="ameba::ast::flowexpressionvisitor">
<a href="../../Ameba/AST/FlowExpressionVisitor.html">FlowExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/InstanceVariable" data-name="ameba::ast::instancevariable">
<a href="../../Ameba/AST/InstanceVariable.html">InstanceVariable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/NodeVisitor" data-name="ameba::ast::nodevisitor">
<a href="../../Ameba/AST/NodeVisitor.html">NodeVisitor</a>
</li>
<li class=" current" data-id="ameba/Ameba/AST/RedundantControlExpressionVisitor" data-name="ameba::ast::redundantcontrolexpressionvisitor">
<a href="../../Ameba/AST/RedundantControlExpressionVisitor.html">RedundantControlExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Reference" data-name="ameba::ast::reference">
<a href="../../Ameba/AST/Reference.html">Reference</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Scope" data-name="ameba::ast::scope">
<a href="../../Ameba/AST/Scope.html">Scope</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/ScopeVisitor" data-name="ameba::ast::scopevisitor">
<a href="../../Ameba/AST/ScopeVisitor.html">ScopeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Util" data-name="ameba::ast::util">
<a href="../../Ameba/AST/Util.html">Util</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Variable" data-name="ameba::ast::variable">
<a href="../../Ameba/AST/Variable.html">Variable</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Config" data-name="ameba::config">
<a href="../../Ameba/Config.html">Config</a>
</li>
<li class="parent " data-id="ameba/Ameba/Formatter" data-name="ameba::formatter">
<a href="../../Ameba/Formatter.html">Formatter</a>
<ul>
<li class=" " data-id="ameba/Ameba/Formatter/BaseFormatter" data-name="ameba::formatter::baseformatter">
<a href="../../Ameba/Formatter/BaseFormatter.html">BaseFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DisabledFormatter" data-name="ameba::formatter::disabledformatter">
<a href="../../Ameba/Formatter/DisabledFormatter.html">DisabledFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DotFormatter" data-name="ameba::formatter::dotformatter">
<a href="../../Ameba/Formatter/DotFormatter.html">DotFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/ExplainFormatter" data-name="ameba::formatter::explainformatter">
<a href="../../Ameba/Formatter/ExplainFormatter.html">ExplainFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/FlycheckFormatter" data-name="ameba::formatter::flycheckformatter">
<a href="../../Ameba/Formatter/FlycheckFormatter.html">FlycheckFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/JSONFormatter" data-name="ameba::formatter::jsonformatter">
<a href="../../Ameba/Formatter/JSONFormatter.html">JSONFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/TODOFormatter" data-name="ameba::formatter::todoformatter">
<a href="../../Ameba/Formatter/TODOFormatter.html">TODOFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/Util" data-name="ameba::formatter::util">
<a href="../../Ameba/Formatter/Util.html">Util</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/GlobUtils" data-name="ameba::globutils">
<a href="../../Ameba/GlobUtils.html">GlobUtils</a>
</li>
<li class="parent " data-id="ameba/Ameba/InlineComments" data-name="ameba::inlinecomments">
<a href="../../Ameba/InlineComments.html">InlineComments</a>
<ul>
<li class=" " data-id="ameba/Ameba/InlineComments/Action" data-name="ameba::inlinecomments::action">
<a href="../../Ameba/InlineComments/Action.html">Action</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Issue" data-name="ameba::issue">
<a href="../../Ameba/Issue.html">Issue</a>
</li>
<li class=" " data-id="ameba/Ameba/Reportable" data-name="ameba::reportable">
<a href="../../Ameba/Reportable.html">Reportable</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule" data-name="ameba::rule">
<a href="../../Ameba/Rule.html">Rule</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Base" data-name="ameba::rule::base">
<a href="../../Ameba/Rule/Base.html">Base</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Layout" data-name="ameba::rule::layout">
<a href="../../Ameba/Rule/Layout.html">Layout</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Layout/LineLength" data-name="ameba::rule::layout::linelength">
<a href="../../Ameba/Rule/Layout/LineLength.html">LineLength</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingBlankLines" data-name="ameba::rule::layout::trailingblanklines">
<a href="../../Ameba/Rule/Layout/TrailingBlankLines.html">TrailingBlankLines</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingWhitespace" data-name="ameba::rule::layout::trailingwhitespace">
<a href="../../Ameba/Rule/Layout/TrailingWhitespace.html">TrailingWhitespace</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Lint" data-name="ameba::rule::lint">
<a href="../../Ameba/Rule/Lint.html">Lint</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Lint/BadDirective" data-name="ameba::rule::lint::baddirective">
<a href="../../Ameba/Rule/Lint/BadDirective.html">BadDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ComparisonToBoolean" data-name="ameba::rule::lint::comparisontoboolean">
<a href="../../Ameba/Rule/Lint/ComparisonToBoolean.html">ComparisonToBoolean</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/DebuggerStatement" data-name="ameba::rule::lint::debuggerstatement">
<a href="../../Ameba/Rule/Lint/DebuggerStatement.html">DebuggerStatement</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyEnsure" data-name="ameba::rule::lint::emptyensure">
<a href="../../Ameba/Rule/Lint/EmptyEnsure.html">EmptyEnsure</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyExpression" data-name="ameba::rule::lint::emptyexpression">
<a href="../../Ameba/Rule/Lint/EmptyExpression.html">EmptyExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyLoop" data-name="ameba::rule::lint::emptyloop">
<a href="../../Ameba/Rule/Lint/EmptyLoop.html">EmptyLoop</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/HashDuplicatedKey" data-name="ameba::rule::lint::hashduplicatedkey">
<a href="../../Ameba/Rule/Lint/HashDuplicatedKey.html">HashDuplicatedKey</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInCondition" data-name="ameba::rule::lint::literalincondition">
<a href="../../Ameba/Rule/Lint/LiteralInCondition.html">LiteralInCondition</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInInterpolation" data-name="ameba::rule::lint::literalininterpolation">
<a href="../../Ameba/Rule/Lint/LiteralInInterpolation.html">LiteralInInterpolation</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/PercentArrays" data-name="ameba::rule::lint::percentarrays">
<a href="../../Ameba/Rule/Lint/PercentArrays.html">PercentArrays</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RandZero" data-name="ameba::rule::lint::randzero">
<a href="../../Ameba/Rule/Lint/RandZero.html">RandZero</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantStringCoercion" data-name="ameba::rule::lint::redundantstringcoercion">
<a href="../../Ameba/Rule/Lint/RedundantStringCoercion.html">RedundantStringCoercion</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithIndex" data-name="ameba::rule::lint::redundantwithindex">
<a href="../../Ameba/Rule/Lint/RedundantWithIndex.html">RedundantWithIndex</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithObject" data-name="ameba::rule::lint::redundantwithobject">
<a href="../../Ameba/Rule/Lint/RedundantWithObject.html">RedundantWithObject</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedArgument" data-name="ameba::rule::lint::shadowedargument">
<a href="../../Ameba/Rule/Lint/ShadowedArgument.html">ShadowedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedException" data-name="ameba::rule::lint::shadowedexception">
<a href="../../Ameba/Rule/Lint/ShadowedException.html">ShadowedException</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowingOuterLocalVar" data-name="ameba::rule::lint::shadowingouterlocalvar">
<a href="../../Ameba/Rule/Lint/ShadowingOuterLocalVar.html">ShadowingOuterLocalVar</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/SharedVarInFiber" data-name="ameba::rule::lint::sharedvarinfiber">
<a href="../../Ameba/Rule/Lint/SharedVarInFiber.html">SharedVarInFiber</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/Syntax" data-name="ameba::rule::lint::syntax">
<a href="../../Ameba/Rule/Lint/Syntax.html">Syntax</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnneededDisableDirective" data-name="ameba::rule::lint::unneededdisabledirective">
<a href="../../Ameba/Rule/Lint/UnneededDisableDirective.html">UnneededDisableDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnreachableCode" data-name="ameba::rule::lint::unreachablecode">
<a href="../../Ameba/Rule/Lint/UnreachableCode.html">UnreachableCode</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnusedArgument" data-name="ameba::rule::lint::unusedargument">
<a href="../../Ameba/Rule/Lint/UnusedArgument.html">UnusedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessAssign" data-name="ameba::rule::lint::uselessassign">
<a href="../../Ameba/Rule/Lint/UselessAssign.html">UselessAssign</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessConditionInWhen" data-name="ameba::rule::lint::uselessconditioninwhen">
<a href="../../Ameba/Rule/Lint/UselessConditionInWhen.html">UselessConditionInWhen</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Metrics" data-name="ameba::rule::metrics">
<a href="../../Ameba/Rule/Metrics.html">Metrics</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Metrics/CyclomaticComplexity" data-name="ameba::rule::metrics::cyclomaticcomplexity">
<a href="../../Ameba/Rule/Metrics/CyclomaticComplexity.html">CyclomaticComplexity</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Performance" data-name="ameba::rule::performance">
<a href="../../Ameba/Rule/Performance.html">Performance</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Performance/AnyAfterFilter" data-name="ameba::rule::performance::anyafterfilter">
<a href="../../Ameba/Rule/Performance/AnyAfterFilter.html">AnyAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/FirstLastAfterFilter" data-name="ameba::rule::performance::firstlastafterfilter">
<a href="../../Ameba/Rule/Performance/FirstLastAfterFilter.html">FirstLastAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/SizeAfterFilter" data-name="ameba::rule::performance::sizeafterfilter">
<a href="../../Ameba/Rule/Performance/SizeAfterFilter.html">SizeAfterFilter</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Style" data-name="ameba::rule::style">
<a href="../../Ameba/Rule/Style.html">Style</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Style/ConstantNames" data-name="ameba::rule::style::constantnames">
<a href="../../Ameba/Rule/Style/ConstantNames.html">ConstantNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/IsANil" data-name="ameba::rule::style::isanil">
<a href="../../Ameba/Rule/Style/IsANil.html">IsANil</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/LargeNumbers" data-name="ameba::rule::style::largenumbers">
<a href="../../Ameba/Rule/Style/LargeNumbers.html">LargeNumbers</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/MethodNames" data-name="ameba::rule::style::methodnames">
<a href="../../Ameba/Rule/Style/MethodNames.html">MethodNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/NegatedConditionsInUnless" data-name="ameba::rule::style::negatedconditionsinunless">
<a href="../../Ameba/Rule/Style/NegatedConditionsInUnless.html">NegatedConditionsInUnless</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/PredicateName" data-name="ameba::rule::style::predicatename">
<a href="../../Ameba/Rule/Style/PredicateName.html">PredicateName</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantBegin" data-name="ameba::rule::style::redundantbegin">
<a href="../../Ameba/Rule/Style/RedundantBegin.html">RedundantBegin</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantNext" data-name="ameba::rule::style::redundantnext">
<a href="../../Ameba/Rule/Style/RedundantNext.html">RedundantNext</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantReturn" data-name="ameba::rule::style::redundantreturn">
<a href="../../Ameba/Rule/Style/RedundantReturn.html">RedundantReturn</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/TypeNames" data-name="ameba::rule::style::typenames">
<a href="../../Ameba/Rule/Style/TypeNames.html">TypeNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/UnlessElse" data-name="ameba::rule::style::unlesselse">
<a href="../../Ameba/Rule/Style/UnlessElse.html">UnlessElse</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/VariableNames" data-name="ameba::rule::style::variablenames">
<a href="../../Ameba/Rule/Style/VariableNames.html">VariableNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/WhileTrue" data-name="ameba::rule::style::whiletrue">
<a href="../../Ameba/Rule/Style/WhileTrue.html">WhileTrue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Runner" data-name="ameba::runner">
<a href="../../Ameba/Runner.html">Runner</a>
</li>
<li class=" " data-id="ameba/Ameba/Severity" data-name="ameba::severity">
<a href="../../Ameba/Severity.html">Severity</a>
</li>
<li class=" " data-id="ameba/Ameba/SeverityYamlConverter" data-name="ameba::severityyamlconverter">
<a href="../../Ameba/SeverityYamlConverter.html">SeverityYamlConverter</a>
</li>
<li class=" " data-id="ameba/Ameba/Source" data-name="ameba::source">
<a href="../../Ameba/Source.html">Source</a>
</li>
<li class=" " data-id="ameba/Ameba/Tokenizer" data-name="ameba::tokenizer">
<a href="../../Ameba/Tokenizer.html">Tokenizer</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="main-content">
<h1 class="type-name">
<span class="kind">class</span> Ameba::AST::RedundantControlExpressionVisitor
</h1>
<ul class="superclass-hierarchy"><li class="superclass"><a href="../../Ameba/AST/RedundantControlExpressionVisitor.html">Ameba::AST::RedundantControlExpressionVisitor</a></li><li class="superclass">Reference</li><li class="superclass">Object</li></ul>
<h2>
<a id="overview" class="anchor" href="#overview">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Overview
</h2>
<p>A class that utilizes a logic to traverse AST nodes and
fire a source test callback if a redundant <code>Crystal::ControlExpression</code>
is reached.</p>
<h2>
<a id="defined-in" class="anchor" href="#defined-in">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Defined in:
</h2>
<h2>
<a id="constructors" class="anchor" href="#constructors">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructors
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#new(rule,source,node)-class-method" class="signature"><strong>.new</strong>(rule, source, node)</a>
</li>
</ul>
<h2>
<a id="instance-method-summary" class="anchor" href="#instance-method-summary">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Summary
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#node:Crystal::ASTNode-instance-method" class="signature"><strong>#node</strong> : Crystal::ASTNode</a>
<div class="summary"><p>A node to run traversal on.</p></div>
</li>
<li class="entry-summary">
<a href="#rule:Rule::Base-instance-method" class="signature"><strong>#rule</strong> : Rule::Base</a>
<div class="summary"><p>A corresponding rule that uses this visitor.</p></div>
</li>
<li class="entry-summary">
<a href="#source:Source-instance-method" class="signature"><strong>#source</strong> : Source</a>
<div class="summary"><p>A source that needs to be traversed.</p></div>
</li>
</ul>
<div class="methods-inherited">
</div>
<h2>
<a id="constructor-detail" class="anchor" href="#constructor-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructor Detail
</h2>
<div class="entry-detail" id="new(rule,source,node)-class-method">
<div class="signature">
def self.<strong>new</strong>(rule, source, node)
<a class="method-permalink" href="#new(rule,source,node)-class-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<h2>
<a id="instance-method-detail" class="anchor" href="#instance-method-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Detail
</h2>
<div class="entry-detail" id="node:Crystal::ASTNode-instance-method">
<div class="signature">
def <strong>node</strong> : Crystal::ASTNode
<a class="method-permalink" href="#node:Crystal::ASTNode-instance-method">#</a>
</div>
<div class="doc">
<p>A node to run traversal on.</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="rule:Rule::Base-instance-method">
<div class="signature">
def <strong>rule</strong> : <a href="../../Ameba/Rule/Base.html">Rule::Base</a>
<a class="method-permalink" href="#rule:Rule::Base-instance-method">#</a>
</div>
<div class="doc">
<p>A corresponding rule that uses this visitor.</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="source:Source-instance-method">
<div class="signature">
def <strong>source</strong> : <a href="../../Ameba/Source.html">Source</a>
<a class="method-permalink" href="#source:Source-instance-method">#</a>
</div>
<div class="doc">
<p>A source that needs to be traversed.</p>
</div>
<br/>
<div>
</div>
</div>
</div>
</body>
</html>

834
Ameba/AST/Reference.html Normal file
View file

@ -0,0 +1,834 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Crystal Docs 0.35.1">
<meta name="crystal_docs.project_version" content="0.13.3-dev">
<meta name="crystal_docs.project_name" content="ameba">
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../js/doc.js"></script>
<meta name="repository-name" content="ameba">
<title>Ameba::AST::Reference - ameba 0.13.3-dev</title>
<script type="text/javascript">
CrystalDocs.base_path = "../../";
</script>
</head>
<body>
<svg class="hidden">
<symbol id="octicon-link" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path>
</symbol>
</svg>
<div class="sidebar">
<div class="sidebar-header">
<div class="search-box">
<input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search">
</div>
<div class="project-summary">
<h1 class="project-name">
<a href="../../index.html">
ameba
</a>
</h1>
<span class="project-version">
0.13.3-dev
</span>
</div>
</div>
<div class="search-results hidden">
<ul class="search-list"></ul>
</div>
<div class="types-list">
<ul>
<li class="parent open current" data-id="ameba/Ameba" data-name="ameba">
<a href="../../Ameba.html">Ameba</a>
<ul>
<li class="parent open current" data-id="ameba/Ameba/AST" data-name="ameba::ast">
<a href="../../Ameba/AST.html">AST</a>
<ul>
<li class=" " data-id="ameba/Ameba/AST/Argument" data-name="ameba::ast::argument">
<a href="../../Ameba/AST/Argument.html">Argument</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Assignment" data-name="ameba::ast::assignment">
<a href="../../Ameba/AST/Assignment.html">Assignment</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/BaseVisitor" data-name="ameba::ast::basevisitor">
<a href="../../Ameba/AST/BaseVisitor.html">BaseVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branch" data-name="ameba::ast::branch">
<a href="../../Ameba/AST/Branch.html">Branch</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branchable" data-name="ameba::ast::branchable">
<a href="../../Ameba/AST/Branchable.html">Branchable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/CountingVisitor" data-name="ameba::ast::countingvisitor">
<a href="../../Ameba/AST/CountingVisitor.html">CountingVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpression" data-name="ameba::ast::flowexpression">
<a href="../../Ameba/AST/FlowExpression.html">FlowExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpressionVisitor" data-name="ameba::ast::flowexpressionvisitor">
<a href="../../Ameba/AST/FlowExpressionVisitor.html">FlowExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/InstanceVariable" data-name="ameba::ast::instancevariable">
<a href="../../Ameba/AST/InstanceVariable.html">InstanceVariable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/NodeVisitor" data-name="ameba::ast::nodevisitor">
<a href="../../Ameba/AST/NodeVisitor.html">NodeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/RedundantControlExpressionVisitor" data-name="ameba::ast::redundantcontrolexpressionvisitor">
<a href="../../Ameba/AST/RedundantControlExpressionVisitor.html">RedundantControlExpressionVisitor</a>
</li>
<li class=" current" data-id="ameba/Ameba/AST/Reference" data-name="ameba::ast::reference">
<a href="../../Ameba/AST/Reference.html">Reference</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Scope" data-name="ameba::ast::scope">
<a href="../../Ameba/AST/Scope.html">Scope</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/ScopeVisitor" data-name="ameba::ast::scopevisitor">
<a href="../../Ameba/AST/ScopeVisitor.html">ScopeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Util" data-name="ameba::ast::util">
<a href="../../Ameba/AST/Util.html">Util</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Variable" data-name="ameba::ast::variable">
<a href="../../Ameba/AST/Variable.html">Variable</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Config" data-name="ameba::config">
<a href="../../Ameba/Config.html">Config</a>
</li>
<li class="parent " data-id="ameba/Ameba/Formatter" data-name="ameba::formatter">
<a href="../../Ameba/Formatter.html">Formatter</a>
<ul>
<li class=" " data-id="ameba/Ameba/Formatter/BaseFormatter" data-name="ameba::formatter::baseformatter">
<a href="../../Ameba/Formatter/BaseFormatter.html">BaseFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DisabledFormatter" data-name="ameba::formatter::disabledformatter">
<a href="../../Ameba/Formatter/DisabledFormatter.html">DisabledFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DotFormatter" data-name="ameba::formatter::dotformatter">
<a href="../../Ameba/Formatter/DotFormatter.html">DotFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/ExplainFormatter" data-name="ameba::formatter::explainformatter">
<a href="../../Ameba/Formatter/ExplainFormatter.html">ExplainFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/FlycheckFormatter" data-name="ameba::formatter::flycheckformatter">
<a href="../../Ameba/Formatter/FlycheckFormatter.html">FlycheckFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/JSONFormatter" data-name="ameba::formatter::jsonformatter">
<a href="../../Ameba/Formatter/JSONFormatter.html">JSONFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/TODOFormatter" data-name="ameba::formatter::todoformatter">
<a href="../../Ameba/Formatter/TODOFormatter.html">TODOFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/Util" data-name="ameba::formatter::util">
<a href="../../Ameba/Formatter/Util.html">Util</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/GlobUtils" data-name="ameba::globutils">
<a href="../../Ameba/GlobUtils.html">GlobUtils</a>
</li>
<li class="parent " data-id="ameba/Ameba/InlineComments" data-name="ameba::inlinecomments">
<a href="../../Ameba/InlineComments.html">InlineComments</a>
<ul>
<li class=" " data-id="ameba/Ameba/InlineComments/Action" data-name="ameba::inlinecomments::action">
<a href="../../Ameba/InlineComments/Action.html">Action</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Issue" data-name="ameba::issue">
<a href="../../Ameba/Issue.html">Issue</a>
</li>
<li class=" " data-id="ameba/Ameba/Reportable" data-name="ameba::reportable">
<a href="../../Ameba/Reportable.html">Reportable</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule" data-name="ameba::rule">
<a href="../../Ameba/Rule.html">Rule</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Base" data-name="ameba::rule::base">
<a href="../../Ameba/Rule/Base.html">Base</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Layout" data-name="ameba::rule::layout">
<a href="../../Ameba/Rule/Layout.html">Layout</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Layout/LineLength" data-name="ameba::rule::layout::linelength">
<a href="../../Ameba/Rule/Layout/LineLength.html">LineLength</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingBlankLines" data-name="ameba::rule::layout::trailingblanklines">
<a href="../../Ameba/Rule/Layout/TrailingBlankLines.html">TrailingBlankLines</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingWhitespace" data-name="ameba::rule::layout::trailingwhitespace">
<a href="../../Ameba/Rule/Layout/TrailingWhitespace.html">TrailingWhitespace</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Lint" data-name="ameba::rule::lint">
<a href="../../Ameba/Rule/Lint.html">Lint</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Lint/BadDirective" data-name="ameba::rule::lint::baddirective">
<a href="../../Ameba/Rule/Lint/BadDirective.html">BadDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ComparisonToBoolean" data-name="ameba::rule::lint::comparisontoboolean">
<a href="../../Ameba/Rule/Lint/ComparisonToBoolean.html">ComparisonToBoolean</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/DebuggerStatement" data-name="ameba::rule::lint::debuggerstatement">
<a href="../../Ameba/Rule/Lint/DebuggerStatement.html">DebuggerStatement</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyEnsure" data-name="ameba::rule::lint::emptyensure">
<a href="../../Ameba/Rule/Lint/EmptyEnsure.html">EmptyEnsure</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyExpression" data-name="ameba::rule::lint::emptyexpression">
<a href="../../Ameba/Rule/Lint/EmptyExpression.html">EmptyExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyLoop" data-name="ameba::rule::lint::emptyloop">
<a href="../../Ameba/Rule/Lint/EmptyLoop.html">EmptyLoop</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/HashDuplicatedKey" data-name="ameba::rule::lint::hashduplicatedkey">
<a href="../../Ameba/Rule/Lint/HashDuplicatedKey.html">HashDuplicatedKey</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInCondition" data-name="ameba::rule::lint::literalincondition">
<a href="../../Ameba/Rule/Lint/LiteralInCondition.html">LiteralInCondition</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInInterpolation" data-name="ameba::rule::lint::literalininterpolation">
<a href="../../Ameba/Rule/Lint/LiteralInInterpolation.html">LiteralInInterpolation</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/PercentArrays" data-name="ameba::rule::lint::percentarrays">
<a href="../../Ameba/Rule/Lint/PercentArrays.html">PercentArrays</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RandZero" data-name="ameba::rule::lint::randzero">
<a href="../../Ameba/Rule/Lint/RandZero.html">RandZero</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantStringCoercion" data-name="ameba::rule::lint::redundantstringcoercion">
<a href="../../Ameba/Rule/Lint/RedundantStringCoercion.html">RedundantStringCoercion</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithIndex" data-name="ameba::rule::lint::redundantwithindex">
<a href="../../Ameba/Rule/Lint/RedundantWithIndex.html">RedundantWithIndex</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithObject" data-name="ameba::rule::lint::redundantwithobject">
<a href="../../Ameba/Rule/Lint/RedundantWithObject.html">RedundantWithObject</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedArgument" data-name="ameba::rule::lint::shadowedargument">
<a href="../../Ameba/Rule/Lint/ShadowedArgument.html">ShadowedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedException" data-name="ameba::rule::lint::shadowedexception">
<a href="../../Ameba/Rule/Lint/ShadowedException.html">ShadowedException</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowingOuterLocalVar" data-name="ameba::rule::lint::shadowingouterlocalvar">
<a href="../../Ameba/Rule/Lint/ShadowingOuterLocalVar.html">ShadowingOuterLocalVar</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/SharedVarInFiber" data-name="ameba::rule::lint::sharedvarinfiber">
<a href="../../Ameba/Rule/Lint/SharedVarInFiber.html">SharedVarInFiber</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/Syntax" data-name="ameba::rule::lint::syntax">
<a href="../../Ameba/Rule/Lint/Syntax.html">Syntax</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnneededDisableDirective" data-name="ameba::rule::lint::unneededdisabledirective">
<a href="../../Ameba/Rule/Lint/UnneededDisableDirective.html">UnneededDisableDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnreachableCode" data-name="ameba::rule::lint::unreachablecode">
<a href="../../Ameba/Rule/Lint/UnreachableCode.html">UnreachableCode</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnusedArgument" data-name="ameba::rule::lint::unusedargument">
<a href="../../Ameba/Rule/Lint/UnusedArgument.html">UnusedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessAssign" data-name="ameba::rule::lint::uselessassign">
<a href="../../Ameba/Rule/Lint/UselessAssign.html">UselessAssign</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessConditionInWhen" data-name="ameba::rule::lint::uselessconditioninwhen">
<a href="../../Ameba/Rule/Lint/UselessConditionInWhen.html">UselessConditionInWhen</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Metrics" data-name="ameba::rule::metrics">
<a href="../../Ameba/Rule/Metrics.html">Metrics</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Metrics/CyclomaticComplexity" data-name="ameba::rule::metrics::cyclomaticcomplexity">
<a href="../../Ameba/Rule/Metrics/CyclomaticComplexity.html">CyclomaticComplexity</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Performance" data-name="ameba::rule::performance">
<a href="../../Ameba/Rule/Performance.html">Performance</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Performance/AnyAfterFilter" data-name="ameba::rule::performance::anyafterfilter">
<a href="../../Ameba/Rule/Performance/AnyAfterFilter.html">AnyAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/FirstLastAfterFilter" data-name="ameba::rule::performance::firstlastafterfilter">
<a href="../../Ameba/Rule/Performance/FirstLastAfterFilter.html">FirstLastAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/SizeAfterFilter" data-name="ameba::rule::performance::sizeafterfilter">
<a href="../../Ameba/Rule/Performance/SizeAfterFilter.html">SizeAfterFilter</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Style" data-name="ameba::rule::style">
<a href="../../Ameba/Rule/Style.html">Style</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Style/ConstantNames" data-name="ameba::rule::style::constantnames">
<a href="../../Ameba/Rule/Style/ConstantNames.html">ConstantNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/IsANil" data-name="ameba::rule::style::isanil">
<a href="../../Ameba/Rule/Style/IsANil.html">IsANil</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/LargeNumbers" data-name="ameba::rule::style::largenumbers">
<a href="../../Ameba/Rule/Style/LargeNumbers.html">LargeNumbers</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/MethodNames" data-name="ameba::rule::style::methodnames">
<a href="../../Ameba/Rule/Style/MethodNames.html">MethodNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/NegatedConditionsInUnless" data-name="ameba::rule::style::negatedconditionsinunless">
<a href="../../Ameba/Rule/Style/NegatedConditionsInUnless.html">NegatedConditionsInUnless</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/PredicateName" data-name="ameba::rule::style::predicatename">
<a href="../../Ameba/Rule/Style/PredicateName.html">PredicateName</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantBegin" data-name="ameba::rule::style::redundantbegin">
<a href="../../Ameba/Rule/Style/RedundantBegin.html">RedundantBegin</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantNext" data-name="ameba::rule::style::redundantnext">
<a href="../../Ameba/Rule/Style/RedundantNext.html">RedundantNext</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantReturn" data-name="ameba::rule::style::redundantreturn">
<a href="../../Ameba/Rule/Style/RedundantReturn.html">RedundantReturn</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/TypeNames" data-name="ameba::rule::style::typenames">
<a href="../../Ameba/Rule/Style/TypeNames.html">TypeNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/UnlessElse" data-name="ameba::rule::style::unlesselse">
<a href="../../Ameba/Rule/Style/UnlessElse.html">UnlessElse</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/VariableNames" data-name="ameba::rule::style::variablenames">
<a href="../../Ameba/Rule/Style/VariableNames.html">VariableNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/WhileTrue" data-name="ameba::rule::style::whiletrue">
<a href="../../Ameba/Rule/Style/WhileTrue.html">WhileTrue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Runner" data-name="ameba::runner">
<a href="../../Ameba/Runner.html">Runner</a>
</li>
<li class=" " data-id="ameba/Ameba/Severity" data-name="ameba::severity">
<a href="../../Ameba/Severity.html">Severity</a>
</li>
<li class=" " data-id="ameba/Ameba/SeverityYamlConverter" data-name="ameba::severityyamlconverter">
<a href="../../Ameba/SeverityYamlConverter.html">SeverityYamlConverter</a>
</li>
<li class=" " data-id="ameba/Ameba/Source" data-name="ameba::source">
<a href="../../Ameba/Source.html">Source</a>
</li>
<li class=" " data-id="ameba/Ameba/Tokenizer" data-name="ameba::tokenizer">
<a href="../../Ameba/Tokenizer.html">Tokenizer</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="main-content">
<h1 class="type-name">
<span class="kind">class</span> Ameba::AST::Reference
</h1>
<ul class="superclass-hierarchy"><li class="superclass"><a href="../../Ameba/AST/Reference.html">Ameba::AST::Reference</a></li><li class="superclass"><a href="../../Ameba/AST/Variable.html">Ameba::AST::Variable</a></li><li class="superclass">Reference</li><li class="superclass">Object</li></ul>
<h2>
<a id="overview" class="anchor" href="#overview">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Overview
</h2>
<p>Represents a reference to the variable.
It behaves like a variable is used to distinguish a
the variable from its reference.</p>
<h2>
<a id="defined-in" class="anchor" href="#defined-in">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Defined in:
</h2>
<h2>
<a id="instance-method-summary" class="anchor" href="#instance-method-summary">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Summary
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#explicit=(explicit)-instance-method" class="signature"><strong>#explicit=</strong>(explicit)</a>
</li>
<li class="entry-summary">
<a href="#explicit?:Bool-instance-method" class="signature"><strong>#explicit?</strong> : Bool</a>
</li>
</ul>
<div class="methods-inherited">
<h3>Instance methods inherited from class <code><a href="../../Ameba/AST/Variable.html">Ameba::AST::Variable</a></code></h3>
<a href="../../Ameba/AST/Variable.html#assign(node,scope)-instance-method" class="tooltip">
<span>assign(node, scope)</span>
assign</a>,
<a href="../../Ameba/AST/Variable.html#assign_before_reference:Crystal::ASTNode?-instance-method" class="tooltip">
<span>assign_before_reference : Crystal::ASTNode?</span>
assign_before_reference</a>,
<a href="../../Ameba/AST/Variable.html#assignments:Array(Ameba::AST::Assignment)-instance-method" class="tooltip">
<span>assignments : Array(Ameba::AST::Assignment)</span>
assignments</a>,
<a href="../../Ameba/AST/Variable.html#captured_by_block?(scope=@scope)-instance-method" class="tooltip">
<span>captured_by_block?(scope = @scope)</span>
captured_by_block?</a>,
<a href="../../Ameba/AST/Variable.html#declared_before?(node)-instance-method" class="tooltip">
<span>declared_before?(node)</span>
declared_before?</a>,
<a href="../../Ameba/AST/Variable.html#end_location(*args,**options)-instance-method" class="tooltip">
<span>end_location(*args, **options)<br/>end_location(*args, **options, &)</span>
end_location</a>,
<a href="../../Ameba/AST/Variable.html#eql?(node)-instance-method" class="tooltip">
<span>eql?(node)</span>
eql?</a>,
<a href="../../Ameba/AST/Variable.html#ignored?-instance-method" class="tooltip">
<span>ignored?</span>
ignored?</a>,
<a href="../../Ameba/AST/Variable.html#location(*args,**options)-instance-method" class="tooltip">
<span>location(*args, **options)<br/>location(*args, **options, &)</span>
location</a>,
<a href="../../Ameba/AST/Variable.html#name(*args,**options)-instance-method" class="tooltip">
<span>name(*args, **options)<br/>name(*args, **options, &)</span>
name</a>,
<a href="../../Ameba/AST/Variable.html#node:Crystal::Var-instance-method" class="tooltip">
<span>node : Crystal::Var</span>
node</a>,
<a href="../../Ameba/AST/Variable.html#reference(node:Crystal::Var,scope:Scope)-instance-method" class="tooltip">
<span>reference(node : Crystal::Var, scope : Scope)</span>
reference</a>,
<a href="../../Ameba/AST/Variable.html#reference_assignments!-instance-method" class="tooltip">
<span>reference_assignments!</span>
reference_assignments!</a>,
<a href="../../Ameba/AST/Variable.html#referenced?-instance-method" class="tooltip">
<span>referenced?</span>
referenced?</a>,
<a href="../../Ameba/AST/Variable.html#references:Array(Ameba::AST::Reference)-instance-method" class="tooltip">
<span>references : Array(Ameba::AST::Reference)</span>
references</a>,
<a href="../../Ameba/AST/Variable.html#scope:Scope-instance-method" class="tooltip">
<span>scope : Scope</span>
scope</a>,
<a href="../../Ameba/AST/Variable.html#special?-instance-method" class="tooltip">
<span>special?</span>
special?</a>,
<a href="../../Ameba/AST/Variable.html#target_of?(assign)-instance-method" class="tooltip">
<span>target_of?(assign)</span>
target_of?</a>,
<a href="../../Ameba/AST/Variable.html#to_s(*args,**options)-instance-method" class="tooltip">
<span>to_s(*args, **options)<br/>to_s(*args, **options, &)</span>
to_s</a>,
<a href="../../Ameba/AST/Variable.html#used_in_macro?(scope=@scope)-instance-method" class="tooltip">
<span>used_in_macro?(scope = @scope)</span>
used_in_macro?</a>
<h3>Constructor methods inherited from class <code><a href="../../Ameba/AST/Variable.html">Ameba::AST::Variable</a></code></h3>
<a href="../../Ameba/AST/Variable.html#new(node,scope)-class-method" class="tooltip">
<span>new(node, scope)</span>
new</a>
</div>
<h2>
<a id="instance-method-detail" class="anchor" href="#instance-method-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Detail
</h2>
<div class="entry-detail" id="explicit=(explicit)-instance-method">
<div class="signature">
def <strong>explicit=</strong>(explicit)
<a class="method-permalink" href="#explicit=(explicit)-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="explicit?:Bool-instance-method">
<div class="signature">
def <strong>explicit?</strong> : Bool
<a class="method-permalink" href="#explicit?:Bool-instance-method">#</a>
</div>
<br/>
<div>
</div>
</div>
</div>
</body>
</html>

1491
Ameba/AST/Scope.html Normal file

File diff suppressed because it is too large Load diff

752
Ameba/AST/ScopeVisitor.html Normal file
View file

@ -0,0 +1,752 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Crystal Docs 0.35.1">
<meta name="crystal_docs.project_version" content="0.13.3-dev">
<meta name="crystal_docs.project_name" content="ameba">
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../js/doc.js"></script>
<meta name="repository-name" content="ameba">
<title>Ameba::AST::ScopeVisitor - ameba 0.13.3-dev</title>
<script type="text/javascript">
CrystalDocs.base_path = "../../";
</script>
</head>
<body>
<svg class="hidden">
<symbol id="octicon-link" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path>
</symbol>
</svg>
<div class="sidebar">
<div class="sidebar-header">
<div class="search-box">
<input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search">
</div>
<div class="project-summary">
<h1 class="project-name">
<a href="../../index.html">
ameba
</a>
</h1>
<span class="project-version">
0.13.3-dev
</span>
</div>
</div>
<div class="search-results hidden">
<ul class="search-list"></ul>
</div>
<div class="types-list">
<ul>
<li class="parent open current" data-id="ameba/Ameba" data-name="ameba">
<a href="../../Ameba.html">Ameba</a>
<ul>
<li class="parent open current" data-id="ameba/Ameba/AST" data-name="ameba::ast">
<a href="../../Ameba/AST.html">AST</a>
<ul>
<li class=" " data-id="ameba/Ameba/AST/Argument" data-name="ameba::ast::argument">
<a href="../../Ameba/AST/Argument.html">Argument</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Assignment" data-name="ameba::ast::assignment">
<a href="../../Ameba/AST/Assignment.html">Assignment</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/BaseVisitor" data-name="ameba::ast::basevisitor">
<a href="../../Ameba/AST/BaseVisitor.html">BaseVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branch" data-name="ameba::ast::branch">
<a href="../../Ameba/AST/Branch.html">Branch</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branchable" data-name="ameba::ast::branchable">
<a href="../../Ameba/AST/Branchable.html">Branchable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/CountingVisitor" data-name="ameba::ast::countingvisitor">
<a href="../../Ameba/AST/CountingVisitor.html">CountingVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpression" data-name="ameba::ast::flowexpression">
<a href="../../Ameba/AST/FlowExpression.html">FlowExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpressionVisitor" data-name="ameba::ast::flowexpressionvisitor">
<a href="../../Ameba/AST/FlowExpressionVisitor.html">FlowExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/InstanceVariable" data-name="ameba::ast::instancevariable">
<a href="../../Ameba/AST/InstanceVariable.html">InstanceVariable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/NodeVisitor" data-name="ameba::ast::nodevisitor">
<a href="../../Ameba/AST/NodeVisitor.html">NodeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/RedundantControlExpressionVisitor" data-name="ameba::ast::redundantcontrolexpressionvisitor">
<a href="../../Ameba/AST/RedundantControlExpressionVisitor.html">RedundantControlExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Reference" data-name="ameba::ast::reference">
<a href="../../Ameba/AST/Reference.html">Reference</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Scope" data-name="ameba::ast::scope">
<a href="../../Ameba/AST/Scope.html">Scope</a>
</li>
<li class=" current" data-id="ameba/Ameba/AST/ScopeVisitor" data-name="ameba::ast::scopevisitor">
<a href="../../Ameba/AST/ScopeVisitor.html">ScopeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Util" data-name="ameba::ast::util">
<a href="../../Ameba/AST/Util.html">Util</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Variable" data-name="ameba::ast::variable">
<a href="../../Ameba/AST/Variable.html">Variable</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Config" data-name="ameba::config">
<a href="../../Ameba/Config.html">Config</a>
</li>
<li class="parent " data-id="ameba/Ameba/Formatter" data-name="ameba::formatter">
<a href="../../Ameba/Formatter.html">Formatter</a>
<ul>
<li class=" " data-id="ameba/Ameba/Formatter/BaseFormatter" data-name="ameba::formatter::baseformatter">
<a href="../../Ameba/Formatter/BaseFormatter.html">BaseFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DisabledFormatter" data-name="ameba::formatter::disabledformatter">
<a href="../../Ameba/Formatter/DisabledFormatter.html">DisabledFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DotFormatter" data-name="ameba::formatter::dotformatter">
<a href="../../Ameba/Formatter/DotFormatter.html">DotFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/ExplainFormatter" data-name="ameba::formatter::explainformatter">
<a href="../../Ameba/Formatter/ExplainFormatter.html">ExplainFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/FlycheckFormatter" data-name="ameba::formatter::flycheckformatter">
<a href="../../Ameba/Formatter/FlycheckFormatter.html">FlycheckFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/JSONFormatter" data-name="ameba::formatter::jsonformatter">
<a href="../../Ameba/Formatter/JSONFormatter.html">JSONFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/TODOFormatter" data-name="ameba::formatter::todoformatter">
<a href="../../Ameba/Formatter/TODOFormatter.html">TODOFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/Util" data-name="ameba::formatter::util">
<a href="../../Ameba/Formatter/Util.html">Util</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/GlobUtils" data-name="ameba::globutils">
<a href="../../Ameba/GlobUtils.html">GlobUtils</a>
</li>
<li class="parent " data-id="ameba/Ameba/InlineComments" data-name="ameba::inlinecomments">
<a href="../../Ameba/InlineComments.html">InlineComments</a>
<ul>
<li class=" " data-id="ameba/Ameba/InlineComments/Action" data-name="ameba::inlinecomments::action">
<a href="../../Ameba/InlineComments/Action.html">Action</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Issue" data-name="ameba::issue">
<a href="../../Ameba/Issue.html">Issue</a>
</li>
<li class=" " data-id="ameba/Ameba/Reportable" data-name="ameba::reportable">
<a href="../../Ameba/Reportable.html">Reportable</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule" data-name="ameba::rule">
<a href="../../Ameba/Rule.html">Rule</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Base" data-name="ameba::rule::base">
<a href="../../Ameba/Rule/Base.html">Base</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Layout" data-name="ameba::rule::layout">
<a href="../../Ameba/Rule/Layout.html">Layout</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Layout/LineLength" data-name="ameba::rule::layout::linelength">
<a href="../../Ameba/Rule/Layout/LineLength.html">LineLength</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingBlankLines" data-name="ameba::rule::layout::trailingblanklines">
<a href="../../Ameba/Rule/Layout/TrailingBlankLines.html">TrailingBlankLines</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingWhitespace" data-name="ameba::rule::layout::trailingwhitespace">
<a href="../../Ameba/Rule/Layout/TrailingWhitespace.html">TrailingWhitespace</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Lint" data-name="ameba::rule::lint">
<a href="../../Ameba/Rule/Lint.html">Lint</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Lint/BadDirective" data-name="ameba::rule::lint::baddirective">
<a href="../../Ameba/Rule/Lint/BadDirective.html">BadDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ComparisonToBoolean" data-name="ameba::rule::lint::comparisontoboolean">
<a href="../../Ameba/Rule/Lint/ComparisonToBoolean.html">ComparisonToBoolean</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/DebuggerStatement" data-name="ameba::rule::lint::debuggerstatement">
<a href="../../Ameba/Rule/Lint/DebuggerStatement.html">DebuggerStatement</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyEnsure" data-name="ameba::rule::lint::emptyensure">
<a href="../../Ameba/Rule/Lint/EmptyEnsure.html">EmptyEnsure</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyExpression" data-name="ameba::rule::lint::emptyexpression">
<a href="../../Ameba/Rule/Lint/EmptyExpression.html">EmptyExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyLoop" data-name="ameba::rule::lint::emptyloop">
<a href="../../Ameba/Rule/Lint/EmptyLoop.html">EmptyLoop</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/HashDuplicatedKey" data-name="ameba::rule::lint::hashduplicatedkey">
<a href="../../Ameba/Rule/Lint/HashDuplicatedKey.html">HashDuplicatedKey</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInCondition" data-name="ameba::rule::lint::literalincondition">
<a href="../../Ameba/Rule/Lint/LiteralInCondition.html">LiteralInCondition</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInInterpolation" data-name="ameba::rule::lint::literalininterpolation">
<a href="../../Ameba/Rule/Lint/LiteralInInterpolation.html">LiteralInInterpolation</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/PercentArrays" data-name="ameba::rule::lint::percentarrays">
<a href="../../Ameba/Rule/Lint/PercentArrays.html">PercentArrays</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RandZero" data-name="ameba::rule::lint::randzero">
<a href="../../Ameba/Rule/Lint/RandZero.html">RandZero</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantStringCoercion" data-name="ameba::rule::lint::redundantstringcoercion">
<a href="../../Ameba/Rule/Lint/RedundantStringCoercion.html">RedundantStringCoercion</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithIndex" data-name="ameba::rule::lint::redundantwithindex">
<a href="../../Ameba/Rule/Lint/RedundantWithIndex.html">RedundantWithIndex</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithObject" data-name="ameba::rule::lint::redundantwithobject">
<a href="../../Ameba/Rule/Lint/RedundantWithObject.html">RedundantWithObject</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedArgument" data-name="ameba::rule::lint::shadowedargument">
<a href="../../Ameba/Rule/Lint/ShadowedArgument.html">ShadowedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedException" data-name="ameba::rule::lint::shadowedexception">
<a href="../../Ameba/Rule/Lint/ShadowedException.html">ShadowedException</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowingOuterLocalVar" data-name="ameba::rule::lint::shadowingouterlocalvar">
<a href="../../Ameba/Rule/Lint/ShadowingOuterLocalVar.html">ShadowingOuterLocalVar</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/SharedVarInFiber" data-name="ameba::rule::lint::sharedvarinfiber">
<a href="../../Ameba/Rule/Lint/SharedVarInFiber.html">SharedVarInFiber</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/Syntax" data-name="ameba::rule::lint::syntax">
<a href="../../Ameba/Rule/Lint/Syntax.html">Syntax</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnneededDisableDirective" data-name="ameba::rule::lint::unneededdisabledirective">
<a href="../../Ameba/Rule/Lint/UnneededDisableDirective.html">UnneededDisableDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnreachableCode" data-name="ameba::rule::lint::unreachablecode">
<a href="../../Ameba/Rule/Lint/UnreachableCode.html">UnreachableCode</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnusedArgument" data-name="ameba::rule::lint::unusedargument">
<a href="../../Ameba/Rule/Lint/UnusedArgument.html">UnusedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessAssign" data-name="ameba::rule::lint::uselessassign">
<a href="../../Ameba/Rule/Lint/UselessAssign.html">UselessAssign</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessConditionInWhen" data-name="ameba::rule::lint::uselessconditioninwhen">
<a href="../../Ameba/Rule/Lint/UselessConditionInWhen.html">UselessConditionInWhen</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Metrics" data-name="ameba::rule::metrics">
<a href="../../Ameba/Rule/Metrics.html">Metrics</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Metrics/CyclomaticComplexity" data-name="ameba::rule::metrics::cyclomaticcomplexity">
<a href="../../Ameba/Rule/Metrics/CyclomaticComplexity.html">CyclomaticComplexity</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Performance" data-name="ameba::rule::performance">
<a href="../../Ameba/Rule/Performance.html">Performance</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Performance/AnyAfterFilter" data-name="ameba::rule::performance::anyafterfilter">
<a href="../../Ameba/Rule/Performance/AnyAfterFilter.html">AnyAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/FirstLastAfterFilter" data-name="ameba::rule::performance::firstlastafterfilter">
<a href="../../Ameba/Rule/Performance/FirstLastAfterFilter.html">FirstLastAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/SizeAfterFilter" data-name="ameba::rule::performance::sizeafterfilter">
<a href="../../Ameba/Rule/Performance/SizeAfterFilter.html">SizeAfterFilter</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Style" data-name="ameba::rule::style">
<a href="../../Ameba/Rule/Style.html">Style</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Style/ConstantNames" data-name="ameba::rule::style::constantnames">
<a href="../../Ameba/Rule/Style/ConstantNames.html">ConstantNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/IsANil" data-name="ameba::rule::style::isanil">
<a href="../../Ameba/Rule/Style/IsANil.html">IsANil</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/LargeNumbers" data-name="ameba::rule::style::largenumbers">
<a href="../../Ameba/Rule/Style/LargeNumbers.html">LargeNumbers</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/MethodNames" data-name="ameba::rule::style::methodnames">
<a href="../../Ameba/Rule/Style/MethodNames.html">MethodNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/NegatedConditionsInUnless" data-name="ameba::rule::style::negatedconditionsinunless">
<a href="../../Ameba/Rule/Style/NegatedConditionsInUnless.html">NegatedConditionsInUnless</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/PredicateName" data-name="ameba::rule::style::predicatename">
<a href="../../Ameba/Rule/Style/PredicateName.html">PredicateName</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantBegin" data-name="ameba::rule::style::redundantbegin">
<a href="../../Ameba/Rule/Style/RedundantBegin.html">RedundantBegin</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantNext" data-name="ameba::rule::style::redundantnext">
<a href="../../Ameba/Rule/Style/RedundantNext.html">RedundantNext</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantReturn" data-name="ameba::rule::style::redundantreturn">
<a href="../../Ameba/Rule/Style/RedundantReturn.html">RedundantReturn</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/TypeNames" data-name="ameba::rule::style::typenames">
<a href="../../Ameba/Rule/Style/TypeNames.html">TypeNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/UnlessElse" data-name="ameba::rule::style::unlesselse">
<a href="../../Ameba/Rule/Style/UnlessElse.html">UnlessElse</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/VariableNames" data-name="ameba::rule::style::variablenames">
<a href="../../Ameba/Rule/Style/VariableNames.html">VariableNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/WhileTrue" data-name="ameba::rule::style::whiletrue">
<a href="../../Ameba/Rule/Style/WhileTrue.html">WhileTrue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Runner" data-name="ameba::runner">
<a href="../../Ameba/Runner.html">Runner</a>
</li>
<li class=" " data-id="ameba/Ameba/Severity" data-name="ameba::severity">
<a href="../../Ameba/Severity.html">Severity</a>
</li>
<li class=" " data-id="ameba/Ameba/SeverityYamlConverter" data-name="ameba::severityyamlconverter">
<a href="../../Ameba/SeverityYamlConverter.html">SeverityYamlConverter</a>
</li>
<li class=" " data-id="ameba/Ameba/Source" data-name="ameba::source">
<a href="../../Ameba/Source.html">Source</a>
</li>
<li class=" " data-id="ameba/Ameba/Tokenizer" data-name="ameba::tokenizer">
<a href="../../Ameba/Tokenizer.html">Tokenizer</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="main-content">
<h1 class="type-name">
<span class="kind">class</span> Ameba::AST::ScopeVisitor
</h1>
<ul class="superclass-hierarchy"><li class="superclass"><a href="../../Ameba/AST/ScopeVisitor.html">Ameba::AST::ScopeVisitor</a></li><li class="superclass"><a href="../../Ameba/AST/BaseVisitor.html">Ameba::AST::BaseVisitor</a></li><li class="superclass">Crystal::Visitor</li><li class="superclass">Reference</li><li class="superclass">Object</li></ul>
<h2>
<a id="overview" class="anchor" href="#overview">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Overview
</h2>
<p>AST Visitor that traverses the source and constructs scopes.</p>
<h2>
<a id="defined-in" class="anchor" href="#defined-in">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Defined in:
</h2>
<h2>
<a id="constant-summary" class="anchor" href="#constant-summary">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constant Summary
</h2>
<dl>
<dt class="entry-const" id="RECORD_NODE_NAME">
<strong>RECORD_NODE_NAME</strong> = <code><span class="s">&quot;record&quot;</span></code>
</dt>
<dt class="entry-const" id="SUPER_NODE_NAME">
<strong>SUPER_NODE_NAME</strong> = <code><span class="s">&quot;super&quot;</span></code>
</dt>
</dl>
<h2>
<a id="constructors" class="anchor" href="#constructors">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructors
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#new(rule,source)-class-method" class="signature"><strong>.new</strong>(rule, source)</a>
</li>
</ul>
<div class="methods-inherited">
<h3>Instance methods inherited from class <code><a href="../../Ameba/AST/BaseVisitor.html">Ameba::AST::BaseVisitor</a></code></h3>
<a href="../../Ameba/AST/BaseVisitor.html#visit(node:Crystal::ASTNode)-instance-method" class="tooltip">
<span>visit(node : Crystal::ASTNode)</span>
visit</a>
<h3>Constructor methods inherited from class <code><a href="../../Ameba/AST/BaseVisitor.html">Ameba::AST::BaseVisitor</a></code></h3>
<a href="../../Ameba/AST/BaseVisitor.html#new(rule,source)-class-method" class="tooltip">
<span>new(rule, source)</span>
new</a>
</div>
<h2>
<a id="constructor-detail" class="anchor" href="#constructor-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Constructor Detail
</h2>
<div class="entry-detail" id="new(rule,source)-class-method">
<div class="signature">
def self.<strong>new</strong>(rule, source)
<a class="method-permalink" href="#new(rule,source)-class-method">#</a>
</div>
<br/>
<div>
</div>
</div>
</div>
</body>
</html>

913
Ameba/AST/Util.html Normal file
View file

@ -0,0 +1,913 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Crystal Docs 0.35.1">
<meta name="crystal_docs.project_version" content="0.13.3-dev">
<meta name="crystal_docs.project_name" content="ameba">
<link href="../../css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../js/doc.js"></script>
<meta name="repository-name" content="ameba">
<title>Ameba::AST::Util - ameba 0.13.3-dev</title>
<script type="text/javascript">
CrystalDocs.base_path = "../../";
</script>
</head>
<body>
<svg class="hidden">
<symbol id="octicon-link" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path>
</symbol>
</svg>
<div class="sidebar">
<div class="sidebar-header">
<div class="search-box">
<input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search">
</div>
<div class="project-summary">
<h1 class="project-name">
<a href="../../index.html">
ameba
</a>
</h1>
<span class="project-version">
0.13.3-dev
</span>
</div>
</div>
<div class="search-results hidden">
<ul class="search-list"></ul>
</div>
<div class="types-list">
<ul>
<li class="parent open current" data-id="ameba/Ameba" data-name="ameba">
<a href="../../Ameba.html">Ameba</a>
<ul>
<li class="parent open current" data-id="ameba/Ameba/AST" data-name="ameba::ast">
<a href="../../Ameba/AST.html">AST</a>
<ul>
<li class=" " data-id="ameba/Ameba/AST/Argument" data-name="ameba::ast::argument">
<a href="../../Ameba/AST/Argument.html">Argument</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Assignment" data-name="ameba::ast::assignment">
<a href="../../Ameba/AST/Assignment.html">Assignment</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/BaseVisitor" data-name="ameba::ast::basevisitor">
<a href="../../Ameba/AST/BaseVisitor.html">BaseVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branch" data-name="ameba::ast::branch">
<a href="../../Ameba/AST/Branch.html">Branch</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Branchable" data-name="ameba::ast::branchable">
<a href="../../Ameba/AST/Branchable.html">Branchable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/CountingVisitor" data-name="ameba::ast::countingvisitor">
<a href="../../Ameba/AST/CountingVisitor.html">CountingVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpression" data-name="ameba::ast::flowexpression">
<a href="../../Ameba/AST/FlowExpression.html">FlowExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/FlowExpressionVisitor" data-name="ameba::ast::flowexpressionvisitor">
<a href="../../Ameba/AST/FlowExpressionVisitor.html">FlowExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/InstanceVariable" data-name="ameba::ast::instancevariable">
<a href="../../Ameba/AST/InstanceVariable.html">InstanceVariable</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/NodeVisitor" data-name="ameba::ast::nodevisitor">
<a href="../../Ameba/AST/NodeVisitor.html">NodeVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/RedundantControlExpressionVisitor" data-name="ameba::ast::redundantcontrolexpressionvisitor">
<a href="../../Ameba/AST/RedundantControlExpressionVisitor.html">RedundantControlExpressionVisitor</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Reference" data-name="ameba::ast::reference">
<a href="../../Ameba/AST/Reference.html">Reference</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Scope" data-name="ameba::ast::scope">
<a href="../../Ameba/AST/Scope.html">Scope</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/ScopeVisitor" data-name="ameba::ast::scopevisitor">
<a href="../../Ameba/AST/ScopeVisitor.html">ScopeVisitor</a>
</li>
<li class=" current" data-id="ameba/Ameba/AST/Util" data-name="ameba::ast::util">
<a href="../../Ameba/AST/Util.html">Util</a>
</li>
<li class=" " data-id="ameba/Ameba/AST/Variable" data-name="ameba::ast::variable">
<a href="../../Ameba/AST/Variable.html">Variable</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Config" data-name="ameba::config">
<a href="../../Ameba/Config.html">Config</a>
</li>
<li class="parent " data-id="ameba/Ameba/Formatter" data-name="ameba::formatter">
<a href="../../Ameba/Formatter.html">Formatter</a>
<ul>
<li class=" " data-id="ameba/Ameba/Formatter/BaseFormatter" data-name="ameba::formatter::baseformatter">
<a href="../../Ameba/Formatter/BaseFormatter.html">BaseFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DisabledFormatter" data-name="ameba::formatter::disabledformatter">
<a href="../../Ameba/Formatter/DisabledFormatter.html">DisabledFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/DotFormatter" data-name="ameba::formatter::dotformatter">
<a href="../../Ameba/Formatter/DotFormatter.html">DotFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/ExplainFormatter" data-name="ameba::formatter::explainformatter">
<a href="../../Ameba/Formatter/ExplainFormatter.html">ExplainFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/FlycheckFormatter" data-name="ameba::formatter::flycheckformatter">
<a href="../../Ameba/Formatter/FlycheckFormatter.html">FlycheckFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/JSONFormatter" data-name="ameba::formatter::jsonformatter">
<a href="../../Ameba/Formatter/JSONFormatter.html">JSONFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/TODOFormatter" data-name="ameba::formatter::todoformatter">
<a href="../../Ameba/Formatter/TODOFormatter.html">TODOFormatter</a>
</li>
<li class=" " data-id="ameba/Ameba/Formatter/Util" data-name="ameba::formatter::util">
<a href="../../Ameba/Formatter/Util.html">Util</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/GlobUtils" data-name="ameba::globutils">
<a href="../../Ameba/GlobUtils.html">GlobUtils</a>
</li>
<li class="parent " data-id="ameba/Ameba/InlineComments" data-name="ameba::inlinecomments">
<a href="../../Ameba/InlineComments.html">InlineComments</a>
<ul>
<li class=" " data-id="ameba/Ameba/InlineComments/Action" data-name="ameba::inlinecomments::action">
<a href="../../Ameba/InlineComments/Action.html">Action</a>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Issue" data-name="ameba::issue">
<a href="../../Ameba/Issue.html">Issue</a>
</li>
<li class=" " data-id="ameba/Ameba/Reportable" data-name="ameba::reportable">
<a href="../../Ameba/Reportable.html">Reportable</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule" data-name="ameba::rule">
<a href="../../Ameba/Rule.html">Rule</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Base" data-name="ameba::rule::base">
<a href="../../Ameba/Rule/Base.html">Base</a>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Layout" data-name="ameba::rule::layout">
<a href="../../Ameba/Rule/Layout.html">Layout</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Layout/LineLength" data-name="ameba::rule::layout::linelength">
<a href="../../Ameba/Rule/Layout/LineLength.html">LineLength</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingBlankLines" data-name="ameba::rule::layout::trailingblanklines">
<a href="../../Ameba/Rule/Layout/TrailingBlankLines.html">TrailingBlankLines</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Layout/TrailingWhitespace" data-name="ameba::rule::layout::trailingwhitespace">
<a href="../../Ameba/Rule/Layout/TrailingWhitespace.html">TrailingWhitespace</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Lint" data-name="ameba::rule::lint">
<a href="../../Ameba/Rule/Lint.html">Lint</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Lint/BadDirective" data-name="ameba::rule::lint::baddirective">
<a href="../../Ameba/Rule/Lint/BadDirective.html">BadDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ComparisonToBoolean" data-name="ameba::rule::lint::comparisontoboolean">
<a href="../../Ameba/Rule/Lint/ComparisonToBoolean.html">ComparisonToBoolean</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/DebuggerStatement" data-name="ameba::rule::lint::debuggerstatement">
<a href="../../Ameba/Rule/Lint/DebuggerStatement.html">DebuggerStatement</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyEnsure" data-name="ameba::rule::lint::emptyensure">
<a href="../../Ameba/Rule/Lint/EmptyEnsure.html">EmptyEnsure</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyExpression" data-name="ameba::rule::lint::emptyexpression">
<a href="../../Ameba/Rule/Lint/EmptyExpression.html">EmptyExpression</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/EmptyLoop" data-name="ameba::rule::lint::emptyloop">
<a href="../../Ameba/Rule/Lint/EmptyLoop.html">EmptyLoop</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/HashDuplicatedKey" data-name="ameba::rule::lint::hashduplicatedkey">
<a href="../../Ameba/Rule/Lint/HashDuplicatedKey.html">HashDuplicatedKey</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInCondition" data-name="ameba::rule::lint::literalincondition">
<a href="../../Ameba/Rule/Lint/LiteralInCondition.html">LiteralInCondition</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/LiteralInInterpolation" data-name="ameba::rule::lint::literalininterpolation">
<a href="../../Ameba/Rule/Lint/LiteralInInterpolation.html">LiteralInInterpolation</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/PercentArrays" data-name="ameba::rule::lint::percentarrays">
<a href="../../Ameba/Rule/Lint/PercentArrays.html">PercentArrays</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RandZero" data-name="ameba::rule::lint::randzero">
<a href="../../Ameba/Rule/Lint/RandZero.html">RandZero</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantStringCoercion" data-name="ameba::rule::lint::redundantstringcoercion">
<a href="../../Ameba/Rule/Lint/RedundantStringCoercion.html">RedundantStringCoercion</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithIndex" data-name="ameba::rule::lint::redundantwithindex">
<a href="../../Ameba/Rule/Lint/RedundantWithIndex.html">RedundantWithIndex</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/RedundantWithObject" data-name="ameba::rule::lint::redundantwithobject">
<a href="../../Ameba/Rule/Lint/RedundantWithObject.html">RedundantWithObject</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedArgument" data-name="ameba::rule::lint::shadowedargument">
<a href="../../Ameba/Rule/Lint/ShadowedArgument.html">ShadowedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowedException" data-name="ameba::rule::lint::shadowedexception">
<a href="../../Ameba/Rule/Lint/ShadowedException.html">ShadowedException</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/ShadowingOuterLocalVar" data-name="ameba::rule::lint::shadowingouterlocalvar">
<a href="../../Ameba/Rule/Lint/ShadowingOuterLocalVar.html">ShadowingOuterLocalVar</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/SharedVarInFiber" data-name="ameba::rule::lint::sharedvarinfiber">
<a href="../../Ameba/Rule/Lint/SharedVarInFiber.html">SharedVarInFiber</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/Syntax" data-name="ameba::rule::lint::syntax">
<a href="../../Ameba/Rule/Lint/Syntax.html">Syntax</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnneededDisableDirective" data-name="ameba::rule::lint::unneededdisabledirective">
<a href="../../Ameba/Rule/Lint/UnneededDisableDirective.html">UnneededDisableDirective</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnreachableCode" data-name="ameba::rule::lint::unreachablecode">
<a href="../../Ameba/Rule/Lint/UnreachableCode.html">UnreachableCode</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UnusedArgument" data-name="ameba::rule::lint::unusedargument">
<a href="../../Ameba/Rule/Lint/UnusedArgument.html">UnusedArgument</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessAssign" data-name="ameba::rule::lint::uselessassign">
<a href="../../Ameba/Rule/Lint/UselessAssign.html">UselessAssign</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Lint/UselessConditionInWhen" data-name="ameba::rule::lint::uselessconditioninwhen">
<a href="../../Ameba/Rule/Lint/UselessConditionInWhen.html">UselessConditionInWhen</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Metrics" data-name="ameba::rule::metrics">
<a href="../../Ameba/Rule/Metrics.html">Metrics</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Metrics/CyclomaticComplexity" data-name="ameba::rule::metrics::cyclomaticcomplexity">
<a href="../../Ameba/Rule/Metrics/CyclomaticComplexity.html">CyclomaticComplexity</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Performance" data-name="ameba::rule::performance">
<a href="../../Ameba/Rule/Performance.html">Performance</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Performance/AnyAfterFilter" data-name="ameba::rule::performance::anyafterfilter">
<a href="../../Ameba/Rule/Performance/AnyAfterFilter.html">AnyAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/FirstLastAfterFilter" data-name="ameba::rule::performance::firstlastafterfilter">
<a href="../../Ameba/Rule/Performance/FirstLastAfterFilter.html">FirstLastAfterFilter</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Performance/SizeAfterFilter" data-name="ameba::rule::performance::sizeafterfilter">
<a href="../../Ameba/Rule/Performance/SizeAfterFilter.html">SizeAfterFilter</a>
</li>
</ul>
</li>
<li class="parent " data-id="ameba/Ameba/Rule/Style" data-name="ameba::rule::style">
<a href="../../Ameba/Rule/Style.html">Style</a>
<ul>
<li class=" " data-id="ameba/Ameba/Rule/Style/ConstantNames" data-name="ameba::rule::style::constantnames">
<a href="../../Ameba/Rule/Style/ConstantNames.html">ConstantNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/IsANil" data-name="ameba::rule::style::isanil">
<a href="../../Ameba/Rule/Style/IsANil.html">IsANil</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/LargeNumbers" data-name="ameba::rule::style::largenumbers">
<a href="../../Ameba/Rule/Style/LargeNumbers.html">LargeNumbers</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/MethodNames" data-name="ameba::rule::style::methodnames">
<a href="../../Ameba/Rule/Style/MethodNames.html">MethodNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/NegatedConditionsInUnless" data-name="ameba::rule::style::negatedconditionsinunless">
<a href="../../Ameba/Rule/Style/NegatedConditionsInUnless.html">NegatedConditionsInUnless</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/PredicateName" data-name="ameba::rule::style::predicatename">
<a href="../../Ameba/Rule/Style/PredicateName.html">PredicateName</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantBegin" data-name="ameba::rule::style::redundantbegin">
<a href="../../Ameba/Rule/Style/RedundantBegin.html">RedundantBegin</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantNext" data-name="ameba::rule::style::redundantnext">
<a href="../../Ameba/Rule/Style/RedundantNext.html">RedundantNext</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/RedundantReturn" data-name="ameba::rule::style::redundantreturn">
<a href="../../Ameba/Rule/Style/RedundantReturn.html">RedundantReturn</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/TypeNames" data-name="ameba::rule::style::typenames">
<a href="../../Ameba/Rule/Style/TypeNames.html">TypeNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/UnlessElse" data-name="ameba::rule::style::unlesselse">
<a href="../../Ameba/Rule/Style/UnlessElse.html">UnlessElse</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/VariableNames" data-name="ameba::rule::style::variablenames">
<a href="../../Ameba/Rule/Style/VariableNames.html">VariableNames</a>
</li>
<li class=" " data-id="ameba/Ameba/Rule/Style/WhileTrue" data-name="ameba::rule::style::whiletrue">
<a href="../../Ameba/Rule/Style/WhileTrue.html">WhileTrue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class=" " data-id="ameba/Ameba/Runner" data-name="ameba::runner">
<a href="../../Ameba/Runner.html">Runner</a>
</li>
<li class=" " data-id="ameba/Ameba/Severity" data-name="ameba::severity">
<a href="../../Ameba/Severity.html">Severity</a>
</li>
<li class=" " data-id="ameba/Ameba/SeverityYamlConverter" data-name="ameba::severityyamlconverter">
<a href="../../Ameba/SeverityYamlConverter.html">SeverityYamlConverter</a>
</li>
<li class=" " data-id="ameba/Ameba/Source" data-name="ameba::source">
<a href="../../Ameba/Source.html">Source</a>
</li>
<li class=" " data-id="ameba/Ameba/Tokenizer" data-name="ameba::tokenizer">
<a href="../../Ameba/Tokenizer.html">Tokenizer</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="main-content">
<h1 class="type-name">
<span class="kind">module</span> Ameba::AST::Util
</h1>
<h2>
<a id="overview" class="anchor" href="#overview">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Overview
</h2>
<p>Utility module for Ameba's rules.</p>
<h2>
<a id="direct-including-types" class="anchor" href="#direct-including-types">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Direct including types
</h2>
<ul class="other-types-list">
<li class="other-type"><a href="../../Ameba/AST/Branchable.html">Ameba::AST::Branchable</a></li>
<li class="other-type"><a href="../../Ameba/AST/FlowExpression.html">Ameba::AST::FlowExpression</a></li>
<li class="other-type"><a href="../../Ameba/AST/FlowExpressionVisitor.html">Ameba::AST::FlowExpressionVisitor</a></li>
<li class="other-type"><a href="../../Ameba/Rule/Lint/EmptyExpression.html">Ameba::Rule::Lint::EmptyExpression</a></li>
<li class="other-type"><a href="../../Ameba/Rule/Lint/EmptyLoop.html">Ameba::Rule::Lint::EmptyLoop</a></li>
<li class="other-type"><a href="../../Ameba/Rule/Lint/LiteralInCondition.html">Ameba::Rule::Lint::LiteralInCondition</a></li>
<li class="other-type"><a href="../../Ameba/Rule/Lint/LiteralInInterpolation.html">Ameba::Rule::Lint::LiteralInInterpolation</a></li>
<li class="other-type"><a href="../../Ameba/Rule/Lint/RedundantStringCoercion.html">Ameba::Rule::Lint::RedundantStringCoercion</a></li>
<li class="other-type"><a href="../../Ameba/Rule/Lint/UnreachableCode.html">Ameba::Rule::Lint::UnreachableCode</a></li>
<li class="other-type"><a href="../../Ameba/Rule/Style/RedundantBegin.html">Ameba::Rule::Style::RedundantBegin</a></li>
</ul>
<h2>
<a id="defined-in" class="anchor" href="#defined-in">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Defined in:
</h2>
<h2>
<a id="instance-method-summary" class="anchor" href="#instance-method-summary">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Summary
</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#abort?(node)-instance-method" class="signature"><strong>#abort?</strong>(node)</a>
<div class="summary"><p>Returns true if node represents <code>abort</code> method call.</p></div>
</li>
<li class="entry-summary">
<a href="#exit?(node)-instance-method" class="signature"><strong>#exit?</strong>(node)</a>
<div class="summary"><p>Returns true if node represents <code>exit</code> method call.</p></div>
</li>
<li class="entry-summary">
<a href="#flow_command?(node,in_loop)-instance-method" class="signature"><strong>#flow_command?</strong>(node, in_loop)</a>
<div class="summary"><p>Returns true if node is a flow command, false - otherwise.</p></div>
</li>
<li class="entry-summary">
<a href="#flow_expression?(node,in_loop=false)-instance-method" class="signature"><strong>#flow_expression?</strong>(node, in_loop = <span class="n">false</span>)</a>
<div class="summary"><p>Returns true if node is a flow expression, false if not.</p></div>
</li>
<li class="entry-summary">
<a href="#literal?(node)-instance-method" class="signature"><strong>#literal?</strong>(node)</a>
<div class="summary"><p>Returns true if current <code>node</code> is a literal, false otherwise.</p></div>
</li>
<li class="entry-summary">
<a href="#loop?(node)-instance-method" class="signature"><strong>#loop?</strong>(node)</a>
<div class="summary"><p>Returns true if node represents a loop.</p></div>
</li>
<li class="entry-summary">
<a href="#node_source(node,code_lines)-instance-method" class="signature"><strong>#node_source</strong>(node, code_lines)</a>
<div class="summary"><p>Returns a source code for the current node.</p></div>
</li>
<li class="entry-summary">
<a href="#raise?(node)-instance-method" class="signature"><strong>#raise?</strong>(node)</a>
<div class="summary"><p>Returns true if node represents <code>raise</code> method call.</p></div>
</li>
</ul>
<div class="methods-inherited">
</div>
<h2>
<a id="instance-method-detail" class="anchor" href="#instance-method-detail">
<svg class="octicon-link" aria-hidden="true">
<use href="#octicon-link"/>
</svg>
</a>
Instance Method Detail
</h2>
<div class="entry-detail" id="abort?(node)-instance-method">
<div class="signature">
def <strong>abort?</strong>(node)
<a class="method-permalink" href="#abort?(node)-instance-method">#</a>
</div>
<div class="doc">
<p>Returns true if node represents <code>abort</code> method call.</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="exit?(node)-instance-method">
<div class="signature">
def <strong>exit?</strong>(node)
<a class="method-permalink" href="#exit?(node)-instance-method">#</a>
</div>
<div class="doc">
<p>Returns true if node represents <code>exit</code> method call.</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="flow_command?(node,in_loop)-instance-method">
<div class="signature">
def <strong>flow_command?</strong>(node, in_loop)
<a class="method-permalink" href="#flow_command?(node,in_loop)-instance-method">#</a>
</div>
<div class="doc">
<p>Returns true if node is a flow command, false - otherwise.
Node represents a flow command if it is a control expression,
or special call node that interrupts execution (i.e. raise, exit, abort).</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="flow_expression?(node,in_loop=false)-instance-method">
<div class="signature">
def <strong>flow_expression?</strong>(node, in_loop = <span class="n">false</span>)
<a class="method-permalink" href="#flow_expression?(node,in_loop=false)-instance-method">#</a>
</div>
<div class="doc">
<p>Returns true if node is a flow expression, false if not.
Node represents a flow expression if it is full-filled by a flow command.</p>
<p>For example, this node is a flow expression, because each branch contains
a flow command <code>return</code>:</p>
<pre><code class="language-crystal"><span class="k">if</span> a <span class="o">&gt;</span> <span class="n">0</span>
<span class="k">return</span> <span class="n">:positive</span>
<span class="k">elsif</span> a <span class="o">&lt;</span> <span class="n">0</span>
<span class="k">return</span> <span class="n">:negative</span>
<span class="k">else</span>
<span class="k">return</span> <span class="n">:zero</span>
<span class="k">end</span></code></pre>
<p>This node is a not a flow expression:</p>
<pre><code class="language-crystal"><span class="k">if</span> a <span class="o">&gt;</span> <span class="n">0</span>
<span class="k">return</span> <span class="n">:positive</span>
<span class="k">end</span></code></pre>
<p>That's because not all branches return(i.e. <code>else</code> is missing).</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="literal?(node)-instance-method">
<div class="signature">
def <strong>literal?</strong>(node)
<a class="method-permalink" href="#literal?(node)-instance-method">#</a>
</div>
<div class="doc">
<p>Returns true if current <code>node</code> is a literal, false otherwise.</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="loop?(node)-instance-method">
<div class="signature">
def <strong>loop?</strong>(node)
<a class="method-permalink" href="#loop?(node)-instance-method">#</a>
</div>
<div class="doc">
<p>Returns true if node represents a loop.</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="node_source(node,code_lines)-instance-method">
<div class="signature">
def <strong>node_source</strong>(node, code_lines)
<a class="method-permalink" href="#node_source(node,code_lines)-instance-method">#</a>
</div>
<div class="doc">
<p>Returns a source code for the current node.
This method uses <code>node.location</code> and <code>node.end_location</code>
to determine and cut a piece of source of the node.</p>
</div>
<br/>
<div>
</div>
</div>
<div class="entry-detail" id="raise?(node)-instance-method">
<div class="signature">
def <strong>raise?</strong>(node)
<a class="method-permalink" href="#raise?(node)-instance-method">#</a>
</div>
<div class="doc">
<p>Returns true if node represents <code>raise</code> method call.</p>
</div>
<br/>
<div>
</div>
</div>
</div>
</body>
</html>

1334
Ameba/AST/Variable.html Normal file

File diff suppressed because it is too large Load diff