Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
io.shiftleft.codepropertygraph.generated.nodes.JumpTarget.scala Maven / Gradle / Ivy
package io.shiftleft.codepropertygraph.generated.nodes
import io.shiftleft.codepropertygraph.generated.language.*
import scala.collection.immutable.{IndexedSeq, ArraySeq}
import scala.collection.mutable
/** Node base type for compiletime-only checks to improve type safety. EMT stands for: "erased marker trait", i.e. it is
* erased at runtime
*/
trait JumpTargetEMT extends AnyRef with CfgNodeEMT with HasArgumentIndexEMT with HasNameEMT with HasParserTypeNameEMT
trait JumpTargetBase extends AbstractNode with CfgNodeBase with StaticType[JumpTargetEMT] {
override def propertiesMap: java.util.Map[String, Any] = {
import io.shiftleft.codepropertygraph.generated.accessors.languagebootstrap.*
val res = new java.util.HashMap[String, Any]()
if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex)
if (("": String) != this.code) res.put("CODE", this.code)
this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) }
this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) }
if (("": String) != this.name) res.put("NAME", this.name)
if ((-1: Int) != this.order) res.put("ORDER", this.order)
if (("": String) != this.parserTypeName) res.put("PARSER_TYPE_NAME", this.parserTypeName)
res
}
}
object JumpTarget {
val Label = "JUMP_TARGET"
object PropertyNames {
/** AST-children of CALL nodes have an argument index, that is used to match call-site arguments with callee
* parameters. Explicit parameters are numbered from 1 to N, while index 0 is reserved for implicit self / this
* parameter. CALLs without implicit parameter therefore have arguments starting with index 1. AST-children of
* BLOCK nodes may have an argument index as well; in this case, the last argument index determines the return
* expression of a BLOCK expression. If the `PARAMETER_NAME` field is set, then the `ARGUMENT_INDEX` field is
* ignored. It is suggested to set it to -1.
*/
val ArgumentIndex = "ARGUMENT_INDEX"
/** This field holds the code snippet that the node represents. */
val Code = "CODE"
/** This optional fields provides the column number of the program construct represented by the node.
*/
val ColumnNumber = "COLUMN_NUMBER"
/** This optional field provides the line number of the program construct represented by the node.
*/
val LineNumber = "LINE_NUMBER"
/** Name of represented object, e.g., method name (e.g. "run") */
val Name = "NAME"
/** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order
* of 0.
*/
val Order = "ORDER"
/** AST node type name emitted by parser. */
val ParserTypeName = "PARSER_TYPE_NAME"
}
object Properties {
/** AST-children of CALL nodes have an argument index, that is used to match call-site arguments with callee
* parameters. Explicit parameters are numbered from 1 to N, while index 0 is reserved for implicit self / this
* parameter. CALLs without implicit parameter therefore have arguments starting with index 1. AST-children of
* BLOCK nodes may have an argument index as well; in this case, the last argument index determines the return
* expression of a BLOCK expression. If the `PARAMETER_NAME` field is set, then the `ARGUMENT_INDEX` field is
* ignored. It is suggested to set it to -1.
*/
val ArgumentIndex = flatgraph.SinglePropertyKey[Int](kind = 1, name = "ARGUMENT_INDEX", default = -1: Int)
/** This field holds the code snippet that the node represents. */
val Code = flatgraph.SinglePropertyKey[String](kind = 10, name = "CODE", default = "")
/** This optional fields provides the column number of the program construct represented by the node.
*/
val ColumnNumber = flatgraph.OptionalPropertyKey[Int](kind = 11, name = "COLUMN_NUMBER")
/** This optional field provides the line number of the program construct represented by the node.
*/
val LineNumber = flatgraph.OptionalPropertyKey[Int](kind = 34, name = "LINE_NUMBER")
/** Name of represented object, e.g., method name (e.g. "run") */
val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "")
/** This integer indicates the position of the node among its siblings in the AST. The left-most child has an order
* of 0.
*/
val Order = flatgraph.SinglePropertyKey[Int](kind = 43, name = "ORDER", default = -1: Int)
/** AST node type name emitted by parser. */
val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 46, name = "PARSER_TYPE_NAME", default = "")
}
object PropertyDefaults {
val ArgumentIndex = -1: Int
val Code = ""
val Name = ""
val Order = -1: Int
val ParserTypeName = ""
}
}
class JumpTarget(graph_4762: flatgraph.Graph, seq_4762: Int)
extends StoredNode(graph_4762, 19.toShort, seq_4762)
with JumpTargetBase
with CfgNode
with StaticType[JumpTargetEMT] {
override def productElementName(n: Int): String =
n match {
case 0 => "argumentIndex"
case 1 => "code"
case 2 => "columnNumber"
case 3 => "lineNumber"
case 4 => "name"
case 5 => "order"
case 6 => "parserTypeName"
case _ => ""
}
override def productElement(n: Int): Any =
n match {
case 0 => this.argumentIndex
case 1 => this.code
case 2 => this.columnNumber
case 3 => this.lineNumber
case 4 => this.name
case 5 => this.order
case 6 => this.parserTypeName
case _ => null
}
override def productPrefix = "JumpTarget"
override def productArity = 7
override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[JumpTarget]
}
object NewJumpTarget {
def apply(): NewJumpTarget = new NewJumpTarget
private val outNeighbors: Map[String, Set[String]] = Map(
"ALIAS_OF" -> Set("TYPE"),
"ARGUMENT" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"AST" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"BINDS" -> Set("BINDING"),
"BINDS_TO" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"CALL" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"CAPTURE" -> Set("CLOSURE_BINDING"),
"CAPTURED_BY" -> Set("CLOSURE_BINDING"),
"CDG" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"CFG" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"CONDITION" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"CONTAINS" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"DOMINATE" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"EVAL_TYPE" -> Set("TYPE"),
"IMPORTS" -> Set("DEPENDENCY"),
"INHERITS_FROM" -> Set("TYPE"),
"IS_CALL_FOR_IMPORT" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"PARAMETER_LINK" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"POST_DOMINATE" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"REACHING_DEF" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"RECEIVER" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"REF" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"SOURCE_FILE" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"TAGGED_BY" -> Set("TAG")
)
private val inNeighbors: Map[String, Set[String]] = Map(
"ARGUMENT" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"AST" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"BINDS_TO" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"CALL" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"CDG" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"CFG" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"CONDITION" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"CONTAINS" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"DOMINATE" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"IS_CALL_FOR_IMPORT" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"PARAMETER_LINK" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"POST_DOMINATE" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"REACHING_DEF" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"RECEIVER" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"REF" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BINDING",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"CLOSURE_BINDING",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
),
"SOURCE_FILE" -> Set(
"ANNOTATION",
"ANNOTATION_LITERAL",
"ANNOTATION_PARAMETER",
"ANNOTATION_PARAMETER_ASSIGN",
"ARRAY_INITIALIZER",
"BLOCK",
"CALL",
"CALL_REPR",
"CFG_NODE",
"COMMENT",
"CONTROL_STRUCTURE",
"EXPRESSION",
"FIELD_IDENTIFIER",
"FILE",
"IDENTIFIER",
"IMPORT",
"JUMP_LABEL",
"JUMP_TARGET",
"LITERAL",
"LOCAL",
"MEMBER",
"METHOD",
"METHOD_PARAMETER_IN",
"METHOD_PARAMETER_OUT",
"METHOD_REF",
"METHOD_RETURN",
"MODIFIER",
"NAMESPACE",
"NAMESPACE_BLOCK",
"RETURN",
"TEMPLATE_DOM",
"TYPE_ARGUMENT",
"TYPE_DECL",
"TYPE_PARAMETER",
"TYPE_REF",
"UNKNOWN"
)
)
object InsertionHelpers {
object NewNodeInserter_JumpTarget_argumentIndex extends flatgraph.NewNodePropertyInsertionHelper {
override def insertNewNodeProperties(
newNodes: mutable.ArrayBuffer[flatgraph.DNode],
dst: AnyRef,
offsets: Array[Int]
): Unit = {
if (newNodes.isEmpty) return
val dstCast = dst.asInstanceOf[Array[Int]]
val seq = newNodes.head.storedRef.get.seq()
var offset = offsets(seq)
var idx = 0
while (idx < newNodes.length) {
val nn = newNodes(idx)
nn match {
case generated: NewJumpTarget =>
dstCast(offset) = generated.argumentIndex
offset += 1
case _ =>
}
assert(seq + idx == nn.storedRef.get.seq(), "internal consistency check")
idx += 1
offsets(idx + seq) = offset
}
}
}
object NewNodeInserter_JumpTarget_code extends flatgraph.NewNodePropertyInsertionHelper {
override def insertNewNodeProperties(
newNodes: mutable.ArrayBuffer[flatgraph.DNode],
dst: AnyRef,
offsets: Array[Int]
): Unit = {
if (newNodes.isEmpty) return
val dstCast = dst.asInstanceOf[Array[String]]
val seq = newNodes.head.storedRef.get.seq()
var offset = offsets(seq)
var idx = 0
while (idx < newNodes.length) {
val nn = newNodes(idx)
nn match {
case generated: NewJumpTarget =>
dstCast(offset) = generated.code
offset += 1
case _ =>
}
assert(seq + idx == nn.storedRef.get.seq(), "internal consistency check")
idx += 1
offsets(idx + seq) = offset
}
}
}
object NewNodeInserter_JumpTarget_columnNumber extends flatgraph.NewNodePropertyInsertionHelper {
override def insertNewNodeProperties(
newNodes: mutable.ArrayBuffer[flatgraph.DNode],
dst: AnyRef,
offsets: Array[Int]
): Unit = {
if (newNodes.isEmpty) return
val dstCast = dst.asInstanceOf[Array[Int]]
val seq = newNodes.head.storedRef.get.seq()
var offset = offsets(seq)
var idx = 0
while (idx < newNodes.length) {
val nn = newNodes(idx)
nn match {
case generated: NewJumpTarget =>
generated.columnNumber match {
case Some(item) =>
dstCast(offset) = item
offset += 1
case _ =>
}
case _ =>
}
assert(seq + idx == nn.storedRef.get.seq(), "internal consistency check")
idx += 1
offsets(idx + seq) = offset
}
}
}
object NewNodeInserter_JumpTarget_lineNumber extends flatgraph.NewNodePropertyInsertionHelper {
override def insertNewNodeProperties(
newNodes: mutable.ArrayBuffer[flatgraph.DNode],
dst: AnyRef,
offsets: Array[Int]
): Unit = {
if (newNodes.isEmpty) return
val dstCast = dst.asInstanceOf[Array[Int]]
val seq = newNodes.head.storedRef.get.seq()
var offset = offsets(seq)
var idx = 0
while (idx < newNodes.length) {
val nn = newNodes(idx)
nn match {
case generated: NewJumpTarget =>
generated.lineNumber match {
case Some(item) =>
dstCast(offset) = item
offset += 1
case _ =>
}
case _ =>
}
assert(seq + idx == nn.storedRef.get.seq(), "internal consistency check")
idx += 1
offsets(idx + seq) = offset
}
}
}
object NewNodeInserter_JumpTarget_name extends flatgraph.NewNodePropertyInsertionHelper {
override def insertNewNodeProperties(
newNodes: mutable.ArrayBuffer[flatgraph.DNode],
dst: AnyRef,
offsets: Array[Int]
): Unit = {
if (newNodes.isEmpty) return
val dstCast = dst.asInstanceOf[Array[String]]
val seq = newNodes.head.storedRef.get.seq()
var offset = offsets(seq)
var idx = 0
while (idx < newNodes.length) {
val nn = newNodes(idx)
nn match {
case generated: NewJumpTarget =>
dstCast(offset) = generated.name
offset += 1
case _ =>
}
assert(seq + idx == nn.storedRef.get.seq(), "internal consistency check")
idx += 1
offsets(idx + seq) = offset
}
}
}
object NewNodeInserter_JumpTarget_order extends flatgraph.NewNodePropertyInsertionHelper {
override def insertNewNodeProperties(
newNodes: mutable.ArrayBuffer[flatgraph.DNode],
dst: AnyRef,
offsets: Array[Int]
): Unit = {
if (newNodes.isEmpty) return
val dstCast = dst.asInstanceOf[Array[Int]]
val seq = newNodes.head.storedRef.get.seq()
var offset = offsets(seq)
var idx = 0
while (idx < newNodes.length) {
val nn = newNodes(idx)
nn match {
case generated: NewJumpTarget =>
dstCast(offset) = generated.order
offset += 1
case _ =>
}
assert(seq + idx == nn.storedRef.get.seq(), "internal consistency check")
idx += 1
offsets(idx + seq) = offset
}
}
}
object NewNodeInserter_JumpTarget_parserTypeName extends flatgraph.NewNodePropertyInsertionHelper {
override def insertNewNodeProperties(
newNodes: mutable.ArrayBuffer[flatgraph.DNode],
dst: AnyRef,
offsets: Array[Int]
): Unit = {
if (newNodes.isEmpty) return
val dstCast = dst.asInstanceOf[Array[String]]
val seq = newNodes.head.storedRef.get.seq()
var offset = offsets(seq)
var idx = 0
while (idx < newNodes.length) {
val nn = newNodes(idx)
nn match {
case generated: NewJumpTarget =>
dstCast(offset) = generated.parserTypeName
offset += 1
case _ =>
}
assert(seq + idx == nn.storedRef.get.seq(), "internal consistency check")
idx += 1
offsets(idx + seq) = offset
}
}
}
}
}
class NewJumpTarget extends NewNode(19.toShort) with JumpTargetBase with AstNodeNew with CfgNodeNew {
override type StoredNodeType = JumpTarget
override def label: String = "JUMP_TARGET"
override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = {
NewJumpTarget.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label)
}
override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = {
NewJumpTarget.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label)
}
var argumentIndex: Int = -1: Int
var code: String = "": String
var columnNumber: Option[Int] = None
var lineNumber: Option[Int] = None
var name: String = "": String
var order: Int = -1: Int
var parserTypeName: String = "": String
def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this }
def code(value: String): this.type = { this.code = value; this }
def columnNumber(value: Int): this.type = { this.columnNumber = Option(value); this }
def columnNumber(value: Option[Int]): this.type = { this.columnNumber = value; this }
def lineNumber(value: Int): this.type = { this.lineNumber = Option(value); this }
def lineNumber(value: Option[Int]): this.type = { this.lineNumber = value; this }
def name(value: String): this.type = { this.name = value; this }
def order(value: Int): this.type = { this.order = value; this }
def parserTypeName(value: String): this.type = { this.parserTypeName = value; this }
override def countAndVisitProperties(interface: flatgraph.BatchedUpdateInterface): Unit = {
interface.countProperty(this, 1, 1)
interface.countProperty(this, 10, 1)
interface.countProperty(this, 11, columnNumber.size)
interface.countProperty(this, 34, lineNumber.size)
interface.countProperty(this, 39, 1)
interface.countProperty(this, 43, 1)
interface.countProperty(this, 46, 1)
}
override def copy: this.type = {
val newInstance = new NewJumpTarget
newInstance.argumentIndex = this.argumentIndex
newInstance.code = this.code
newInstance.columnNumber = this.columnNumber
newInstance.lineNumber = this.lineNumber
newInstance.name = this.name
newInstance.order = this.order
newInstance.parserTypeName = this.parserTypeName
newInstance.asInstanceOf[this.type]
}
override def productElementName(n: Int): String =
n match {
case 0 => "argumentIndex"
case 1 => "code"
case 2 => "columnNumber"
case 3 => "lineNumber"
case 4 => "name"
case 5 => "order"
case 6 => "parserTypeName"
case _ => ""
}
override def productElement(n: Int): Any =
n match {
case 0 => this.argumentIndex
case 1 => this.code
case 2 => this.columnNumber
case 3 => this.lineNumber
case 4 => this.name
case 5 => this.order
case 6 => this.parserTypeName
case _ => null
}
override def productPrefix = "NewJumpTarget"
override def productArity = 7
override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewJumpTarget]
}