2021-01-11 14:49:07 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
2022-03-08 11:21:07 +00:00
< meta name = "generator" content = "Crystal Docs 1.2.2" >
2021-01-12 10:04:15 +00:00
< meta name = "crystal_docs.project_version" content = "master" >
2021-01-11 14:49:07 +00:00
< meta name = "crystal_docs.project_name" content = "ameba" >
2021-01-31 14:41:59 +00:00
2021-01-11 14:49:07 +00:00
< link href = "../../css/style.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "../../js/doc.js" > < / script >
2021-01-31 14:41:59 +00:00
< meta name = "repository-name" content = "ameba" >
2021-01-12 10:04:15 +00:00
< title > Ameba::AST::Variable - ameba master< / title >
2021-01-11 14:49:07 +00:00
< script type = "text/javascript" >
CrystalDocs.base_path = "../../";
< / script >
< / head >
< body >
2021-01-31 14:41:59 +00:00
< 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 >
2021-01-11 14:49:07 +00:00
< 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" >
2021-01-12 10:04:15 +00:00
master
2021-01-11 14:49:07 +00:00
< / span >
< / div >
< / div >
2021-01-31 14:41:59 +00:00
< div class = "search-results hidden" >
2021-01-11 14:49:07 +00:00
< ul class = "search-list" > < / ul >
< / div >
< div class = "types-list" >
< ul >
2021-11-16 21:31:29 +00:00
< li class = " " data-id = "ameba/toplevel" data-name = "top level namespace" >
< a href = "../../toplevel.html" > Top Level Namespace< / a >
< / li >
2021-01-11 14:49:07 +00:00
< 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 >
2021-02-24 08:11:10 +00:00
< li class = " " data-id = "ameba/Ameba/AST/TopLevelNodesVisitor" data-name = "ameba::ast::toplevelnodesvisitor" >
< a href = "../../Ameba/AST/TopLevelNodesVisitor.html" > TopLevelNodesVisitor< / a >
< / li >
2021-01-11 14:49:07 +00:00
< li class = " " data-id = "ameba/Ameba/AST/Util" data-name = "ameba::ast::util" >
< a href = "../../Ameba/AST/Util.html" > Util< / a >
< / li >
< li class = " current" 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 >
2021-11-16 21:31:29 +00:00
< li class = "parent " data-id = "ameba/Ameba/Ext" data-name = "ameba::ext" >
< a href = "../../Ameba/Ext.html" > Ext< / a >
< ul >
< li class = " " data-id = "ameba/Ameba/Ext/Location" data-name = "ameba::ext::location" >
< a href = "../../Ameba/Ext/Location.html" > Location< / a >
< / li >
< / ul >
< / li >
2021-01-11 14:49:07 +00:00
< 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 >
2021-02-24 08:11:10 +00:00
< li class = "parent " data-id = "ameba/Ameba/Issue" data-name = "ameba::issue" >
2021-01-11 14:49:07 +00:00
< a href = "../../Ameba/Issue.html" > Issue< / a >
2021-02-24 08:11:10 +00:00
< ul >
< li class = " " data-id = "ameba/Ameba/Issue/Status" data-name = "ameba::issue::status" >
< a href = "../../Ameba/Issue/Status.html" > Status< / a >
< / li >
< / ul >
2021-01-11 14:49:07 +00:00
< / 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 >
2021-10-19 09:45:33 +00:00
< li class = " " data-id = "ameba/Ameba/Rule/Lint/AmbiguousAssignment" data-name = "ameba::rule::lint::ambiguousassignment" >
< a href = "../../Ameba/Rule/Lint/AmbiguousAssignment.html" > AmbiguousAssignment< / a >
< / li >
2021-01-11 14:49:07 +00:00
< 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 >
2021-12-31 17:40:58 +00:00
< li class = " " data-id = "ameba/Ameba/Rule/Lint/DebugCalls" data-name = "ameba::rule::lint::debugcalls" >
< a href = "../../Ameba/Rule/Lint/DebugCalls.html" > DebugCalls< / a >
< / li >
2021-01-11 14:49:07 +00:00
< 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 >
2021-02-24 08:11:10 +00:00
< li class = " " data-id = "ameba/Ameba/Rule/Lint/DuplicatedRequire" data-name = "ameba::rule::lint::duplicatedrequire" >
< a href = "../../Ameba/Rule/Lint/DuplicatedRequire.html" > DuplicatedRequire< / a >
< / li >
2021-01-11 14:49:07 +00:00
< 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 >
2021-02-24 08:11:10 +00:00
< li class = " " data-id = "ameba/Ameba/Rule/Lint/SpecFocus" data-name = "ameba::rule::lint::specfocus" >
< a href = "../../Ameba/Rule/Lint/SpecFocus.html" > SpecFocus< / a >
< / li >
2021-01-11 14:49:07 +00:00
< 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 >
2021-02-24 08:11:10 +00:00
< li class = " " data-id = "ameba/Ameba/Rule/Performance/AnyInsteadOfEmpty" data-name = "ameba::rule::performance::anyinsteadofempty" >
< a href = "../../Ameba/Rule/Performance/AnyInsteadOfEmpty.html" > AnyInsteadOfEmpty< / a >
< / li >
2021-04-18 06:42:29 +00:00
< li class = " " data-id = "ameba/Ameba/Rule/Performance/Base" data-name = "ameba::rule::performance::base" >
< a href = "../../Ameba/Rule/Performance/Base.html" > Base< / a >
< / li >
2021-02-24 08:11:10 +00:00
< li class = " " data-id = "ameba/Ameba/Rule/Performance/ChainedCallWithNoBang" data-name = "ameba::rule::performance::chainedcallwithnobang" >
< a href = "../../Ameba/Rule/Performance/ChainedCallWithNoBang.html" > ChainedCallWithNoBang< / a >
< / li >
< li class = " " data-id = "ameba/Ameba/Rule/Performance/CompactAfterMap" data-name = "ameba::rule::performance::compactaftermap" >
< a href = "../../Ameba/Rule/Performance/CompactAfterMap.html" > CompactAfterMap< / a >
< / li >
2021-01-11 14:49:07 +00:00
< 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 >
2021-02-24 08:11:10 +00:00
< li class = " " data-id = "ameba/Ameba/Rule/Performance/FlattenAfterMap" data-name = "ameba::rule::performance::flattenaftermap" >
< a href = "../../Ameba/Rule/Performance/FlattenAfterMap.html" > FlattenAfterMap< / a >
< / li >
< li class = " " data-id = "ameba/Ameba/Rule/Performance/MapInsteadOfBlock" data-name = "ameba::rule::performance::mapinsteadofblock" >
< a href = "../../Ameba/Rule/Performance/MapInsteadOfBlock.html" > MapInsteadOfBlock< / a >
< / li >
2021-01-11 14:49:07 +00:00
< 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 >
2021-12-09 20:34:45 +00:00
< li class = " " data-id = "ameba/Ameba/Rule/Style/GuardClause" data-name = "ameba::rule::style::guardclause" >
< a href = "../../Ameba/Rule/Style/GuardClause.html" > GuardClause< / a >
< / li >
2021-02-24 08:11:10 +00:00
< li class = " " data-id = "ameba/Ameba/Rule/Style/IsAFilter" data-name = "ameba::rule::style::isafilter" >
< a href = "../../Ameba/Rule/Style/IsAFilter.html" > IsAFilter< / a >
< / li >
2021-01-11 14:49:07 +00:00
< 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 >
2021-02-24 08:11:10 +00:00
< li class = " " data-id = "ameba/Ameba/Rule/Style/VerboseBlock" data-name = "ameba::rule::style::verboseblock" >
< a href = "../../Ameba/Rule/Style/VerboseBlock.html" > VerboseBlock< / a >
< / li >
2021-01-11 14:49:07 +00:00
< 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 >
2021-11-01 19:25:45 +00:00
< li class = "parent " data-id = "ameba/Ameba/Runner" data-name = "ameba::runner" >
2021-01-11 14:49:07 +00:00
< a href = "../../Ameba/Runner.html" > Runner< / a >
2021-11-01 19:25:45 +00:00
< ul >
< li class = " " data-id = "ameba/Ameba/Runner/InfiniteCorrectionLoopError" data-name = "ameba::runner::infinitecorrectionlooperror" >
< a href = "../../Ameba/Runner/InfiniteCorrectionLoopError.html" > InfiniteCorrectionLoopError< / a >
< / li >
< / ul >
2021-01-11 14:49:07 +00:00
< / 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 >
2021-11-01 19:25:45 +00:00
< li class = "parent " data-id = "ameba/Ameba/Source" data-name = "ameba::source" >
2021-01-11 14:49:07 +00:00
< a href = "../../Ameba/Source.html" > Source< / a >
2021-11-01 19:25:45 +00:00
< ul >
< li class = " " data-id = "ameba/Ameba/Source/Corrector" data-name = "ameba::source::corrector" >
< a href = "../../Ameba/Source/Corrector.html" > Corrector< / a >
< / li >
< li class = " " data-id = "ameba/Ameba/Source/Rewriter" data-name = "ameba::source::rewriter" >
< a href = "../../Ameba/Source/Rewriter.html" > Rewriter< / a >
< / li >
< / ul >
2021-01-11 14:49:07 +00:00
< / li >
2021-10-22 17:56:12 +00:00
< li class = "parent " data-id = "ameba/Ameba/Spec" data-name = "ameba::spec" >
< a href = "../../Ameba/Spec.html" > Spec< / a >
< ul >
< li class = " " data-id = "ameba/Ameba/Spec/AnnotatedSource" data-name = "ameba::spec::annotatedsource" >
< a href = "../../Ameba/Spec/AnnotatedSource.html" > AnnotatedSource< / a >
< / li >
< li class = " " data-id = "ameba/Ameba/Spec/BeValid" data-name = "ameba::spec::bevalid" >
< a href = "../../Ameba/Spec/BeValid.html" > BeValid< / a >
< / li >
< li class = " " data-id = "ameba/Ameba/Spec/BeValidExpectation" data-name = "ameba::spec::bevalidexpectation" >
< a href = "../../Ameba/Spec/BeValidExpectation.html" > BeValidExpectation< / a >
< / li >
< li class = " " data-id = "ameba/Ameba/Spec/ExpectIssue" data-name = "ameba::spec::expectissue" >
< a href = "../../Ameba/Spec/ExpectIssue.html" > ExpectIssue< / a >
< / li >
< li class = " " data-id = "ameba/Ameba/Spec/Util" data-name = "ameba::spec::util" >
< a href = "../../Ameba/Spec/Util.html" > Util< / a >
< / li >
< / ul >
< / li >
2021-01-11 14:49:07 +00:00
< 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::Variable
< / h1 >
< ul class = "superclass-hierarchy" > < 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 the existence of the local variable.
Holds the var node and variable assigments.< / 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/Reference.html" > Ameba::AST::Reference< / 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 >
2021-01-12 10:04:15 +00:00
2022-04-06 07:50:30 +00:00
< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L4" target = "_blank" >
2021-01-12 10:04:15 +00:00
ameba/ast/variabling/variable.cr
< / a >
< br / >
2021-01-11 14:49:07 +00:00
< 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" >
2021-10-19 09:45:33 +00:00
< a href = "#new%28node%2Cscope%29-class-method" class = "signature" > < strong > .new< / strong > (node, scope)< / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > Creates a new variable(in the scope).< / 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" >
2021-10-19 09:45:33 +00:00
< a href = "#assign%28node%2Cscope%29-instance-method" class = "signature" > < strong > #assign< / strong > (node, scope)< / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > Assigns the variable (creates a new assignment).< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#assign_before_reference%3ACrystal%3A%3AASTNode%3F-instance-method" class = "signature" > < strong > #assign_before_reference< / strong > : Crystal::ASTNode?< / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > Node of the first assignment which can be available before any reference.< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#assignments%3AArray%28Ameba%3A%3AAST%3A%3AAssignment%29-instance-method" class = "signature" > < strong > #assignments< / strong > : Array(Ameba::AST::Assignment)< / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > List of the assigments of this variable.< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#captured_by_block%3F%28scope%3D%40scope%29-instance-method" class = "signature" > < strong > #captured_by_block?< / strong > (scope = @scope)< / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > Returns true if the current var is referenced in in the block.< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#declared_before%3F%28node%29-instance-method" class = "signature" > < strong > #declared_before?< / strong > (node)< / a >
2021-01-11 14:49:07 +00:00
2021-10-19 09:45:33 +00:00
< div class = "summary" > < p > Returns true if the variable is declared before the < code > < a href = "../../Ameba/AST/Variable.html#node%3ACrystal%3A%3AVar-instance-method" > #node< / a > < / code > .< / p > < / div >
2021-01-11 14:49:07 +00:00
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#end_location%28%2Aargs%2C%2A%2Aoptions%29-instance-method" class = "signature" > < strong > #end_location< / strong > (*args, **options)< / a >
2021-01-11 14:49:07 +00:00
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#end_location%28%2Aargs%2C%2A%2Aoptions%2C%26%29-instance-method" class = "signature" > < strong > #end_location< / strong > (*args, **options, & )< / a >
2021-01-11 14:49:07 +00:00
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#eql%3F%28node%29-instance-method" class = "signature" > < strong > #eql?< / strong > (node)< / a >
2021-01-11 14:49:07 +00:00
2021-10-19 09:45:33 +00:00
< div class = "summary" > < p > Returns true if the < code > < a href = "../../Ameba/AST/Variable.html#node%3ACrystal%3A%3AVar-instance-method" > #node< / a > < / code > represents exactly the same Crystal node as < code > @node< / code > .< / p > < / div >
2021-01-11 14:49:07 +00:00
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#ignored%3F-instance-method" class = "signature" > < strong > #ignored?< / strong > < / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > Returns true if the name starts with '_', false if not.< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#location%28%2Aargs%2C%2A%2Aoptions%29-instance-method" class = "signature" > < strong > #location< / strong > (*args, **options)< / a >
2021-01-11 14:49:07 +00:00
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#location%28%2Aargs%2C%2A%2Aoptions%2C%26%29-instance-method" class = "signature" > < strong > #location< / strong > (*args, **options, & )< / a >
2021-01-11 14:49:07 +00:00
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#name%28%2Aargs%2C%2A%2Aoptions%29-instance-method" class = "signature" > < strong > #name< / strong > (*args, **options)< / a >
2021-01-11 14:49:07 +00:00
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#name%28%2Aargs%2C%2A%2Aoptions%2C%26%29-instance-method" class = "signature" > < strong > #name< / strong > (*args, **options, & )< / a >
2021-01-11 14:49:07 +00:00
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#node%3ACrystal%3A%3AVar-instance-method" class = "signature" > < strong > #node< / strong > : Crystal::Var< / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > The actual var node.< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#reference%28node%3ACrystal%3A%3AVar%2Cscope%3AScope%29-instance-method" class = "signature" > < strong > #reference< / strong > (node : Crystal::Var, scope : Scope)< / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > Creates a reference to this variable in some scope.< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#reference_assignments%21-instance-method" class = "signature" > < strong > #reference_assignments!< / strong > < / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > Reference variable's assignments.< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#referenced%3F-instance-method" class = "signature" > < strong > #referenced?< / strong > < / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > Returns true if variable has any reference.< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#references%3AArray%28Ameba%3A%3AAST%3A%3AReference%29-instance-method" class = "signature" > < strong > #references< / strong > : Array(Ameba::AST::Reference)< / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > List of the references of this variable.< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#scope%3AScope-instance-method" class = "signature" > < strong > #scope< / strong > : Scope< / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > Scope of this variable.< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#special%3F-instance-method" class = "signature" > < strong > #special?< / strong > < / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > Returns true if it is a special variable, i.e < code > $?< / code > .< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#target_of%3F%28assign%29-instance-method" class = "signature" > < strong > #target_of?< / strong > (assign)< / a >
2021-01-11 14:49:07 +00:00
< div class = "summary" > < p > Returns true if the variable is a target (on the left) of the assignment, false otherwise.< / p > < / div >
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#to_s%28%2Aargs%2C%2A%2Aoptions%29-instance-method" class = "signature" > < strong > #to_s< / strong > (*args, **options)< / a >
2021-01-11 14:49:07 +00:00
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#to_s%28%2Aargs%2C%2A%2Aoptions%2C%26%29-instance-method" class = "signature" > < strong > #to_s< / strong > (*args, **options, & )< / a >
2021-01-11 14:49:07 +00:00
< / li >
< li class = "entry-summary" >
2021-10-19 09:45:33 +00:00
< a href = "#used_in_macro%3F%28scope%3D%40scope%29-instance-method" class = "signature" > < strong > #used_in_macro?< / strong > (scope = @scope)< / a >
2021-01-11 14:49:07 +00:00
2021-01-20 11:15:34 +00:00
< div class = "summary" > < p > Returns true if current variable potentially referenced in a macro, false if not.< / p > < / div >
2021-01-11 14:49:07 +00:00
< / 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,scope)-class-method" >
< div class = "signature" >
def self.< strong > new< / strong > (node, scope)
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#new%28node%2Cscope%29-class-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > Creates a new variable(in the scope).< / p >
2021-01-31 14:41:59 +00:00
< pre > < code class = "language-crystal" > < span class = "t" > Variable< / span > .< span class = "k" > new< / span > (node, scope)< / code > < / pre >
2021-01-11 14:49:07 +00:00
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L30" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / 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 = "assign(node,scope)-instance-method" >
< div class = "signature" >
def < strong > assign< / strong > (node, scope)
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#assign%28node%2Cscope%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > Assigns the variable (creates a new assignment).
Variable may have multiple assignments.< / p >
2021-01-31 14:41:59 +00:00
< pre > < code class = "language-crystal" > variable < span class = "o" > =< / span > < span class = "t" > Variable< / span > .< span class = "k" > new< / span > (node, scope)
2021-01-11 14:49:07 +00:00
variable.assign(node1)
variable.assign(node2)
variable.assignment.size < span class = "c" > # => 2< / span > < / code > < / pre >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L47" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "assign_before_reference:Crystal::ASTNode?-instance-method" >
< div class = "signature" >
def < strong > assign_before_reference< / strong > : Crystal::ASTNode?
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#assign_before_reference%3ACrystal%3A%3AASTNode%3F-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > Node of the first assignment which can be available before any reference.< / p >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L18" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "assignments:Array(Ameba::AST::Assignment)-instance-method" >
< div class = "signature" >
def < strong > assignments< / strong > : Array(< a href = "../../Ameba/AST/Assignment.html" > Ameba::AST::Assignment< / a > )
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#assignments%3AArray%28Ameba%3A%3AAST%3A%3AAssignment%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > List of the assigments of this variable.< / p >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L6" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "captured_by_block?(scope=@scope)-instance-method" >
< div class = "signature" >
def < strong > captured_by_block?< / strong > (scope = @scope)
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#captured_by_block%3F%28scope%3D%40scope%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > Returns true if the current var is referenced in
in the block. For example this variable is captured
by block:< / p >
2021-01-31 14:41:59 +00:00
< pre > < code class = "language-crystal" > a < span class = "o" > =< / span > < span class = "n" > 1< / span >
2021-01-11 14:49:07 +00:00
< span class = "n" > 3< / span > .times { < span class = "o" > |< / span > i< span class = "o" > |< / span > a < span class = "o" > =< / span > a < span class = "o" > +< / span > i }< / code > < / pre >
< p > And this variable is not captured by block.< / p >
2021-01-31 14:41:59 +00:00
< pre > < code class = "language-crystal" > i < span class = "o" > =< / span > < span class = "n" > 1< / span >
2021-01-11 14:49:07 +00:00
< span class = "n" > 3< / span > .times { < span class = "o" > |< / span > i< span class = "o" > |< / span > i < span class = "o" > +< / span > < span class = "n" > 1< / span > }< / code > < / pre >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L111" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "declared_before?(node)-instance-method" >
< div class = "signature" >
def < strong > declared_before?< / strong > (node)
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#declared_before%3F%28node%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
2021-10-19 09:45:33 +00:00
< p > Returns true if the variable is declared before the < code > < a href = "../../Ameba/AST/Variable.html#node%3ACrystal%3A%3AVar-instance-method" > #node< / a > < / code > .< / p >
2021-01-11 14:49:07 +00:00
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L158" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "end_location(*args,**options)-instance-method" >
< div class = "signature" >
def < strong > end_location< / strong > (*args, **options)
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#end_location%28%2Aargs%2C%2A%2Aoptions%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L21" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
2021-10-19 09:45:33 +00:00
< div class = "entry-detail" id = "end_location(*args,**options,&)-instance-method" >
2021-01-11 14:49:07 +00:00
< div class = "signature" >
def < strong > end_location< / strong > (*args, **options, & )
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#end_location%28%2Aargs%2C%2A%2Aoptions%2C%26%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L21" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "eql?(node)-instance-method" >
< div class = "signature" >
def < strong > eql?< / strong > (node)
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#eql%3F%28node%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
2021-10-19 09:45:33 +00:00
< p > Returns true if the < code > < a href = "../../Ameba/AST/Variable.html#node%3ACrystal%3A%3AVar-instance-method" > #node< / a > < / code > represents exactly
2021-01-11 14:49:07 +00:00
the same Crystal node as < code > @node< / code > .< / p >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L151" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "ignored?-instance-method" >
< div class = "signature" >
def < strong > ignored?< / strong >
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#ignored%3F-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > Returns true if the name starts with '_', false if not.< / p >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L145" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "location(*args,**options)-instance-method" >
< div class = "signature" >
def < strong > location< / strong > (*args, **options)
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#location%28%2Aargs%2C%2A%2Aoptions%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L20" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
2021-10-19 09:45:33 +00:00
< div class = "entry-detail" id = "location(*args,**options,&)-instance-method" >
2021-01-11 14:49:07 +00:00
< div class = "signature" >
def < strong > location< / strong > (*args, **options, & )
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#location%28%2Aargs%2C%2A%2Aoptions%2C%26%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L20" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "name(*args,**options)-instance-method" >
< div class = "signature" >
def < strong > name< / strong > (*args, **options)
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#name%28%2Aargs%2C%2A%2Aoptions%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L22" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
2021-10-19 09:45:33 +00:00
< div class = "entry-detail" id = "name(*args,**options,&)-instance-method" >
2021-01-11 14:49:07 +00:00
< div class = "signature" >
def < strong > name< / strong > (*args, **options, & )
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#name%28%2Aargs%2C%2A%2Aoptions%2C%26%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L22" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "node:Crystal::Var-instance-method" >
< div class = "signature" >
def < strong > node< / strong > : Crystal::Var
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#node%3ACrystal%3A%3AVar-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > The actual var node.< / p >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L12" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "reference(node:Crystal::Var,scope:Scope)-instance-method" >
< div class = "signature" >
def < strong > reference< / strong > (node : Crystal::Var, scope : < a href = "../../Ameba/AST/Scope.html" > Scope< / a > )
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#reference%28node%3ACrystal%3A%3AVar%2Cscope%3AScope%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > Creates a reference to this variable in some scope.< / p >
2021-01-31 14:41:59 +00:00
< pre > < code class = "language-crystal" > variable < span class = "o" > =< / span > < span class = "t" > Variable< / span > .< span class = "k" > new< / span > (node, scope)
2021-01-11 14:49:07 +00:00
variable.reference(var_node, some_scope)< / code > < / pre >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L70" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "reference_assignments!-instance-method" >
< div class = "signature" >
def < strong > reference_assignments!< / strong >
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#reference_assignments%21-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > Reference variable's assignments.< / p >
2021-01-31 14:41:59 +00:00
< pre > < code class = "language-crystal" > variable < span class = "o" > =< / span > < span class = "t" > Variable< / span > .< span class = "k" > new< / span > (node, scope)
2021-01-11 14:49:07 +00:00
variable.assign(assign_node)
variable.reference_assignments!< / code > < / pre >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L84" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "referenced?-instance-method" >
< div class = "signature" >
def < strong > referenced?< / strong >
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#referenced%3F-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > Returns true if variable has any reference.< / p >
2021-01-31 14:41:59 +00:00
< pre > < code class = "language-crystal" > variable < span class = "o" > =< / span > < span class = "t" > Variable< / span > .< span class = "k" > new< / span > (node, scope)
2021-01-11 14:49:07 +00:00
variable.reference(var_node)
variable.referenced? < span class = "c" > # => true< / span > < / code > < / pre >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L60" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "references:Array(Ameba::AST::Reference)-instance-method" >
< div class = "signature" >
def < strong > references< / strong > : Array(< a href = "../../Ameba/AST/Reference.html" > Ameba::AST::Reference< / a > )
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#references%3AArray%28Ameba%3A%3AAST%3A%3AReference%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > List of the references of this variable.< / p >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L9" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "scope:Scope-instance-method" >
< div class = "signature" >
def < strong > scope< / strong > : < a href = "../../Ameba/AST/Scope.html" > Scope< / a >
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#scope%3AScope-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > Scope of this variable.< / p >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L15" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "special?-instance-method" >
< div class = "signature" >
def < strong > special?< / strong >
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#special%3F-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > Returns true if it is a special variable, i.e < code > $?< / code > .< / p >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L34" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "target_of?(assign)-instance-method" >
< div class = "signature" >
def < strong > target_of?< / strong > (assign)
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#target_of%3F%28assign%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
< p > Returns true if the variable is a target (on the left) of the assignment,
false otherwise.< / p >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L133" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "to_s(*args,**options)-instance-method" >
< div class = "signature" >
def < strong > to_s< / strong > (*args, **options)
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#to_s%28%2Aargs%2C%2A%2Aoptions%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L23" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
2021-10-19 09:45:33 +00:00
< div class = "entry-detail" id = "to_s(*args,**options,&)-instance-method" >
2021-01-11 14:49:07 +00:00
< div class = "signature" >
def < strong > to_s< / strong > (*args, **options, & )
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#to_s%28%2Aargs%2C%2A%2Aoptions%2C%26%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L23" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< div class = "entry-detail" id = "used_in_macro?(scope=@scope)-instance-method" >
< div class = "signature" >
def < strong > used_in_macro?< / strong > (scope = @scope)
2021-10-19 09:45:33 +00:00
< a class = "method-permalink" href = "#used_in_macro%3F%28scope%3D%40scope%29-instance-method" > #< / a >
2021-01-11 14:49:07 +00:00
< / div >
< div class = "doc" >
2021-01-20 11:15:34 +00:00
< p > Returns true if current variable potentially referenced in a macro,
2021-01-11 14:49:07 +00:00
false if not.< / p >
< / div >
< br / >
< div >
2022-04-06 07:50:30 +00:00
[< a href = "https://github.com/crystal-ameba/ameba/blob/c914c9d2/src/ameba/ast/variabling/variable.cr#L122" target = "_blank" > View source< / a > ]
2021-01-12 10:04:15 +00:00
2021-01-11 14:49:07 +00:00
< / div >
< / div >
< / div >
< / body >
< / html >