mirror of
https://github.com/github/codeql.git
synced 2025-12-24 04:36:35 +01:00
Stabilise node ordering for regexp parsing test
This commit is contained in:
@@ -1,151 +1,41 @@
|
||||
regexp.rb:
|
||||
# 49| [RegExpBackRef] \k<qux>
|
||||
# 5| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 52| [RegExpNamedCharacterProperty] \p{Word}
|
||||
|
||||
# 53| [RegExpNamedCharacterProperty] \P{Digit}
|
||||
|
||||
# 54| [RegExpNamedCharacterProperty] \p{^Alnum}
|
||||
|
||||
# 55| [RegExpNamedCharacterProperty] [[:alpha:]]
|
||||
|
||||
# 55| [RegExpNamedCharacterProperty] [[:digit:]]
|
||||
|
||||
# 18| [RegExpCharacterClass] [abc]
|
||||
# 5| [RegExpSequence] abc
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] c
|
||||
|
||||
# 19| [RegExpCharacterClass] [a-fA-F0-9_]
|
||||
#-----| 0 -> [RegExpCharacterRange] a-f
|
||||
#-----| 1 -> [RegExpCharacterRange] A-F
|
||||
#-----| 2 -> [RegExpCharacterRange] 0-9
|
||||
#-----| 3 -> [RegExpConstant, RegExpNormalChar] _
|
||||
# 5| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 20| [RegExpCharacterClass] [+-]
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] +
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] -
|
||||
|
||||
# 21| [RegExpCharacterClass] [\w]
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 23| [RegExpCharacterClass] [^A-Z]
|
||||
#-----| 0 -> [RegExpCharacterRange] A-Z
|
||||
|
||||
# 24| [RegExpCharacterClass] []]
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] ]
|
||||
|
||||
# 25| [RegExpCharacterClass] [^]]
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] ]
|
||||
|
||||
# 26| [RegExpCharacterClass] [^-]
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] -
|
||||
|
||||
# 19| [RegExpCharacterRange] a-f
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] f
|
||||
|
||||
# 23| [RegExpCharacterRange] A-Z
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] A
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] Z
|
||||
# 5| [RegExpConstant, RegExpNormalChar] c
|
||||
|
||||
# 8| [RegExpStar] a*
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 9| [RegExpRange] a{4,8}
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 10| [RegExpRange] a{,8}
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 11| [InfiniteRepetitionQuantifier, RegExpRange] a{3,}
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 12| [RegExpRange] a{7}
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 21| [RegExpPlus] [\w]+
|
||||
#-----| 0 -> [RegExpCharacterClass] [\w]
|
||||
|
||||
# 29| [RegExpStar] .*
|
||||
#-----| 0 -> [RegExpDot] .
|
||||
|
||||
# 30| [RegExpStar] .*
|
||||
#-----| 0 -> [RegExpDot] .
|
||||
|
||||
# 31| [RegExpPlus] \w+
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 38| [RegExpStar] (foo)*
|
||||
#-----| 0 -> [RegExpGroup] (foo)
|
||||
|
||||
# 41| [RegExpPlus] :+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] :
|
||||
|
||||
# 44| [RegExpPlus] \w+
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 48| [RegExpPlus] a+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 49| [RegExpPlus] q+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] q
|
||||
|
||||
# 52| [RegExpStar] \p{Word}*
|
||||
#-----| 0 -> [RegExpNamedCharacterProperty] \p{Word}
|
||||
|
||||
# 53| [RegExpPlus] \P{Digit}+
|
||||
#-----| 0 -> [RegExpNamedCharacterProperty] \P{Digit}
|
||||
|
||||
# 54| [RegExpRange] \p{^Alnum}{2,3}
|
||||
#-----| 0 -> [RegExpNamedCharacterProperty] \p{^Alnum}
|
||||
|
||||
# 15| [RegExpAlt] foo|bar
|
||||
#-----| 0 -> [RegExpSequence] foo
|
||||
#-----| 1 -> [RegExpSequence] bar
|
||||
|
||||
# 39| [RegExpAlt] o|b
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] o
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 40| [RegExpAlt] a|b|cd
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
|
||||
#-----| 2 -> [RegExpSequence] cd
|
||||
|
||||
# 38| [RegExpGroup] (foo)
|
||||
#-----| 0 -> [RegExpSequence] foo
|
||||
|
||||
# 40| [RegExpGroup] (a|b|cd)
|
||||
#-----| 0 -> [RegExpAlt] a|b|cd
|
||||
|
||||
# 41| [RegExpGroup] (?::+)
|
||||
#-----| 0 -> [RegExpPlus] :+
|
||||
|
||||
# 44| [RegExpGroup] (?<id>\w+)
|
||||
#-----| 0 -> [RegExpPlus] \w+
|
||||
|
||||
# 45| [RegExpGroup] (?'foo'fo+)
|
||||
#-----| 0 -> [RegExpSequence] fo+
|
||||
|
||||
# 48| [RegExpGroup] (a+)
|
||||
#-----| 0 -> [RegExpPlus] a+
|
||||
|
||||
# 49| [RegExpGroup] (?<qux>q+)
|
||||
#-----| 0 -> [RegExpPlus] q+
|
||||
|
||||
# 29| [RegExpDot] .
|
||||
|
||||
# 30| [RegExpDot] .
|
||||
|
||||
# 5| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 8| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 8| [RegExpSequence] a*b+c?d
|
||||
#-----| 0 -> [RegExpStar] a*
|
||||
#-----| 1 -> [RegExpPlus] b+
|
||||
#-----| 2 -> [RegExpOpt] c?
|
||||
#-----| 3 -> [RegExpConstant, RegExpNormalChar] d
|
||||
|
||||
# 8| [RegExpPlus] b+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 8| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 8| [RegExpOpt] c?
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] c
|
||||
|
||||
# 8| [RegExpConstant, RegExpNormalChar] c
|
||||
|
||||
# 8| [RegExpConstant, RegExpNormalChar] d
|
||||
|
||||
# 9| [RegExpRange] a{4,8}
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 9| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 9| [RegExpNormalChar] 4
|
||||
@@ -156,6 +46,9 @@ regexp.rb:
|
||||
|
||||
# 9| [RegExpNormalChar] }
|
||||
|
||||
# 10| [RegExpRange] a{,8}
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 10| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 10| [RegExpNormalChar] ,
|
||||
@@ -164,6 +57,9 @@ regexp.rb:
|
||||
|
||||
# 10| [RegExpNormalChar] }
|
||||
|
||||
# 11| [InfiniteRepetitionQuantifier, RegExpRange] a{3,}
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 11| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 11| [RegExpNormalChar] 3
|
||||
@@ -172,80 +68,392 @@ regexp.rb:
|
||||
|
||||
# 11| [RegExpNormalChar] }
|
||||
|
||||
# 12| [RegExpRange] a{7}
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 12| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 12| [RegExpNormalChar] 7
|
||||
|
||||
# 12| [RegExpNormalChar] }
|
||||
|
||||
# 15| [RegExpAlt] foo|bar
|
||||
#-----| 0 -> [RegExpSequence] foo
|
||||
#-----| 1 -> [RegExpSequence] bar
|
||||
|
||||
# 15| [RegExpConstant, RegExpNormalChar] f
|
||||
|
||||
# 15| [RegExpSequence] foo
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] f
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] o
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 15| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 15| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 15| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 15| [RegExpSequence] bar
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] b
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
# 15| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 15| [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
# 18| [RegExpCharacterClass] [abc]
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] c
|
||||
|
||||
# 18| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 18| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 18| [RegExpConstant, RegExpNormalChar] c
|
||||
|
||||
# 19| [RegExpCharacterClass] [a-fA-F0-9_]
|
||||
#-----| 0 -> [RegExpCharacterRange] a-f
|
||||
#-----| 1 -> [RegExpCharacterRange] A-F
|
||||
#-----| 2 -> [RegExpCharacterRange] 0-9
|
||||
#-----| 3 -> [RegExpConstant, RegExpNormalChar] _
|
||||
|
||||
# 19| [RegExpCharacterRange] a-f
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] f
|
||||
|
||||
# 19| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 19| [RegExpConstant, RegExpNormalChar] f
|
||||
|
||||
# 19| [RegExpCharacterRange] A-F
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] A
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] F
|
||||
|
||||
# 19| [RegExpConstant, RegExpNormalChar] A
|
||||
|
||||
# 19| [RegExpConstant, RegExpNormalChar] F
|
||||
|
||||
# 19| [RegExpCharacterRange] 0-9
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] 0
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] 9
|
||||
|
||||
# 19| [RegExpConstant, RegExpNormalChar] 0
|
||||
|
||||
# 19| [RegExpConstant, RegExpNormalChar] 9
|
||||
|
||||
# 19| [RegExpConstant, RegExpNormalChar] _
|
||||
|
||||
# 20| [RegExpConstant, RegExpEscape] \A
|
||||
|
||||
# 20| [RegExpSequence] \A[+-]?\d+
|
||||
#-----| 0 -> [RegExpConstant, RegExpEscape] \A
|
||||
#-----| 1 -> [RegExpOpt] [+-]?
|
||||
#-----| 2 -> [RegExpPlus] \d+
|
||||
|
||||
# 20| [RegExpCharacterClass] [+-]
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] +
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] -
|
||||
|
||||
# 20| [RegExpOpt] [+-]?
|
||||
#-----| 0 -> [RegExpCharacterClass] [+-]
|
||||
|
||||
# 20| [RegExpConstant, RegExpNormalChar] +
|
||||
|
||||
# 20| [RegExpConstant, RegExpNormalChar] -
|
||||
|
||||
# 20| [RegExpPlus] \d+
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \d
|
||||
|
||||
# 20| [RegExpCharacterClassEscape] \d
|
||||
|
||||
# 21| [RegExpCharacterClass] [\w]
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 21| [RegExpPlus] [\w]+
|
||||
#-----| 0 -> [RegExpCharacterClass] [\w]
|
||||
|
||||
# 21| [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 22| [RegExpConstant, RegExpEscape] \[
|
||||
|
||||
# 22| [RegExpSequence] \[\][123]
|
||||
#-----| 0 -> [RegExpConstant, RegExpEscape] \[
|
||||
#-----| 1 -> [RegExpConstant, RegExpEscape] \]
|
||||
#-----| 2 -> [RegExpCharacterClass] [123]
|
||||
|
||||
# 22| [RegExpConstant, RegExpEscape] \]
|
||||
|
||||
# 22| [RegExpCharacterClass] [123]
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] 1
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] 2
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] 3
|
||||
|
||||
# 22| [RegExpConstant, RegExpNormalChar] 1
|
||||
|
||||
# 22| [RegExpConstant, RegExpNormalChar] 2
|
||||
|
||||
# 22| [RegExpConstant, RegExpNormalChar] 3
|
||||
|
||||
# 23| [RegExpCharacterClass] [^A-Z]
|
||||
#-----| 0 -> [RegExpCharacterRange] A-Z
|
||||
|
||||
# 23| [RegExpCharacterRange] A-Z
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] A
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] Z
|
||||
|
||||
# 23| [RegExpConstant, RegExpNormalChar] A
|
||||
|
||||
# 23| [RegExpConstant, RegExpNormalChar] Z
|
||||
|
||||
# 24| [RegExpCharacterClass] []]
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] ]
|
||||
|
||||
# 24| [RegExpConstant, RegExpNormalChar] ]
|
||||
|
||||
# 25| [RegExpCharacterClass] [^]]
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] ]
|
||||
|
||||
# 25| [RegExpConstant, RegExpNormalChar] ]
|
||||
|
||||
# 26| [RegExpCharacterClass] [^-]
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] -
|
||||
|
||||
# 26| [RegExpConstant, RegExpNormalChar] -
|
||||
|
||||
# 29| [RegExpStar] .*
|
||||
#-----| 0 -> [RegExpDot] .
|
||||
|
||||
# 29| [RegExpDot] .
|
||||
|
||||
# 30| [RegExpStar] .*
|
||||
#-----| 0 -> [RegExpDot] .
|
||||
|
||||
# 30| [RegExpDot] .
|
||||
|
||||
# 31| [RegExpPlus] \w+
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 31| [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 31| [RegExpSequence] \w+\W
|
||||
#-----| 0 -> [RegExpPlus] \w+
|
||||
#-----| 1 -> [RegExpCharacterClassEscape] \W
|
||||
|
||||
# 31| [RegExpCharacterClassEscape] \W
|
||||
|
||||
# 32| [RegExpCharacterClassEscape] \s
|
||||
|
||||
# 32| [RegExpSequence] \s\S
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \s
|
||||
#-----| 1 -> [RegExpCharacterClassEscape] \S
|
||||
|
||||
# 32| [RegExpCharacterClassEscape] \S
|
||||
|
||||
# 33| [RegExpCharacterClassEscape] \d
|
||||
|
||||
# 33| [RegExpSequence] \d\D
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \d
|
||||
#-----| 1 -> [RegExpCharacterClassEscape] \D
|
||||
|
||||
# 33| [RegExpCharacterClassEscape] \D
|
||||
|
||||
# 34| [RegExpCharacterClassEscape] \h
|
||||
|
||||
# 34| [RegExpSequence] \h\H
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \h
|
||||
#-----| 1 -> [RegExpCharacterClassEscape] \H
|
||||
|
||||
# 34| [RegExpCharacterClassEscape] \H
|
||||
|
||||
# 35| [RegExpConstant, RegExpEscape] \n
|
||||
|
||||
# 35| [RegExpSequence] \n\r\t
|
||||
#-----| 0 -> [RegExpConstant, RegExpEscape] \n
|
||||
#-----| 1 -> [RegExpConstant, RegExpEscape] \r
|
||||
#-----| 2 -> [RegExpConstant, RegExpEscape] \t
|
||||
|
||||
# 35| [RegExpConstant, RegExpEscape] \r
|
||||
|
||||
# 35| [RegExpConstant, RegExpEscape] \t
|
||||
|
||||
# 38| [RegExpStar] (foo)*
|
||||
#-----| 0 -> [RegExpGroup] (foo)
|
||||
|
||||
# 38| [RegExpGroup] (foo)
|
||||
#-----| 0 -> [RegExpSequence] foo
|
||||
|
||||
# 38| [RegExpSequence] (foo)*bar
|
||||
#-----| 0 -> [RegExpStar] (foo)*
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 3 -> [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
# 38| [RegExpConstant, RegExpNormalChar] f
|
||||
|
||||
# 38| [RegExpSequence] foo
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] f
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] o
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 38| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 38| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 38| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 38| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 38| [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
# 39| [RegExpConstant, RegExpNormalChar] f
|
||||
|
||||
# 39| [RegExpSequence] fo(o|b)ar
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] f
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] o
|
||||
#-----| 2 -> [RegExpGroup] (o|b)
|
||||
#-----| 3 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 4 -> [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
# 39| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 39| [RegExpGroup] (o|b)
|
||||
#-----| 0 -> [RegExpAlt] o|b
|
||||
|
||||
# 39| [RegExpAlt] o|b
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] o
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 39| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 39| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 39| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 39| [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
# 40| [RegExpGroup] (a|b|cd)
|
||||
#-----| 0 -> [RegExpAlt] a|b|cd
|
||||
|
||||
# 40| [RegExpSequence] (a|b|cd)e
|
||||
#-----| 0 -> [RegExpGroup] (a|b|cd)
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] e
|
||||
|
||||
# 40| [RegExpAlt] a|b|cd
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
|
||||
#-----| 2 -> [RegExpSequence] cd
|
||||
|
||||
# 40| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 40| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 40| [RegExpConstant, RegExpNormalChar] c
|
||||
|
||||
# 40| [RegExpSequence] cd
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] c
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] d
|
||||
|
||||
# 40| [RegExpConstant, RegExpNormalChar] d
|
||||
|
||||
# 40| [RegExpConstant, RegExpNormalChar] e
|
||||
|
||||
# 41| [RegExpGroup] (?::+)
|
||||
#-----| 0 -> [RegExpPlus] :+
|
||||
|
||||
# 41| [RegExpSequence] (?::+)\w
|
||||
#-----| 0 -> [RegExpGroup] (?::+)
|
||||
#-----| 1 -> [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 41| [RegExpPlus] :+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] :
|
||||
|
||||
# 41| [RegExpConstant, RegExpNormalChar] :
|
||||
|
||||
# 41| [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 44| [RegExpGroup] (?<id>\w+)
|
||||
#-----| 0 -> [RegExpPlus] \w+
|
||||
|
||||
# 44| [RegExpPlus] \w+
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 44| [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 45| [RegExpGroup] (?'foo'fo+)
|
||||
#-----| 0 -> [RegExpSequence] fo+
|
||||
|
||||
# 45| [RegExpConstant, RegExpNormalChar] f
|
||||
|
||||
# 45| [RegExpSequence] fo+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] f
|
||||
#-----| 1 -> [RegExpPlus] o+
|
||||
|
||||
# 45| [RegExpPlus] o+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 45| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 48| [RegExpGroup] (a+)
|
||||
#-----| 0 -> [RegExpPlus] a+
|
||||
|
||||
# 48| [RegExpSequence] (a+)b+\1
|
||||
#-----| 0 -> [RegExpGroup] (a+)
|
||||
#-----| 1 -> [RegExpPlus] b+
|
||||
#-----| 2 -> [RegExpBackRef] \1
|
||||
|
||||
# 48| [RegExpPlus] a+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 48| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 48| [RegExpPlus] b+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 48| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 48| [RegExpBackRef] \1
|
||||
|
||||
# 49| [RegExpGroup] (?<qux>q+)
|
||||
#-----| 0 -> [RegExpPlus] q+
|
||||
|
||||
# 49| [RegExpSequence] (?<qux>q+)\s+\k<qux>+
|
||||
#-----| 0 -> [RegExpGroup] (?<qux>q+)
|
||||
#-----| 1 -> [RegExpPlus] \s+
|
||||
#-----| 2 -> [RegExpPlus] \k<qux>+
|
||||
|
||||
# 49| [RegExpPlus] q+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] q
|
||||
|
||||
# 49| [RegExpConstant, RegExpNormalChar] q
|
||||
|
||||
# 49| [RegExpPlus] \s+
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \s
|
||||
|
||||
# 49| [RegExpCharacterClassEscape] \s
|
||||
|
||||
# 49| [RegExpBackRef] \k<qux>
|
||||
|
||||
# 49| [RegExpPlus] \k<qux>+
|
||||
#-----| 0 -> [RegExpBackRef] \k<qux>
|
||||
|
||||
# 52| [RegExpNamedCharacterProperty] \p{Word}
|
||||
|
||||
# 52| [RegExpStar] \p{Word}*
|
||||
#-----| 0 -> [RegExpNamedCharacterProperty] \p{Word}
|
||||
|
||||
# 53| [RegExpNamedCharacterProperty] \P{Digit}
|
||||
|
||||
# 53| [RegExpPlus] \P{Digit}+
|
||||
#-----| 0 -> [RegExpNamedCharacterProperty] \P{Digit}
|
||||
|
||||
# 54| [RegExpNamedCharacterProperty] \p{^Alnum}
|
||||
|
||||
# 54| [RegExpRange] \p{^Alnum}{2,3}
|
||||
#-----| 0 -> [RegExpNamedCharacterProperty] \p{^Alnum}
|
||||
|
||||
# 54| [RegExpNormalChar] 2
|
||||
|
||||
# 54| [RegExpNormalChar] ,
|
||||
@@ -254,221 +462,13 @@ regexp.rb:
|
||||
|
||||
# 54| [RegExpNormalChar] }
|
||||
|
||||
# 5| [RegExpSequence] abc
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] c
|
||||
|
||||
# 8| [RegExpSequence] a*b+c?d
|
||||
#-----| 0 -> [RegExpStar] a*
|
||||
#-----| 1 -> [RegExpPlus] b+
|
||||
#-----| 2 -> [RegExpOpt] c?
|
||||
#-----| 3 -> [RegExpConstant, RegExpNormalChar] d
|
||||
|
||||
# 15| [RegExpSequence] foo
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] f
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] o
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 20| [RegExpSequence] \A[+-]?\d+
|
||||
#-----| 0 -> [RegExpConstant, RegExpEscape] \A
|
||||
#-----| 1 -> [RegExpOpt] [+-]?
|
||||
#-----| 2 -> [RegExpPlus] \d+
|
||||
|
||||
# 22| [RegExpSequence] \[\][123]
|
||||
#-----| 0 -> [RegExpConstant, RegExpEscape] \[
|
||||
#-----| 1 -> [RegExpConstant, RegExpEscape] \]
|
||||
#-----| 2 -> [RegExpCharacterClass] [123]
|
||||
|
||||
# 31| [RegExpSequence] \w+\W
|
||||
#-----| 0 -> [RegExpPlus] \w+
|
||||
#-----| 1 -> [RegExpCharacterClassEscape] \W
|
||||
|
||||
# 32| [RegExpSequence] \s\S
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \s
|
||||
#-----| 1 -> [RegExpCharacterClassEscape] \S
|
||||
|
||||
# 33| [RegExpSequence] \d\D
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \d
|
||||
#-----| 1 -> [RegExpCharacterClassEscape] \D
|
||||
|
||||
# 34| [RegExpSequence] \h\H
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \h
|
||||
#-----| 1 -> [RegExpCharacterClassEscape] \H
|
||||
|
||||
# 35| [RegExpSequence] \n\r\t
|
||||
#-----| 0 -> [RegExpConstant, RegExpEscape] \n
|
||||
#-----| 1 -> [RegExpConstant, RegExpEscape] \r
|
||||
#-----| 2 -> [RegExpConstant, RegExpEscape] \t
|
||||
|
||||
# 38| [RegExpSequence] (foo)*bar
|
||||
#-----| 0 -> [RegExpStar] (foo)*
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 3 -> [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
# 38| [RegExpSequence] foo
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] f
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] o
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 39| [RegExpSequence] fo(o|b)ar
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] f
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] o
|
||||
#-----| 2 -> [RegExpGroup] (o|b)
|
||||
#-----| 3 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 4 -> [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
# 40| [RegExpSequence] (a|b|cd)e
|
||||
#-----| 0 -> [RegExpGroup] (a|b|cd)
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] e
|
||||
|
||||
# 41| [RegExpSequence] (?::+)\w
|
||||
#-----| 0 -> [RegExpGroup] (?::+)
|
||||
#-----| 1 -> [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 45| [RegExpSequence] fo+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] f
|
||||
#-----| 1 -> [RegExpPlus] o+
|
||||
|
||||
# 48| [RegExpSequence] (a+)b+\1
|
||||
#-----| 0 -> [RegExpGroup] (a+)
|
||||
#-----| 1 -> [RegExpPlus] b+
|
||||
#-----| 2 -> [RegExpBackRef] \1
|
||||
|
||||
# 49| [RegExpSequence] (?<qux>q+)\s+\k<qux>+
|
||||
#-----| 0 -> [RegExpGroup] (?<qux>q+)
|
||||
#-----| 1 -> [RegExpPlus] \s+
|
||||
#-----| 2 -> [RegExpPlus] \k<qux>+
|
||||
# 55| [RegExpNamedCharacterProperty] [[:alpha:]]
|
||||
|
||||
# 55| [RegExpSequence] [[:alpha:]][[:digit:]]+
|
||||
#-----| 0 -> [RegExpNamedCharacterProperty] [[:alpha:]]
|
||||
#-----| 1 -> [RegExpPlus] [[:digit:]]+
|
||||
|
||||
# 19| [RegExpCharacterRange] A-F
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] A
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] F
|
||||
|
||||
# 8| [RegExpPlus] b+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 20| [RegExpOpt] [+-]?
|
||||
#-----| 0 -> [RegExpCharacterClass] [+-]
|
||||
|
||||
# 45| [RegExpPlus] o+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 48| [RegExpPlus] b+
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 49| [RegExpPlus] \s+
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \s
|
||||
# 55| [RegExpNamedCharacterProperty] [[:digit:]]
|
||||
|
||||
# 55| [RegExpPlus] [[:digit:]]+
|
||||
#-----| 0 -> [RegExpNamedCharacterProperty] [[:digit:]]
|
||||
|
||||
# 5| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 15| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 15| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 18| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 19| [RegExpConstant, RegExpNormalChar] f
|
||||
|
||||
# 19| [RegExpConstant, RegExpNormalChar] F
|
||||
|
||||
# 19| [RegExpConstant, RegExpNormalChar] 9
|
||||
|
||||
# 20| [RegExpConstant, RegExpNormalChar] -
|
||||
|
||||
# 22| [RegExpConstant, RegExpEscape] \]
|
||||
|
||||
# 22| [RegExpConstant, RegExpNormalChar] 2
|
||||
|
||||
# 23| [RegExpConstant, RegExpNormalChar] Z
|
||||
|
||||
# 31| [RegExpCharacterClassEscape] \W
|
||||
|
||||
# 32| [RegExpCharacterClassEscape] \S
|
||||
|
||||
# 33| [RegExpCharacterClassEscape] \D
|
||||
|
||||
# 34| [RegExpCharacterClassEscape] \H
|
||||
|
||||
# 35| [RegExpConstant, RegExpEscape] \r
|
||||
|
||||
# 38| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 38| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 39| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 39| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 40| [RegExpConstant, RegExpNormalChar] b
|
||||
|
||||
# 40| [RegExpConstant, RegExpNormalChar] d
|
||||
|
||||
# 40| [RegExpConstant, RegExpNormalChar] e
|
||||
|
||||
# 41| [RegExpCharacterClassEscape] \w
|
||||
|
||||
# 15| [RegExpSequence] bar
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] b
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] a
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
# 48| [RegExpBackRef] \1
|
||||
|
||||
# 22| [RegExpCharacterClass] [123]
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] 1
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] 2
|
||||
#-----| 2 -> [RegExpConstant, RegExpNormalChar] 3
|
||||
|
||||
# 19| [RegExpCharacterRange] 0-9
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] 0
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] 9
|
||||
|
||||
# 8| [RegExpOpt] c?
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] c
|
||||
|
||||
# 20| [RegExpPlus] \d+
|
||||
#-----| 0 -> [RegExpCharacterClassEscape] \d
|
||||
|
||||
# 49| [RegExpPlus] \k<qux>+
|
||||
#-----| 0 -> [RegExpBackRef] \k<qux>
|
||||
|
||||
# 39| [RegExpGroup] (o|b)
|
||||
#-----| 0 -> [RegExpAlt] o|b
|
||||
|
||||
# 5| [RegExpConstant, RegExpNormalChar] c
|
||||
|
||||
# 15| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 15| [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
# 18| [RegExpConstant, RegExpNormalChar] c
|
||||
|
||||
# 22| [RegExpConstant, RegExpNormalChar] 3
|
||||
|
||||
# 35| [RegExpConstant, RegExpEscape] \t
|
||||
|
||||
# 38| [RegExpConstant, RegExpNormalChar] o
|
||||
|
||||
# 38| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 40| [RegExpSequence] cd
|
||||
#-----| 0 -> [RegExpConstant, RegExpNormalChar] c
|
||||
#-----| 1 -> [RegExpConstant, RegExpNormalChar] d
|
||||
|
||||
# 8| [RegExpConstant, RegExpNormalChar] d
|
||||
|
||||
# 19| [RegExpConstant, RegExpNormalChar] _
|
||||
|
||||
# 38| [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
# 39| [RegExpConstant, RegExpNormalChar] a
|
||||
|
||||
# 39| [RegExpConstant, RegExpNormalChar] r
|
||||
|
||||
@@ -10,7 +10,15 @@ query predicate nodes(RETV::RegExpTerm n, string attr, string val) {
|
||||
val = "[" + concat(n.getAPrimaryQlClass(), ", ") + "] " + n.toString()
|
||||
or
|
||||
attr = "semmle.order" and
|
||||
exists(int i, RETV::RegExpTerm p | p.getChild(i) = n | val = i.toString())
|
||||
val =
|
||||
any(int i |
|
||||
n =
|
||||
rank[i](RETV::RegExpTerm t, string fp, int sl, int sc |
|
||||
t.hasLocationInfo(fp, sl, sc, _, _)
|
||||
|
|
||||
t order by fp, sl, sc
|
||||
)
|
||||
).toString()
|
||||
}
|
||||
|
||||
query predicate edges(RETV::RegExpTerm pred, RETV::RegExpTerm succ, string attr, string val) {
|
||||
|
||||
Reference in New Issue
Block a user