Import path
import codeql.ruby.ast.Pattern
Classes
AlternativePattern | A composite pattern matching one of the given sub-patterns, for example: rb in 1 | 2 | 3
|
ArrayPattern | An array pattern, for example: rb in [] in ["first", Integer => x, "last"] in ["a", Integer => x, *] in ["a", Integer => x, ] in [1, 2, *x, 7, 8] in [*init, 7, 8] in List["a", Integer => x, *tail]
|
AsPattern | A pattern match that binds to the specified local variable, for example Integer => a in the following: rb case 1 in Integer => a then puts "#{a} is an integer value" end
|
CasePattern | A pattern used in a case-in expression. For example rb case expr in [ x ] then ... in Point(a:, b:) then ... in Integer => x then ... end
|
FindPattern | A find pattern, for example: rb in [*, "a", Integer => x, *] in List[*init, "a", Integer => x, *tail] in List[*, "a", Integer => x, *]
|
HashPattern | A hash pattern, for example: rb in {} in { a: 1 } in { a: 1, **rest } in { a: 1, **nil } in Node{ label: , children: [] }
|
ParenthesizedPattern | A parenthesized pattern: rb in (1 ..) in (0 | "" | [] | {})
|
ReferencePattern | A variable or value reference in a pattern, i.e. ^x , and ^(2 * x) in the following example: rb x = 10 case expr in ^x then puts "ok" in ^(2 * x) then puts "ok" end
|