From d93d87eeb61d2d9b0d1ebe4ff3b3a386909fecee Mon Sep 17 00:00:00 2001 From: Michael Pollmeier Date: Fri, 3 May 2024 11:04:56 +0200 Subject: [PATCH] drop joern-generated domain classes (#190) now that we have generic sample schemas, we'll see the effects of changing the codegen straight away, and the process is much simpler because the (re-) generation of code is automated. Also, the schemas are much smaller which is good for reviewing. --- .gitignore | 1 - README.md | 9 - build.sbt | 28 +- .../src/main/scala/Main.scala | 19 - generateDomainClasses.sh | 3 - .../generated/Accessors.scala | 1136 -- .../generated/BaseTypes.scala | 395 - .../generated/ControlStructureTypes.java | 65 - .../codepropertygraph/generated/Cpg.scala | 786 -- .../generated/DispatchTypes.java | 23 - .../generated/EdgeTypes.java | 134 - .../generated/EdgeTypes.scala | 52 - .../generated/EvaluationStrategies.java | 23 - .../generated/GraphSchema.scala | 957 -- .../generated/Language.scala | 13 - .../generated/Languages.java | 87 - .../generated/ModifierTypes.java | 63 - .../generated/NodeTypes.java | 363 - .../generated/Operators.java | 303 - .../generated/PropertyKeys.scala | 270 - .../generated/PropertyNames.java | 335 - .../generated/RootTypes.scala | 144 - .../generated/RootTypesTraversals.scala | 77 - .../generated/Traversals.scala | 10480 ---------------- .../neighboraccessors/Annotation.scala | 102 - .../neighboraccessors/AnnotationLiteral.scala | 25 - .../AnnotationParameter.scala | 25 - .../AnnotationParameterAssign.scala | 61 - .../neighboraccessors/ArrayInitializer.scala | 49 - .../generated/neighboraccessors/Binding.scala | 72 - .../generated/neighboraccessors/Block.scala | 960 -- .../generated/neighboraccessors/Call.scala | 1200 -- .../generated/neighboraccessors/CfgNode.scala | 102 - .../neighboraccessors/ClosureBinding.scala | 73 - .../generated/neighboraccessors/Comment.scala | 56 - .../neighboraccessors/ControlStructure.scala | 991 -- .../neighboraccessors/Dependency.scala | 22 - .../neighboraccessors/Expression.scala | 46 - .../neighboraccessors/FieldIdentifier.scala | 708 -- .../generated/neighboraccessors/File.scala | 146 - .../neighboraccessors/Identifier.scala | 943 -- .../generated/neighboraccessors/Import.scala | 74 - .../neighboraccessors/JumpLabel.scala | 22 - .../neighboraccessors/JumpTarget.scala | 686 - .../generated/neighboraccessors/Literal.scala | 931 -- .../generated/neighboraccessors/Local.scala | 125 - .../generated/neighboraccessors/Member.scala | 115 - .../generated/neighboraccessors/Method.scala | 633 - .../neighboraccessors/MethodParameterIn.scala | 245 - .../MethodParameterOut.scala | 247 - .../neighboraccessors/MethodRef.scala | 974 -- .../neighboraccessors/MethodReturn.scala | 394 - .../neighboraccessors/Modifier.scala | 72 - .../neighboraccessors/Namespace.scala | 22 - .../neighboraccessors/NamespaceBlock.scala | 66 - .../generated/neighboraccessors/Return.scala | 932 -- .../generated/neighboraccessors/Tag.scala | 206 - .../neighboraccessors/TemplateDom.scala | 78 - .../generated/neighboraccessors/Type.scala | 211 - .../neighboraccessors/TypeArgument.scala | 46 - .../neighboraccessors/TypeDecl.scala | 214 - .../neighboraccessors/TypeParameter.scala | 51 - .../generated/neighboraccessors/TypeRef.scala | 922 -- .../generated/neighboraccessors/Unknown.scala | 912 -- .../generated/neighboraccessors/package.scala | 332 - .../generated/nodes/Annotation.scala | 1403 --- .../generated/nodes/AnnotationLiteral.scala | 1392 -- .../generated/nodes/AnnotationParameter.scala | 1359 -- .../nodes/AnnotationParameterAssign.scala | 1362 -- .../generated/nodes/ArrayInitializer.scala | 1381 -- .../generated/nodes/Binding.scala | 116 - .../generated/nodes/Block.scala | 1421 --- .../generated/nodes/Call.scala | 1469 --- .../generated/nodes/ClosureBinding.scala | 121 - .../generated/nodes/Comment.scala | 1370 -- .../generated/nodes/ConfigFile.scala | 105 - .../generated/nodes/ControlStructure.scala | 1403 --- .../generated/nodes/Dependency.scala | 116 - .../generated/nodes/FieldIdentifier.scala | 1392 -- .../generated/nodes/File.scala | 1392 -- .../generated/nodes/Finding.scala | 105 - .../generated/nodes/Identifier.scala | 1433 --- .../generated/nodes/Import.scala | 1421 --- .../generated/nodes/JumpLabel.scala | 1381 -- .../generated/nodes/JumpTarget.scala | 1392 -- .../generated/nodes/KeyValuePair.scala | 105 - .../generated/nodes/Literal.scala | 1421 --- .../generated/nodes/Local.scala | 1424 --- .../generated/nodes/Location.scala | 203 - .../generated/nodes/Member.scala | 1436 --- .../generated/nodes/MetaData.scala | 143 - .../generated/nodes/Method.scala | 1506 --- .../generated/nodes/MethodParameterIn.scala | 1469 --- .../generated/nodes/MethodParameterOut.scala | 1431 --- .../generated/nodes/MethodRef.scala | 1433 --- .../generated/nodes/MethodReturn.scala | 1411 --- .../generated/nodes/Modifier.scala | 1370 -- .../generated/nodes/Namespace.scala | 1370 -- .../generated/nodes/NamespaceBlock.scala | 1392 -- .../generated/nodes/Return.scala | 1381 -- .../generated/nodes/Tag.scala | 130 - .../generated/nodes/TagNodePair.scala | 102 - .../generated/nodes/TemplateDom.scala | 1392 -- .../generated/nodes/Type.scala | 136 - .../generated/nodes/TypeArgument.scala | 1359 -- .../generated/nodes/TypeDecl.scala | 1483 --- .../generated/nodes/TypeParameter.scala | 1370 -- .../generated/nodes/TypeRef.scala | 1421 --- .../generated/nodes/Unknown.scala | 1445 --- 109 files changed, 3 insertions(+), 77721 deletions(-) delete mode 100644 domain-classes-generator-joern/src/main/scala/Main.scala delete mode 100755 generateDomainClasses.sh delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Accessors.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/BaseTypes.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/ControlStructureTypes.java delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Cpg.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/DispatchTypes.java delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EdgeTypes.java delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EdgeTypes.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EvaluationStrategies.java delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/GraphSchema.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Language.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Languages.java delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/ModifierTypes.java delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/NodeTypes.java delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Operators.java delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/PropertyKeys.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/PropertyNames.java delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/RootTypes.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/RootTypesTraversals.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Traversals.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Annotation.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationLiteral.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationParameter.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationParameterAssign.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ArrayInitializer.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Binding.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Block.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Call.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/CfgNode.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ClosureBinding.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Comment.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ControlStructure.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Dependency.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Expression.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/FieldIdentifier.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/File.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Identifier.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Import.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/JumpLabel.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/JumpTarget.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Literal.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Local.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Member.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Method.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodParameterIn.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodParameterOut.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodRef.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodReturn.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Modifier.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Namespace.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/NamespaceBlock.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Return.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Tag.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TemplateDom.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Type.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeArgument.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeDecl.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeParameter.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeRef.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Unknown.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/package.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Annotation.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationLiteral.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameter.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameterAssign.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ArrayInitializer.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Binding.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Block.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Call.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ClosureBinding.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Comment.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ConfigFile.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ControlStructure.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Dependency.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/FieldIdentifier.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/File.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Finding.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Identifier.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Import.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/JumpLabel.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/JumpTarget.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/KeyValuePair.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Literal.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Local.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Location.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Member.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MetaData.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Method.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterIn.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterOut.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodRef.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodReturn.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Modifier.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Namespace.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/NamespaceBlock.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Return.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Tag.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TagNodePair.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TemplateDom.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Type.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeArgument.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeDecl.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeParameter.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeRef.scala delete mode 100644 joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Unknown.scala diff --git a/.gitignore b/.gitignore index 3c5052cc..d77a77a8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ target /project/project/ -/codescience-generated/src/main/scala /cpg.bin /cpg.bin.tmp /cpg.fg diff --git a/README.md b/README.md index 7e774aa7..47e9d0e4 100644 --- a/README.md +++ b/README.md @@ -1797,15 +1797,6 @@ The runtime for counting all edges with 110 ns/node is a bit faster than odbv1 1 It is still a disaster and completely unacceptable. We'll see how this fares with a real generated schema (as opposed to an ad-hoc schema infered from the graph data). -# Generating domain classes -joern domain (open source): regenerate using `./generateDomainClasses.sh`. The classes are checked into [joern-generated/src/main/scala/generated](joern-generated/src/main/scala/generated) - -codescience domain (closed source, qwiet.ai internal): regenerate using `./generateDomainClassesCodescience.sh`. The classes are not checked into this repository. - -N.b. there are many debates about whether to check generated code into repositories. -In this specific case, it is essential to be able to talk about the generated code, -and track its changes over time. - # FAQ ## What JDK does flatgraph support? diff --git a/build.sbt b/build.sbt index a8f384ac..7a7316c5 100644 --- a/build.sbt +++ b/build.sbt @@ -129,39 +129,17 @@ lazy val testSchemasDomainClasses = project publish / skip := true ) -/** temporarily we still want to keep the generated files for the cpg domain in here, - * in order to be able to quickly see the differences in the generated files if we - * change the codegen - * n.b. relies on a manually published version of cpg-schema from https://github.com/ShiftLeftSecurity/codepropertygraph/tree/michael/flatgraph - */ -lazy val domainClassesGeneratorJoern = project - .in(file("domain-classes-generator-joern")) - .dependsOn(domainClassesGenerator_3) - .settings( - name := "domain-classes-generator-joern", - scalaVersion := scala3, - publish / skip := true, - libraryDependencies += "io.shiftleft" %% "codepropertygraph-schema" % "1.6.6+21-c6774ab5" - ) - -lazy val joernGenerated = project - .in(file("joern-generated")) - .dependsOn(core) - .settings( - name := "joern-generated", - publish / skip := true - ) - +// currently relies on a self-published version of codepropertygraph and joern based on the respective `michael/flatgraph` branches lazy val benchmarks = project .in(file("benchmarks")) - .dependsOn(joernGenerated) .enablePlugins(JavaAppPackaging, JmhPlugin) .settings( name := "benchmarks", //Jmh / compile := (Jmh / compile) //Jmh / run := (Jmh / run).dependsOn(Jmh / compile).evaluated libraryDependencies ++= Seq( - "io.joern" %% "semanticcpg" % "2.0.157", + // TODO upgrade to released version + "io.joern" %% "semanticcpg" % "2.0.350+18-f76162b1", "com.jerolba" % "jmnemohistosyne" % "0.2.3", "org.openjdk.jol" % "jol-core" % "0.17", "org.slf4j" % "slf4j-simple" % slf4jVersion % Optional, diff --git a/domain-classes-generator-joern/src/main/scala/Main.scala b/domain-classes-generator-joern/src/main/scala/Main.scala deleted file mode 100644 index bc81a2e4..00000000 --- a/domain-classes-generator-joern/src/main/scala/Main.scala +++ /dev/null @@ -1,19 +0,0 @@ -import flatgraph.codegen.DomainClassesGenerator -import flatgraph.schema.{Schema, SchemaBuilder} -import io.shiftleft.codepropertygraph.schema.CpgSchema - -object Main { - def main(args: Array[String]): Unit = { - val schema = CpgSchema.instance - val codegen = new DomainClassesGenerator(schema) - val outputDir = "joern-generated/src/main/scala" - codegen.run(java.nio.file.Paths.get(outputDir)) - - // this also works... - // flatgraph.codegen.Main.main(Array( - // "--classWithSchema", "io.shiftleft.codepropertygraph.schema.CpgSchema$", - // "--field", "instance", - // "--out", "joern-generated/src/main/scala" - // )) - } -} diff --git a/generateDomainClasses.sh b/generateDomainClasses.sh deleted file mode 100755 index 2d20a462..00000000 --- a/generateDomainClasses.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -sbt testSchemas/run domainClassesGeneratorJoern/run diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Accessors.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Accessors.scala deleted file mode 100644 index ed627f1a..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Accessors.scala +++ /dev/null @@ -1,1136 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.accessors -import io.shiftleft.codepropertygraph.generated.nodes -import scala.collection.immutable.IndexedSeq - -object Lang extends ConcreteStoredConversions - -object Accessors { - /* accessors for concrete stored nodes start */ - final class Access_Property_ALIAS_TYPE_FULL_NAME(val node: nodes.StoredNode) extends AnyVal { - def aliasTypeFullName: Option[String] = - flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 0, node.seq) - } - final class Access_Property_ARGUMENT_INDEX(val node: nodes.StoredNode) extends AnyVal { - def argumentIndex: Int = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 1, node.seq(), -1: Int) - } - final class Access_Property_ARGUMENT_NAME(val node: nodes.StoredNode) extends AnyVal { - def argumentName: Option[String] = - flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 2, node.seq) - } - final class Access_Property_AST_PARENT_FULL_NAME(val node: nodes.StoredNode) extends AnyVal { - def astParentFullName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 3, node.seq(), "": String) - } - final class Access_Property_AST_PARENT_TYPE(val node: nodes.StoredNode) extends AnyVal { - def astParentType: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 4, node.seq(), "": String) - } - final class Access_Property_CANONICAL_NAME(val node: nodes.StoredNode) extends AnyVal { - def canonicalName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 5, node.seq(), "": String) - } - final class Access_Property_CLASS_NAME(val node: nodes.StoredNode) extends AnyVal { - def className: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 6, node.seq(), "": String) - } - final class Access_Property_CLASS_SHORT_NAME(val node: nodes.StoredNode) extends AnyVal { - def classShortName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 7, node.seq(), "": String) - } - final class Access_Property_CLOSURE_BINDING_ID(val node: nodes.StoredNode) extends AnyVal { - def closureBindingId: Option[String] = - flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 8, node.seq) - } - final class Access_Property_CLOSURE_ORIGINAL_NAME(val node: nodes.StoredNode) extends AnyVal { - def closureOriginalName: Option[String] = - flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 9, node.seq) - } - final class Access_Property_CODE(val node: nodes.StoredNode) extends AnyVal { - def code: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 10, node.seq(), "": String) - } - final class Access_Property_COLUMN_NUMBER(val node: nodes.StoredNode) extends AnyVal { - def columnNumber: Option[Int] = - flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 11, node.seq) - } - final class Access_Property_COLUMN_NUMBER_END(val node: nodes.StoredNode) extends AnyVal { - def columnNumberEnd: Option[Int] = - flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 12, node.seq) - } - final class Access_Property_CONTAINED_REF(val node: nodes.StoredNode) extends AnyVal { - def containedRef: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 13, node.seq(), "": String) - } - final class Access_Property_CONTENT(val node: nodes.StoredNode) extends AnyVal { - def content: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 14, node.seq(), "": String) - } - final class Access_Property_CONTROL_STRUCTURE_TYPE(val node: nodes.StoredNode) extends AnyVal { - def controlStructureType: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 15, node.seq(), "": String) - } - final class Access_Property_DEPENDENCY_GROUP_ID(val node: nodes.StoredNode) extends AnyVal { - def dependencyGroupId: Option[String] = - flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 16, node.seq) - } - final class Access_Property_DISPATCH_TYPE(val node: nodes.StoredNode) extends AnyVal { - def dispatchType: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 17, node.seq(), "": String) - } - final class Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(val node: nodes.StoredNode) extends AnyVal { - def dynamicTypeHintFullName: IndexedSeq[String] = - flatgraph.Accessors.getNodePropertyMulti[String](node.graph, node.nodeKind, 18, node.seq) - } - final class Access_Property_EVALUATION_STRATEGY(val node: nodes.StoredNode) extends AnyVal { - def evaluationStrategy: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 19, node.seq(), "": String) - } - final class Access_Property_EXPLICIT_AS(val node: nodes.StoredNode) extends AnyVal { - def explicitAs: Option[Boolean] = - flatgraph.Accessors.getNodePropertyOption[Boolean](node.graph, node.nodeKind, 20, node.seq) - } - final class Access_Property_FILENAME(val node: nodes.StoredNode) extends AnyVal { - def filename: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 21, node.seq(), "": String) - } - final class Access_Property_FULL_NAME(val node: nodes.StoredNode) extends AnyVal { - def fullName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 22, node.seq(), "": String) - } - final class Access_Property_HASH(val node: nodes.StoredNode) extends AnyVal { - def hash: Option[String] = - flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 23, node.seq) - } - final class Access_Property_IMPORTED_AS(val node: nodes.StoredNode) extends AnyVal { - def importedAs: Option[String] = - flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 24, node.seq) - } - final class Access_Property_IMPORTED_ENTITY(val node: nodes.StoredNode) extends AnyVal { - def importedEntity: Option[String] = - flatgraph.Accessors.getNodePropertyOption[String](node.graph, node.nodeKind, 25, node.seq) - } - final class Access_Property_INDEX(val node: nodes.StoredNode) extends AnyVal { - def index: Int = flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 26, node.seq(), -1: Int) - } - final class Access_Property_INHERITS_FROM_TYPE_FULL_NAME(val node: nodes.StoredNode) extends AnyVal { - def inheritsFromTypeFullName: IndexedSeq[String] = - flatgraph.Accessors.getNodePropertyMulti[String](node.graph, node.nodeKind, 27, node.seq) - } - final class Access_Property_IS_EXPLICIT(val node: nodes.StoredNode) extends AnyVal { - def isExplicit: Option[Boolean] = - flatgraph.Accessors.getNodePropertyOption[Boolean](node.graph, node.nodeKind, 28, node.seq) - } - final class Access_Property_IS_EXTERNAL(val node: nodes.StoredNode) extends AnyVal { - def isExternal: Boolean = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 29, node.seq(), false: Boolean) - } - final class Access_Property_IS_VARIADIC(val node: nodes.StoredNode) extends AnyVal { - def isVariadic: Boolean = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 30, node.seq(), false: Boolean) - } - final class Access_Property_IS_WILDCARD(val node: nodes.StoredNode) extends AnyVal { - def isWildcard: Option[Boolean] = - flatgraph.Accessors.getNodePropertyOption[Boolean](node.graph, node.nodeKind, 31, node.seq) - } - final class Access_Property_KEY(val node: nodes.StoredNode) extends AnyVal { - def key: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 32, node.seq(), "": String) - } - final class Access_Property_LANGUAGE(val node: nodes.StoredNode) extends AnyVal { - def language: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 33, node.seq(), "": String) - } - final class Access_Property_LINE_NUMBER(val node: nodes.StoredNode) extends AnyVal { - def lineNumber: Option[Int] = - flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 34, node.seq) - } - final class Access_Property_LINE_NUMBER_END(val node: nodes.StoredNode) extends AnyVal { - def lineNumberEnd: Option[Int] = - flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 35, node.seq) - } - final class Access_Property_METHOD_FULL_NAME(val node: nodes.StoredNode) extends AnyVal { - def methodFullName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 36, node.seq(), "": String) - } - final class Access_Property_METHOD_SHORT_NAME(val node: nodes.StoredNode) extends AnyVal { - def methodShortName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 37, node.seq(), "": String) - } - final class Access_Property_MODIFIER_TYPE(val node: nodes.StoredNode) extends AnyVal { - def modifierType: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 38, node.seq(), "": String) - } - final class Access_Property_NAME(val node: nodes.StoredNode) extends AnyVal { - def name: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 39, node.seq(), "": String) - } - final class Access_Property_NODE_LABEL(val node: nodes.StoredNode) extends AnyVal { - def nodeLabel: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 40, node.seq(), "": String) - } - final class Access_Property_OFFSET(val node: nodes.StoredNode) extends AnyVal { - def offset: Option[Int] = flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 41, node.seq) - } - final class Access_Property_OFFSET_END(val node: nodes.StoredNode) extends AnyVal { - def offsetEnd: Option[Int] = flatgraph.Accessors.getNodePropertyOption[Int](node.graph, node.nodeKind, 42, node.seq) - } - final class Access_Property_ORDER(val node: nodes.StoredNode) extends AnyVal { - def order: Int = flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 43, node.seq(), -1: Int) - } - final class Access_Property_OVERLAYS(val node: nodes.StoredNode) extends AnyVal { - def overlays: IndexedSeq[String] = - flatgraph.Accessors.getNodePropertyMulti[String](node.graph, node.nodeKind, 44, node.seq) - } - final class Access_Property_PACKAGE_NAME(val node: nodes.StoredNode) extends AnyVal { - def packageName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 45, node.seq(), "": String) - } - final class Access_Property_PARSER_TYPE_NAME(val node: nodes.StoredNode) extends AnyVal { - def parserTypeName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 46, node.seq(), "": String) - } - final class Access_Property_POSSIBLE_TYPES(val node: nodes.StoredNode) extends AnyVal { - def possibleTypes: IndexedSeq[String] = - flatgraph.Accessors.getNodePropertyMulti[String](node.graph, node.nodeKind, 47, node.seq) - } - final class Access_Property_ROOT(val node: nodes.StoredNode) extends AnyVal { - def root: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 48, node.seq(), "": String) - } - final class Access_Property_SIGNATURE(val node: nodes.StoredNode) extends AnyVal { - def signature: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 49, node.seq(), "": String) - } - final class Access_Property_SYMBOL(val node: nodes.StoredNode) extends AnyVal { - def symbol: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 50, node.seq(), "": String) - } - final class Access_Property_TYPE_DECL_FULL_NAME(val node: nodes.StoredNode) extends AnyVal { - def typeDeclFullName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 51, node.seq(), "": String) - } - final class Access_Property_TYPE_FULL_NAME(val node: nodes.StoredNode) extends AnyVal { - def typeFullName: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 52, node.seq(), "": String) - } - final class Access_Property_VALUE(val node: nodes.StoredNode) extends AnyVal { - def value: String = flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 53, node.seq(), "": String) - } - final class Access_Property_VERSION(val node: nodes.StoredNode) extends AnyVal { - def version: String = - flatgraph.Accessors.getNodePropertySingle(node.graph, node.nodeKind, 54, node.seq(), "": String) - } - /* accessors for concrete stored nodes end */ - - /* accessors for base nodes start */ - final class Access_AnnotationBase(val node: nodes.AnnotationBase) extends AnyVal { - def fullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_FULL_NAME(stored).fullName - case newNode: nodes.NewAnnotation => newNode.fullName - } - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewAnnotation => newNode.name - } - } - final class Access_AnnotationLiteralBase(val node: nodes.AnnotationLiteralBase) extends AnyVal { - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewAnnotationLiteral => newNode.name - } - } - final class Access_AnnotationParameterBase(val node: nodes.AnnotationParameterBase) extends AnyVal {} - final class Access_AnnotationParameterAssignBase(val node: nodes.AnnotationParameterAssignBase) extends AnyVal {} - final class Access_ArrayInitializerBase(val node: nodes.ArrayInitializerBase) extends AnyVal {} - final class Access_BindingBase(val node: nodes.BindingBase) extends AnyVal { - def methodFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_METHOD_FULL_NAME(stored).methodFullName - case newNode: nodes.NewBinding => newNode.methodFullName - } - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewBinding => newNode.name - } - def signature: String = node match { - case stored: nodes.StoredNode => new Access_Property_SIGNATURE(stored).signature - case newNode: nodes.NewBinding => newNode.signature - } - } - final class Access_BlockBase(val node: nodes.BlockBase) extends AnyVal { - def dynamicTypeHintFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(stored).dynamicTypeHintFullName - case newNode: nodes.NewBlock => newNode.dynamicTypeHintFullName - } - def possibleTypes: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_POSSIBLE_TYPES(stored).possibleTypes - case newNode: nodes.NewBlock => newNode.possibleTypes - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewBlock => newNode.typeFullName - } - } - final class Access_CallBase(val node: nodes.CallBase) extends AnyVal { - def dispatchType: String = node match { - case stored: nodes.StoredNode => new Access_Property_DISPATCH_TYPE(stored).dispatchType - case newNode: nodes.NewCall => newNode.dispatchType - } - def dynamicTypeHintFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(stored).dynamicTypeHintFullName - case newNode: nodes.NewCall => newNode.dynamicTypeHintFullName - } - def methodFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_METHOD_FULL_NAME(stored).methodFullName - case newNode: nodes.NewCall => newNode.methodFullName - } - def possibleTypes: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_POSSIBLE_TYPES(stored).possibleTypes - case newNode: nodes.NewCall => newNode.possibleTypes - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewCall => newNode.typeFullName - } - } - final class Access_ClosureBindingBase(val node: nodes.ClosureBindingBase) extends AnyVal { - def closureBindingId: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_CLOSURE_BINDING_ID(stored).closureBindingId - case newNode: nodes.NewClosureBinding => newNode.closureBindingId - } - def closureOriginalName: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_CLOSURE_ORIGINAL_NAME(stored).closureOriginalName - case newNode: nodes.NewClosureBinding => newNode.closureOriginalName - } - def evaluationStrategy: String = node match { - case stored: nodes.StoredNode => new Access_Property_EVALUATION_STRATEGY(stored).evaluationStrategy - case newNode: nodes.NewClosureBinding => newNode.evaluationStrategy - } - } - final class Access_CommentBase(val node: nodes.CommentBase) extends AnyVal { - def filename: String = node match { - case stored: nodes.StoredNode => new Access_Property_FILENAME(stored).filename - case newNode: nodes.NewComment => newNode.filename - } - } - final class Access_ConfigFileBase(val node: nodes.ConfigFileBase) extends AnyVal { - def content: String = node match { - case stored: nodes.StoredNode => new Access_Property_CONTENT(stored).content - case newNode: nodes.NewConfigFile => newNode.content - } - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewConfigFile => newNode.name - } - } - final class Access_ControlStructureBase(val node: nodes.ControlStructureBase) extends AnyVal { - def controlStructureType: String = node match { - case stored: nodes.StoredNode => new Access_Property_CONTROL_STRUCTURE_TYPE(stored).controlStructureType - case newNode: nodes.NewControlStructure => newNode.controlStructureType - } - def parserTypeName: String = node match { - case stored: nodes.StoredNode => new Access_Property_PARSER_TYPE_NAME(stored).parserTypeName - case newNode: nodes.NewControlStructure => newNode.parserTypeName - } - } - final class Access_DependencyBase(val node: nodes.DependencyBase) extends AnyVal { - def dependencyGroupId: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DEPENDENCY_GROUP_ID(stored).dependencyGroupId - case newNode: nodes.NewDependency => newNode.dependencyGroupId - } - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewDependency => newNode.name - } - def version: String = node match { - case stored: nodes.StoredNode => new Access_Property_VERSION(stored).version - case newNode: nodes.NewDependency => newNode.version - } - } - final class Access_FieldIdentifierBase(val node: nodes.FieldIdentifierBase) extends AnyVal { - def canonicalName: String = node match { - case stored: nodes.StoredNode => new Access_Property_CANONICAL_NAME(stored).canonicalName - case newNode: nodes.NewFieldIdentifier => newNode.canonicalName - } - } - final class Access_FileBase(val node: nodes.FileBase) extends AnyVal { - def content: String = node match { - case stored: nodes.StoredNode => new Access_Property_CONTENT(stored).content - case newNode: nodes.NewFile => newNode.content - } - def hash: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_HASH(stored).hash - case newNode: nodes.NewFile => newNode.hash - } - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewFile => newNode.name - } - } - final class Access_FindingBase(val node: nodes.FindingBase) extends AnyVal {} - final class Access_IdentifierBase(val node: nodes.IdentifierBase) extends AnyVal { - def dynamicTypeHintFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(stored).dynamicTypeHintFullName - case newNode: nodes.NewIdentifier => newNode.dynamicTypeHintFullName - } - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewIdentifier => newNode.name - } - def possibleTypes: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_POSSIBLE_TYPES(stored).possibleTypes - case newNode: nodes.NewIdentifier => newNode.possibleTypes - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewIdentifier => newNode.typeFullName - } - } - final class Access_ImportBase(val node: nodes.ImportBase) extends AnyVal { - def explicitAs: Option[Boolean] = node match { - case stored: nodes.StoredNode => new Access_Property_EXPLICIT_AS(stored).explicitAs - case newNode: nodes.NewImport => newNode.explicitAs - } - def importedAs: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_IMPORTED_AS(stored).importedAs - case newNode: nodes.NewImport => newNode.importedAs - } - def importedEntity: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_IMPORTED_ENTITY(stored).importedEntity - case newNode: nodes.NewImport => newNode.importedEntity - } - def isExplicit: Option[Boolean] = node match { - case stored: nodes.StoredNode => new Access_Property_IS_EXPLICIT(stored).isExplicit - case newNode: nodes.NewImport => newNode.isExplicit - } - def isWildcard: Option[Boolean] = node match { - case stored: nodes.StoredNode => new Access_Property_IS_WILDCARD(stored).isWildcard - case newNode: nodes.NewImport => newNode.isWildcard - } - } - final class Access_JumpLabelBase(val node: nodes.JumpLabelBase) extends AnyVal { - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewJumpLabel => newNode.name - } - def parserTypeName: String = node match { - case stored: nodes.StoredNode => new Access_Property_PARSER_TYPE_NAME(stored).parserTypeName - case newNode: nodes.NewJumpLabel => newNode.parserTypeName - } - } - final class Access_JumpTargetBase(val node: nodes.JumpTargetBase) extends AnyVal { - def argumentIndex: Int = node match { - case stored: nodes.StoredNode => new Access_Property_ARGUMENT_INDEX(stored).argumentIndex - case newNode: nodes.NewJumpTarget => newNode.argumentIndex - } - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewJumpTarget => newNode.name - } - def parserTypeName: String = node match { - case stored: nodes.StoredNode => new Access_Property_PARSER_TYPE_NAME(stored).parserTypeName - case newNode: nodes.NewJumpTarget => newNode.parserTypeName - } - } - final class Access_KeyValuePairBase(val node: nodes.KeyValuePairBase) extends AnyVal { - def key: String = node match { - case stored: nodes.StoredNode => new Access_Property_KEY(stored).key - case newNode: nodes.NewKeyValuePair => newNode.key - } - def value: String = node match { - case stored: nodes.StoredNode => new Access_Property_VALUE(stored).value - case newNode: nodes.NewKeyValuePair => newNode.value - } - } - final class Access_LiteralBase(val node: nodes.LiteralBase) extends AnyVal { - def dynamicTypeHintFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(stored).dynamicTypeHintFullName - case newNode: nodes.NewLiteral => newNode.dynamicTypeHintFullName - } - def possibleTypes: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_POSSIBLE_TYPES(stored).possibleTypes - case newNode: nodes.NewLiteral => newNode.possibleTypes - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewLiteral => newNode.typeFullName - } - } - final class Access_LocalBase(val node: nodes.LocalBase) extends AnyVal { - def closureBindingId: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_CLOSURE_BINDING_ID(stored).closureBindingId - case newNode: nodes.NewLocal => newNode.closureBindingId - } - def dynamicTypeHintFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(stored).dynamicTypeHintFullName - case newNode: nodes.NewLocal => newNode.dynamicTypeHintFullName - } - def possibleTypes: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_POSSIBLE_TYPES(stored).possibleTypes - case newNode: nodes.NewLocal => newNode.possibleTypes - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewLocal => newNode.typeFullName - } - } - final class Access_LocationBase(val node: nodes.LocationBase) extends AnyVal { - def className: String = node match { - case stored: nodes.StoredNode => new Access_Property_CLASS_NAME(stored).className - case newNode: nodes.NewLocation => newNode.className - } - def classShortName: String = node match { - case stored: nodes.StoredNode => new Access_Property_CLASS_SHORT_NAME(stored).classShortName - case newNode: nodes.NewLocation => newNode.classShortName - } - def filename: String = node match { - case stored: nodes.StoredNode => new Access_Property_FILENAME(stored).filename - case newNode: nodes.NewLocation => newNode.filename - } - def lineNumber: Option[Int] = node match { - case stored: nodes.StoredNode => new Access_Property_LINE_NUMBER(stored).lineNumber - case newNode: nodes.NewLocation => newNode.lineNumber - } - def methodFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_METHOD_FULL_NAME(stored).methodFullName - case newNode: nodes.NewLocation => newNode.methodFullName - } - def methodShortName: String = node match { - case stored: nodes.StoredNode => new Access_Property_METHOD_SHORT_NAME(stored).methodShortName - case newNode: nodes.NewLocation => newNode.methodShortName - } - def nodeLabel: String = node match { - case stored: nodes.StoredNode => new Access_Property_NODE_LABEL(stored).nodeLabel - case newNode: nodes.NewLocation => newNode.nodeLabel - } - def packageName: String = node match { - case stored: nodes.StoredNode => new Access_Property_PACKAGE_NAME(stored).packageName - case newNode: nodes.NewLocation => newNode.packageName - } - def symbol: String = node match { - case stored: nodes.StoredNode => new Access_Property_SYMBOL(stored).symbol - case newNode: nodes.NewLocation => newNode.symbol - } - } - final class Access_MemberBase(val node: nodes.MemberBase) extends AnyVal { - def astParentFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_AST_PARENT_FULL_NAME(stored).astParentFullName - case newNode: nodes.NewMember => newNode.astParentFullName - } - def astParentType: String = node match { - case stored: nodes.StoredNode => new Access_Property_AST_PARENT_TYPE(stored).astParentType - case newNode: nodes.NewMember => newNode.astParentType - } - def dynamicTypeHintFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(stored).dynamicTypeHintFullName - case newNode: nodes.NewMember => newNode.dynamicTypeHintFullName - } - def possibleTypes: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_POSSIBLE_TYPES(stored).possibleTypes - case newNode: nodes.NewMember => newNode.possibleTypes - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewMember => newNode.typeFullName - } - } - final class Access_MetaDataBase(val node: nodes.MetaDataBase) extends AnyVal { - def hash: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_HASH(stored).hash - case newNode: nodes.NewMetaData => newNode.hash - } - def language: String = node match { - case stored: nodes.StoredNode => new Access_Property_LANGUAGE(stored).language - case newNode: nodes.NewMetaData => newNode.language - } - def overlays: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_OVERLAYS(stored).overlays - case newNode: nodes.NewMetaData => newNode.overlays - } - def root: String = node match { - case stored: nodes.StoredNode => new Access_Property_ROOT(stored).root - case newNode: nodes.NewMetaData => newNode.root - } - def version: String = node match { - case stored: nodes.StoredNode => new Access_Property_VERSION(stored).version - case newNode: nodes.NewMetaData => newNode.version - } - } - final class Access_MethodBase(val node: nodes.MethodBase) extends AnyVal { - def astParentFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_AST_PARENT_FULL_NAME(stored).astParentFullName - case newNode: nodes.NewMethod => newNode.astParentFullName - } - def astParentType: String = node match { - case stored: nodes.StoredNode => new Access_Property_AST_PARENT_TYPE(stored).astParentType - case newNode: nodes.NewMethod => newNode.astParentType - } - def columnNumberEnd: Option[Int] = node match { - case stored: nodes.StoredNode => new Access_Property_COLUMN_NUMBER_END(stored).columnNumberEnd - case newNode: nodes.NewMethod => newNode.columnNumberEnd - } - def filename: String = node match { - case stored: nodes.StoredNode => new Access_Property_FILENAME(stored).filename - case newNode: nodes.NewMethod => newNode.filename - } - def fullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_FULL_NAME(stored).fullName - case newNode: nodes.NewMethod => newNode.fullName - } - def hash: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_HASH(stored).hash - case newNode: nodes.NewMethod => newNode.hash - } - def isExternal: Boolean = node match { - case stored: nodes.StoredNode => new Access_Property_IS_EXTERNAL(stored).isExternal - case newNode: nodes.NewMethod => newNode.isExternal - } - def lineNumberEnd: Option[Int] = node match { - case stored: nodes.StoredNode => new Access_Property_LINE_NUMBER_END(stored).lineNumberEnd - case newNode: nodes.NewMethod => newNode.lineNumberEnd - } - def offset: Option[Int] = node match { - case stored: nodes.StoredNode => new Access_Property_OFFSET(stored).offset - case newNode: nodes.NewMethod => newNode.offset - } - def offsetEnd: Option[Int] = node match { - case stored: nodes.StoredNode => new Access_Property_OFFSET_END(stored).offsetEnd - case newNode: nodes.NewMethod => newNode.offsetEnd - } - def signature: String = node match { - case stored: nodes.StoredNode => new Access_Property_SIGNATURE(stored).signature - case newNode: nodes.NewMethod => newNode.signature - } - } - final class Access_MethodParameterInBase(val node: nodes.MethodParameterInBase) extends AnyVal { - def closureBindingId: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_CLOSURE_BINDING_ID(stored).closureBindingId - case newNode: nodes.NewMethodParameterIn => newNode.closureBindingId - } - def dynamicTypeHintFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(stored).dynamicTypeHintFullName - case newNode: nodes.NewMethodParameterIn => newNode.dynamicTypeHintFullName - } - def evaluationStrategy: String = node match { - case stored: nodes.StoredNode => new Access_Property_EVALUATION_STRATEGY(stored).evaluationStrategy - case newNode: nodes.NewMethodParameterIn => newNode.evaluationStrategy - } - def index: Int = node match { - case stored: nodes.StoredNode => new Access_Property_INDEX(stored).index - case newNode: nodes.NewMethodParameterIn => newNode.index - } - def isVariadic: Boolean = node match { - case stored: nodes.StoredNode => new Access_Property_IS_VARIADIC(stored).isVariadic - case newNode: nodes.NewMethodParameterIn => newNode.isVariadic - } - def possibleTypes: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_POSSIBLE_TYPES(stored).possibleTypes - case newNode: nodes.NewMethodParameterIn => newNode.possibleTypes - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewMethodParameterIn => newNode.typeFullName - } - } - final class Access_MethodParameterOutBase(val node: nodes.MethodParameterOutBase) extends AnyVal { - def evaluationStrategy: String = node match { - case stored: nodes.StoredNode => new Access_Property_EVALUATION_STRATEGY(stored).evaluationStrategy - case newNode: nodes.NewMethodParameterOut => newNode.evaluationStrategy - } - def index: Int = node match { - case stored: nodes.StoredNode => new Access_Property_INDEX(stored).index - case newNode: nodes.NewMethodParameterOut => newNode.index - } - def isVariadic: Boolean = node match { - case stored: nodes.StoredNode => new Access_Property_IS_VARIADIC(stored).isVariadic - case newNode: nodes.NewMethodParameterOut => newNode.isVariadic - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewMethodParameterOut => newNode.typeFullName - } - } - final class Access_MethodRefBase(val node: nodes.MethodRefBase) extends AnyVal { - def dynamicTypeHintFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(stored).dynamicTypeHintFullName - case newNode: nodes.NewMethodRef => newNode.dynamicTypeHintFullName - } - def methodFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_METHOD_FULL_NAME(stored).methodFullName - case newNode: nodes.NewMethodRef => newNode.methodFullName - } - def possibleTypes: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_POSSIBLE_TYPES(stored).possibleTypes - case newNode: nodes.NewMethodRef => newNode.possibleTypes - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewMethodRef => newNode.typeFullName - } - } - final class Access_MethodReturnBase(val node: nodes.MethodReturnBase) extends AnyVal { - def dynamicTypeHintFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(stored).dynamicTypeHintFullName - case newNode: nodes.NewMethodReturn => newNode.dynamicTypeHintFullName - } - def evaluationStrategy: String = node match { - case stored: nodes.StoredNode => new Access_Property_EVALUATION_STRATEGY(stored).evaluationStrategy - case newNode: nodes.NewMethodReturn => newNode.evaluationStrategy - } - def possibleTypes: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_POSSIBLE_TYPES(stored).possibleTypes - case newNode: nodes.NewMethodReturn => newNode.possibleTypes - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewMethodReturn => newNode.typeFullName - } - } - final class Access_ModifierBase(val node: nodes.ModifierBase) extends AnyVal { - def modifierType: String = node match { - case stored: nodes.StoredNode => new Access_Property_MODIFIER_TYPE(stored).modifierType - case newNode: nodes.NewModifier => newNode.modifierType - } - } - final class Access_NamespaceBase(val node: nodes.NamespaceBase) extends AnyVal { - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewNamespace => newNode.name - } - } - final class Access_NamespaceBlockBase(val node: nodes.NamespaceBlockBase) extends AnyVal { - def filename: String = node match { - case stored: nodes.StoredNode => new Access_Property_FILENAME(stored).filename - case newNode: nodes.NewNamespaceBlock => newNode.filename - } - def fullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_FULL_NAME(stored).fullName - case newNode: nodes.NewNamespaceBlock => newNode.fullName - } - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewNamespaceBlock => newNode.name - } - } - final class Access_ReturnBase(val node: nodes.ReturnBase) extends AnyVal {} - final class Access_TagBase(val node: nodes.TagBase) extends AnyVal { - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewTag => newNode.name - } - def value: String = node match { - case stored: nodes.StoredNode => new Access_Property_VALUE(stored).value - case newNode: nodes.NewTag => newNode.value - } - } - final class Access_TagNodePairBase(val node: nodes.TagNodePairBase) extends AnyVal {} - final class Access_TemplateDomBase(val node: nodes.TemplateDomBase) extends AnyVal { - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewTemplateDom => newNode.name - } - } - final class Access_TypeBase(val node: nodes.TypeBase) extends AnyVal { - def fullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_FULL_NAME(stored).fullName - case newNode: nodes.NewType => newNode.fullName - } - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewType => newNode.name - } - def typeDeclFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_DECL_FULL_NAME(stored).typeDeclFullName - case newNode: nodes.NewType => newNode.typeDeclFullName - } - } - final class Access_TypeArgumentBase(val node: nodes.TypeArgumentBase) extends AnyVal {} - final class Access_TypeDeclBase(val node: nodes.TypeDeclBase) extends AnyVal { - def aliasTypeFullName: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_ALIAS_TYPE_FULL_NAME(stored).aliasTypeFullName - case newNode: nodes.NewTypeDecl => newNode.aliasTypeFullName - } - def astParentFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_AST_PARENT_FULL_NAME(stored).astParentFullName - case newNode: nodes.NewTypeDecl => newNode.astParentFullName - } - def astParentType: String = node match { - case stored: nodes.StoredNode => new Access_Property_AST_PARENT_TYPE(stored).astParentType - case newNode: nodes.NewTypeDecl => newNode.astParentType - } - def filename: String = node match { - case stored: nodes.StoredNode => new Access_Property_FILENAME(stored).filename - case newNode: nodes.NewTypeDecl => newNode.filename - } - def fullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_FULL_NAME(stored).fullName - case newNode: nodes.NewTypeDecl => newNode.fullName - } - def inheritsFromTypeFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_INHERITS_FROM_TYPE_FULL_NAME(stored).inheritsFromTypeFullName - case newNode: nodes.NewTypeDecl => newNode.inheritsFromTypeFullName - } - def isExternal: Boolean = node match { - case stored: nodes.StoredNode => new Access_Property_IS_EXTERNAL(stored).isExternal - case newNode: nodes.NewTypeDecl => newNode.isExternal - } - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewTypeDecl => newNode.name - } - def offset: Option[Int] = node match { - case stored: nodes.StoredNode => new Access_Property_OFFSET(stored).offset - case newNode: nodes.NewTypeDecl => newNode.offset - } - def offsetEnd: Option[Int] = node match { - case stored: nodes.StoredNode => new Access_Property_OFFSET_END(stored).offsetEnd - case newNode: nodes.NewTypeDecl => newNode.offsetEnd - } - } - final class Access_TypeParameterBase(val node: nodes.TypeParameterBase) extends AnyVal { - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.NewTypeParameter => newNode.name - } - } - final class Access_TypeRefBase(val node: nodes.TypeRefBase) extends AnyVal { - def dynamicTypeHintFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(stored).dynamicTypeHintFullName - case newNode: nodes.NewTypeRef => newNode.dynamicTypeHintFullName - } - def possibleTypes: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_POSSIBLE_TYPES(stored).possibleTypes - case newNode: nodes.NewTypeRef => newNode.possibleTypes - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewTypeRef => newNode.typeFullName - } - } - final class Access_UnknownBase(val node: nodes.UnknownBase) extends AnyVal { - def containedRef: String = node match { - case stored: nodes.StoredNode => new Access_Property_CONTAINED_REF(stored).containedRef - case newNode: nodes.NewUnknown => newNode.containedRef - } - def dynamicTypeHintFullName: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(stored).dynamicTypeHintFullName - case newNode: nodes.NewUnknown => newNode.dynamicTypeHintFullName - } - def parserTypeName: String = node match { - case stored: nodes.StoredNode => new Access_Property_PARSER_TYPE_NAME(stored).parserTypeName - case newNode: nodes.NewUnknown => newNode.parserTypeName - } - def possibleTypes: IndexedSeq[String] = node match { - case stored: nodes.StoredNode => new Access_Property_POSSIBLE_TYPES(stored).possibleTypes - case newNode: nodes.NewUnknown => newNode.possibleTypes - } - def typeFullName: String = node match { - case stored: nodes.StoredNode => new Access_Property_TYPE_FULL_NAME(stored).typeFullName - case newNode: nodes.NewUnknown => newNode.typeFullName - } - } - final class Access_AstNodeBase(val node: nodes.AstNodeBase) extends AnyVal { - def code: String = node match { - case stored: nodes.StoredNode => new Access_Property_CODE(stored).code - case newNode: nodes.AstNodeNew => newNode.code - } - def columnNumber: Option[Int] = node match { - case stored: nodes.StoredNode => new Access_Property_COLUMN_NUMBER(stored).columnNumber - case newNode: nodes.AstNodeNew => newNode.columnNumber - } - def lineNumber: Option[Int] = node match { - case stored: nodes.StoredNode => new Access_Property_LINE_NUMBER(stored).lineNumber - case newNode: nodes.AstNodeNew => newNode.lineNumber - } - def order: Int = node match { - case stored: nodes.StoredNode => new Access_Property_ORDER(stored).order - case newNode: nodes.AstNodeNew => newNode.order - } - } - final class Access_CallReprBase(val node: nodes.CallReprBase) extends AnyVal { - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.CallReprNew => newNode.name - } - def signature: String = node match { - case stored: nodes.StoredNode => new Access_Property_SIGNATURE(stored).signature - case newNode: nodes.CallReprNew => newNode.signature - } - } - final class Access_CfgNodeBase(val node: nodes.CfgNodeBase) extends AnyVal {} - final class Access_ExpressionBase(val node: nodes.ExpressionBase) extends AnyVal { - def argumentIndex: Int = node match { - case stored: nodes.StoredNode => new Access_Property_ARGUMENT_INDEX(stored).argumentIndex - case newNode: nodes.ExpressionNew => newNode.argumentIndex - } - def argumentName: Option[String] = node match { - case stored: nodes.StoredNode => new Access_Property_ARGUMENT_NAME(stored).argumentName - case newNode: nodes.ExpressionNew => newNode.argumentName - } - } - final class Access_DeclarationBase(val node: nodes.DeclarationBase) extends AnyVal { - def name: String = node match { - case stored: nodes.StoredNode => new Access_Property_NAME(stored).name - case newNode: nodes.DeclarationNew => newNode.name - } - } - /* accessors for base nodes end */ -} - -trait ConcreteStoredConversions extends ConcreteBaseConversions { - import Accessors.* - implicit def accessPropertyAliasTypeFullName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasAliasTypeFullNameEMT] - ): Access_Property_ALIAS_TYPE_FULL_NAME = new Access_Property_ALIAS_TYPE_FULL_NAME(node) - implicit def accessPropertyArgumentIndex( - node: nodes.StoredNode & nodes.StaticType[nodes.HasArgumentIndexEMT] - ): Access_Property_ARGUMENT_INDEX = new Access_Property_ARGUMENT_INDEX(node) - implicit def accessPropertyArgumentName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasArgumentNameEMT] - ): Access_Property_ARGUMENT_NAME = new Access_Property_ARGUMENT_NAME(node) - implicit def accessPropertyAstParentFullName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasAstParentFullNameEMT] - ): Access_Property_AST_PARENT_FULL_NAME = new Access_Property_AST_PARENT_FULL_NAME(node) - implicit def accessPropertyAstParentType( - node: nodes.StoredNode & nodes.StaticType[nodes.HasAstParentTypeEMT] - ): Access_Property_AST_PARENT_TYPE = new Access_Property_AST_PARENT_TYPE(node) - implicit def accessPropertyCanonicalName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasCanonicalNameEMT] - ): Access_Property_CANONICAL_NAME = new Access_Property_CANONICAL_NAME(node) - implicit def accessPropertyClassName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasClassNameEMT] - ): Access_Property_CLASS_NAME = new Access_Property_CLASS_NAME(node) - implicit def accessPropertyClassShortName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasClassShortNameEMT] - ): Access_Property_CLASS_SHORT_NAME = new Access_Property_CLASS_SHORT_NAME(node) - implicit def accessPropertyClosureBindingId( - node: nodes.StoredNode & nodes.StaticType[nodes.HasClosureBindingIdEMT] - ): Access_Property_CLOSURE_BINDING_ID = new Access_Property_CLOSURE_BINDING_ID(node) - implicit def accessPropertyClosureOriginalName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasClosureOriginalNameEMT] - ): Access_Property_CLOSURE_ORIGINAL_NAME = new Access_Property_CLOSURE_ORIGINAL_NAME(node) - implicit def accessPropertyCode(node: nodes.StoredNode & nodes.StaticType[nodes.HasCodeEMT]): Access_Property_CODE = - new Access_Property_CODE(node) - implicit def accessPropertyColumnNumber( - node: nodes.StoredNode & nodes.StaticType[nodes.HasColumnNumberEMT] - ): Access_Property_COLUMN_NUMBER = new Access_Property_COLUMN_NUMBER(node) - implicit def accessPropertyColumnNumberEnd( - node: nodes.StoredNode & nodes.StaticType[nodes.HasColumnNumberEndEMT] - ): Access_Property_COLUMN_NUMBER_END = new Access_Property_COLUMN_NUMBER_END(node) - implicit def accessPropertyContainedRef( - node: nodes.StoredNode & nodes.StaticType[nodes.HasContainedRefEMT] - ): Access_Property_CONTAINED_REF = new Access_Property_CONTAINED_REF(node) - implicit def accessPropertyContent( - node: nodes.StoredNode & nodes.StaticType[nodes.HasContentEMT] - ): Access_Property_CONTENT = new Access_Property_CONTENT(node) - implicit def accessPropertyControlStructureType( - node: nodes.StoredNode & nodes.StaticType[nodes.HasControlStructureTypeEMT] - ): Access_Property_CONTROL_STRUCTURE_TYPE = new Access_Property_CONTROL_STRUCTURE_TYPE(node) - implicit def accessPropertyDependencyGroupId( - node: nodes.StoredNode & nodes.StaticType[nodes.HasDependencyGroupIdEMT] - ): Access_Property_DEPENDENCY_GROUP_ID = new Access_Property_DEPENDENCY_GROUP_ID(node) - implicit def accessPropertyDispatchType( - node: nodes.StoredNode & nodes.StaticType[nodes.HasDispatchTypeEMT] - ): Access_Property_DISPATCH_TYPE = new Access_Property_DISPATCH_TYPE(node) - implicit def accessPropertyDynamicTypeHintFullName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasDynamicTypeHintFullNameEMT] - ): Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME = new Access_Property_DYNAMIC_TYPE_HINT_FULL_NAME(node) - implicit def accessPropertyEvaluationStrategy( - node: nodes.StoredNode & nodes.StaticType[nodes.HasEvaluationStrategyEMT] - ): Access_Property_EVALUATION_STRATEGY = new Access_Property_EVALUATION_STRATEGY(node) - implicit def accessPropertyExplicitAs( - node: nodes.StoredNode & nodes.StaticType[nodes.HasExplicitAsEMT] - ): Access_Property_EXPLICIT_AS = new Access_Property_EXPLICIT_AS(node) - implicit def accessPropertyFilename( - node: nodes.StoredNode & nodes.StaticType[nodes.HasFilenameEMT] - ): Access_Property_FILENAME = new Access_Property_FILENAME(node) - implicit def accessPropertyFullName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasFullNameEMT] - ): Access_Property_FULL_NAME = new Access_Property_FULL_NAME(node) - implicit def accessPropertyHash(node: nodes.StoredNode & nodes.StaticType[nodes.HasHashEMT]): Access_Property_HASH = - new Access_Property_HASH(node) - implicit def accessPropertyImportedAs( - node: nodes.StoredNode & nodes.StaticType[nodes.HasImportedAsEMT] - ): Access_Property_IMPORTED_AS = new Access_Property_IMPORTED_AS(node) - implicit def accessPropertyImportedEntity( - node: nodes.StoredNode & nodes.StaticType[nodes.HasImportedEntityEMT] - ): Access_Property_IMPORTED_ENTITY = new Access_Property_IMPORTED_ENTITY(node) - implicit def accessPropertyIndex( - node: nodes.StoredNode & nodes.StaticType[nodes.HasIndexEMT] - ): Access_Property_INDEX = new Access_Property_INDEX(node) - implicit def accessPropertyInheritsFromTypeFullName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasInheritsFromTypeFullNameEMT] - ): Access_Property_INHERITS_FROM_TYPE_FULL_NAME = new Access_Property_INHERITS_FROM_TYPE_FULL_NAME(node) - implicit def accessPropertyIsExplicit( - node: nodes.StoredNode & nodes.StaticType[nodes.HasIsExplicitEMT] - ): Access_Property_IS_EXPLICIT = new Access_Property_IS_EXPLICIT(node) - implicit def accessPropertyIsExternal( - node: nodes.StoredNode & nodes.StaticType[nodes.HasIsExternalEMT] - ): Access_Property_IS_EXTERNAL = new Access_Property_IS_EXTERNAL(node) - implicit def accessPropertyIsVariadic( - node: nodes.StoredNode & nodes.StaticType[nodes.HasIsVariadicEMT] - ): Access_Property_IS_VARIADIC = new Access_Property_IS_VARIADIC(node) - implicit def accessPropertyIsWildcard( - node: nodes.StoredNode & nodes.StaticType[nodes.HasIsWildcardEMT] - ): Access_Property_IS_WILDCARD = new Access_Property_IS_WILDCARD(node) - implicit def accessPropertyKey(node: nodes.StoredNode & nodes.StaticType[nodes.HasKeyEMT]): Access_Property_KEY = - new Access_Property_KEY(node) - implicit def accessPropertyLanguage( - node: nodes.StoredNode & nodes.StaticType[nodes.HasLanguageEMT] - ): Access_Property_LANGUAGE = new Access_Property_LANGUAGE(node) - implicit def accessPropertyLineNumber( - node: nodes.StoredNode & nodes.StaticType[nodes.HasLineNumberEMT] - ): Access_Property_LINE_NUMBER = new Access_Property_LINE_NUMBER(node) - implicit def accessPropertyLineNumberEnd( - node: nodes.StoredNode & nodes.StaticType[nodes.HasLineNumberEndEMT] - ): Access_Property_LINE_NUMBER_END = new Access_Property_LINE_NUMBER_END(node) - implicit def accessPropertyMethodFullName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasMethodFullNameEMT] - ): Access_Property_METHOD_FULL_NAME = new Access_Property_METHOD_FULL_NAME(node) - implicit def accessPropertyMethodShortName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasMethodShortNameEMT] - ): Access_Property_METHOD_SHORT_NAME = new Access_Property_METHOD_SHORT_NAME(node) - implicit def accessPropertyModifierType( - node: nodes.StoredNode & nodes.StaticType[nodes.HasModifierTypeEMT] - ): Access_Property_MODIFIER_TYPE = new Access_Property_MODIFIER_TYPE(node) - implicit def accessPropertyName(node: nodes.StoredNode & nodes.StaticType[nodes.HasNameEMT]): Access_Property_NAME = - new Access_Property_NAME(node) - implicit def accessPropertyNodeLabel( - node: nodes.StoredNode & nodes.StaticType[nodes.HasNodeLabelEMT] - ): Access_Property_NODE_LABEL = new Access_Property_NODE_LABEL(node) - implicit def accessPropertyOffset( - node: nodes.StoredNode & nodes.StaticType[nodes.HasOffsetEMT] - ): Access_Property_OFFSET = new Access_Property_OFFSET(node) - implicit def accessPropertyOffsetEnd( - node: nodes.StoredNode & nodes.StaticType[nodes.HasOffsetEndEMT] - ): Access_Property_OFFSET_END = new Access_Property_OFFSET_END(node) - implicit def accessPropertyOrder( - node: nodes.StoredNode & nodes.StaticType[nodes.HasOrderEMT] - ): Access_Property_ORDER = new Access_Property_ORDER(node) - implicit def accessPropertyOverlays( - node: nodes.StoredNode & nodes.StaticType[nodes.HasOverlaysEMT] - ): Access_Property_OVERLAYS = new Access_Property_OVERLAYS(node) - implicit def accessPropertyPackageName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasPackageNameEMT] - ): Access_Property_PACKAGE_NAME = new Access_Property_PACKAGE_NAME(node) - implicit def accessPropertyParserTypeName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasParserTypeNameEMT] - ): Access_Property_PARSER_TYPE_NAME = new Access_Property_PARSER_TYPE_NAME(node) - implicit def accessPropertyPossibleTypes( - node: nodes.StoredNode & nodes.StaticType[nodes.HasPossibleTypesEMT] - ): Access_Property_POSSIBLE_TYPES = new Access_Property_POSSIBLE_TYPES(node) - implicit def accessPropertyRoot(node: nodes.StoredNode & nodes.StaticType[nodes.HasRootEMT]): Access_Property_ROOT = - new Access_Property_ROOT(node) - implicit def accessPropertySignature( - node: nodes.StoredNode & nodes.StaticType[nodes.HasSignatureEMT] - ): Access_Property_SIGNATURE = new Access_Property_SIGNATURE(node) - implicit def accessPropertySymbol( - node: nodes.StoredNode & nodes.StaticType[nodes.HasSymbolEMT] - ): Access_Property_SYMBOL = new Access_Property_SYMBOL(node) - implicit def accessPropertyTypeDeclFullName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasTypeDeclFullNameEMT] - ): Access_Property_TYPE_DECL_FULL_NAME = new Access_Property_TYPE_DECL_FULL_NAME(node) - implicit def accessPropertyTypeFullName( - node: nodes.StoredNode & nodes.StaticType[nodes.HasTypeFullNameEMT] - ): Access_Property_TYPE_FULL_NAME = new Access_Property_TYPE_FULL_NAME(node) - implicit def accessPropertyValue( - node: nodes.StoredNode & nodes.StaticType[nodes.HasValueEMT] - ): Access_Property_VALUE = new Access_Property_VALUE(node) - implicit def accessPropertyVersion( - node: nodes.StoredNode & nodes.StaticType[nodes.HasVersionEMT] - ): Access_Property_VERSION = new Access_Property_VERSION(node) -} - -trait ConcreteBaseConversions extends AbstractBaseConversions0 { - import Accessors.* - implicit def access_AnnotationBase(node: nodes.AnnotationBase): Access_AnnotationBase = new Access_AnnotationBase( - node - ) - implicit def access_AnnotationLiteralBase(node: nodes.AnnotationLiteralBase): Access_AnnotationLiteralBase = - new Access_AnnotationLiteralBase(node) - implicit def access_AnnotationParameterBase(node: nodes.AnnotationParameterBase): Access_AnnotationParameterBase = - new Access_AnnotationParameterBase(node) - implicit def access_AnnotationParameterAssignBase( - node: nodes.AnnotationParameterAssignBase - ): Access_AnnotationParameterAssignBase = new Access_AnnotationParameterAssignBase(node) - implicit def access_ArrayInitializerBase(node: nodes.ArrayInitializerBase): Access_ArrayInitializerBase = - new Access_ArrayInitializerBase(node) - implicit def access_BindingBase(node: nodes.BindingBase): Access_BindingBase = new Access_BindingBase(node) - implicit def access_BlockBase(node: nodes.BlockBase): Access_BlockBase = new Access_BlockBase(node) - implicit def access_CallBase(node: nodes.CallBase): Access_CallBase = new Access_CallBase(node) - implicit def access_ClosureBindingBase(node: nodes.ClosureBindingBase): Access_ClosureBindingBase = - new Access_ClosureBindingBase(node) - implicit def access_CommentBase(node: nodes.CommentBase): Access_CommentBase = new Access_CommentBase(node) - implicit def access_ConfigFileBase(node: nodes.ConfigFileBase): Access_ConfigFileBase = new Access_ConfigFileBase( - node - ) - implicit def access_ControlStructureBase(node: nodes.ControlStructureBase): Access_ControlStructureBase = - new Access_ControlStructureBase(node) - implicit def access_DependencyBase(node: nodes.DependencyBase): Access_DependencyBase = new Access_DependencyBase( - node - ) - implicit def access_FieldIdentifierBase(node: nodes.FieldIdentifierBase): Access_FieldIdentifierBase = - new Access_FieldIdentifierBase(node) - implicit def access_FileBase(node: nodes.FileBase): Access_FileBase = new Access_FileBase(node) - implicit def access_FindingBase(node: nodes.FindingBase): Access_FindingBase = new Access_FindingBase(node) - implicit def access_IdentifierBase(node: nodes.IdentifierBase): Access_IdentifierBase = new Access_IdentifierBase( - node - ) - implicit def access_ImportBase(node: nodes.ImportBase): Access_ImportBase = new Access_ImportBase(node) - implicit def access_JumpLabelBase(node: nodes.JumpLabelBase): Access_JumpLabelBase = new Access_JumpLabelBase(node) - implicit def access_JumpTargetBase(node: nodes.JumpTargetBase): Access_JumpTargetBase = new Access_JumpTargetBase( - node - ) - implicit def access_KeyValuePairBase(node: nodes.KeyValuePairBase): Access_KeyValuePairBase = - new Access_KeyValuePairBase(node) - implicit def access_LiteralBase(node: nodes.LiteralBase): Access_LiteralBase = new Access_LiteralBase(node) - implicit def access_LocalBase(node: nodes.LocalBase): Access_LocalBase = new Access_LocalBase(node) - implicit def access_LocationBase(node: nodes.LocationBase): Access_LocationBase = new Access_LocationBase(node) - implicit def access_MemberBase(node: nodes.MemberBase): Access_MemberBase = new Access_MemberBase(node) - implicit def access_MetaDataBase(node: nodes.MetaDataBase): Access_MetaDataBase = new Access_MetaDataBase(node) - implicit def access_MethodBase(node: nodes.MethodBase): Access_MethodBase = new Access_MethodBase(node) - implicit def access_MethodParameterInBase(node: nodes.MethodParameterInBase): Access_MethodParameterInBase = - new Access_MethodParameterInBase(node) - implicit def access_MethodParameterOutBase(node: nodes.MethodParameterOutBase): Access_MethodParameterOutBase = - new Access_MethodParameterOutBase(node) - implicit def access_MethodRefBase(node: nodes.MethodRefBase): Access_MethodRefBase = new Access_MethodRefBase(node) - implicit def access_MethodReturnBase(node: nodes.MethodReturnBase): Access_MethodReturnBase = - new Access_MethodReturnBase(node) - implicit def access_ModifierBase(node: nodes.ModifierBase): Access_ModifierBase = new Access_ModifierBase(node) - implicit def access_NamespaceBase(node: nodes.NamespaceBase): Access_NamespaceBase = new Access_NamespaceBase(node) - implicit def access_NamespaceBlockBase(node: nodes.NamespaceBlockBase): Access_NamespaceBlockBase = - new Access_NamespaceBlockBase(node) - implicit def access_ReturnBase(node: nodes.ReturnBase): Access_ReturnBase = new Access_ReturnBase(node) - implicit def access_TagBase(node: nodes.TagBase): Access_TagBase = new Access_TagBase(node) - implicit def access_TagNodePairBase(node: nodes.TagNodePairBase): Access_TagNodePairBase = new Access_TagNodePairBase( - node - ) - implicit def access_TemplateDomBase(node: nodes.TemplateDomBase): Access_TemplateDomBase = new Access_TemplateDomBase( - node - ) - implicit def access_TypeBase(node: nodes.TypeBase): Access_TypeBase = new Access_TypeBase(node) - implicit def access_TypeArgumentBase(node: nodes.TypeArgumentBase): Access_TypeArgumentBase = - new Access_TypeArgumentBase(node) - implicit def access_TypeDeclBase(node: nodes.TypeDeclBase): Access_TypeDeclBase = new Access_TypeDeclBase(node) - implicit def access_TypeParameterBase(node: nodes.TypeParameterBase): Access_TypeParameterBase = - new Access_TypeParameterBase(node) - implicit def access_TypeRefBase(node: nodes.TypeRefBase): Access_TypeRefBase = new Access_TypeRefBase(node) - implicit def access_UnknownBase(node: nodes.UnknownBase): Access_UnknownBase = new Access_UnknownBase(node) -} - -trait AbstractBaseConversions0 extends AbstractBaseConversions1 { - import Accessors.* - implicit def access_AstNodeBase(node: nodes.AstNodeBase): Access_AstNodeBase = new Access_AstNodeBase(node) - implicit def access_CallReprBase(node: nodes.CallReprBase): Access_CallReprBase = new Access_CallReprBase(node) - implicit def access_CfgNodeBase(node: nodes.CfgNodeBase): Access_CfgNodeBase = new Access_CfgNodeBase(node) - implicit def access_ExpressionBase(node: nodes.ExpressionBase): Access_ExpressionBase = new Access_ExpressionBase( - node - ) -} - -trait AbstractBaseConversions1 { - import Accessors.* - implicit def access_DeclarationBase(node: nodes.DeclarationBase): Access_DeclarationBase = new Access_DeclarationBase( - node - ) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/BaseTypes.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/BaseTypes.scala deleted file mode 100644 index 0e29a60d..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/BaseTypes.scala +++ /dev/null @@ -1,395 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -trait AstNodeEMT extends AnyRef with HasCodeEMT with HasColumnNumberEMT with HasLineNumberEMT with HasOrderEMT - -trait AstNodeBase extends AbstractNode with StaticType[AstNodeEMT] -// new properties: CODE, COLUMN_NUMBER, LINE_NUMBER, ORDER -// inherited properties: -// inherited interfaces: -// implementing nodes: ANNOTATION, ANNOTATION_LITERAL, ANNOTATION_PARAMETER, ANNOTATION_PARAMETER_ASSIGN, ARRAY_INITIALIZER, BLOCK, CALL, COMMENT, CONTROL_STRUCTURE, 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 -trait AstNode extends StoredNode with AstNodeBase with StaticType[AstNodeEMT] - -object AstNode { - object PropertyDefaults { - val Code = "" - val Order = -1: Int - } -} - -trait AstNodeNew extends NewNode with AstNodeBase with StaticType[AstNodeEMT] { - def code: String - def code_=(value: String): Unit - def code(value: String): this.type - def columnNumber: Option[Int] - def columnNumber_=(value: Option[Int]): Unit - def columnNumber(value: Option[Int]): this.type - def columnNumber(value: Int): this.type - def lineNumber: Option[Int] - def lineNumber_=(value: Option[Int]): Unit - def lineNumber(value: Option[Int]): this.type - def lineNumber(value: Int): this.type - def order: Int - def order_=(value: Int): Unit - def order(value: Int): this.type -} - -trait CallReprEMT extends AnyRef with CfgNodeEMT with HasNameEMT with HasSignatureEMT - -trait CallReprBase extends AbstractNode with CfgNodeBase with StaticType[CallReprEMT] -// new properties: NAME, SIGNATURE -// inherited properties: CODE, COLUMN_NUMBER, LINE_NUMBER, ORDER -// inherited interfaces: AST_NODE -// implementing nodes: CALL -trait CallRepr extends StoredNode with CallReprBase with CfgNode with StaticType[CallReprEMT] - -object CallRepr { - object PropertyDefaults { - val Name = "" - val Signature = "" - } -} - -trait CallReprNew extends NewNode with CallReprBase with CfgNodeNew with StaticType[CallReprEMT] { - def name: String - def name_=(value: String): Unit - def name(value: String): this.type - def signature: String - def signature_=(value: String): Unit - def signature(value: String): this.type -} - -trait CfgNodeEMT extends AnyRef with AstNodeEMT - -trait CfgNodeBase extends AbstractNode with AstNodeBase with StaticType[CfgNodeEMT] -// new properties: -// inherited properties: CODE, COLUMN_NUMBER, LINE_NUMBER, ORDER -// inherited interfaces: -// implementing nodes: ANNOTATION, ANNOTATION_LITERAL, ARRAY_INITIALIZER, BLOCK, CALL, CONTROL_STRUCTURE, FIELD_IDENTIFIER, IDENTIFIER, JUMP_TARGET, LITERAL, METHOD, METHOD_PARAMETER_IN, METHOD_PARAMETER_OUT, METHOD_REF, METHOD_RETURN, RETURN, TEMPLATE_DOM, TYPE_REF, UNKNOWN -trait CfgNode extends StoredNode with CfgNodeBase with AstNode with StaticType[CfgNodeEMT] - -object CfgNode { - object PropertyDefaults {} -} - -trait CfgNodeNew extends NewNode with CfgNodeBase with AstNodeNew with StaticType[CfgNodeEMT] {} - -trait DeclarationEMT extends AnyRef with HasNameEMT - -trait DeclarationBase extends AbstractNode with StaticType[DeclarationEMT] -// new properties: NAME -// inherited properties: -// inherited interfaces: -// implementing nodes: LOCAL, MEMBER, METHOD, METHOD_PARAMETER_IN, METHOD_PARAMETER_OUT -trait Declaration extends StoredNode with DeclarationBase with StaticType[DeclarationEMT] - -object Declaration { - object PropertyDefaults { - val Name = "" - } -} - -trait DeclarationNew extends NewNode with DeclarationBase with StaticType[DeclarationEMT] { - def name: String - def name_=(value: String): Unit - def name(value: String): this.type -} - -trait ExpressionEMT extends AnyRef with CfgNodeEMT with HasArgumentIndexEMT with HasArgumentNameEMT - -trait ExpressionBase extends AbstractNode with CfgNodeBase with StaticType[ExpressionEMT] -// new properties: ARGUMENT_INDEX, ARGUMENT_NAME -// inherited properties: CODE, COLUMN_NUMBER, LINE_NUMBER, ORDER -// inherited interfaces: AST_NODE -// implementing nodes: ANNOTATION, ANNOTATION_LITERAL, ARRAY_INITIALIZER, BLOCK, CALL, CONTROL_STRUCTURE, FIELD_IDENTIFIER, IDENTIFIER, LITERAL, METHOD_REF, RETURN, TEMPLATE_DOM, TYPE_REF, UNKNOWN -trait Expression extends StoredNode with ExpressionBase with CfgNode with StaticType[ExpressionEMT] - -object Expression { - object PropertyDefaults { - val ArgumentIndex = -1: Int - } -} - -trait ExpressionNew extends NewNode with ExpressionBase with AstNodeNew with CfgNodeNew with StaticType[ExpressionEMT] { - def argumentIndex: Int - def argumentIndex_=(value: Int): Unit - def argumentIndex(value: Int): this.type - def argumentName: Option[String] - def argumentName_=(value: Option[String]): Unit - def argumentName(value: Option[String]): this.type - def argumentName(value: String): this.type -} - -/** Node types with this marker trait are guaranteed to have the ALIAS_TYPE_FULL_NAME property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasAliasTypeFullNameEMT - -/** Node types with this marker trait are guaranteed to have the ARGUMENT_INDEX property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasArgumentIndexEMT - -/** Node types with this marker trait are guaranteed to have the ARGUMENT_NAME property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasArgumentNameEMT - -/** Node types with this marker trait are guaranteed to have the AST_PARENT_FULL_NAME property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasAstParentFullNameEMT - -/** Node types with this marker trait are guaranteed to have the AST_PARENT_TYPE property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasAstParentTypeEMT - -/** Node types with this marker trait are guaranteed to have the CANONICAL_NAME property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasCanonicalNameEMT - -/** Node types with this marker trait are guaranteed to have the CLASS_NAME property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasClassNameEMT - -/** Node types with this marker trait are guaranteed to have the CLASS_SHORT_NAME property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasClassShortNameEMT - -/** Node types with this marker trait are guaranteed to have the CLOSURE_BINDING_ID property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasClosureBindingIdEMT - -/** Node types with this marker trait are guaranteed to have the CLOSURE_ORIGINAL_NAME property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasClosureOriginalNameEMT - -/** Node types with this marker trait are guaranteed to have the CODE property. EMT stands for: "erased marker trait", - * it exists only at compile time in order to improve type safety. - */ -trait HasCodeEMT - -/** Node types with this marker trait are guaranteed to have the COLUMN_NUMBER property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasColumnNumberEMT - -/** Node types with this marker trait are guaranteed to have the COLUMN_NUMBER_END property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasColumnNumberEndEMT - -/** Node types with this marker trait are guaranteed to have the CONTAINED_REF property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasContainedRefEMT - -/** Node types with this marker trait are guaranteed to have the CONTENT property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasContentEMT - -/** Node types with this marker trait are guaranteed to have the CONTROL_STRUCTURE_TYPE property. EMT stands for: - * "erased marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasControlStructureTypeEMT - -/** Node types with this marker trait are guaranteed to have the DEPENDENCY_GROUP_ID property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasDependencyGroupIdEMT - -/** Node types with this marker trait are guaranteed to have the DISPATCH_TYPE property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasDispatchTypeEMT - -/** Node types with this marker trait are guaranteed to have the DYNAMIC_TYPE_HINT_FULL_NAME property. EMT stands for: - * "erased marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasDynamicTypeHintFullNameEMT - -/** Node types with this marker trait are guaranteed to have the EVALUATION_STRATEGY property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasEvaluationStrategyEMT - -/** Node types with this marker trait are guaranteed to have the EXPLICIT_AS property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasExplicitAsEMT - -/** Node types with this marker trait are guaranteed to have the FILENAME property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasFilenameEMT - -/** Node types with this marker trait are guaranteed to have the FULL_NAME property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasFullNameEMT - -/** Node types with this marker trait are guaranteed to have the HASH property. EMT stands for: "erased marker trait", - * it exists only at compile time in order to improve type safety. - */ -trait HasHashEMT - -/** Node types with this marker trait are guaranteed to have the IMPORTED_AS property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasImportedAsEMT - -/** Node types with this marker trait are guaranteed to have the IMPORTED_ENTITY property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasImportedEntityEMT - -/** Node types with this marker trait are guaranteed to have the INDEX property. EMT stands for: "erased marker trait", - * it exists only at compile time in order to improve type safety. - */ -trait HasIndexEMT - -/** Node types with this marker trait are guaranteed to have the INHERITS_FROM_TYPE_FULL_NAME property. EMT stands for: - * "erased marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasInheritsFromTypeFullNameEMT - -/** Node types with this marker trait are guaranteed to have the IS_EXPLICIT property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasIsExplicitEMT - -/** Node types with this marker trait are guaranteed to have the IS_EXTERNAL property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasIsExternalEMT - -/** Node types with this marker trait are guaranteed to have the IS_VARIADIC property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasIsVariadicEMT - -/** Node types with this marker trait are guaranteed to have the IS_WILDCARD property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasIsWildcardEMT - -/** Node types with this marker trait are guaranteed to have the KEY property. EMT stands for: "erased marker trait", it - * exists only at compile time in order to improve type safety. - */ -trait HasKeyEMT - -/** Node types with this marker trait are guaranteed to have the LANGUAGE property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasLanguageEMT - -/** Node types with this marker trait are guaranteed to have the LINE_NUMBER property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasLineNumberEMT - -/** Node types with this marker trait are guaranteed to have the LINE_NUMBER_END property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasLineNumberEndEMT - -/** Node types with this marker trait are guaranteed to have the METHOD_FULL_NAME property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasMethodFullNameEMT - -/** Node types with this marker trait are guaranteed to have the METHOD_SHORT_NAME property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasMethodShortNameEMT - -/** Node types with this marker trait are guaranteed to have the MODIFIER_TYPE property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasModifierTypeEMT - -/** Node types with this marker trait are guaranteed to have the NAME property. EMT stands for: "erased marker trait", - * it exists only at compile time in order to improve type safety. - */ -trait HasNameEMT - -/** Node types with this marker trait are guaranteed to have the NODE_LABEL property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasNodeLabelEMT - -/** Node types with this marker trait are guaranteed to have the OFFSET property. EMT stands for: "erased marker trait", - * it exists only at compile time in order to improve type safety. - */ -trait HasOffsetEMT - -/** Node types with this marker trait are guaranteed to have the OFFSET_END property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasOffsetEndEMT - -/** Node types with this marker trait are guaranteed to have the ORDER property. EMT stands for: "erased marker trait", - * it exists only at compile time in order to improve type safety. - */ -trait HasOrderEMT - -/** Node types with this marker trait are guaranteed to have the OVERLAYS property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasOverlaysEMT - -/** Node types with this marker trait are guaranteed to have the PACKAGE_NAME property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasPackageNameEMT - -/** Node types with this marker trait are guaranteed to have the PARSER_TYPE_NAME property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasParserTypeNameEMT - -/** Node types with this marker trait are guaranteed to have the POSSIBLE_TYPES property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasPossibleTypesEMT - -/** Node types with this marker trait are guaranteed to have the ROOT property. EMT stands for: "erased marker trait", - * it exists only at compile time in order to improve type safety. - */ -trait HasRootEMT - -/** Node types with this marker trait are guaranteed to have the SIGNATURE property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasSignatureEMT - -/** Node types with this marker trait are guaranteed to have the SYMBOL property. EMT stands for: "erased marker trait", - * it exists only at compile time in order to improve type safety. - */ -trait HasSymbolEMT - -/** Node types with this marker trait are guaranteed to have the TYPE_DECL_FULL_NAME property. EMT stands for: "erased - * marker trait", it exists only at compile time in order to improve type safety. - */ -trait HasTypeDeclFullNameEMT - -/** Node types with this marker trait are guaranteed to have the TYPE_FULL_NAME property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasTypeFullNameEMT - -/** Node types with this marker trait are guaranteed to have the VALUE property. EMT stands for: "erased marker trait", - * it exists only at compile time in order to improve type safety. - */ -trait HasValueEMT - -/** Node types with this marker trait are guaranteed to have the VERSION property. EMT stands for: "erased marker - * trait", it exists only at compile time in order to improve type safety. - */ -trait HasVersionEMT diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/ControlStructureTypes.java b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/ControlStructureTypes.java deleted file mode 100644 index ea6a7e7a..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/ControlStructureTypes.java +++ /dev/null @@ -1,65 +0,0 @@ -package io.shiftleft.codepropertygraph.generated; - -import java.util.HashSet; -import java.util.Set; - -public class ControlStructureTypes { - -/** Represents a break statement. Labeled breaks are expected to have a JUMP_LABEL -node AST child with ORDER 1 */ -public static final String BREAK = "BREAK"; - -/** Represents a continue statement. Labeled continues are expected to have a JUMP_LABEL -node AST child with ORDER 1 */ -public static final String CONTINUE = "CONTINUE"; - -/** Represents a while statement */ -public static final String WHILE = "WHILE"; - -/** Represents a do statement */ -public static final String DO = "DO"; - -/** Represents a for statement */ -public static final String FOR = "FOR"; - -/** Represents a goto statement */ -public static final String GOTO = "GOTO"; - -/** Represents an if statement */ -public static final String IF = "IF"; - -/** Represents an else statement */ -public static final String ELSE = "ELSE"; - -/** Represents a switch statement */ -public static final String SWITCH = "SWITCH"; - -/** Represents a try statement */ -public static final String TRY = "TRY"; - -/** Represents a throw statement */ -public static final String THROW = "THROW"; - -/** Represents a match expression */ -public static final String MATCH = "MATCH"; - -/** Represents a yield expression */ -public static final String YIELD = "YIELD"; - -public static Set ALL = new HashSet() {{ -add(BREAK); -add(CONTINUE); -add(WHILE); -add(DO); -add(FOR); -add(GOTO); -add(IF); -add(ELSE); -add(SWITCH); -add(TRY); -add(THROW); -add(MATCH); -add(YIELD); -}}; - -} \ No newline at end of file diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Cpg.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Cpg.scala deleted file mode 100644 index 615b1e29..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Cpg.scala +++ /dev/null @@ -1,786 +0,0 @@ -package io.shiftleft.codepropertygraph.generated -import flatgraph.DiffGraphBuilder -import flatgraph.help.DocSearchPackages -import flatgraph.help.Table.AvailableWidthProvider -import Language.* - -object Cpg { - val defaultDocSearchPackage = DocSearchPackages.default.withAdditionalPackage(getClass.getPackage.getName) - - @scala.annotation.implicitNotFound("""If you're using flatgraph purely without a schema and associated generated domain classes, you can - |start with `given DocSearchPackages = DocSearchPackages.default`. - |If you have generated domain classes, use `given DocSearchPackages = MyDomain.defaultDocSearchPackage`. - |If you have additional custom extension steps that specify help texts via @Doc annotations, use `given DocSearchPackages = MyDomain.defaultDocSearchPackage.withAdditionalPackage("my.custom.package)"` - |""".stripMargin) - def help(implicit searchPackageNames: DocSearchPackages, availableWidthProvider: AvailableWidthProvider) = - flatgraph.help.TraversalHelp(searchPackageNames).forTraversalSources(verbose = false) - - @scala.annotation.implicitNotFound("""If you're using flatgraph purely without a schema and associated generated domain classes, you can - |start with `given DocSearchPackages = DocSearchPackages.default`. - |If you have generated domain classes, use `given DocSearchPackages = MyDomain.defaultDocSearchPackage`. - |If you have additional custom extension steps that specify help texts via @Doc annotations, use `given DocSearchPackages = MyDomain.defaultDocSearchPackage.withAdditionalPackage("my.custom.package)"` - |""".stripMargin) - def helpVerbose(implicit searchPackageNames: DocSearchPackages, availableWidthProvider: AvailableWidthProvider) = - flatgraph.help.TraversalHelp(searchPackageNames).forTraversalSources(verbose = true) - - def empty: Cpg = new Cpg(new flatgraph.Graph(GraphSchema)) - - /** Instantiate a new graph with storage. If the file already exists, this will deserialize the given file into - * memory. `Graph.close` will serialise graph to that given file (and override whatever was there before), unless you - * specify `persistOnClose = false`. - */ - def withStorage(storagePath: java.nio.file.Path, persistOnClose: Boolean = true): Cpg = { - val graph = flatgraph.Graph.withStorage(GraphSchema, storagePath, persistOnClose) - new Cpg(graph) - } - - def newDiffGraphBuilder: DiffGraphBuilder = new DiffGraphBuilder(GraphSchema) -} - -class Cpg(private val _graph: flatgraph.Graph = new flatgraph.Graph(GraphSchema)) extends AutoCloseable { - def graph: flatgraph.Graph = _graph - - def help(implicit searchPackageNames: DocSearchPackages, availableWidthProvider: AvailableWidthProvider) = - Cpg.help - def helpVerbose(implicit searchPackageNames: DocSearchPackages, availableWidthProvider: AvailableWidthProvider) = - Cpg.helpVerbose - - override def close(): Unit = - _graph.close() -} - -@flatgraph.help.TraversalSource -class CpgNodeStarters(val wrappedCpg: Cpg) { - - @flatgraph.help.Doc(info = "all nodes") - def all: Iterator[nodes.StoredNode] = wrappedCpg.graph.allNodes.asInstanceOf[Iterator[nodes.StoredNode]] - - /** A method annotation. The semantics of the FULL_NAME property on this node differ from the usual FULL_NAME - * semantics in the sense that FULL_NAME describes the represented annotation class/interface itself and not the - * ANNOTATION node. - */ - @flatgraph.help.Doc(info = """A method annotation. -The semantics of the FULL_NAME property on this node differ from the usual FULL_NAME -semantics in the sense that FULL_NAME describes the represented annotation class/interface -itself and not the ANNOTATION node.""") - def annotation: Iterator[nodes.Annotation] = wrappedCpg.graph._nodes(0).asInstanceOf[Iterator[nodes.Annotation]] - - /** A literal value assigned to an ANNOTATION_PARAMETER */ - @flatgraph.help.Doc(info = """A literal value assigned to an ANNOTATION_PARAMETER""") - def annotationLiteral: Iterator[nodes.AnnotationLiteral] = - wrappedCpg.graph._nodes(1).asInstanceOf[Iterator[nodes.AnnotationLiteral]] - - /** Formal annotation parameter */ - @flatgraph.help.Doc(info = """Formal annotation parameter""") - def annotationParameter: Iterator[nodes.AnnotationParameter] = - wrappedCpg.graph._nodes(2).asInstanceOf[Iterator[nodes.AnnotationParameter]] - - /** Assignment of annotation argument to annotation parameter */ - @flatgraph.help.Doc(info = """Assignment of annotation argument to annotation parameter""") - def annotationParameterAssign: Iterator[nodes.AnnotationParameterAssign] = - wrappedCpg.graph._nodes(3).asInstanceOf[Iterator[nodes.AnnotationParameterAssign]] - - /** Initialization construct for arrays */ - @flatgraph.help.Doc(info = """Initialization construct for arrays""") - def arrayInitializer: Iterator[nodes.ArrayInitializer] = - wrappedCpg.graph._nodes(4).asInstanceOf[Iterator[nodes.ArrayInitializer]] - - /** `BINDING` nodes represent name-signature pairs that can be resolved at a type declaration (`TYPE_DECL`). They are - * connected to `TYPE_DECL` nodes via incoming `BINDS` edges. The bound method is either associated with an outgoing - * `REF` edge to a `METHOD` or with the `METHOD_FULL_NAME` property. The `REF` edge if present has priority. - */ - @flatgraph.help.Doc(info = """`BINDING` nodes represent name-signature pairs that can be resolved at a -type declaration (`TYPE_DECL`). They are connected to `TYPE_DECL` nodes via -incoming `BINDS` edges. The bound method is either associated with an outgoing -`REF` edge to a `METHOD` or with the `METHOD_FULL_NAME` property. The `REF` edge -if present has priority.""") - def binding: Iterator[nodes.Binding] = wrappedCpg.graph._nodes(5).asInstanceOf[Iterator[nodes.Binding]] - - /** This node represents a compound statement. Compound statements are used in many languages to allow grouping a - * sequence of statements. For example, in C and Java, compound statements are statements enclosed by curly braces. - * Function/Method bodies are compound statements. We do not use the term "compound statement" because "statement" - * would imply that the block does not yield a value upon evaluation, that is, that it is not an expression. This is - * true in languages such as C and Java, but not for languages such as Scala where the value of the block is given by - * that of the last expression it contains. In fact, the Scala grammar uses the term "BlockExpr" (short for "block - * expression") to describe what in the CPG we call "Block". - */ - @flatgraph.help.Doc(info = - """This node represents a compound statement. Compound statements are used in many languages to allow -grouping a sequence of statements. For example, in C and Java, compound statements -are statements enclosed by curly braces. Function/Method bodies are compound -statements. We do not use the term "compound statement" because "statement" would -imply that the block does not yield a value upon evaluation, that is, that it is -not an expression. This is true in languages such as C and Java, but not for languages -such as Scala where the value of the block is given by that of the last expression it -contains. In fact, the Scala grammar uses the term "BlockExpr" (short for -"block expression") to describe what in the CPG we call "Block".""" - ) - def block: Iterator[nodes.Block] = wrappedCpg.graph._nodes(6).asInstanceOf[Iterator[nodes.Block]] - - /** A (function/method/procedure) call. The `METHOD_FULL_NAME` property is the name of the invoked method (the callee) - * while the `TYPE_FULL_NAME` is its return type, and therefore, the return type of the call when viewing it as an - * expression. For languages like Javascript, it is common that we may know the (short-) name of the invoked method, - * but we do not know at compile time which method will actually be invoked, e.g., because it depends on a dynamic - * import. In this case, we leave `METHOD_FULL_NAME` blank but at least fill out `NAME`, which contains the method's - * (short-) name and `SIGNATURE`, which contains any information we may have about the types of arguments and return - * value. - */ - @flatgraph.help.Doc(info = """A (function/method/procedure) call. The `METHOD_FULL_NAME` property is the name of the -invoked method (the callee) while the `TYPE_FULL_NAME` is its return type, and -therefore, the return type of the call when viewing it as an expression. For -languages like Javascript, it is common that we may know the (short-) name -of the invoked method, but we do not know at compile time which method -will actually be invoked, e.g., because it depends on a dynamic import. -In this case, we leave `METHOD_FULL_NAME` blank but at least fill out `NAME`, -which contains the method's (short-) name and `SIGNATURE`, which contains -any information we may have about the types of arguments and return value.""") - def call: Iterator[nodes.Call] = wrappedCpg.graph._nodes(7).asInstanceOf[Iterator[nodes.Call]] - - /** Shorthand for call.name */ - def call(name: String): Iterator[nodes.Call] = call.name(name) - - /** Represents the binding of a LOCAL or METHOD_PARAMETER_IN into the closure of a method */ - @flatgraph.help.Doc(info = - """Represents the binding of a LOCAL or METHOD_PARAMETER_IN into the closure of a method""" - ) - def closureBinding: Iterator[nodes.ClosureBinding] = - wrappedCpg.graph._nodes(8).asInstanceOf[Iterator[nodes.ClosureBinding]] - - /** A source code comment */ - @flatgraph.help.Doc(info = """A source code comment""") - def comment: Iterator[nodes.Comment] = wrappedCpg.graph._nodes(9).asInstanceOf[Iterator[nodes.Comment]] - - /** Shorthand for comment.code */ - def comment(code: String): Iterator[nodes.Comment] = comment.code(code) - - /** This node type represent a configuration file, where `NAME` is the name of the file and `content` is its content. - * The exact representation of the name is left undefined and can be chosen as required by consumers of the - * corresponding configuration files. - */ - @flatgraph.help.Doc(info = """This node type represent a configuration file, where `NAME` is the name -of the file and `content` is its content. The exact representation of the -name is left undefined and can be chosen as required by consumers of -the corresponding configuration files.""") - def configFile: Iterator[nodes.ConfigFile] = wrappedCpg.graph._nodes(10).asInstanceOf[Iterator[nodes.ConfigFile]] - - /** This node represents a control structure as introduced by control structure statements as well as conditional and - * unconditional jumps. Its type is stored in the `CONTROL_STRUCTURE_TYPE` field to be one of several pre-defined - * types. These types are used in the construction of the control flow layer, making it possible to generate the - * control flow layer from the abstract syntax tree layer automatically. - * - * In addition to the `CONTROL_STRUCTURE_TYPE` field, the `PARSER_TYPE_NAME` field MAY be used by frontends to store - * the name of the control structure as emitted by the parser or disassembler, however, the value of this field is - * not relevant for construction of the control flow layer. - */ - @flatgraph.help.Doc(info = """This node represents a control structure as introduced by control structure -statements as well as conditional and unconditional jumps. Its type is stored in the -`CONTROL_STRUCTURE_TYPE` field to be one of several pre-defined types. These types - are used in the construction of the control flow layer, making it possible to - generate the control flow layer from the abstract syntax tree layer automatically. - -In addition to the `CONTROL_STRUCTURE_TYPE` field, the `PARSER_TYPE_NAME` field -MAY be used by frontends to store the name of the control structure as emitted by -the parser or disassembler, however, the value of this field is not relevant -for construction of the control flow layer.""") - def controlStructure: Iterator[nodes.ControlStructure] = - wrappedCpg.graph._nodes(11).asInstanceOf[Iterator[nodes.ControlStructure]] - - /** This node represents a dependency */ - @flatgraph.help.Doc(info = """This node represents a dependency""") - def dependency: Iterator[nodes.Dependency] = wrappedCpg.graph._nodes(12).asInstanceOf[Iterator[nodes.Dependency]] - - /** Shorthand for dependency.name */ - def dependency(name: String): Iterator[nodes.Dependency] = dependency.name(name) - - /** This node represents the field accessed in a field access, e.g., in `a.b`, it represents `b`. The field name as it - * occurs in the code is stored in the `CODE` field. This may mean that the `CODE` field holds an expression. The - * `CANONICAL_NAME` field MAY contain the same value is the `CODE` field but SHOULD contain the normalized name that - * results from evaluating `CODE` as an expression if such an evaluation is possible for the language frontend. The - * objective is to store an identifier in `CANONICAL_NAME` that is the same for two nodes iff they refer to the same - * field, regardless of whether they use the same expression to reference it. - */ - @flatgraph.help.Doc(info = """This node represents the field accessed in a field access, e.g., in -`a.b`, it represents `b`. The field name as it occurs in the code is -stored in the `CODE` field. This may mean that the `CODE` field holds -an expression. The `CANONICAL_NAME` field MAY contain the same value is -the `CODE` field but SHOULD contain the normalized name that results -from evaluating `CODE` as an expression if such an evaluation is -possible for the language frontend. The objective is to store an identifier -in `CANONICAL_NAME` that is the same for two nodes iff they refer to the -same field, regardless of whether they use the same expression to reference -it.""") - def fieldIdentifier: Iterator[nodes.FieldIdentifier] = - wrappedCpg.graph._nodes(13).asInstanceOf[Iterator[nodes.FieldIdentifier]] - - /** File nodes represent source files or a shared objects from which the CPG was generated. File nodes serve as - * indices, that is, they allow looking up all elements of the code by file. - * - * For each file, the graph CAN contain exactly one File node, if not File nodes are created as indicated by - * `FILENAME` property of other nodes. As file nodes are root nodes of abstract syntax tress, they are AstNodes and - * their order field is set to 0. This is because they have no sibling nodes, not because they are the first node of - * the AST. - */ - @flatgraph.help.Doc(info = """File nodes represent source files or a shared objects from which the CPG -was generated. File nodes serve as indices, that is, they allow looking up all -elements of the code by file. - -For each file, the graph CAN contain exactly one File node, if not File nodes -are created as indicated by `FILENAME` property of other nodes. -As file nodes are root nodes of abstract syntax tress, they are AstNodes and -their order field is set to 0. This is because they have no sibling nodes, -not because they are the first node of the AST.""") - def file: Iterator[nodes.File] = wrappedCpg.graph._nodes(14).asInstanceOf[Iterator[nodes.File]] - - /** Shorthand for file.name */ - def file(name: String): Iterator[nodes.File] = file.name(name) - - /** Finding nodes may be used to store analysis results in the graph that are to be exposed to an end-user, e.g., - * information about potential vulnerabilities or dangerous programming practices. A Finding node may contain an - * abitrary list of key value pairs that characterize the finding, as well as a list of nodes that serve as evidence - * for the finding. - */ - @flatgraph.help.Doc(info = """Finding nodes may be used to store analysis results in the graph -that are to be exposed to an end-user, e.g., information about -potential vulnerabilities or dangerous programming practices. -A Finding node may contain an abitrary list of key value pairs -that characterize the finding, as well as a list of nodes that -serve as evidence for the finding.""") - def finding: Iterator[nodes.Finding] = wrappedCpg.graph._nodes(15).asInstanceOf[Iterator[nodes.Finding]] - - /** This node represents an identifier as used when referring to a variable by name. It holds the identifier's name in - * the `NAME` field and its fully-qualified type name in `TYPE_FULL_NAME`. - */ - @flatgraph.help.Doc(info = """This node represents an identifier as used when referring to a variable by name. -It holds the identifier's name in the `NAME` field and its fully-qualified type -name in `TYPE_FULL_NAME`.""") - def identifier: Iterator[nodes.Identifier] = wrappedCpg.graph._nodes(16).asInstanceOf[Iterator[nodes.Identifier]] - - /** Shorthand for identifier.name */ - def identifier(name: String): Iterator[nodes.Identifier] = identifier.name(name) - - /** Declarative import as it is found in statically typed languages like Java. This kind of node is not supposed to be - * used for imports in dynamically typed languages like Javascript. - */ - @flatgraph.help.Doc(info = """Declarative import as it is found in statically typed languages like Java. -This kind of node is not supposed to be used for imports in dynamically typed -languages like Javascript.""") - def imports: Iterator[nodes.Import] = wrappedCpg.graph._nodes(17).asInstanceOf[Iterator[nodes.Import]] - - /** A jump label specifies the label and thus the JUMP_TARGET of control structures BREAK and CONTINUE. The `NAME` - * field holds the name of the label while the `PARSER_TYPE_NAME` field holds the name of language construct that - * this jump label is created from, e.g., "Label". - */ - @flatgraph.help.Doc(info = """A jump label specifies the label and thus the JUMP_TARGET of control structures -BREAK and CONTINUE. The `NAME` field holds the name of the label while the -`PARSER_TYPE_NAME` field holds the name of language construct that this jump -label is created from, e.g., "Label".""") - def jumpLabel: Iterator[nodes.JumpLabel] = wrappedCpg.graph._nodes(18).asInstanceOf[Iterator[nodes.JumpLabel]] - - /** A jump target is any location in the code that has been specifically marked as the target of a jump, e.g., via a - * label. The `NAME` field holds the name of the label while the `PARSER_TYPE_NAME` field holds the name of language - * construct that this jump target is created from, e.g., "Label". - */ - @flatgraph.help.Doc(info = """A jump target is any location in the code that has been specifically marked -as the target of a jump, e.g., via a label. The `NAME` field holds the name of -the label while the `PARSER_TYPE_NAME` field holds the name of language construct -that this jump target is created from, e.g., "Label".""") - def jumpTarget: Iterator[nodes.JumpTarget] = wrappedCpg.graph._nodes(19).asInstanceOf[Iterator[nodes.JumpTarget]] - - /** This node represents a key value pair, where both the key and the value are strings. */ - @flatgraph.help.Doc(info = """This node represents a key value pair, where both the key and the value are strings.""") - def keyValuePair: Iterator[nodes.KeyValuePair] = - wrappedCpg.graph._nodes(20).asInstanceOf[Iterator[nodes.KeyValuePair]] - - /** This node represents a literal such as an integer or string constant. Literals are symbols included in the code in - * verbatim form and which are immutable. The `TYPE_FULL_NAME` field stores the literal's fully-qualified type name, - * e.g., `java.lang.Integer`. - */ - @flatgraph.help.Doc(info = """This node represents a literal such as an integer or string constant. Literals -are symbols included in the code in verbatim form and which are immutable. -The `TYPE_FULL_NAME` field stores the literal's fully-qualified type name, -e.g., `java.lang.Integer`.""") - def literal: Iterator[nodes.Literal] = wrappedCpg.graph._nodes(21).asInstanceOf[Iterator[nodes.Literal]] - - /** Shorthand for literal.code */ - def literal(code: String): Iterator[nodes.Literal] = literal.code(code) - - /** This node represents a local variable. Its fully qualified type name is stored in the `TYPE_FULL_NAME` field and - * its name in the `NAME` field. The `CODE` field contains the entire local variable declaration without - * initialization, e.g., for `int x = 10;`, it contains `int x`. - */ - @flatgraph.help.Doc(info = """This node represents a local variable. Its fully qualified type name is stored -in the `TYPE_FULL_NAME` field and its name in the `NAME` field. The `CODE` field -contains the entire local variable declaration without initialization, e.g., for -`int x = 10;`, it contains `int x`.""") - def local: Iterator[nodes.Local] = wrappedCpg.graph._nodes(22).asInstanceOf[Iterator[nodes.Local]] - - /** Shorthand for local.name */ - def local(name: String): Iterator[nodes.Local] = local.name(name) - - /** A location node summarizes a source code location. */ - @flatgraph.help.Doc(info = """A location node summarizes a source code location.""") - def location: Iterator[nodes.Location] = wrappedCpg.graph._nodes(23).asInstanceOf[Iterator[nodes.Location]] - - /** This node represents a type member of a class, struct or union, e.g., for the type declaration `class Foo{ int i ; - * }`, it represents the declaration of the variable `i`. - */ - @flatgraph.help.Doc(info = """This node represents a type member of a class, struct or union, e.g., for the - type declaration `class Foo{ int i ; }`, it represents the declaration of the - variable `i`.""") - def member: Iterator[nodes.Member] = wrappedCpg.graph._nodes(24).asInstanceOf[Iterator[nodes.Member]] - - /** Shorthand for member.name */ - def member(name: String): Iterator[nodes.Member] = member.name(name) - - /** This node contains the CPG meta data. Exactly one node of this type MUST exist per CPG. The `HASH` property MAY - * contain a hash value calculated over the source files this CPG was generated from. The `VERSION` MUST be set to - * the version of the specification ("1.1"). The language field indicates which language frontend was used to - * generate the CPG and the list property `OVERLAYS` specifies which overlays have been applied to the CPG. - */ - @flatgraph.help.Doc(info = """This node contains the CPG meta data. Exactly one node of this type -MUST exist per CPG. The `HASH` property MAY contain a hash value calculated -over the source files this CPG was generated from. The `VERSION` MUST be -set to the version of the specification ("1.1"). The language field indicates -which language frontend was used to generate the CPG and the list property -`OVERLAYS` specifies which overlays have been applied to the CPG.""") - def metaData: Iterator[nodes.MetaData] = wrappedCpg.graph._nodes(25).asInstanceOf[Iterator[nodes.MetaData]] - - /** Programming languages offer many closely-related concepts for describing blocks of code that can be executed with - * input parameters and return output parameters, possibly causing side effects. In the CPG specification, we refer - * to all of these concepts (procedures, functions, methods, etc.) as methods. A single METHOD node must exist for - * each method found in the source program. - * - * The `FULL_NAME` field specifies the method's fully-qualified name, including information about the namespace it is - * contained in if applicable, the name field is the function's short name. The field `IS_EXTERNAL` indicates whether - * it was possible to identify a method body for the method. This is true for methods that are defined in the source - * program, and false for methods that are dynamically linked to the program, that is, methods that exist in an - * external dependency. - * - * Line and column number information is specified in the optional fields `LINE_NUMBER`, `COLUMN_NUMBER`, - * `LINE_NUMBER_END`, and `COLUMN_NUMBER_END` and the name of the source file is specified in `FILENAME`. An optional - * hash value MAY be calculated over the function contents and included in the `HASH` field. - * - * The optional `OFFSET` and `OFFSET_END` specify the start and exclusive end position of the code belonging to a - * method within the corresponding `FILE` nodes `CONTENT` property. - * - * Finally, the fully qualified name of the program constructs that the method is immediately contained in is stored - * in the `AST_PARENT_FULL_NAME` field and its type is indicated in the `AST_PARENT_TYPE` field to be one of - * `METHOD`, `TYPE_DECL` or `NAMESPACE_BLOCK`. - */ - @flatgraph.help.Doc(info = """Programming languages offer many closely-related concepts for describing blocks -of code that can be executed with input parameters and return output parameters, -possibly causing side effects. In the CPG specification, we refer to all of these -concepts (procedures, functions, methods, etc.) as methods. A single METHOD node -must exist for each method found in the source program. - -The `FULL_NAME` field specifies the method's fully-qualified name, including -information about the namespace it is contained in if applicable, the name field -is the function's short name. The field `IS_EXTERNAL` indicates whether it was -possible to identify a method body for the method. This is true for methods that -are defined in the source program, and false for methods that are dynamically -linked to the program, that is, methods that exist in an external dependency. - -Line and column number information is specified in the optional fields -`LINE_NUMBER`, `COLUMN_NUMBER`, `LINE_NUMBER_END`, and `COLUMN_NUMBER_END` and -the name of the source file is specified in `FILENAME`. An optional hash value -MAY be calculated over the function contents and included in the `HASH` field. - -The optional `OFFSET` and `OFFSET_END` specify the start -and exclusive end position of the code belonging to a method within the corresponding -`FILE` nodes `CONTENT` property. - -Finally, the fully qualified name of the program constructs that the method -is immediately contained in is stored in the `AST_PARENT_FULL_NAME` field -and its type is indicated in the `AST_PARENT_TYPE` field to be one of -`METHOD`, `TYPE_DECL` or `NAMESPACE_BLOCK`.""") - def method: Iterator[nodes.Method] = wrappedCpg.graph._nodes(26).asInstanceOf[Iterator[nodes.Method]] - - /** Shorthand for method.name */ - def method(name: String): Iterator[nodes.Method] = method.name(name) - - /** This node represents a formal input parameter. The field `NAME` contains its name, while the field - * `TYPE_FULL_NAME` contains the fully qualified type name. - */ - @flatgraph.help.Doc(info = """This node represents a formal input parameter. The field `NAME` contains its -name, while the field `TYPE_FULL_NAME` contains the fully qualified type name.""") - def methodParameterIn: Iterator[nodes.MethodParameterIn] = - wrappedCpg.graph._nodes(27).asInstanceOf[Iterator[nodes.MethodParameterIn]] - - /** Shorthand for methodParameterIn.name */ - def methodParameterIn(name: String): Iterator[nodes.MethodParameterIn] = methodParameterIn.name(name) - - /** This node represents a formal output parameter. Corresponding output parameters for input parameters MUST NOT be - * created by the frontend as they are automatically created upon first loading the CPG. - */ - @flatgraph.help.Doc(info = """This node represents a formal output parameter. Corresponding output parameters -for input parameters MUST NOT be created by the frontend as they are automatically -created upon first loading the CPG.""") - def methodParameterOut: Iterator[nodes.MethodParameterOut] = - wrappedCpg.graph._nodes(28).asInstanceOf[Iterator[nodes.MethodParameterOut]] - - /** This node represents a reference to a method/function/procedure as it appears when a method is passed as an - * argument in a call. The `METHOD_FULL_NAME` field holds the fully-qualified name of the referenced method and the - * `TYPE_FULL_NAME` holds its fully-qualified type name. - */ - @flatgraph.help.Doc(info = """This node represents a reference to a method/function/procedure as it -appears when a method is passed as an argument in a call. The `METHOD_FULL_NAME` -field holds the fully-qualified name of the referenced method and the -`TYPE_FULL_NAME` holds its fully-qualified type name.""") - def methodRef: Iterator[nodes.MethodRef] = wrappedCpg.graph._nodes(29).asInstanceOf[Iterator[nodes.MethodRef]] - - /** This node represents an (unnamed) formal method return parameter. It carries its fully qualified type name in - * `TYPE_FULL_NAME`. The `CODE` field MAY be set freely, e.g., to the constant `RET`, however, subsequent layer - * creators MUST NOT depend on this value. - */ - @flatgraph.help.Doc(info = """This node represents an (unnamed) formal method return parameter. It carries its -fully qualified type name in `TYPE_FULL_NAME`. The `CODE` field MAY be set freely, -e.g., to the constant `RET`, however, subsequent layer creators MUST NOT depend -on this value.""") - def methodReturn: Iterator[nodes.MethodReturn] = - wrappedCpg.graph._nodes(30).asInstanceOf[Iterator[nodes.MethodReturn]] - - /** This field represents a (language-dependent) modifier such as `static`, `private` or `public`. Unlike most other - * AST nodes, it is NOT an expression, that is, it cannot be evaluated and cannot be passed as an argument in - * function calls. - */ - @flatgraph.help.Doc(info = """This field represents a (language-dependent) modifier such as `static`, `private` -or `public`. Unlike most other AST nodes, it is NOT an expression, that is, it -cannot be evaluated and cannot be passed as an argument in function calls.""") - def modifier: Iterator[nodes.Modifier] = wrappedCpg.graph._nodes(31).asInstanceOf[Iterator[nodes.Modifier]] - - /** This node represents a namespace. Similar to FILE nodes, NAMESPACE nodes serve as indices that allow all - * definitions inside a namespace to be obtained by following outgoing edges from a NAMESPACE node. - * - * NAMESPACE nodes MUST NOT be created by language frontends. Instead, they are generated from NAMESPACE_BLOCK nodes - * automatically upon first loading of the CPG. - */ - @flatgraph.help.Doc(info = """This node represents a namespace. Similar to FILE nodes, NAMESPACE nodes -serve as indices that allow all definitions inside a namespace to be -obtained by following outgoing edges from a NAMESPACE node. - -NAMESPACE nodes MUST NOT be created by language frontends. Instead, -they are generated from NAMESPACE_BLOCK nodes automatically upon -first loading of the CPG.""") - def namespace: Iterator[nodes.Namespace] = wrappedCpg.graph._nodes(32).asInstanceOf[Iterator[nodes.Namespace]] - - /** Shorthand for namespace.name */ - def namespace(name: String): Iterator[nodes.Namespace] = namespace.name(name) - - /** A reference to a namespace. We borrow the concept of a "namespace block" from C++, that is, a namespace block is a - * block of code that has been placed in the same namespace by a programmer. This block may be introduced via a - * `package` statement in Java or a `namespace{ }` statement in C++. - * - * The `FULL_NAME` field contains a unique identifier to represent the namespace block itself not just the namespace - * it references. So in addition to the namespace name it can be useful to use the containing file name to derive a - * unique identifier. - * - * The `NAME` field contains the namespace name in a human-readable format. The name should be given in dot-separated - * form where a dot indicates that the right hand side is a sub namespace of the left hand side, e.g., `foo.bar` - * denotes the namespace `bar` contained in the namespace `foo`. - */ - @flatgraph.help.Doc(info = """A reference to a namespace. -We borrow the concept of a "namespace block" from C++, that is, a namespace block -is a block of code that has been placed in the same namespace by a programmer. -This block may be introduced via a `package` statement in Java or -a `namespace{ }` statement in C++. - -The `FULL_NAME` field contains a unique identifier to represent the namespace block -itself not just the namespace it references. So in addition to the namespace name -it can be useful to use the containing file name to derive a unique identifier. - -The `NAME` field contains the namespace name in a human-readable format. -The name should be given in dot-separated form where a dot indicates -that the right hand side is a sub namespace of the left hand side, e.g., -`foo.bar` denotes the namespace `bar` contained in the namespace `foo`.""") - def namespaceBlock: Iterator[nodes.NamespaceBlock] = - wrappedCpg.graph._nodes(33).asInstanceOf[Iterator[nodes.NamespaceBlock]] - - /** Shorthand for namespaceBlock.name */ - def namespaceBlock(name: String): Iterator[nodes.NamespaceBlock] = namespaceBlock.name(name) - - /** This node represents a return instruction, e.g., `return x`. Note that it does NOT represent a formal return - * parameter as formal return parameters are represented via `METHOD_RETURN` nodes. - */ - @flatgraph.help.Doc(info = """This node represents a return instruction, e.g., `return x`. Note that it does -NOT represent a formal return parameter as formal return parameters are -represented via `METHOD_RETURN` nodes.""") - def ret: Iterator[nodes.Return] = wrappedCpg.graph._nodes(34).asInstanceOf[Iterator[nodes.Return]] - - /** Shorthand for ret.code */ - def ret(code: String): Iterator[nodes.Return] = ret.code(code) - - /** This node represents a tag. */ - @flatgraph.help.Doc(info = """This node represents a tag.""") - def tag: Iterator[nodes.Tag] = wrappedCpg.graph._nodes(35).asInstanceOf[Iterator[nodes.Tag]] - - /** Shorthand for tag.name */ - def tag(name: String): Iterator[nodes.Tag] = tag.name(name) - - /** This node contains an arbitrary node and an associated tag node. */ - @flatgraph.help.Doc(info = """This node contains an arbitrary node and an associated tag node.""") - def tagNodePair: Iterator[nodes.TagNodePair] = wrappedCpg.graph._nodes(36).asInstanceOf[Iterator[nodes.TagNodePair]] - - /** This node represents a DOM node used in template languages, e.g., JSX/TSX */ - @flatgraph.help.Doc(info = """This node represents a DOM node used in template languages, e.g., JSX/TSX""") - def templateDom: Iterator[nodes.TemplateDom] = wrappedCpg.graph._nodes(37).asInstanceOf[Iterator[nodes.TemplateDom]] - - /** This node represents a type instance, that is, a concrete instantiation of a type declaration. - */ - @flatgraph.help.Doc(info = """This node represents a type instance, that is, a concrete instantiation -of a type declaration.""") - def typ: Iterator[nodes.Type] = wrappedCpg.graph._nodes(38).asInstanceOf[Iterator[nodes.Type]] - - /** Shorthand for typ.name */ - def typ(name: String): Iterator[nodes.Type] = typ.name(name) - - /** An (actual) type argument as used to instantiate a parametrized type, in the same way an (actual) arguments - * provides concrete values for a parameter at method call sites. As it true for arguments, the method is not - * expected to interpret the type argument. It MUST however store its code in the `CODE` field. - */ - @flatgraph.help.Doc(info = """An (actual) type argument as used to instantiate a parametrized type, in the -same way an (actual) arguments provides concrete values for a parameter -at method call sites. As it true for arguments, the method is not expected -to interpret the type argument. It MUST however store its code in the -`CODE` field.""") - def typeArgument: Iterator[nodes.TypeArgument] = - wrappedCpg.graph._nodes(39).asInstanceOf[Iterator[nodes.TypeArgument]] - - /** This node represents a type declaration as for example given by a class-, struct-, or union declaration. In - * contrast to a `TYPE` node, this node does not represent a concrete instantiation of a type, e.g., for the - * parametrized type `List[T]`, it represents `List[T]`, but not `List[Integer]` where `Integer` is a concrete type. - * - * The language frontend MUST create type declarations for all types declared in the source program and MAY provide - * type declarations for types that are not declared but referenced by the source program. If a declaration is - * present in the source program, the field `IS_EXTERNAL` is set to `false`. Otherwise, it is set to `true`. - * - * The `FULL_NAME` field specifies the type's fully-qualified name, including information about the namespace it is - * contained in if applicable, the name field is the type's short name. Line and column number information is - * specified in the optional fields `LINE_NUMBER`, `COLUMN_NUMBER`, `LINE_NUMBER_END`, and `COLUMN_NUMBER_END` and - * the name of the source file is specified in `FILENAME`. - * - * Base types can be specified via the `INHERITS_FROM_TYPE_FULL_NAME` list, where each entry contains the - * fully-qualified name of a base type. If the type is known to be an alias of another type (as for example - * introduced via the C `typedef` statement), the name of the alias is stored in `ALIAS_TYPE_FULL_NAME`. - * - * The optional `OFFSET` and `OFFSET_END` specify the start and exclusive end position of the code belonging to a - * `TYPE_DECL` within the corresponding `FILE` nodes `CONTENT` property. - * - * Finally, the fully qualified name of the program constructs that the type declaration is immediately contained in - * is stored in the `AST_PARENT_FULL_NAME` field and its type is indicated in the `AST_PARENT_TYPE` field to be one - * of `METHOD`, `TYPE_DECL` or `NAMESPACE_BLOCK`. - */ - @flatgraph.help.Doc(info = """This node represents a type declaration as for example given by a class-, struct-, -or union declaration. In contrast to a `TYPE` node, this node does not represent a -concrete instantiation of a type, e.g., for the parametrized type `List[T]`, it represents -`List[T]`, but not `List[Integer]` where `Integer` is a concrete type. - -The language frontend MUST create type declarations for all types declared in the -source program and MAY provide type declarations for types that are not declared -but referenced by the source program. If a declaration is present in the source -program, the field `IS_EXTERNAL` is set to `false`. Otherwise, it is set to `true`. - -The `FULL_NAME` field specifies the type's fully-qualified name, including -information about the namespace it is contained in if applicable, the name field -is the type's short name. Line and column number information is specified in the -optional fields `LINE_NUMBER`, `COLUMN_NUMBER`, `LINE_NUMBER_END`, and -`COLUMN_NUMBER_END` and the name of the source file is specified in `FILENAME`. - -Base types can be specified via the `INHERITS_FROM_TYPE_FULL_NAME` list, where -each entry contains the fully-qualified name of a base type. If the type is -known to be an alias of another type (as for example introduced via the C -`typedef` statement), the name of the alias is stored in `ALIAS_TYPE_FULL_NAME`. - -The optional `OFFSET` and `OFFSET_END` specify the start -and exclusive end position of the code belonging to a `TYPE_DECL` within the corresponding -`FILE` nodes `CONTENT` property. - -Finally, the fully qualified name of the program constructs that the type declaration -is immediately contained in is stored in the `AST_PARENT_FULL_NAME` field -and its type is indicated in the `AST_PARENT_TYPE` field to be one of -`METHOD`, `TYPE_DECL` or `NAMESPACE_BLOCK`.""") - def typeDecl: Iterator[nodes.TypeDecl] = wrappedCpg.graph._nodes(40).asInstanceOf[Iterator[nodes.TypeDecl]] - - /** Shorthand for typeDecl.name */ - def typeDecl(name: String): Iterator[nodes.TypeDecl] = typeDecl.name(name) - - /** This node represents a formal type parameter, that is, the type parameter as given in a type-parametrized method - * or type declaration. Examples for languages that support type parameters are Java (via Generics) and C++ (via - * templates). Apart from the standard fields of AST nodes, the type parameter carries only a `NAME` field that holds - * the parameters name. - */ - @flatgraph.help.Doc(info = """This node represents a formal type parameter, that is, the type parameter -as given in a type-parametrized method or type declaration. Examples for -languages that support type parameters are Java (via Generics) and C++ -(via templates). Apart from the standard fields of AST nodes, the type -parameter carries only a `NAME` field that holds the parameters name.""") - def typeParameter: Iterator[nodes.TypeParameter] = - wrappedCpg.graph._nodes(41).asInstanceOf[Iterator[nodes.TypeParameter]] - - /** Reference to a type/class */ - @flatgraph.help.Doc(info = """Reference to a type/class""") - def typeRef: Iterator[nodes.TypeRef] = wrappedCpg.graph._nodes(42).asInstanceOf[Iterator[nodes.TypeRef]] - - /** Any AST node that the frontend would like to include in the AST but for which no suitable AST node is specified in - * the CPG specification may be included using a node of type `UNKNOWN`. - */ - @flatgraph.help.Doc(info = """Any AST node that the frontend would like to include in the AST but for -which no suitable AST node is specified in the CPG specification may be -included using a node of type `UNKNOWN`.""") - def unknown: Iterator[nodes.Unknown] = wrappedCpg.graph._nodes(43).asInstanceOf[Iterator[nodes.Unknown]] - - /** This is the base type for all nodes of the abstract syntax tree (AST). An AST node has a `CODE` and an `ORDER` - * field. The `CODE` field contains the code (verbatim) represented by the AST node. The `ORDER` field contains the - * nodes position among its siblings, encoded as an integer where the left most sibling has the position `0`. - * - * AST nodes contain optional `LINE_NUMBER` and `COLUMN_NUMBER` fields. For source-based frontends, these fields - * contain the start line number and start column number of the code represented by the node. For machine-code-based - * and bytecode-based frontends, `LINE_NUMBER` contains the address at which the code starts while `COLUMN_NUMBER` is - * undefined. subtypes: ANNOTATION, ANNOTATION_LITERAL, ANNOTATION_PARAMETER, ANNOTATION_PARAMETER_ASSIGN, - * ARRAY_INITIALIZER, BLOCK, CALL, COMMENT, CONTROL_STRUCTURE, 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 - */ - @flatgraph.help.Doc( - info = """This is the base type for all nodes of the abstract syntax tree (AST). An AST -node has a `CODE` and an `ORDER` field. The `CODE` field contains the -code (verbatim) represented by the AST node. The `ORDER` field contains the -nodes position among its siblings, encoded as an integer where the left most -sibling has the position `0`. - -AST nodes contain optional `LINE_NUMBER` and `COLUMN_NUMBER` fields. For -source-based frontends, these fields contain the start line number and -start column number of the code represented by the node. -For machine-code-based and bytecode-based frontends, `LINE_NUMBER` contains -the address at which the code starts while `COLUMN_NUMBER` is undefined.""", - longInfo = - """subtypes: ANNOTATION, ANNOTATION_LITERAL, ANNOTATION_PARAMETER, ANNOTATION_PARAMETER_ASSIGN, ARRAY_INITIALIZER, BLOCK, CALL, COMMENT, CONTROL_STRUCTURE, 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""" - ) - def astNode: Iterator[nodes.AstNode] = Iterator( - this.annotation, - this.annotationLiteral, - this.annotationParameter, - this.annotationParameterAssign, - this.arrayInitializer, - this.block, - this.call, - this.comment, - this.controlStructure, - this.fieldIdentifier, - this.file, - this.identifier, - this.imports, - this.jumpLabel, - this.jumpTarget, - this.literal, - this.local, - this.member, - this.method, - this.methodParameterIn, - this.methodParameterOut, - this.methodRef, - this.methodReturn, - this.modifier, - this.namespace, - this.namespaceBlock, - this.ret, - this.templateDom, - this.typeArgument, - this.typeDecl, - this.typeParameter, - this.typeRef, - this.unknown - ).flatten - - /** This is the base class of `CALL` that language implementers may safely ignore. subtypes: CALL - */ - @flatgraph.help.Doc( - info = """This is the base class of `CALL` that language implementers may safely ignore.""", - longInfo = """subtypes: CALL""" - ) - def callRepr: Iterator[nodes.CallRepr] = Iterator(this.call).flatten - - /** This is the base class for all control flow nodes. It is itself a child class of `AST_NODE`, that is, all control - * flow graph nodes are also syntax tree nodes in the CPG specification. subtypes: ANNOTATION, ANNOTATION_LITERAL, - * ARRAY_INITIALIZER, BLOCK, CALL, CONTROL_STRUCTURE, FIELD_IDENTIFIER, IDENTIFIER, JUMP_TARGET, LITERAL, METHOD, - * METHOD_PARAMETER_IN, METHOD_PARAMETER_OUT, METHOD_REF, METHOD_RETURN, RETURN, TEMPLATE_DOM, TYPE_REF, UNKNOWN - */ - @flatgraph.help.Doc( - info = """This is the base class for all control flow nodes. It is itself -a child class of `AST_NODE`, that is, all control flow graph nodes -are also syntax tree nodes in the CPG specification.""", - longInfo = - """subtypes: ANNOTATION, ANNOTATION_LITERAL, ARRAY_INITIALIZER, BLOCK, CALL, CONTROL_STRUCTURE, FIELD_IDENTIFIER, IDENTIFIER, JUMP_TARGET, LITERAL, METHOD, METHOD_PARAMETER_IN, METHOD_PARAMETER_OUT, METHOD_REF, METHOD_RETURN, RETURN, TEMPLATE_DOM, TYPE_REF, UNKNOWN""" - ) - def cfgNode: Iterator[nodes.CfgNode] = Iterator( - this.annotation, - this.annotationLiteral, - this.arrayInitializer, - this.block, - this.call, - this.controlStructure, - this.fieldIdentifier, - this.identifier, - this.jumpTarget, - this.literal, - this.method, - this.methodParameterIn, - this.methodParameterOut, - this.methodRef, - this.methodReturn, - this.ret, - this.templateDom, - this.typeRef, - this.unknown - ).flatten - - /** This is the base node class for all declarations. subtypes: LOCAL, MEMBER, METHOD, METHOD_PARAMETER_IN, - * METHOD_PARAMETER_OUT - */ - @flatgraph.help.Doc( - info = """This is the base node class for all declarations.""", - longInfo = """subtypes: LOCAL, MEMBER, METHOD, METHOD_PARAMETER_IN, METHOD_PARAMETER_OUT""" - ) - def declaration: Iterator[nodes.Declaration] = - Iterator(this.local, this.member, this.method, this.methodParameterIn, this.methodParameterOut).flatten - - /** `EXPRESSION` is the base class for all nodes that represent code pieces that can be evaluated. - * - * Expression may be arguments in method calls. For method calls that do not involved named parameters, the - * `ARGUMENT_INDEX` field indicates at which position in the argument list the expression occurs, e.g., an - * `ARGUMENT_INDEX` of 1 indicates that the expression is the first argument in a method call. For calls that employ - * named parameters, `ARGUMENT_INDEX` is set to -1 and the `ARGUMENT_NAME` fields holds the name of the parameter. - * subtypes: ANNOTATION, ANNOTATION_LITERAL, ARRAY_INITIALIZER, BLOCK, CALL, CONTROL_STRUCTURE, FIELD_IDENTIFIER, - * IDENTIFIER, LITERAL, METHOD_REF, RETURN, TEMPLATE_DOM, TYPE_REF, UNKNOWN - */ - @flatgraph.help.Doc( - info = """`EXPRESSION` is the base class for all nodes that represent code pieces -that can be evaluated. - - Expression may be arguments in method calls. For method calls that do - not involved named parameters, the `ARGUMENT_INDEX` field indicates at - which position in the argument list the expression occurs, e.g., an - `ARGUMENT_INDEX` of 1 indicates that the expression is the first argument - in a method call. For calls that employ named parameters, `ARGUMENT_INDEX` - is set to -1 and the `ARGUMENT_NAME` fields holds the name of the parameter.""", - longInfo = - """subtypes: ANNOTATION, ANNOTATION_LITERAL, ARRAY_INITIALIZER, BLOCK, CALL, CONTROL_STRUCTURE, FIELD_IDENTIFIER, IDENTIFIER, LITERAL, METHOD_REF, RETURN, TEMPLATE_DOM, TYPE_REF, UNKNOWN""" - ) - def expression: Iterator[nodes.Expression] = Iterator( - this.annotation, - this.annotationLiteral, - this.arrayInitializer, - this.block, - this.call, - this.controlStructure, - this.fieldIdentifier, - this.identifier, - this.literal, - this.methodRef, - this.ret, - this.templateDom, - this.typeRef, - this.unknown - ).flatten - -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/DispatchTypes.java b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/DispatchTypes.java deleted file mode 100644 index 151e9ee2..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/DispatchTypes.java +++ /dev/null @@ -1,23 +0,0 @@ -package io.shiftleft.codepropertygraph.generated; - -import java.util.HashSet; -import java.util.Set; - -public class DispatchTypes { - -/** For statically dispatched calls the call target is known before program execution */ -public static final String STATIC_DISPATCH = "STATIC_DISPATCH"; - -/** For dynamically dispatched calls the target is determined during runtime */ -public static final String DYNAMIC_DISPATCH = "DYNAMIC_DISPATCH"; - -/** For macro expansions, code is inlined. */ -public static final String INLINED = "INLINED"; - -public static Set ALL = new HashSet() {{ -add(STATIC_DISPATCH); -add(DYNAMIC_DISPATCH); -add(INLINED); -}}; - -} \ No newline at end of file diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EdgeTypes.java b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EdgeTypes.java deleted file mode 100644 index 5de3dfe2..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EdgeTypes.java +++ /dev/null @@ -1,134 +0,0 @@ -package io.shiftleft.codepropertygraph.generated; - -import java.util.HashSet; -import java.util.Set; - -public class EdgeTypes { - -/** This edge represents an alias relation between a type declaration and a type. -The language frontend MUST NOT create `ALIAS_OF` edges as they are created -automatically based on `ALIAS_TYPE_FULL_NAME` fields when the CPG is first loaded. */ -public static final String ALIAS_OF = "ALIAS_OF"; - -/** Argument edges connect call sites (node type `CALL`) to their arguments -(node type `EXPRESSION`) as well as `RETURN` nodes to the expressions -that return. */ -public static final String ARGUMENT = "ARGUMENT"; - -/** This edge connects a parent node to its child in the syntax tree. */ -public static final String AST = "AST"; - -/** This edge connects a type declaration (`TYPE_DECL`) with a binding node (`BINDING`) and -indicates that the type declaration has the binding represented by the binding node, in -other words, there is a (name, signature) pair that can be resolved for the type -declaration as stored in the binding node. */ -public static final String BINDS = "BINDS"; - -/** This edge connects type arguments to type parameters to indicate -that the type argument is used to instantiate the type parameter. */ -public static final String BINDS_TO = "BINDS_TO"; - -/** This edge connects call sites, i.e., nodes with the type `CALL`, to the -method node that represent the method they invoke. The frontend MAY create -`CALL` edges but is not required to do so. Instead, of the `METHOD_FULL_NAME` -field of the `CALL` node is set correctly, `CALL` edges are created -automatically as the CPG is first loaded. */ -public static final String CALL = "CALL"; - -/** Represents the capturing of a variable into a closure */ -public static final String CAPTURE = "CAPTURE"; - -/** Connection between a captured LOCAL and the corresponding CLOSURE_BINDING */ -public static final String CAPTURED_BY = "CAPTURED_BY"; - -/** A CDG edge expresses that the destination node is control dependent on the source node. */ -public static final String CDG = "CDG"; - -/** This edge indicates control flow from the source to the destination node. */ -public static final String CFG = "CFG"; - -/** The edge connects control structure nodes to the expressions that holds their conditions. */ -public static final String CONDITION = "CONDITION"; - -/** This edge connects a node to the method that contains it. */ -public static final String CONTAINS = "CONTAINS"; - -/** This edge indicates that the source node immediately dominates the destination node. */ -public static final String DOMINATE = "DOMINATE"; - -/** This edge connects a node to its evaluation type. */ -public static final String EVAL_TYPE = "EVAL_TYPE"; - -/** Edge from imports to dependencies */ -public static final String IMPORTS = "IMPORTS"; - -/** Inheritance relation between a type declaration and a type. This edge MUST NOT - be created by the language frontend as it is automatically created from - `INHERITS_FROM_TYPE_FULL_NAME` fields then the CPG is first loaded. */ -public static final String INHERITS_FROM = "INHERITS_FROM"; - -/** Edge from CALL statement in the AST to the IMPORT. - |We use this edge to traverse from the logical representation of the IMPORT - |to the corresponding import statement in the AST. - | */ -public static final String IS_CALL_FOR_IMPORT = "IS_CALL_FOR_IMPORT"; - -/** This edge connects a method input parameter to the corresponding -method output parameter. */ -public static final String PARAMETER_LINK = "PARAMETER_LINK"; - -/** This edge indicates that the source node immediately post dominates the destination node. */ -public static final String POST_DOMINATE = "POST_DOMINATE"; - -/** A reaching definition edge indicates that a variable produced at the source node reaches -the destination node without being reassigned on the way. The `VARIABLE` property indicates -which variable is propagated. */ -public static final String REACHING_DEF = "REACHING_DEF"; - -/** Similar to `ARGUMENT` edges, `RECEIVER` edges connect call sites -to their receiver arguments. A receiver argument is the object on -which a method operates, that is, it is the expression that is -assigned to the `this` pointer as control is transferred to the method. */ -public static final String RECEIVER = "RECEIVER"; - -/** This edge indicates that the source node is an identifier that denotes -access to the destination node. For example, an identifier may reference -a local variable. */ -public static final String REF = "REF"; - -/** This edge connects a node to the node that represents its source file. These -edges MUST not be created by the language frontend but are automatically -created based on `FILENAME` fields. */ -public static final String SOURCE_FILE = "SOURCE_FILE"; - -/** Edges from nodes to the tags they are tagged by. */ -public static final String TAGGED_BY = "TAGGED_BY"; - -public static Set ALL = new HashSet() {{ -add(ALIAS_OF); -add(ARGUMENT); -add(AST); -add(BINDS); -add(BINDS_TO); -add(CALL); -add(CAPTURE); -add(CAPTURED_BY); -add(CDG); -add(CFG); -add(CONDITION); -add(CONTAINS); -add(DOMINATE); -add(EVAL_TYPE); -add(IMPORTS); -add(INHERITS_FROM); -add(IS_CALL_FOR_IMPORT); -add(PARAMETER_LINK); -add(POST_DOMINATE); -add(REACHING_DEF); -add(RECEIVER); -add(REF); -add(SOURCE_FILE); -add(TAGGED_BY); -}}; - -} \ No newline at end of file diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EdgeTypes.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EdgeTypes.scala deleted file mode 100644 index 563b6dcc..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EdgeTypes.scala +++ /dev/null @@ -1,52 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.edges - -class AliasOf(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 0.toShort, subSeq_4862, property_4862) -class Argument(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 1.toShort, subSeq_4862, property_4862) -class Ast(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 2.toShort, subSeq_4862, property_4862) -class Binds(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 3.toShort, subSeq_4862, property_4862) -class BindsTo(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 4.toShort, subSeq_4862, property_4862) -class Call(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 5.toShort, subSeq_4862, property_4862) -class Capture(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 6.toShort, subSeq_4862, property_4862) -class CapturedBy(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 7.toShort, subSeq_4862, property_4862) -class Cdg(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 8.toShort, subSeq_4862, property_4862) -class Cfg(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 9.toShort, subSeq_4862, property_4862) -class Condition(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 10.toShort, subSeq_4862, property_4862) -class Contains(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 11.toShort, subSeq_4862, property_4862) -class Dominate(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 12.toShort, subSeq_4862, property_4862) -class EvalType(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 13.toShort, subSeq_4862, property_4862) -class Imports(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 14.toShort, subSeq_4862, property_4862) -class InheritsFrom(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 15.toShort, subSeq_4862, property_4862) -class IsCallForImport(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 16.toShort, subSeq_4862, property_4862) -class ParameterLink(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 17.toShort, subSeq_4862, property_4862) -class PostDominate(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 18.toShort, subSeq_4862, property_4862) -class ReachingDef(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 19.toShort, subSeq_4862, property_4862) { - def variable: String = this.property.asInstanceOf[String] -} -class Receiver(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 20.toShort, subSeq_4862, property_4862) -class Ref(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 21.toShort, subSeq_4862, property_4862) -class SourceFile(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 22.toShort, subSeq_4862, property_4862) -class TaggedBy(src_4762: flatgraph.GNode, dst_4762: flatgraph.GNode, subSeq_4862: Int, property_4862: Any) - extends flatgraph.Edge(src_4762, dst_4762, 23.toShort, subSeq_4862, property_4862) diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EvaluationStrategies.java b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EvaluationStrategies.java deleted file mode 100644 index 34f39d1c..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/EvaluationStrategies.java +++ /dev/null @@ -1,23 +0,0 @@ -package io.shiftleft.codepropertygraph.generated; - -import java.util.HashSet; -import java.util.Set; - -public class EvaluationStrategies { - -/** A parameter or return of a function is passed by reference which means an address is used behind the scenes */ -public static final String BY_REFERENCE = "BY_REFERENCE"; - -/** Only applicable to object parameter or return values. The pointer to the object is passed by value but the object itself is not copied and changes to it are thus propagated out of the method context */ -public static final String BY_SHARING = "BY_SHARING"; - -/** A parameter or return of a function passed by value which means a flat copy is used */ -public static final String BY_VALUE = "BY_VALUE"; - -public static Set ALL = new HashSet() {{ -add(BY_REFERENCE); -add(BY_SHARING); -add(BY_VALUE); -}}; - -} \ No newline at end of file diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/GraphSchema.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/GraphSchema.scala deleted file mode 100644 index c4f93420..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/GraphSchema.scala +++ /dev/null @@ -1,957 +0,0 @@ -package io.shiftleft.codepropertygraph.generated -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.edges -import flatgraph.FormalQtyType - -object GraphSchema extends flatgraph.Schema { - val nodeLabels = Array( - "ANNOTATION", - "ANNOTATION_LITERAL", - "ANNOTATION_PARAMETER", - "ANNOTATION_PARAMETER_ASSIGN", - "ARRAY_INITIALIZER", - "BINDING", - "BLOCK", - "CALL", - "CLOSURE_BINDING", - "COMMENT", - "CONFIG_FILE", - "CONTROL_STRUCTURE", - "DEPENDENCY", - "FIELD_IDENTIFIER", - "FILE", - "FINDING", - "IDENTIFIER", - "IMPORT", - "JUMP_LABEL", - "JUMP_TARGET", - "KEY_VALUE_PAIR", - "LITERAL", - "LOCAL", - "LOCATION", - "MEMBER", - "META_DATA", - "METHOD", - "METHOD_PARAMETER_IN", - "METHOD_PARAMETER_OUT", - "METHOD_REF", - "METHOD_RETURN", - "MODIFIER", - "NAMESPACE", - "NAMESPACE_BLOCK", - "RETURN", - "TAG", - "TAG_NODE_PAIR", - "TEMPLATE_DOM", - "TYPE", - "TYPE_ARGUMENT", - "TYPE_DECL", - "TYPE_PARAMETER", - "TYPE_REF", - "UNKNOWN" - ) - val nodeKindByLabel = nodeLabels.zipWithIndex.toMap - val edgeLabels = Array( - "ALIAS_OF", - "ARGUMENT", - "AST", - "BINDS", - "BINDS_TO", - "CALL", - "CAPTURE", - "CAPTURED_BY", - "CDG", - "CFG", - "CONDITION", - "CONTAINS", - "DOMINATE", - "EVAL_TYPE", - "IMPORTS", - "INHERITS_FROM", - "IS_CALL_FOR_IMPORT", - "PARAMETER_LINK", - "POST_DOMINATE", - "REACHING_DEF", - "RECEIVER", - "REF", - "SOURCE_FILE", - "TAGGED_BY" - ) - val edgeIdByLabel = edgeLabels.zipWithIndex.toMap - val edgePropertyAllocators: Array[Int => Array[?]] = Array( - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => null, - size => Array.fill(size)("") /* label = REACHING_DEF, id = 19 */, - size => null, - size => null, - size => null, - size => null - ) - val nodeFactories: Array[(flatgraph.Graph, Int) => nodes.StoredNode] = Array( - (g, seq) => new nodes.Annotation(g, seq), - (g, seq) => new nodes.AnnotationLiteral(g, seq), - (g, seq) => new nodes.AnnotationParameter(g, seq), - (g, seq) => new nodes.AnnotationParameterAssign(g, seq), - (g, seq) => new nodes.ArrayInitializer(g, seq), - (g, seq) => new nodes.Binding(g, seq), - (g, seq) => new nodes.Block(g, seq), - (g, seq) => new nodes.Call(g, seq), - (g, seq) => new nodes.ClosureBinding(g, seq), - (g, seq) => new nodes.Comment(g, seq), - (g, seq) => new nodes.ConfigFile(g, seq), - (g, seq) => new nodes.ControlStructure(g, seq), - (g, seq) => new nodes.Dependency(g, seq), - (g, seq) => new nodes.FieldIdentifier(g, seq), - (g, seq) => new nodes.File(g, seq), - (g, seq) => new nodes.Finding(g, seq), - (g, seq) => new nodes.Identifier(g, seq), - (g, seq) => new nodes.Import(g, seq), - (g, seq) => new nodes.JumpLabel(g, seq), - (g, seq) => new nodes.JumpTarget(g, seq), - (g, seq) => new nodes.KeyValuePair(g, seq), - (g, seq) => new nodes.Literal(g, seq), - (g, seq) => new nodes.Local(g, seq), - (g, seq) => new nodes.Location(g, seq), - (g, seq) => new nodes.Member(g, seq), - (g, seq) => new nodes.MetaData(g, seq), - (g, seq) => new nodes.Method(g, seq), - (g, seq) => new nodes.MethodParameterIn(g, seq), - (g, seq) => new nodes.MethodParameterOut(g, seq), - (g, seq) => new nodes.MethodRef(g, seq), - (g, seq) => new nodes.MethodReturn(g, seq), - (g, seq) => new nodes.Modifier(g, seq), - (g, seq) => new nodes.Namespace(g, seq), - (g, seq) => new nodes.NamespaceBlock(g, seq), - (g, seq) => new nodes.Return(g, seq), - (g, seq) => new nodes.Tag(g, seq), - (g, seq) => new nodes.TagNodePair(g, seq), - (g, seq) => new nodes.TemplateDom(g, seq), - (g, seq) => new nodes.Type(g, seq), - (g, seq) => new nodes.TypeArgument(g, seq), - (g, seq) => new nodes.TypeDecl(g, seq), - (g, seq) => new nodes.TypeParameter(g, seq), - (g, seq) => new nodes.TypeRef(g, seq), - (g, seq) => new nodes.Unknown(g, seq) - ) - val edgeFactories: Array[(flatgraph.GNode, flatgraph.GNode, Int, Any) => flatgraph.Edge] = Array( - (s, d, subseq, p) => new edges.AliasOf(s, d, subseq, p), - (s, d, subseq, p) => new edges.Argument(s, d, subseq, p), - (s, d, subseq, p) => new edges.Ast(s, d, subseq, p), - (s, d, subseq, p) => new edges.Binds(s, d, subseq, p), - (s, d, subseq, p) => new edges.BindsTo(s, d, subseq, p), - (s, d, subseq, p) => new edges.Call(s, d, subseq, p), - (s, d, subseq, p) => new edges.Capture(s, d, subseq, p), - (s, d, subseq, p) => new edges.CapturedBy(s, d, subseq, p), - (s, d, subseq, p) => new edges.Cdg(s, d, subseq, p), - (s, d, subseq, p) => new edges.Cfg(s, d, subseq, p), - (s, d, subseq, p) => new edges.Condition(s, d, subseq, p), - (s, d, subseq, p) => new edges.Contains(s, d, subseq, p), - (s, d, subseq, p) => new edges.Dominate(s, d, subseq, p), - (s, d, subseq, p) => new edges.EvalType(s, d, subseq, p), - (s, d, subseq, p) => new edges.Imports(s, d, subseq, p), - (s, d, subseq, p) => new edges.InheritsFrom(s, d, subseq, p), - (s, d, subseq, p) => new edges.IsCallForImport(s, d, subseq, p), - (s, d, subseq, p) => new edges.ParameterLink(s, d, subseq, p), - (s, d, subseq, p) => new edges.PostDominate(s, d, subseq, p), - (s, d, subseq, p) => new edges.ReachingDef(s, d, subseq, p), - (s, d, subseq, p) => new edges.Receiver(s, d, subseq, p), - (s, d, subseq, p) => new edges.Ref(s, d, subseq, p), - (s, d, subseq, p) => new edges.SourceFile(s, d, subseq, p), - (s, d, subseq, p) => new edges.TaggedBy(s, d, subseq, p) - ) - val nodePropertyAllocators: Array[Int => Array[?]] = Array( - size => new Array[String](size), - size => new Array[Int](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[Int](size), - size => new Array[Int](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[Boolean](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[Int](size), - size => new Array[String](size), - size => new Array[Boolean](size), - size => new Array[Boolean](size), - size => new Array[Boolean](size), - size => new Array[Boolean](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[Int](size), - size => new Array[Int](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[Int](size), - size => new Array[Int](size), - size => new Array[Int](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[String](size), - size => new Array[flatgraph.GNode](size), - size => new Array[flatgraph.GNode](size), - size => new Array[flatgraph.GNode](size), - size => new Array[flatgraph.GNode](size) - ) - val normalNodePropertyNames = Array( - "ALIAS_TYPE_FULL_NAME", - "ARGUMENT_INDEX", - "ARGUMENT_NAME", - "AST_PARENT_FULL_NAME", - "AST_PARENT_TYPE", - "CANONICAL_NAME", - "CLASS_NAME", - "CLASS_SHORT_NAME", - "CLOSURE_BINDING_ID", - "CLOSURE_ORIGINAL_NAME", - "CODE", - "COLUMN_NUMBER", - "COLUMN_NUMBER_END", - "CONTAINED_REF", - "CONTENT", - "CONTROL_STRUCTURE_TYPE", - "DEPENDENCY_GROUP_ID", - "DISPATCH_TYPE", - "DYNAMIC_TYPE_HINT_FULL_NAME", - "EVALUATION_STRATEGY", - "EXPLICIT_AS", - "FILENAME", - "FULL_NAME", - "HASH", - "IMPORTED_AS", - "IMPORTED_ENTITY", - "INDEX", - "INHERITS_FROM_TYPE_FULL_NAME", - "IS_EXPLICIT", - "IS_EXTERNAL", - "IS_VARIADIC", - "IS_WILDCARD", - "KEY", - "LANGUAGE", - "LINE_NUMBER", - "LINE_NUMBER_END", - "METHOD_FULL_NAME", - "METHOD_SHORT_NAME", - "MODIFIER_TYPE", - "NAME", - "NODE_LABEL", - "OFFSET", - "OFFSET_END", - "ORDER", - "OVERLAYS", - "PACKAGE_NAME", - "PARSER_TYPE_NAME", - "POSSIBLE_TYPES", - "ROOT", - "SIGNATURE", - "SYMBOL", - "TYPE_DECL_FULL_NAME", - "TYPE_FULL_NAME", - "VALUE", - "VERSION" - ) - val nodePropertyByLabel = normalNodePropertyNames.zipWithIndex.toMap - .updated("evidence", 55) - .updated("keyValuePairs", 56) - .updated("node", 57) - .updated("tag", 58) - val nodePropertyDescriptors: Array[FormalQtyType.FormalQuantity | FormalQtyType.FormalType] = { - val nodePropertyDescriptors = new Array[FormalQtyType.FormalQuantity | FormalQtyType.FormalType](5192) - for (idx <- Range(0, 5192)) { - nodePropertyDescriptors(idx) = - if ((idx & 1) == 0) FormalQtyType.NothingType - else FormalQtyType.QtyNone - } - - nodePropertyDescriptors(88) = FormalQtyType.IntType // ANNOTATION.ARGUMENT_INDEX - nodePropertyDescriptors(89) = FormalQtyType.QtyOne - nodePropertyDescriptors(176) = FormalQtyType.StringType // ANNOTATION.ARGUMENT_NAME - nodePropertyDescriptors(177) = FormalQtyType.QtyOption - nodePropertyDescriptors(880) = FormalQtyType.StringType // ANNOTATION.CODE - nodePropertyDescriptors(881) = FormalQtyType.QtyOne - nodePropertyDescriptors(968) = FormalQtyType.IntType // ANNOTATION.COLUMN_NUMBER - nodePropertyDescriptors(969) = FormalQtyType.QtyOption - nodePropertyDescriptors(1936) = FormalQtyType.StringType // ANNOTATION.FULL_NAME - nodePropertyDescriptors(1937) = FormalQtyType.QtyOne - nodePropertyDescriptors(2992) = FormalQtyType.IntType // ANNOTATION.LINE_NUMBER - nodePropertyDescriptors(2993) = FormalQtyType.QtyOption - nodePropertyDescriptors(3432) = FormalQtyType.StringType // ANNOTATION.NAME - nodePropertyDescriptors(3433) = FormalQtyType.QtyOne - nodePropertyDescriptors(3784) = FormalQtyType.IntType // ANNOTATION.ORDER - nodePropertyDescriptors(3785) = FormalQtyType.QtyOne - nodePropertyDescriptors(90) = FormalQtyType.IntType // ANNOTATION_LITERAL.ARGUMENT_INDEX - nodePropertyDescriptors(91) = FormalQtyType.QtyOne - nodePropertyDescriptors(178) = FormalQtyType.StringType // ANNOTATION_LITERAL.ARGUMENT_NAME - nodePropertyDescriptors(179) = FormalQtyType.QtyOption - nodePropertyDescriptors(882) = FormalQtyType.StringType // ANNOTATION_LITERAL.CODE - nodePropertyDescriptors(883) = FormalQtyType.QtyOne - nodePropertyDescriptors(970) = FormalQtyType.IntType // ANNOTATION_LITERAL.COLUMN_NUMBER - nodePropertyDescriptors(971) = FormalQtyType.QtyOption - nodePropertyDescriptors(2994) = FormalQtyType.IntType // ANNOTATION_LITERAL.LINE_NUMBER - nodePropertyDescriptors(2995) = FormalQtyType.QtyOption - nodePropertyDescriptors(3434) = FormalQtyType.StringType // ANNOTATION_LITERAL.NAME - nodePropertyDescriptors(3435) = FormalQtyType.QtyOne - nodePropertyDescriptors(3786) = FormalQtyType.IntType // ANNOTATION_LITERAL.ORDER - nodePropertyDescriptors(3787) = FormalQtyType.QtyOne - nodePropertyDescriptors(884) = FormalQtyType.StringType // ANNOTATION_PARAMETER.CODE - nodePropertyDescriptors(885) = FormalQtyType.QtyOne - nodePropertyDescriptors(972) = FormalQtyType.IntType // ANNOTATION_PARAMETER.COLUMN_NUMBER - nodePropertyDescriptors(973) = FormalQtyType.QtyOption - nodePropertyDescriptors(2996) = FormalQtyType.IntType // ANNOTATION_PARAMETER.LINE_NUMBER - nodePropertyDescriptors(2997) = FormalQtyType.QtyOption - nodePropertyDescriptors(3788) = FormalQtyType.IntType // ANNOTATION_PARAMETER.ORDER - nodePropertyDescriptors(3789) = FormalQtyType.QtyOne - nodePropertyDescriptors(886) = FormalQtyType.StringType // ANNOTATION_PARAMETER_ASSIGN.CODE - nodePropertyDescriptors(887) = FormalQtyType.QtyOne - nodePropertyDescriptors(974) = FormalQtyType.IntType // ANNOTATION_PARAMETER_ASSIGN.COLUMN_NUMBER - nodePropertyDescriptors(975) = FormalQtyType.QtyOption - nodePropertyDescriptors(2998) = FormalQtyType.IntType // ANNOTATION_PARAMETER_ASSIGN.LINE_NUMBER - nodePropertyDescriptors(2999) = FormalQtyType.QtyOption - nodePropertyDescriptors(3790) = FormalQtyType.IntType // ANNOTATION_PARAMETER_ASSIGN.ORDER - nodePropertyDescriptors(3791) = FormalQtyType.QtyOne - nodePropertyDescriptors(96) = FormalQtyType.IntType // ARRAY_INITIALIZER.ARGUMENT_INDEX - nodePropertyDescriptors(97) = FormalQtyType.QtyOne - nodePropertyDescriptors(184) = FormalQtyType.StringType // ARRAY_INITIALIZER.ARGUMENT_NAME - nodePropertyDescriptors(185) = FormalQtyType.QtyOption - nodePropertyDescriptors(888) = FormalQtyType.StringType // ARRAY_INITIALIZER.CODE - nodePropertyDescriptors(889) = FormalQtyType.QtyOne - nodePropertyDescriptors(976) = FormalQtyType.IntType // ARRAY_INITIALIZER.COLUMN_NUMBER - nodePropertyDescriptors(977) = FormalQtyType.QtyOption - nodePropertyDescriptors(3000) = FormalQtyType.IntType // ARRAY_INITIALIZER.LINE_NUMBER - nodePropertyDescriptors(3001) = FormalQtyType.QtyOption - nodePropertyDescriptors(3792) = FormalQtyType.IntType // ARRAY_INITIALIZER.ORDER - nodePropertyDescriptors(3793) = FormalQtyType.QtyOne - nodePropertyDescriptors(3178) = FormalQtyType.StringType // BINDING.METHOD_FULL_NAME - nodePropertyDescriptors(3179) = FormalQtyType.QtyOne - nodePropertyDescriptors(3442) = FormalQtyType.StringType // BINDING.NAME - nodePropertyDescriptors(3443) = FormalQtyType.QtyOne - nodePropertyDescriptors(4322) = FormalQtyType.StringType // BINDING.SIGNATURE - nodePropertyDescriptors(4323) = FormalQtyType.QtyOne - nodePropertyDescriptors(100) = FormalQtyType.IntType // BLOCK.ARGUMENT_INDEX - nodePropertyDescriptors(101) = FormalQtyType.QtyOne - nodePropertyDescriptors(188) = FormalQtyType.StringType // BLOCK.ARGUMENT_NAME - nodePropertyDescriptors(189) = FormalQtyType.QtyOption - nodePropertyDescriptors(892) = FormalQtyType.StringType // BLOCK.CODE - nodePropertyDescriptors(893) = FormalQtyType.QtyOne - nodePropertyDescriptors(980) = FormalQtyType.IntType // BLOCK.COLUMN_NUMBER - nodePropertyDescriptors(981) = FormalQtyType.QtyOption - nodePropertyDescriptors(1596) = FormalQtyType.StringType // BLOCK.DYNAMIC_TYPE_HINT_FULL_NAME - nodePropertyDescriptors(1597) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3004) = FormalQtyType.IntType // BLOCK.LINE_NUMBER - nodePropertyDescriptors(3005) = FormalQtyType.QtyOption - nodePropertyDescriptors(3796) = FormalQtyType.IntType // BLOCK.ORDER - nodePropertyDescriptors(3797) = FormalQtyType.QtyOne - nodePropertyDescriptors(4148) = FormalQtyType.StringType // BLOCK.POSSIBLE_TYPES - nodePropertyDescriptors(4149) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4588) = FormalQtyType.StringType // BLOCK.TYPE_FULL_NAME - nodePropertyDescriptors(4589) = FormalQtyType.QtyOne - nodePropertyDescriptors(102) = FormalQtyType.IntType // CALL.ARGUMENT_INDEX - nodePropertyDescriptors(103) = FormalQtyType.QtyOne - nodePropertyDescriptors(190) = FormalQtyType.StringType // CALL.ARGUMENT_NAME - nodePropertyDescriptors(191) = FormalQtyType.QtyOption - nodePropertyDescriptors(894) = FormalQtyType.StringType // CALL.CODE - nodePropertyDescriptors(895) = FormalQtyType.QtyOne - nodePropertyDescriptors(982) = FormalQtyType.IntType // CALL.COLUMN_NUMBER - nodePropertyDescriptors(983) = FormalQtyType.QtyOption - nodePropertyDescriptors(1510) = FormalQtyType.StringType // CALL.DISPATCH_TYPE - nodePropertyDescriptors(1511) = FormalQtyType.QtyOne - nodePropertyDescriptors(1598) = FormalQtyType.StringType // CALL.DYNAMIC_TYPE_HINT_FULL_NAME - nodePropertyDescriptors(1599) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3006) = FormalQtyType.IntType // CALL.LINE_NUMBER - nodePropertyDescriptors(3007) = FormalQtyType.QtyOption - nodePropertyDescriptors(3182) = FormalQtyType.StringType // CALL.METHOD_FULL_NAME - nodePropertyDescriptors(3183) = FormalQtyType.QtyOne - nodePropertyDescriptors(3446) = FormalQtyType.StringType // CALL.NAME - nodePropertyDescriptors(3447) = FormalQtyType.QtyOne - nodePropertyDescriptors(3798) = FormalQtyType.IntType // CALL.ORDER - nodePropertyDescriptors(3799) = FormalQtyType.QtyOne - nodePropertyDescriptors(4150) = FormalQtyType.StringType // CALL.POSSIBLE_TYPES - nodePropertyDescriptors(4151) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4326) = FormalQtyType.StringType // CALL.SIGNATURE - nodePropertyDescriptors(4327) = FormalQtyType.QtyOne - nodePropertyDescriptors(4590) = FormalQtyType.StringType // CALL.TYPE_FULL_NAME - nodePropertyDescriptors(4591) = FormalQtyType.QtyOne - nodePropertyDescriptors(720) = FormalQtyType.StringType // CLOSURE_BINDING.CLOSURE_BINDING_ID - nodePropertyDescriptors(721) = FormalQtyType.QtyOption - nodePropertyDescriptors(808) = FormalQtyType.StringType // CLOSURE_BINDING.CLOSURE_ORIGINAL_NAME - nodePropertyDescriptors(809) = FormalQtyType.QtyOption - nodePropertyDescriptors(1688) = FormalQtyType.StringType // CLOSURE_BINDING.EVALUATION_STRATEGY - nodePropertyDescriptors(1689) = FormalQtyType.QtyOne - nodePropertyDescriptors(898) = FormalQtyType.StringType // COMMENT.CODE - nodePropertyDescriptors(899) = FormalQtyType.QtyOne - nodePropertyDescriptors(986) = FormalQtyType.IntType // COMMENT.COLUMN_NUMBER - nodePropertyDescriptors(987) = FormalQtyType.QtyOption - nodePropertyDescriptors(1866) = FormalQtyType.StringType // COMMENT.FILENAME - nodePropertyDescriptors(1867) = FormalQtyType.QtyOne - nodePropertyDescriptors(3010) = FormalQtyType.IntType // COMMENT.LINE_NUMBER - nodePropertyDescriptors(3011) = FormalQtyType.QtyOption - nodePropertyDescriptors(3802) = FormalQtyType.IntType // COMMENT.ORDER - nodePropertyDescriptors(3803) = FormalQtyType.QtyOne - nodePropertyDescriptors(1252) = FormalQtyType.StringType // CONFIG_FILE.CONTENT - nodePropertyDescriptors(1253) = FormalQtyType.QtyOne - nodePropertyDescriptors(3452) = FormalQtyType.StringType // CONFIG_FILE.NAME - nodePropertyDescriptors(3453) = FormalQtyType.QtyOne - nodePropertyDescriptors(110) = FormalQtyType.IntType // CONTROL_STRUCTURE.ARGUMENT_INDEX - nodePropertyDescriptors(111) = FormalQtyType.QtyOne - nodePropertyDescriptors(198) = FormalQtyType.StringType // CONTROL_STRUCTURE.ARGUMENT_NAME - nodePropertyDescriptors(199) = FormalQtyType.QtyOption - nodePropertyDescriptors(902) = FormalQtyType.StringType // CONTROL_STRUCTURE.CODE - nodePropertyDescriptors(903) = FormalQtyType.QtyOne - nodePropertyDescriptors(990) = FormalQtyType.IntType // CONTROL_STRUCTURE.COLUMN_NUMBER - nodePropertyDescriptors(991) = FormalQtyType.QtyOption - nodePropertyDescriptors(1342) = FormalQtyType.StringType // CONTROL_STRUCTURE.CONTROL_STRUCTURE_TYPE - nodePropertyDescriptors(1343) = FormalQtyType.QtyOne - nodePropertyDescriptors(3014) = FormalQtyType.IntType // CONTROL_STRUCTURE.LINE_NUMBER - nodePropertyDescriptors(3015) = FormalQtyType.QtyOption - nodePropertyDescriptors(3806) = FormalQtyType.IntType // CONTROL_STRUCTURE.ORDER - nodePropertyDescriptors(3807) = FormalQtyType.QtyOne - nodePropertyDescriptors(4070) = FormalQtyType.StringType // CONTROL_STRUCTURE.PARSER_TYPE_NAME - nodePropertyDescriptors(4071) = FormalQtyType.QtyOne - nodePropertyDescriptors(1432) = FormalQtyType.StringType // DEPENDENCY.DEPENDENCY_GROUP_ID - nodePropertyDescriptors(1433) = FormalQtyType.QtyOption - nodePropertyDescriptors(3456) = FormalQtyType.StringType // DEPENDENCY.NAME - nodePropertyDescriptors(3457) = FormalQtyType.QtyOne - nodePropertyDescriptors(4776) = FormalQtyType.StringType // DEPENDENCY.VERSION - nodePropertyDescriptors(4777) = FormalQtyType.QtyOne - nodePropertyDescriptors(114) = FormalQtyType.IntType // FIELD_IDENTIFIER.ARGUMENT_INDEX - nodePropertyDescriptors(115) = FormalQtyType.QtyOne - nodePropertyDescriptors(202) = FormalQtyType.StringType // FIELD_IDENTIFIER.ARGUMENT_NAME - nodePropertyDescriptors(203) = FormalQtyType.QtyOption - nodePropertyDescriptors(466) = FormalQtyType.StringType // FIELD_IDENTIFIER.CANONICAL_NAME - nodePropertyDescriptors(467) = FormalQtyType.QtyOne - nodePropertyDescriptors(906) = FormalQtyType.StringType // FIELD_IDENTIFIER.CODE - nodePropertyDescriptors(907) = FormalQtyType.QtyOne - nodePropertyDescriptors(994) = FormalQtyType.IntType // FIELD_IDENTIFIER.COLUMN_NUMBER - nodePropertyDescriptors(995) = FormalQtyType.QtyOption - nodePropertyDescriptors(3018) = FormalQtyType.IntType // FIELD_IDENTIFIER.LINE_NUMBER - nodePropertyDescriptors(3019) = FormalQtyType.QtyOption - nodePropertyDescriptors(3810) = FormalQtyType.IntType // FIELD_IDENTIFIER.ORDER - nodePropertyDescriptors(3811) = FormalQtyType.QtyOne - nodePropertyDescriptors(908) = FormalQtyType.StringType // FILE.CODE - nodePropertyDescriptors(909) = FormalQtyType.QtyOne - nodePropertyDescriptors(996) = FormalQtyType.IntType // FILE.COLUMN_NUMBER - nodePropertyDescriptors(997) = FormalQtyType.QtyOption - nodePropertyDescriptors(1260) = FormalQtyType.StringType // FILE.CONTENT - nodePropertyDescriptors(1261) = FormalQtyType.QtyOne - nodePropertyDescriptors(2052) = FormalQtyType.StringType // FILE.HASH - nodePropertyDescriptors(2053) = FormalQtyType.QtyOption - nodePropertyDescriptors(3020) = FormalQtyType.IntType // FILE.LINE_NUMBER - nodePropertyDescriptors(3021) = FormalQtyType.QtyOption - nodePropertyDescriptors(3460) = FormalQtyType.StringType // FILE.NAME - nodePropertyDescriptors(3461) = FormalQtyType.QtyOne - nodePropertyDescriptors(3812) = FormalQtyType.IntType // FILE.ORDER - nodePropertyDescriptors(3813) = FormalQtyType.QtyOne - nodePropertyDescriptors(4870) = FormalQtyType.RefType // FINDING.evidence - nodePropertyDescriptors(4871) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4958) = FormalQtyType.RefType // FINDING.keyValuePairs - nodePropertyDescriptors(4959) = FormalQtyType.QtyMulti - nodePropertyDescriptors(120) = FormalQtyType.IntType // IDENTIFIER.ARGUMENT_INDEX - nodePropertyDescriptors(121) = FormalQtyType.QtyOne - nodePropertyDescriptors(208) = FormalQtyType.StringType // IDENTIFIER.ARGUMENT_NAME - nodePropertyDescriptors(209) = FormalQtyType.QtyOption - nodePropertyDescriptors(912) = FormalQtyType.StringType // IDENTIFIER.CODE - nodePropertyDescriptors(913) = FormalQtyType.QtyOne - nodePropertyDescriptors(1000) = FormalQtyType.IntType // IDENTIFIER.COLUMN_NUMBER - nodePropertyDescriptors(1001) = FormalQtyType.QtyOption - nodePropertyDescriptors(1616) = FormalQtyType.StringType // IDENTIFIER.DYNAMIC_TYPE_HINT_FULL_NAME - nodePropertyDescriptors(1617) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3024) = FormalQtyType.IntType // IDENTIFIER.LINE_NUMBER - nodePropertyDescriptors(3025) = FormalQtyType.QtyOption - nodePropertyDescriptors(3464) = FormalQtyType.StringType // IDENTIFIER.NAME - nodePropertyDescriptors(3465) = FormalQtyType.QtyOne - nodePropertyDescriptors(3816) = FormalQtyType.IntType // IDENTIFIER.ORDER - nodePropertyDescriptors(3817) = FormalQtyType.QtyOne - nodePropertyDescriptors(4168) = FormalQtyType.StringType // IDENTIFIER.POSSIBLE_TYPES - nodePropertyDescriptors(4169) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4608) = FormalQtyType.StringType // IDENTIFIER.TYPE_FULL_NAME - nodePropertyDescriptors(4609) = FormalQtyType.QtyOne - nodePropertyDescriptors(914) = FormalQtyType.StringType // IMPORT.CODE - nodePropertyDescriptors(915) = FormalQtyType.QtyOne - nodePropertyDescriptors(1002) = FormalQtyType.IntType // IMPORT.COLUMN_NUMBER - nodePropertyDescriptors(1003) = FormalQtyType.QtyOption - nodePropertyDescriptors(1794) = FormalQtyType.BoolType // IMPORT.EXPLICIT_AS - nodePropertyDescriptors(1795) = FormalQtyType.QtyOption - nodePropertyDescriptors(2146) = FormalQtyType.StringType // IMPORT.IMPORTED_AS - nodePropertyDescriptors(2147) = FormalQtyType.QtyOption - nodePropertyDescriptors(2234) = FormalQtyType.StringType // IMPORT.IMPORTED_ENTITY - nodePropertyDescriptors(2235) = FormalQtyType.QtyOption - nodePropertyDescriptors(2498) = FormalQtyType.BoolType // IMPORT.IS_EXPLICIT - nodePropertyDescriptors(2499) = FormalQtyType.QtyOption - nodePropertyDescriptors(2762) = FormalQtyType.BoolType // IMPORT.IS_WILDCARD - nodePropertyDescriptors(2763) = FormalQtyType.QtyOption - nodePropertyDescriptors(3026) = FormalQtyType.IntType // IMPORT.LINE_NUMBER - nodePropertyDescriptors(3027) = FormalQtyType.QtyOption - nodePropertyDescriptors(3818) = FormalQtyType.IntType // IMPORT.ORDER - nodePropertyDescriptors(3819) = FormalQtyType.QtyOne - nodePropertyDescriptors(916) = FormalQtyType.StringType // JUMP_LABEL.CODE - nodePropertyDescriptors(917) = FormalQtyType.QtyOne - nodePropertyDescriptors(1004) = FormalQtyType.IntType // JUMP_LABEL.COLUMN_NUMBER - nodePropertyDescriptors(1005) = FormalQtyType.QtyOption - nodePropertyDescriptors(3028) = FormalQtyType.IntType // JUMP_LABEL.LINE_NUMBER - nodePropertyDescriptors(3029) = FormalQtyType.QtyOption - nodePropertyDescriptors(3468) = FormalQtyType.StringType // JUMP_LABEL.NAME - nodePropertyDescriptors(3469) = FormalQtyType.QtyOne - nodePropertyDescriptors(3820) = FormalQtyType.IntType // JUMP_LABEL.ORDER - nodePropertyDescriptors(3821) = FormalQtyType.QtyOne - nodePropertyDescriptors(4084) = FormalQtyType.StringType // JUMP_LABEL.PARSER_TYPE_NAME - nodePropertyDescriptors(4085) = FormalQtyType.QtyOne - nodePropertyDescriptors(126) = FormalQtyType.IntType // JUMP_TARGET.ARGUMENT_INDEX - nodePropertyDescriptors(127) = FormalQtyType.QtyOne - nodePropertyDescriptors(918) = FormalQtyType.StringType // JUMP_TARGET.CODE - nodePropertyDescriptors(919) = FormalQtyType.QtyOne - nodePropertyDescriptors(1006) = FormalQtyType.IntType // JUMP_TARGET.COLUMN_NUMBER - nodePropertyDescriptors(1007) = FormalQtyType.QtyOption - nodePropertyDescriptors(3030) = FormalQtyType.IntType // JUMP_TARGET.LINE_NUMBER - nodePropertyDescriptors(3031) = FormalQtyType.QtyOption - nodePropertyDescriptors(3470) = FormalQtyType.StringType // JUMP_TARGET.NAME - nodePropertyDescriptors(3471) = FormalQtyType.QtyOne - nodePropertyDescriptors(3822) = FormalQtyType.IntType // JUMP_TARGET.ORDER - nodePropertyDescriptors(3823) = FormalQtyType.QtyOne - nodePropertyDescriptors(4086) = FormalQtyType.StringType // JUMP_TARGET.PARSER_TYPE_NAME - nodePropertyDescriptors(4087) = FormalQtyType.QtyOne - nodePropertyDescriptors(2856) = FormalQtyType.StringType // KEY_VALUE_PAIR.KEY - nodePropertyDescriptors(2857) = FormalQtyType.QtyOne - nodePropertyDescriptors(4704) = FormalQtyType.StringType // KEY_VALUE_PAIR.VALUE - nodePropertyDescriptors(4705) = FormalQtyType.QtyOne - nodePropertyDescriptors(130) = FormalQtyType.IntType // LITERAL.ARGUMENT_INDEX - nodePropertyDescriptors(131) = FormalQtyType.QtyOne - nodePropertyDescriptors(218) = FormalQtyType.StringType // LITERAL.ARGUMENT_NAME - nodePropertyDescriptors(219) = FormalQtyType.QtyOption - nodePropertyDescriptors(922) = FormalQtyType.StringType // LITERAL.CODE - nodePropertyDescriptors(923) = FormalQtyType.QtyOne - nodePropertyDescriptors(1010) = FormalQtyType.IntType // LITERAL.COLUMN_NUMBER - nodePropertyDescriptors(1011) = FormalQtyType.QtyOption - nodePropertyDescriptors(1626) = FormalQtyType.StringType // LITERAL.DYNAMIC_TYPE_HINT_FULL_NAME - nodePropertyDescriptors(1627) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3034) = FormalQtyType.IntType // LITERAL.LINE_NUMBER - nodePropertyDescriptors(3035) = FormalQtyType.QtyOption - nodePropertyDescriptors(3826) = FormalQtyType.IntType // LITERAL.ORDER - nodePropertyDescriptors(3827) = FormalQtyType.QtyOne - nodePropertyDescriptors(4178) = FormalQtyType.StringType // LITERAL.POSSIBLE_TYPES - nodePropertyDescriptors(4179) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4618) = FormalQtyType.StringType // LITERAL.TYPE_FULL_NAME - nodePropertyDescriptors(4619) = FormalQtyType.QtyOne - nodePropertyDescriptors(748) = FormalQtyType.StringType // LOCAL.CLOSURE_BINDING_ID - nodePropertyDescriptors(749) = FormalQtyType.QtyOption - nodePropertyDescriptors(924) = FormalQtyType.StringType // LOCAL.CODE - nodePropertyDescriptors(925) = FormalQtyType.QtyOne - nodePropertyDescriptors(1012) = FormalQtyType.IntType // LOCAL.COLUMN_NUMBER - nodePropertyDescriptors(1013) = FormalQtyType.QtyOption - nodePropertyDescriptors(1628) = FormalQtyType.StringType // LOCAL.DYNAMIC_TYPE_HINT_FULL_NAME - nodePropertyDescriptors(1629) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3036) = FormalQtyType.IntType // LOCAL.LINE_NUMBER - nodePropertyDescriptors(3037) = FormalQtyType.QtyOption - nodePropertyDescriptors(3476) = FormalQtyType.StringType // LOCAL.NAME - nodePropertyDescriptors(3477) = FormalQtyType.QtyOne - nodePropertyDescriptors(3828) = FormalQtyType.IntType // LOCAL.ORDER - nodePropertyDescriptors(3829) = FormalQtyType.QtyOne - nodePropertyDescriptors(4180) = FormalQtyType.StringType // LOCAL.POSSIBLE_TYPES - nodePropertyDescriptors(4181) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4620) = FormalQtyType.StringType // LOCAL.TYPE_FULL_NAME - nodePropertyDescriptors(4621) = FormalQtyType.QtyOne - nodePropertyDescriptors(574) = FormalQtyType.StringType // LOCATION.CLASS_NAME - nodePropertyDescriptors(575) = FormalQtyType.QtyOne - nodePropertyDescriptors(662) = FormalQtyType.StringType // LOCATION.CLASS_SHORT_NAME - nodePropertyDescriptors(663) = FormalQtyType.QtyOne - nodePropertyDescriptors(1894) = FormalQtyType.StringType // LOCATION.FILENAME - nodePropertyDescriptors(1895) = FormalQtyType.QtyOne - nodePropertyDescriptors(3038) = FormalQtyType.IntType // LOCATION.LINE_NUMBER - nodePropertyDescriptors(3039) = FormalQtyType.QtyOption - nodePropertyDescriptors(3214) = FormalQtyType.StringType // LOCATION.METHOD_FULL_NAME - nodePropertyDescriptors(3215) = FormalQtyType.QtyOne - nodePropertyDescriptors(3302) = FormalQtyType.StringType // LOCATION.METHOD_SHORT_NAME - nodePropertyDescriptors(3303) = FormalQtyType.QtyOne - nodePropertyDescriptors(3566) = FormalQtyType.StringType // LOCATION.NODE_LABEL - nodePropertyDescriptors(3567) = FormalQtyType.QtyOne - nodePropertyDescriptors(4006) = FormalQtyType.StringType // LOCATION.PACKAGE_NAME - nodePropertyDescriptors(4007) = FormalQtyType.QtyOne - nodePropertyDescriptors(4446) = FormalQtyType.StringType // LOCATION.SYMBOL - nodePropertyDescriptors(4447) = FormalQtyType.QtyOne - nodePropertyDescriptors(5062) = FormalQtyType.RefType // LOCATION.node - nodePropertyDescriptors(5063) = FormalQtyType.QtyOption - nodePropertyDescriptors(312) = FormalQtyType.StringType // MEMBER.AST_PARENT_FULL_NAME - nodePropertyDescriptors(313) = FormalQtyType.QtyOne - nodePropertyDescriptors(400) = FormalQtyType.StringType // MEMBER.AST_PARENT_TYPE - nodePropertyDescriptors(401) = FormalQtyType.QtyOne - nodePropertyDescriptors(928) = FormalQtyType.StringType // MEMBER.CODE - nodePropertyDescriptors(929) = FormalQtyType.QtyOne - nodePropertyDescriptors(1016) = FormalQtyType.IntType // MEMBER.COLUMN_NUMBER - nodePropertyDescriptors(1017) = FormalQtyType.QtyOption - nodePropertyDescriptors(1632) = FormalQtyType.StringType // MEMBER.DYNAMIC_TYPE_HINT_FULL_NAME - nodePropertyDescriptors(1633) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3040) = FormalQtyType.IntType // MEMBER.LINE_NUMBER - nodePropertyDescriptors(3041) = FormalQtyType.QtyOption - nodePropertyDescriptors(3480) = FormalQtyType.StringType // MEMBER.NAME - nodePropertyDescriptors(3481) = FormalQtyType.QtyOne - nodePropertyDescriptors(3832) = FormalQtyType.IntType // MEMBER.ORDER - nodePropertyDescriptors(3833) = FormalQtyType.QtyOne - nodePropertyDescriptors(4184) = FormalQtyType.StringType // MEMBER.POSSIBLE_TYPES - nodePropertyDescriptors(4185) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4624) = FormalQtyType.StringType // MEMBER.TYPE_FULL_NAME - nodePropertyDescriptors(4625) = FormalQtyType.QtyOne - nodePropertyDescriptors(2074) = FormalQtyType.StringType // META_DATA.HASH - nodePropertyDescriptors(2075) = FormalQtyType.QtyOption - nodePropertyDescriptors(2954) = FormalQtyType.StringType // META_DATA.LANGUAGE - nodePropertyDescriptors(2955) = FormalQtyType.QtyOne - nodePropertyDescriptors(3922) = FormalQtyType.StringType // META_DATA.OVERLAYS - nodePropertyDescriptors(3923) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4274) = FormalQtyType.StringType // META_DATA.ROOT - nodePropertyDescriptors(4275) = FormalQtyType.QtyOne - nodePropertyDescriptors(4802) = FormalQtyType.StringType // META_DATA.VERSION - nodePropertyDescriptors(4803) = FormalQtyType.QtyOne - nodePropertyDescriptors(316) = FormalQtyType.StringType // METHOD.AST_PARENT_FULL_NAME - nodePropertyDescriptors(317) = FormalQtyType.QtyOne - nodePropertyDescriptors(404) = FormalQtyType.StringType // METHOD.AST_PARENT_TYPE - nodePropertyDescriptors(405) = FormalQtyType.QtyOne - nodePropertyDescriptors(932) = FormalQtyType.StringType // METHOD.CODE - nodePropertyDescriptors(933) = FormalQtyType.QtyOne - nodePropertyDescriptors(1020) = FormalQtyType.IntType // METHOD.COLUMN_NUMBER - nodePropertyDescriptors(1021) = FormalQtyType.QtyOption - nodePropertyDescriptors(1108) = FormalQtyType.IntType // METHOD.COLUMN_NUMBER_END - nodePropertyDescriptors(1109) = FormalQtyType.QtyOption - nodePropertyDescriptors(1900) = FormalQtyType.StringType // METHOD.FILENAME - nodePropertyDescriptors(1901) = FormalQtyType.QtyOne - nodePropertyDescriptors(1988) = FormalQtyType.StringType // METHOD.FULL_NAME - nodePropertyDescriptors(1989) = FormalQtyType.QtyOne - nodePropertyDescriptors(2076) = FormalQtyType.StringType // METHOD.HASH - nodePropertyDescriptors(2077) = FormalQtyType.QtyOption - nodePropertyDescriptors(2604) = FormalQtyType.BoolType // METHOD.IS_EXTERNAL - nodePropertyDescriptors(2605) = FormalQtyType.QtyOne - nodePropertyDescriptors(3044) = FormalQtyType.IntType // METHOD.LINE_NUMBER - nodePropertyDescriptors(3045) = FormalQtyType.QtyOption - nodePropertyDescriptors(3132) = FormalQtyType.IntType // METHOD.LINE_NUMBER_END - nodePropertyDescriptors(3133) = FormalQtyType.QtyOption - nodePropertyDescriptors(3484) = FormalQtyType.StringType // METHOD.NAME - nodePropertyDescriptors(3485) = FormalQtyType.QtyOne - nodePropertyDescriptors(3660) = FormalQtyType.IntType // METHOD.OFFSET - nodePropertyDescriptors(3661) = FormalQtyType.QtyOption - nodePropertyDescriptors(3748) = FormalQtyType.IntType // METHOD.OFFSET_END - nodePropertyDescriptors(3749) = FormalQtyType.QtyOption - nodePropertyDescriptors(3836) = FormalQtyType.IntType // METHOD.ORDER - nodePropertyDescriptors(3837) = FormalQtyType.QtyOne - nodePropertyDescriptors(4364) = FormalQtyType.StringType // METHOD.SIGNATURE - nodePropertyDescriptors(4365) = FormalQtyType.QtyOne - nodePropertyDescriptors(758) = FormalQtyType.StringType // METHOD_PARAMETER_IN.CLOSURE_BINDING_ID - nodePropertyDescriptors(759) = FormalQtyType.QtyOption - nodePropertyDescriptors(934) = FormalQtyType.StringType // METHOD_PARAMETER_IN.CODE - nodePropertyDescriptors(935) = FormalQtyType.QtyOne - nodePropertyDescriptors(1022) = FormalQtyType.IntType // METHOD_PARAMETER_IN.COLUMN_NUMBER - nodePropertyDescriptors(1023) = FormalQtyType.QtyOption - nodePropertyDescriptors(1638) = FormalQtyType.StringType // METHOD_PARAMETER_IN.DYNAMIC_TYPE_HINT_FULL_NAME - nodePropertyDescriptors(1639) = FormalQtyType.QtyMulti - nodePropertyDescriptors(1726) = FormalQtyType.StringType // METHOD_PARAMETER_IN.EVALUATION_STRATEGY - nodePropertyDescriptors(1727) = FormalQtyType.QtyOne - nodePropertyDescriptors(2342) = FormalQtyType.IntType // METHOD_PARAMETER_IN.INDEX - nodePropertyDescriptors(2343) = FormalQtyType.QtyOne - nodePropertyDescriptors(2694) = FormalQtyType.BoolType // METHOD_PARAMETER_IN.IS_VARIADIC - nodePropertyDescriptors(2695) = FormalQtyType.QtyOne - nodePropertyDescriptors(3046) = FormalQtyType.IntType // METHOD_PARAMETER_IN.LINE_NUMBER - nodePropertyDescriptors(3047) = FormalQtyType.QtyOption - nodePropertyDescriptors(3486) = FormalQtyType.StringType // METHOD_PARAMETER_IN.NAME - nodePropertyDescriptors(3487) = FormalQtyType.QtyOne - nodePropertyDescriptors(3838) = FormalQtyType.IntType // METHOD_PARAMETER_IN.ORDER - nodePropertyDescriptors(3839) = FormalQtyType.QtyOne - nodePropertyDescriptors(4190) = FormalQtyType.StringType // METHOD_PARAMETER_IN.POSSIBLE_TYPES - nodePropertyDescriptors(4191) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4630) = FormalQtyType.StringType // METHOD_PARAMETER_IN.TYPE_FULL_NAME - nodePropertyDescriptors(4631) = FormalQtyType.QtyOne - nodePropertyDescriptors(936) = FormalQtyType.StringType // METHOD_PARAMETER_OUT.CODE - nodePropertyDescriptors(937) = FormalQtyType.QtyOne - nodePropertyDescriptors(1024) = FormalQtyType.IntType // METHOD_PARAMETER_OUT.COLUMN_NUMBER - nodePropertyDescriptors(1025) = FormalQtyType.QtyOption - nodePropertyDescriptors(1728) = FormalQtyType.StringType // METHOD_PARAMETER_OUT.EVALUATION_STRATEGY - nodePropertyDescriptors(1729) = FormalQtyType.QtyOne - nodePropertyDescriptors(2344) = FormalQtyType.IntType // METHOD_PARAMETER_OUT.INDEX - nodePropertyDescriptors(2345) = FormalQtyType.QtyOne - nodePropertyDescriptors(2696) = FormalQtyType.BoolType // METHOD_PARAMETER_OUT.IS_VARIADIC - nodePropertyDescriptors(2697) = FormalQtyType.QtyOne - nodePropertyDescriptors(3048) = FormalQtyType.IntType // METHOD_PARAMETER_OUT.LINE_NUMBER - nodePropertyDescriptors(3049) = FormalQtyType.QtyOption - nodePropertyDescriptors(3488) = FormalQtyType.StringType // METHOD_PARAMETER_OUT.NAME - nodePropertyDescriptors(3489) = FormalQtyType.QtyOne - nodePropertyDescriptors(3840) = FormalQtyType.IntType // METHOD_PARAMETER_OUT.ORDER - nodePropertyDescriptors(3841) = FormalQtyType.QtyOne - nodePropertyDescriptors(4632) = FormalQtyType.StringType // METHOD_PARAMETER_OUT.TYPE_FULL_NAME - nodePropertyDescriptors(4633) = FormalQtyType.QtyOne - nodePropertyDescriptors(146) = FormalQtyType.IntType // METHOD_REF.ARGUMENT_INDEX - nodePropertyDescriptors(147) = FormalQtyType.QtyOne - nodePropertyDescriptors(234) = FormalQtyType.StringType // METHOD_REF.ARGUMENT_NAME - nodePropertyDescriptors(235) = FormalQtyType.QtyOption - nodePropertyDescriptors(938) = FormalQtyType.StringType // METHOD_REF.CODE - nodePropertyDescriptors(939) = FormalQtyType.QtyOne - nodePropertyDescriptors(1026) = FormalQtyType.IntType // METHOD_REF.COLUMN_NUMBER - nodePropertyDescriptors(1027) = FormalQtyType.QtyOption - nodePropertyDescriptors(1642) = FormalQtyType.StringType // METHOD_REF.DYNAMIC_TYPE_HINT_FULL_NAME - nodePropertyDescriptors(1643) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3050) = FormalQtyType.IntType // METHOD_REF.LINE_NUMBER - nodePropertyDescriptors(3051) = FormalQtyType.QtyOption - nodePropertyDescriptors(3226) = FormalQtyType.StringType // METHOD_REF.METHOD_FULL_NAME - nodePropertyDescriptors(3227) = FormalQtyType.QtyOne - nodePropertyDescriptors(3842) = FormalQtyType.IntType // METHOD_REF.ORDER - nodePropertyDescriptors(3843) = FormalQtyType.QtyOne - nodePropertyDescriptors(4194) = FormalQtyType.StringType // METHOD_REF.POSSIBLE_TYPES - nodePropertyDescriptors(4195) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4634) = FormalQtyType.StringType // METHOD_REF.TYPE_FULL_NAME - nodePropertyDescriptors(4635) = FormalQtyType.QtyOne - nodePropertyDescriptors(940) = FormalQtyType.StringType // METHOD_RETURN.CODE - nodePropertyDescriptors(941) = FormalQtyType.QtyOne - nodePropertyDescriptors(1028) = FormalQtyType.IntType // METHOD_RETURN.COLUMN_NUMBER - nodePropertyDescriptors(1029) = FormalQtyType.QtyOption - nodePropertyDescriptors(1644) = FormalQtyType.StringType // METHOD_RETURN.DYNAMIC_TYPE_HINT_FULL_NAME - nodePropertyDescriptors(1645) = FormalQtyType.QtyMulti - nodePropertyDescriptors(1732) = FormalQtyType.StringType // METHOD_RETURN.EVALUATION_STRATEGY - nodePropertyDescriptors(1733) = FormalQtyType.QtyOne - nodePropertyDescriptors(3052) = FormalQtyType.IntType // METHOD_RETURN.LINE_NUMBER - nodePropertyDescriptors(3053) = FormalQtyType.QtyOption - nodePropertyDescriptors(3844) = FormalQtyType.IntType // METHOD_RETURN.ORDER - nodePropertyDescriptors(3845) = FormalQtyType.QtyOne - nodePropertyDescriptors(4196) = FormalQtyType.StringType // METHOD_RETURN.POSSIBLE_TYPES - nodePropertyDescriptors(4197) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4636) = FormalQtyType.StringType // METHOD_RETURN.TYPE_FULL_NAME - nodePropertyDescriptors(4637) = FormalQtyType.QtyOne - nodePropertyDescriptors(942) = FormalQtyType.StringType // MODIFIER.CODE - nodePropertyDescriptors(943) = FormalQtyType.QtyOne - nodePropertyDescriptors(1030) = FormalQtyType.IntType // MODIFIER.COLUMN_NUMBER - nodePropertyDescriptors(1031) = FormalQtyType.QtyOption - nodePropertyDescriptors(3054) = FormalQtyType.IntType // MODIFIER.LINE_NUMBER - nodePropertyDescriptors(3055) = FormalQtyType.QtyOption - nodePropertyDescriptors(3406) = FormalQtyType.StringType // MODIFIER.MODIFIER_TYPE - nodePropertyDescriptors(3407) = FormalQtyType.QtyOne - nodePropertyDescriptors(3846) = FormalQtyType.IntType // MODIFIER.ORDER - nodePropertyDescriptors(3847) = FormalQtyType.QtyOne - nodePropertyDescriptors(944) = FormalQtyType.StringType // NAMESPACE.CODE - nodePropertyDescriptors(945) = FormalQtyType.QtyOne - nodePropertyDescriptors(1032) = FormalQtyType.IntType // NAMESPACE.COLUMN_NUMBER - nodePropertyDescriptors(1033) = FormalQtyType.QtyOption - nodePropertyDescriptors(3056) = FormalQtyType.IntType // NAMESPACE.LINE_NUMBER - nodePropertyDescriptors(3057) = FormalQtyType.QtyOption - nodePropertyDescriptors(3496) = FormalQtyType.StringType // NAMESPACE.NAME - nodePropertyDescriptors(3497) = FormalQtyType.QtyOne - nodePropertyDescriptors(3848) = FormalQtyType.IntType // NAMESPACE.ORDER - nodePropertyDescriptors(3849) = FormalQtyType.QtyOne - nodePropertyDescriptors(946) = FormalQtyType.StringType // NAMESPACE_BLOCK.CODE - nodePropertyDescriptors(947) = FormalQtyType.QtyOne - nodePropertyDescriptors(1034) = FormalQtyType.IntType // NAMESPACE_BLOCK.COLUMN_NUMBER - nodePropertyDescriptors(1035) = FormalQtyType.QtyOption - nodePropertyDescriptors(1914) = FormalQtyType.StringType // NAMESPACE_BLOCK.FILENAME - nodePropertyDescriptors(1915) = FormalQtyType.QtyOne - nodePropertyDescriptors(2002) = FormalQtyType.StringType // NAMESPACE_BLOCK.FULL_NAME - nodePropertyDescriptors(2003) = FormalQtyType.QtyOne - nodePropertyDescriptors(3058) = FormalQtyType.IntType // NAMESPACE_BLOCK.LINE_NUMBER - nodePropertyDescriptors(3059) = FormalQtyType.QtyOption - nodePropertyDescriptors(3498) = FormalQtyType.StringType // NAMESPACE_BLOCK.NAME - nodePropertyDescriptors(3499) = FormalQtyType.QtyOne - nodePropertyDescriptors(3850) = FormalQtyType.IntType // NAMESPACE_BLOCK.ORDER - nodePropertyDescriptors(3851) = FormalQtyType.QtyOne - nodePropertyDescriptors(156) = FormalQtyType.IntType // RETURN.ARGUMENT_INDEX - nodePropertyDescriptors(157) = FormalQtyType.QtyOne - nodePropertyDescriptors(244) = FormalQtyType.StringType // RETURN.ARGUMENT_NAME - nodePropertyDescriptors(245) = FormalQtyType.QtyOption - nodePropertyDescriptors(948) = FormalQtyType.StringType // RETURN.CODE - nodePropertyDescriptors(949) = FormalQtyType.QtyOne - nodePropertyDescriptors(1036) = FormalQtyType.IntType // RETURN.COLUMN_NUMBER - nodePropertyDescriptors(1037) = FormalQtyType.QtyOption - nodePropertyDescriptors(3060) = FormalQtyType.IntType // RETURN.LINE_NUMBER - nodePropertyDescriptors(3061) = FormalQtyType.QtyOption - nodePropertyDescriptors(3852) = FormalQtyType.IntType // RETURN.ORDER - nodePropertyDescriptors(3853) = FormalQtyType.QtyOne - nodePropertyDescriptors(3502) = FormalQtyType.StringType // TAG.NAME - nodePropertyDescriptors(3503) = FormalQtyType.QtyOne - nodePropertyDescriptors(4734) = FormalQtyType.StringType // TAG.VALUE - nodePropertyDescriptors(4735) = FormalQtyType.QtyOne - nodePropertyDescriptors(5088) = FormalQtyType.RefType // TAG_NODE_PAIR.node - nodePropertyDescriptors(5089) = FormalQtyType.QtyOne - nodePropertyDescriptors(5176) = FormalQtyType.RefType // TAG_NODE_PAIR.tag - nodePropertyDescriptors(5177) = FormalQtyType.QtyOne - nodePropertyDescriptors(162) = FormalQtyType.IntType // TEMPLATE_DOM.ARGUMENT_INDEX - nodePropertyDescriptors(163) = FormalQtyType.QtyOne - nodePropertyDescriptors(250) = FormalQtyType.StringType // TEMPLATE_DOM.ARGUMENT_NAME - nodePropertyDescriptors(251) = FormalQtyType.QtyOption - nodePropertyDescriptors(954) = FormalQtyType.StringType // TEMPLATE_DOM.CODE - nodePropertyDescriptors(955) = FormalQtyType.QtyOne - nodePropertyDescriptors(1042) = FormalQtyType.IntType // TEMPLATE_DOM.COLUMN_NUMBER - nodePropertyDescriptors(1043) = FormalQtyType.QtyOption - nodePropertyDescriptors(3066) = FormalQtyType.IntType // TEMPLATE_DOM.LINE_NUMBER - nodePropertyDescriptors(3067) = FormalQtyType.QtyOption - nodePropertyDescriptors(3506) = FormalQtyType.StringType // TEMPLATE_DOM.NAME - nodePropertyDescriptors(3507) = FormalQtyType.QtyOne - nodePropertyDescriptors(3858) = FormalQtyType.IntType // TEMPLATE_DOM.ORDER - nodePropertyDescriptors(3859) = FormalQtyType.QtyOne - nodePropertyDescriptors(2012) = FormalQtyType.StringType // TYPE.FULL_NAME - nodePropertyDescriptors(2013) = FormalQtyType.QtyOne - nodePropertyDescriptors(3508) = FormalQtyType.StringType // TYPE.NAME - nodePropertyDescriptors(3509) = FormalQtyType.QtyOne - nodePropertyDescriptors(4564) = FormalQtyType.StringType // TYPE.TYPE_DECL_FULL_NAME - nodePropertyDescriptors(4565) = FormalQtyType.QtyOne - nodePropertyDescriptors(958) = FormalQtyType.StringType // TYPE_ARGUMENT.CODE - nodePropertyDescriptors(959) = FormalQtyType.QtyOne - nodePropertyDescriptors(1046) = FormalQtyType.IntType // TYPE_ARGUMENT.COLUMN_NUMBER - nodePropertyDescriptors(1047) = FormalQtyType.QtyOption - nodePropertyDescriptors(3070) = FormalQtyType.IntType // TYPE_ARGUMENT.LINE_NUMBER - nodePropertyDescriptors(3071) = FormalQtyType.QtyOption - nodePropertyDescriptors(3862) = FormalQtyType.IntType // TYPE_ARGUMENT.ORDER - nodePropertyDescriptors(3863) = FormalQtyType.QtyOne - nodePropertyDescriptors(80) = FormalQtyType.StringType // TYPE_DECL.ALIAS_TYPE_FULL_NAME - nodePropertyDescriptors(81) = FormalQtyType.QtyOption - nodePropertyDescriptors(344) = FormalQtyType.StringType // TYPE_DECL.AST_PARENT_FULL_NAME - nodePropertyDescriptors(345) = FormalQtyType.QtyOne - nodePropertyDescriptors(432) = FormalQtyType.StringType // TYPE_DECL.AST_PARENT_TYPE - nodePropertyDescriptors(433) = FormalQtyType.QtyOne - nodePropertyDescriptors(960) = FormalQtyType.StringType // TYPE_DECL.CODE - nodePropertyDescriptors(961) = FormalQtyType.QtyOne - nodePropertyDescriptors(1048) = FormalQtyType.IntType // TYPE_DECL.COLUMN_NUMBER - nodePropertyDescriptors(1049) = FormalQtyType.QtyOption - nodePropertyDescriptors(1928) = FormalQtyType.StringType // TYPE_DECL.FILENAME - nodePropertyDescriptors(1929) = FormalQtyType.QtyOne - nodePropertyDescriptors(2016) = FormalQtyType.StringType // TYPE_DECL.FULL_NAME - nodePropertyDescriptors(2017) = FormalQtyType.QtyOne - nodePropertyDescriptors(2456) = FormalQtyType.StringType // TYPE_DECL.INHERITS_FROM_TYPE_FULL_NAME - nodePropertyDescriptors(2457) = FormalQtyType.QtyMulti - nodePropertyDescriptors(2632) = FormalQtyType.BoolType // TYPE_DECL.IS_EXTERNAL - nodePropertyDescriptors(2633) = FormalQtyType.QtyOne - nodePropertyDescriptors(3072) = FormalQtyType.IntType // TYPE_DECL.LINE_NUMBER - nodePropertyDescriptors(3073) = FormalQtyType.QtyOption - nodePropertyDescriptors(3512) = FormalQtyType.StringType // TYPE_DECL.NAME - nodePropertyDescriptors(3513) = FormalQtyType.QtyOne - nodePropertyDescriptors(3688) = FormalQtyType.IntType // TYPE_DECL.OFFSET - nodePropertyDescriptors(3689) = FormalQtyType.QtyOption - nodePropertyDescriptors(3776) = FormalQtyType.IntType // TYPE_DECL.OFFSET_END - nodePropertyDescriptors(3777) = FormalQtyType.QtyOption - nodePropertyDescriptors(3864) = FormalQtyType.IntType // TYPE_DECL.ORDER - nodePropertyDescriptors(3865) = FormalQtyType.QtyOne - nodePropertyDescriptors(962) = FormalQtyType.StringType // TYPE_PARAMETER.CODE - nodePropertyDescriptors(963) = FormalQtyType.QtyOne - nodePropertyDescriptors(1050) = FormalQtyType.IntType // TYPE_PARAMETER.COLUMN_NUMBER - nodePropertyDescriptors(1051) = FormalQtyType.QtyOption - nodePropertyDescriptors(3074) = FormalQtyType.IntType // TYPE_PARAMETER.LINE_NUMBER - nodePropertyDescriptors(3075) = FormalQtyType.QtyOption - nodePropertyDescriptors(3514) = FormalQtyType.StringType // TYPE_PARAMETER.NAME - nodePropertyDescriptors(3515) = FormalQtyType.QtyOne - nodePropertyDescriptors(3866) = FormalQtyType.IntType // TYPE_PARAMETER.ORDER - nodePropertyDescriptors(3867) = FormalQtyType.QtyOne - nodePropertyDescriptors(172) = FormalQtyType.IntType // TYPE_REF.ARGUMENT_INDEX - nodePropertyDescriptors(173) = FormalQtyType.QtyOne - nodePropertyDescriptors(260) = FormalQtyType.StringType // TYPE_REF.ARGUMENT_NAME - nodePropertyDescriptors(261) = FormalQtyType.QtyOption - nodePropertyDescriptors(964) = FormalQtyType.StringType // TYPE_REF.CODE - nodePropertyDescriptors(965) = FormalQtyType.QtyOne - nodePropertyDescriptors(1052) = FormalQtyType.IntType // TYPE_REF.COLUMN_NUMBER - nodePropertyDescriptors(1053) = FormalQtyType.QtyOption - nodePropertyDescriptors(1668) = FormalQtyType.StringType // TYPE_REF.DYNAMIC_TYPE_HINT_FULL_NAME - nodePropertyDescriptors(1669) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3076) = FormalQtyType.IntType // TYPE_REF.LINE_NUMBER - nodePropertyDescriptors(3077) = FormalQtyType.QtyOption - nodePropertyDescriptors(3868) = FormalQtyType.IntType // TYPE_REF.ORDER - nodePropertyDescriptors(3869) = FormalQtyType.QtyOne - nodePropertyDescriptors(4220) = FormalQtyType.StringType // TYPE_REF.POSSIBLE_TYPES - nodePropertyDescriptors(4221) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4660) = FormalQtyType.StringType // TYPE_REF.TYPE_FULL_NAME - nodePropertyDescriptors(4661) = FormalQtyType.QtyOne - nodePropertyDescriptors(174) = FormalQtyType.IntType // UNKNOWN.ARGUMENT_INDEX - nodePropertyDescriptors(175) = FormalQtyType.QtyOne - nodePropertyDescriptors(262) = FormalQtyType.StringType // UNKNOWN.ARGUMENT_NAME - nodePropertyDescriptors(263) = FormalQtyType.QtyOption - nodePropertyDescriptors(966) = FormalQtyType.StringType // UNKNOWN.CODE - nodePropertyDescriptors(967) = FormalQtyType.QtyOne - nodePropertyDescriptors(1054) = FormalQtyType.IntType // UNKNOWN.COLUMN_NUMBER - nodePropertyDescriptors(1055) = FormalQtyType.QtyOption - nodePropertyDescriptors(1230) = FormalQtyType.StringType // UNKNOWN.CONTAINED_REF - nodePropertyDescriptors(1231) = FormalQtyType.QtyOne - nodePropertyDescriptors(1670) = FormalQtyType.StringType // UNKNOWN.DYNAMIC_TYPE_HINT_FULL_NAME - nodePropertyDescriptors(1671) = FormalQtyType.QtyMulti - nodePropertyDescriptors(3078) = FormalQtyType.IntType // UNKNOWN.LINE_NUMBER - nodePropertyDescriptors(3079) = FormalQtyType.QtyOption - nodePropertyDescriptors(3870) = FormalQtyType.IntType // UNKNOWN.ORDER - nodePropertyDescriptors(3871) = FormalQtyType.QtyOne - nodePropertyDescriptors(4134) = FormalQtyType.StringType // UNKNOWN.PARSER_TYPE_NAME - nodePropertyDescriptors(4135) = FormalQtyType.QtyOne - nodePropertyDescriptors(4222) = FormalQtyType.StringType // UNKNOWN.POSSIBLE_TYPES - nodePropertyDescriptors(4223) = FormalQtyType.QtyMulti - nodePropertyDescriptors(4662) = FormalQtyType.StringType // UNKNOWN.TYPE_FULL_NAME - nodePropertyDescriptors(4663) = FormalQtyType.QtyOne - nodePropertyDescriptors - } - override def getNumberOfNodeKinds: Int = 44 - override def getNumberOfEdgeKinds: Int = 24 - override def getNodeLabel(nodeKind: Int): String = nodeLabels(nodeKind) - override def getNodeKindByLabel(label: String): Int = nodeKindByLabel.getOrElse(label, flatgraph.Schema.UndefinedKind) - override def getEdgeLabel(nodeKind: Int, edgeKind: Int): String = edgeLabels(edgeKind) - override def getEdgeKindByLabel(label: String): Int = edgeIdByLabel.getOrElse(label, flatgraph.Schema.UndefinedKind) - override def getPropertyLabel(nodeKind: Int, propertyKind: Int): String = { - if (propertyKind < 55) normalNodePropertyNames(propertyKind) - else if (propertyKind == 55 && nodeKind == 15) "evidence" /*on node FINDING*/ - else if (propertyKind == 56 && nodeKind == 15) "keyValuePairs" /*on node FINDING*/ - else if (propertyKind == 57 && nodeKind == 23) "node" /*on node LOCATION*/ - else if (propertyKind == 57 && nodeKind == 36) "node" /*on node TAG_NODE_PAIR*/ - else if (propertyKind == 58 && nodeKind == 36) "tag" /*on node TAG_NODE_PAIR*/ - else null - } - - override def getPropertyKindByName(label: String): Int = - nodePropertyByLabel.getOrElse(label, flatgraph.Schema.UndefinedKind) - override def getNumberOfPropertyKinds: Int = 59 - override def makeNode(graph: flatgraph.Graph, nodeKind: Short, seq: Int): nodes.StoredNode = - nodeFactories(nodeKind)(graph, seq) - override def makeEdge( - src: flatgraph.GNode, - dst: flatgraph.GNode, - edgeKind: Short, - subSeq: Int, - property: Any - ): flatgraph.Edge = edgeFactories(edgeKind)(src, dst, subSeq, property) - override def allocateEdgeProperty( - nodeKind: Int, - direction: flatgraph.Edge.Direction, - edgeKind: Int, - size: Int - ): Array[?] = edgePropertyAllocators(edgeKind)(size) - override def getNodePropertyFormalType(nodeKind: Int, propertyKind: Int): FormalQtyType.FormalType = - nodePropertyDescriptors(propertyOffsetArrayIndex(nodeKind, propertyKind)).asInstanceOf[FormalQtyType.FormalType] - override def getNodePropertyFormalQuantity(nodeKind: Int, propertyKind: Int): FormalQtyType.FormalQuantity = - nodePropertyDescriptors(1 + propertyOffsetArrayIndex(nodeKind, propertyKind)) - .asInstanceOf[FormalQtyType.FormalQuantity] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Language.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Language.scala deleted file mode 100644 index 6e63eee3..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Language.scala +++ /dev/null @@ -1,13 +0,0 @@ -package io.shiftleft.codepropertygraph.generated - -/** combining all implicits into one trait that can be mixed in further downstream */ -trait Language - extends accessors.ConcreteStoredConversions - with traversals.ConcreteStoredConversions - with neighboraccessors.Conversions - with flatgraph.traversal.Language - with flatgraph.Implicits { - implicit def cpgToGeneratedNodeStarters(cpg: Cpg): CpgNodeStarters = CpgNodeStarters(cpg) -} - -object Language extends Language diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Languages.java b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Languages.java deleted file mode 100644 index 5be3dac8..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Languages.java +++ /dev/null @@ -1,87 +0,0 @@ -package io.shiftleft.codepropertygraph.generated; - -import java.util.HashSet; -import java.util.Set; - -public class Languages { - - -public static final String JAVA = "JAVA"; - - -public static final String JAVASCRIPT = "JAVASCRIPT"; - - -public static final String GOLANG = "GOLANG"; - - -public static final String CSHARP = "CSHARP"; - - -public static final String C = "C"; - - -public static final String PYTHON = "PYTHON"; - - -public static final String LLVM = "LLVM"; - - -public static final String PHP = "PHP"; - - -public static final String FUZZY_TEST_LANG = "FUZZY_TEST_LANG"; - -/** generic reverse engineering framework */ -public static final String GHIDRA = "GHIDRA"; - - -public static final String KOTLIN = "KOTLIN"; - -/** Eclipse CDT based parser for C/C++ */ -public static final String NEWC = "NEWC"; - -/** Source-based front-end for Java */ -public static final String JAVASRC = "JAVASRC"; - -/** Source-based front-end for Python */ -public static final String PYTHONSRC = "PYTHONSRC"; - -/** Source-based JS frontend based on Babel */ -public static final String JSSRC = "JSSRC"; - -/** Solidity language frontend */ -public static final String SOLIDITY = "SOLIDITY"; - -/** Source-based frontend for Ruby */ -public static final String RUBYSRC = "RUBYSRC"; - -/** Source-based frontend for Swift */ -public static final String SWIFTSRC = "SWIFTSRC"; - -/** Source-based frontend for C# and .NET */ -public static final String CSHARPSRC = "CSHARPSRC"; - -public static Set ALL = new HashSet() {{ -add(JAVA); -add(JAVASCRIPT); -add(GOLANG); -add(CSHARP); -add(C); -add(PYTHON); -add(LLVM); -add(PHP); -add(FUZZY_TEST_LANG); -add(GHIDRA); -add(KOTLIN); -add(NEWC); -add(JAVASRC); -add(PYTHONSRC); -add(JSSRC); -add(SOLIDITY); -add(RUBYSRC); -add(SWIFTSRC); -add(CSHARPSRC); -}}; - -} \ No newline at end of file diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/ModifierTypes.java b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/ModifierTypes.java deleted file mode 100644 index e0d96344..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/ModifierTypes.java +++ /dev/null @@ -1,63 +0,0 @@ -package io.shiftleft.codepropertygraph.generated; - -import java.util.HashSet; -import java.util.Set; - -public class ModifierTypes { - -/** The static modifier */ -public static final String STATIC = "STATIC"; - -/** The public modifier */ -public static final String PUBLIC = "PUBLIC"; - -/** The protected modifier */ -public static final String PROTECTED = "PROTECTED"; - -/** The private modifier */ -public static final String PRIVATE = "PRIVATE"; - -/** The abstract modifier */ -public static final String ABSTRACT = "ABSTRACT"; - -/** The native modifier */ -public static final String NATIVE = "NATIVE"; - -/** The constructor modifier */ -public static final String CONSTRUCTOR = "CONSTRUCTOR"; - -/** The virtual modifier */ -public static final String VIRTUAL = "VIRTUAL"; - -/** The internal modifier */ -public static final String INTERNAL = "INTERNAL"; - -/** The final modifier */ -public static final String FINAL = "FINAL"; - -/** The readonly modifier */ -public static final String READONLY = "READONLY"; - -/** Indicate that a method defines a module in the sense e.g. a python module does with the creation of a module object */ -public static final String MODULE = "MODULE"; - -/** Indicate that a method is an anonymous function, lambda, or closure */ -public static final String LAMBDA = "LAMBDA"; - -public static Set ALL = new HashSet() {{ -add(STATIC); -add(PUBLIC); -add(PROTECTED); -add(PRIVATE); -add(ABSTRACT); -add(NATIVE); -add(CONSTRUCTOR); -add(VIRTUAL); -add(INTERNAL); -add(FINAL); -add(READONLY); -add(MODULE); -add(LAMBDA); -}}; - -} \ No newline at end of file diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/NodeTypes.java b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/NodeTypes.java deleted file mode 100644 index 3de54af7..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/NodeTypes.java +++ /dev/null @@ -1,363 +0,0 @@ -package io.shiftleft.codepropertygraph.generated; - -import java.util.HashSet; -import java.util.Set; - -public class NodeTypes { - -/** A method annotation. -The semantics of the FULL_NAME property on this node differ from the usual FULL_NAME -semantics in the sense that FULL_NAME describes the represented annotation class/interface -itself and not the ANNOTATION node. */ -public static final String ANNOTATION = "ANNOTATION"; - -/** A literal value assigned to an ANNOTATION_PARAMETER */ -public static final String ANNOTATION_LITERAL = "ANNOTATION_LITERAL"; - -/** Formal annotation parameter */ -public static final String ANNOTATION_PARAMETER = "ANNOTATION_PARAMETER"; - -/** Assignment of annotation argument to annotation parameter */ -public static final String ANNOTATION_PARAMETER_ASSIGN = "ANNOTATION_PARAMETER_ASSIGN"; - -/** Initialization construct for arrays */ -public static final String ARRAY_INITIALIZER = "ARRAY_INITIALIZER"; - -/** `BINDING` nodes represent name-signature pairs that can be resolved at a -type declaration (`TYPE_DECL`). They are connected to `TYPE_DECL` nodes via -incoming `BINDS` edges. The bound method is either associated with an outgoing -`REF` edge to a `METHOD` or with the `METHOD_FULL_NAME` property. The `REF` edge -if present has priority. */ -public static final String BINDING = "BINDING"; - -/** This node represents a compound statement. Compound statements are used in many languages to allow -grouping a sequence of statements. For example, in C and Java, compound statements -are statements enclosed by curly braces. Function/Method bodies are compound -statements. We do not use the term "compound statement" because "statement" would -imply that the block does not yield a value upon evaluation, that is, that it is -not an expression. This is true in languages such as C and Java, but not for languages -such as Scala where the value of the block is given by that of the last expression it -contains. In fact, the Scala grammar uses the term "BlockExpr" (short for -"block expression") to describe what in the CPG we call "Block". */ -public static final String BLOCK = "BLOCK"; - -/** A (function/method/procedure) call. The `METHOD_FULL_NAME` property is the name of the -invoked method (the callee) while the `TYPE_FULL_NAME` is its return type, and -therefore, the return type of the call when viewing it as an expression. For -languages like Javascript, it is common that we may know the (short-) name -of the invoked method, but we do not know at compile time which method -will actually be invoked, e.g., because it depends on a dynamic import. -In this case, we leave `METHOD_FULL_NAME` blank but at least fill out `NAME`, -which contains the method's (short-) name and `SIGNATURE`, which contains -any information we may have about the types of arguments and return value. */ -public static final String CALL = "CALL"; - -/** Represents the binding of a LOCAL or METHOD_PARAMETER_IN into the closure of a method */ -public static final String CLOSURE_BINDING = "CLOSURE_BINDING"; - -/** A source code comment */ -public static final String COMMENT = "COMMENT"; - -/** This node type represent a configuration file, where `NAME` is the name -of the file and `content` is its content. The exact representation of the -name is left undefined and can be chosen as required by consumers of -the corresponding configuration files. */ -public static final String CONFIG_FILE = "CONFIG_FILE"; - -/** This node represents a control structure as introduced by control structure -statements as well as conditional and unconditional jumps. Its type is stored in the -`CONTROL_STRUCTURE_TYPE` field to be one of several pre-defined types. These types - are used in the construction of the control flow layer, making it possible to - generate the control flow layer from the abstract syntax tree layer automatically. - -In addition to the `CONTROL_STRUCTURE_TYPE` field, the `PARSER_TYPE_NAME` field -MAY be used by frontends to store the name of the control structure as emitted by -the parser or disassembler, however, the value of this field is not relevant -for construction of the control flow layer. */ -public static final String CONTROL_STRUCTURE = "CONTROL_STRUCTURE"; - -/** This node represents a dependency */ -public static final String DEPENDENCY = "DEPENDENCY"; - -/** This node represents the field accessed in a field access, e.g., in -`a.b`, it represents `b`. The field name as it occurs in the code is -stored in the `CODE` field. This may mean that the `CODE` field holds -an expression. The `CANONICAL_NAME` field MAY contain the same value is -the `CODE` field but SHOULD contain the normalized name that results -from evaluating `CODE` as an expression if such an evaluation is -possible for the language frontend. The objective is to store an identifier -in `CANONICAL_NAME` that is the same for two nodes iff they refer to the -same field, regardless of whether they use the same expression to reference -it. */ -public static final String FIELD_IDENTIFIER = "FIELD_IDENTIFIER"; - -/** File nodes represent source files or a shared objects from which the CPG -was generated. File nodes serve as indices, that is, they allow looking up all -elements of the code by file. - -For each file, the graph CAN contain exactly one File node, if not File nodes -are created as indicated by `FILENAME` property of other nodes. -As file nodes are root nodes of abstract syntax tress, they are AstNodes and -their order field is set to 0. This is because they have no sibling nodes, -not because they are the first node of the AST. */ -public static final String FILE = "FILE"; - -/** Finding nodes may be used to store analysis results in the graph -that are to be exposed to an end-user, e.g., information about -potential vulnerabilities or dangerous programming practices. -A Finding node may contain an abitrary list of key value pairs -that characterize the finding, as well as a list of nodes that -serve as evidence for the finding. */ -public static final String FINDING = "FINDING"; - -/** This node represents an identifier as used when referring to a variable by name. -It holds the identifier's name in the `NAME` field and its fully-qualified type -name in `TYPE_FULL_NAME`. */ -public static final String IDENTIFIER = "IDENTIFIER"; - -/** Declarative import as it is found in statically typed languages like Java. -This kind of node is not supposed to be used for imports in dynamically typed -languages like Javascript. */ -public static final String IMPORT = "IMPORT"; - -/** A jump label specifies the label and thus the JUMP_TARGET of control structures -BREAK and CONTINUE. The `NAME` field holds the name of the label while the -`PARSER_TYPE_NAME` field holds the name of language construct that this jump -label is created from, e.g., "Label". */ -public static final String JUMP_LABEL = "JUMP_LABEL"; - -/** A jump target is any location in the code that has been specifically marked -as the target of a jump, e.g., via a label. The `NAME` field holds the name of -the label while the `PARSER_TYPE_NAME` field holds the name of language construct -that this jump target is created from, e.g., "Label". */ -public static final String JUMP_TARGET = "JUMP_TARGET"; - -/** This node represents a key value pair, where both the key and the value are strings. */ -public static final String KEY_VALUE_PAIR = "KEY_VALUE_PAIR"; - -/** This node represents a literal such as an integer or string constant. Literals -are symbols included in the code in verbatim form and which are immutable. -The `TYPE_FULL_NAME` field stores the literal's fully-qualified type name, -e.g., `java.lang.Integer`. */ -public static final String LITERAL = "LITERAL"; - -/** This node represents a local variable. Its fully qualified type name is stored -in the `TYPE_FULL_NAME` field and its name in the `NAME` field. The `CODE` field -contains the entire local variable declaration without initialization, e.g., for -`int x = 10;`, it contains `int x`. */ -public static final String LOCAL = "LOCAL"; - -/** A location node summarizes a source code location. */ -public static final String LOCATION = "LOCATION"; - -/** This node represents a type member of a class, struct or union, e.g., for the - type declaration `class Foo{ int i ; }`, it represents the declaration of the - variable `i`. */ -public static final String MEMBER = "MEMBER"; - -/** This node contains the CPG meta data. Exactly one node of this type -MUST exist per CPG. The `HASH` property MAY contain a hash value calculated -over the source files this CPG was generated from. The `VERSION` MUST be -set to the version of the specification ("1.1"). The language field indicates -which language frontend was used to generate the CPG and the list property -`OVERLAYS` specifies which overlays have been applied to the CPG. */ -public static final String META_DATA = "META_DATA"; - -/** Programming languages offer many closely-related concepts for describing blocks -of code that can be executed with input parameters and return output parameters, -possibly causing side effects. In the CPG specification, we refer to all of these -concepts (procedures, functions, methods, etc.) as methods. A single METHOD node -must exist for each method found in the source program. - -The `FULL_NAME` field specifies the method's fully-qualified name, including -information about the namespace it is contained in if applicable, the name field -is the function's short name. The field `IS_EXTERNAL` indicates whether it was -possible to identify a method body for the method. This is true for methods that -are defined in the source program, and false for methods that are dynamically -linked to the program, that is, methods that exist in an external dependency. - -Line and column number information is specified in the optional fields -`LINE_NUMBER`, `COLUMN_NUMBER`, `LINE_NUMBER_END`, and `COLUMN_NUMBER_END` and -the name of the source file is specified in `FILENAME`. An optional hash value -MAY be calculated over the function contents and included in the `HASH` field. - -The optional `OFFSET` and `OFFSET_END` specify the start -and exclusive end position of the code belonging to a method within the corresponding -`FILE` nodes `CONTENT` property. - -Finally, the fully qualified name of the program constructs that the method -is immediately contained in is stored in the `AST_PARENT_FULL_NAME` field -and its type is indicated in the `AST_PARENT_TYPE` field to be one of -`METHOD`, `TYPE_DECL` or `NAMESPACE_BLOCK`. */ -public static final String METHOD = "METHOD"; - -/** This node represents a formal input parameter. The field `NAME` contains its -name, while the field `TYPE_FULL_NAME` contains the fully qualified type name. */ -public static final String METHOD_PARAMETER_IN = "METHOD_PARAMETER_IN"; - -/** This node represents a formal output parameter. Corresponding output parameters -for input parameters MUST NOT be created by the frontend as they are automatically -created upon first loading the CPG. */ -public static final String METHOD_PARAMETER_OUT = "METHOD_PARAMETER_OUT"; - -/** This node represents a reference to a method/function/procedure as it -appears when a method is passed as an argument in a call. The `METHOD_FULL_NAME` -field holds the fully-qualified name of the referenced method and the -`TYPE_FULL_NAME` holds its fully-qualified type name. */ -public static final String METHOD_REF = "METHOD_REF"; - -/** This node represents an (unnamed) formal method return parameter. It carries its -fully qualified type name in `TYPE_FULL_NAME`. The `CODE` field MAY be set freely, -e.g., to the constant `RET`, however, subsequent layer creators MUST NOT depend -on this value. */ -public static final String METHOD_RETURN = "METHOD_RETURN"; - -/** This field represents a (language-dependent) modifier such as `static`, `private` -or `public`. Unlike most other AST nodes, it is NOT an expression, that is, it -cannot be evaluated and cannot be passed as an argument in function calls. */ -public static final String MODIFIER = "MODIFIER"; - -/** This node represents a namespace. Similar to FILE nodes, NAMESPACE nodes -serve as indices that allow all definitions inside a namespace to be -obtained by following outgoing edges from a NAMESPACE node. - -NAMESPACE nodes MUST NOT be created by language frontends. Instead, -they are generated from NAMESPACE_BLOCK nodes automatically upon -first loading of the CPG. */ -public static final String NAMESPACE = "NAMESPACE"; - -/** A reference to a namespace. -We borrow the concept of a "namespace block" from C++, that is, a namespace block -is a block of code that has been placed in the same namespace by a programmer. -This block may be introduced via a `package` statement in Java or -a `namespace{ }` statement in C++. - -The `FULL_NAME` field contains a unique identifier to represent the namespace block -itself not just the namespace it references. So in addition to the namespace name -it can be useful to use the containing file name to derive a unique identifier. - -The `NAME` field contains the namespace name in a human-readable format. -The name should be given in dot-separated form where a dot indicates -that the right hand side is a sub namespace of the left hand side, e.g., -`foo.bar` denotes the namespace `bar` contained in the namespace `foo`. */ -public static final String NAMESPACE_BLOCK = "NAMESPACE_BLOCK"; - -/** This node represents a return instruction, e.g., `return x`. Note that it does -NOT represent a formal return parameter as formal return parameters are -represented via `METHOD_RETURN` nodes. */ -public static final String RETURN = "RETURN"; - -/** This node represents a tag. */ -public static final String TAG = "TAG"; - -/** This node contains an arbitrary node and an associated tag node. */ -public static final String TAG_NODE_PAIR = "TAG_NODE_PAIR"; - -/** This node represents a DOM node used in template languages, e.g., JSX/TSX */ -public static final String TEMPLATE_DOM = "TEMPLATE_DOM"; - -/** This node represents a type instance, that is, a concrete instantiation -of a type declaration. */ -public static final String TYPE = "TYPE"; - -/** An (actual) type argument as used to instantiate a parametrized type, in the -same way an (actual) arguments provides concrete values for a parameter -at method call sites. As it true for arguments, the method is not expected -to interpret the type argument. It MUST however store its code in the -`CODE` field. */ -public static final String TYPE_ARGUMENT = "TYPE_ARGUMENT"; - -/** This node represents a type declaration as for example given by a class-, struct-, -or union declaration. In contrast to a `TYPE` node, this node does not represent a -concrete instantiation of a type, e.g., for the parametrized type `List[T]`, it represents -`List[T]`, but not `List[Integer]` where `Integer` is a concrete type. - -The language frontend MUST create type declarations for all types declared in the -source program and MAY provide type declarations for types that are not declared -but referenced by the source program. If a declaration is present in the source -program, the field `IS_EXTERNAL` is set to `false`. Otherwise, it is set to `true`. - -The `FULL_NAME` field specifies the type's fully-qualified name, including -information about the namespace it is contained in if applicable, the name field -is the type's short name. Line and column number information is specified in the -optional fields `LINE_NUMBER`, `COLUMN_NUMBER`, `LINE_NUMBER_END`, and -`COLUMN_NUMBER_END` and the name of the source file is specified in `FILENAME`. - -Base types can be specified via the `INHERITS_FROM_TYPE_FULL_NAME` list, where -each entry contains the fully-qualified name of a base type. If the type is -known to be an alias of another type (as for example introduced via the C -`typedef` statement), the name of the alias is stored in `ALIAS_TYPE_FULL_NAME`. - -The optional `OFFSET` and `OFFSET_END` specify the start -and exclusive end position of the code belonging to a `TYPE_DECL` within the corresponding -`FILE` nodes `CONTENT` property. - -Finally, the fully qualified name of the program constructs that the type declaration -is immediately contained in is stored in the `AST_PARENT_FULL_NAME` field -and its type is indicated in the `AST_PARENT_TYPE` field to be one of -`METHOD`, `TYPE_DECL` or `NAMESPACE_BLOCK`. */ -public static final String TYPE_DECL = "TYPE_DECL"; - -/** This node represents a formal type parameter, that is, the type parameter -as given in a type-parametrized method or type declaration. Examples for -languages that support type parameters are Java (via Generics) and C++ -(via templates). Apart from the standard fields of AST nodes, the type -parameter carries only a `NAME` field that holds the parameters name. */ -public static final String TYPE_PARAMETER = "TYPE_PARAMETER"; - -/** Reference to a type/class */ -public static final String TYPE_REF = "TYPE_REF"; - -/** Any AST node that the frontend would like to include in the AST but for -which no suitable AST node is specified in the CPG specification may be -included using a node of type `UNKNOWN`. */ -public static final String UNKNOWN = "UNKNOWN"; - -public static Set ALL = new HashSet() {{ -add(ANNOTATION); -add(ANNOTATION_LITERAL); -add(ANNOTATION_PARAMETER); -add(ANNOTATION_PARAMETER_ASSIGN); -add(ARRAY_INITIALIZER); -add(BINDING); -add(BLOCK); -add(CALL); -add(CLOSURE_BINDING); -add(COMMENT); -add(CONFIG_FILE); -add(CONTROL_STRUCTURE); -add(DEPENDENCY); -add(FIELD_IDENTIFIER); -add(FILE); -add(FINDING); -add(IDENTIFIER); -add(IMPORT); -add(JUMP_LABEL); -add(JUMP_TARGET); -add(KEY_VALUE_PAIR); -add(LITERAL); -add(LOCAL); -add(LOCATION); -add(MEMBER); -add(META_DATA); -add(METHOD); -add(METHOD_PARAMETER_IN); -add(METHOD_PARAMETER_OUT); -add(METHOD_REF); -add(METHOD_RETURN); -add(MODIFIER); -add(NAMESPACE); -add(NAMESPACE_BLOCK); -add(RETURN); -add(TAG); -add(TAG_NODE_PAIR); -add(TEMPLATE_DOM); -add(TYPE); -add(TYPE_ARGUMENT); -add(TYPE_DECL); -add(TYPE_PARAMETER); -add(TYPE_REF); -add(UNKNOWN); -}}; - -} \ No newline at end of file diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Operators.java b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Operators.java deleted file mode 100644 index 6c14be71..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Operators.java +++ /dev/null @@ -1,303 +0,0 @@ -package io.shiftleft.codepropertygraph.generated; - -import java.util.HashSet; -import java.util.Set; - -public class Operators { - - -public static final String addition = ".addition"; - - -public static final String subtraction = ".subtraction"; - - -public static final String multiplication = ".multiplication"; - - -public static final String division = ".division"; - - -public static final String exponentiation = ".exponentiation"; - - -public static final String modulo = ".modulo"; - - -public static final String shiftLeft = ".shiftLeft"; - -/** Shift right padding with zeros */ -public static final String logicalShiftRight = ".logicalShiftRight"; - -/** Shift right preserving the sign */ -public static final String arithmeticShiftRight = ".arithmeticShiftRight"; - - -public static final String not = ".not"; - - -public static final String and = ".and"; - - -public static final String or = ".or"; - - -public static final String xor = ".xor"; - - -public static final String assignmentPlus = ".assignmentPlus"; - - -public static final String assignmentMinus = ".assignmentMinus"; - - -public static final String assignmentMultiplication = ".assignmentMultiplication"; - - -public static final String assignmentDivision = ".assignmentDivision"; - - -public static final String assignmentExponentiation = ".assignmentExponentiation"; - - -public static final String assignmentModulo = ".assignmentModulo"; - - -public static final String assignmentShiftLeft = ".assignmentShiftLeft"; - - -public static final String assignmentLogicalShiftRight = ".assignmentLogicalShiftRight"; - - -public static final String assignmentArithmeticShiftRight = ".assignmentArithmeticShiftRight"; - - -public static final String assignmentAnd = ".assignmentAnd"; - - -public static final String assignmentOr = ".assignmentOr"; - - -public static final String assignmentXor = ".assignmentXor"; - - -public static final String arrayInitializer = ".arrayInitializer"; - - -public static final String assignment = ".assignment"; - -/** E.g. `a = -b` */ -public static final String minus = ".minus"; - -/** E.g. `a = +b` */ -public static final String plus = ".plus"; - - -public static final String preIncrement = ".preIncrement"; - - -public static final String preDecrement = ".preDecrement"; - - -public static final String postIncrement = ".postIncrement"; - - -public static final String postDecrement = ".postDecrement"; - - -public static final String logicalNot = ".logicalNot"; - - -public static final String logicalOr = ".logicalOr"; - - -public static final String logicalAnd = ".logicalAnd"; - - -public static final String equals = ".equals"; - - -public static final String notEquals = ".notEquals"; - - -public static final String greaterThan = ".greaterThan"; - - -public static final String lessThan = ".lessThan"; - - -public static final String greaterEqualsThan = ".greaterEqualsThan"; - - -public static final String lessEqualsThan = ".lessEqualsThan"; - - -public static final String instanceOf = ".instanceOf"; - -/** Deprecated. Formerly in C: `a.b` but not! in Java */ -public static final String memberAccess = ".memberAccess"; - -/** Deprecated. Formerly in C: `a->b` and `a.b` in Java */ -public static final String indirectMemberAccess = ".indirectMemberAccess"; - -/** Deprecated. Formerly in C: `a[b]` but not! in Java */ -public static final String computedMemberAccess = ".computedMemberAccess"; - -/** Deprecated. Formerly in C++: `a->*b` and a[b] in Java */ -public static final String indirectComputedMemberAccess = ".indirectComputedMemberAccess"; - -/** Accesses through a pointer (load/store), i.e. dereferences it. Typically the star-operator in C/C++. Pairs of addressOf and indirection operators cancel each other. Handling of this operator is special-cased in the back-end */ -public static final String indirection = ".indirection"; - -/** Deletes a property from a namespace. E.g. `a=3; delete a; a == undefined; */ -public static final String delete = ".delete"; - -/** E.g. `a ? consequent : alternate`. In future probably also used for if statements */ -public static final String conditional = ".conditional"; - -/** E.g. `x = f() ?: g()`. A binary operator that returns its first operand if that operand evaluates to a true value, and otherwise evaluates and returns its second operand. */ -public static final String elvis = ".elvis"; - -/** Type casts of any sort */ -public static final String cast = ".cast"; - -/** Comparison between two arguments with the results: 0 == equal, negative == left < right, positive == left > right */ -public static final String compare = ".compare"; - -/** Returns the address of a given object. Pairs of addressOf and indirection operators cancel each other. Handling of this operator is special-cased in the back-end */ -public static final String addressOf = ".addressOf"; - -/** Returns the size of a given object */ -public static final String sizeOf = ".sizeOf"; - -/** Returns or sets a field/member of a struct/class. Typically, the dot-operator. In terms of CPG, the first argument is the struct/class and the second argument is either a FIELD_IDENTIFIER node, a LITERAL node or an arbitrary expression. If it is a FIELD_IDENTIFIER, then the string contained in the CANONICAL_NAME field of this FIELD_IDENTIFIER node selects which field/member is accessed. If it is a LITERAL node, then its CODE selects which field/member is selected. In any other case the access is considered unpredictable by the backend, and we overtaint. indexAccess and fieldAccess live in the same space, such that e.g. obj.field and obj["field"] refer to the same target (as is correct in e.g. javascript). Handling of this operator is special-cased in the back-end */ -public static final String fieldAccess = ".fieldAccess"; - -/** Accesses (loads/stores) to a field/member through a pointer to a struct/class. Typically, C/C++ arrow-operator. The field selection works the same way as for fieldAccess. For the sake of data-flow tracking, this is the same as first dereferencing the pointer and then accessing the field. Handling of this operator is special-cased in the back-end */ -public static final String indirectFieldAccess = ".indirectFieldAccess"; - -/** Accesses a container (e.g. array or associative array / dict / map) at an index. The index selection works the same way as for fieldAccess. Handling of this operator is special-cased in the back-end */ -public static final String indexAccess = ".indexAccess"; - -/** Accesses an element of an Array through a pointer. The index selection works similar as for fieldAccess: However, the index must be an integer. If the second argument is a FIELD_ACCESS resp. LITERAL then its CANONICAL_NAME resp. CODE field is parsed as an integer; on parsing failure, the access is considered unpredictable and we overtaint. This is equivalent to a pointerShift followed by an indirection. This operator is currently only used by C-style languages. This behavior allows the backend to infer that ptr[0] and *ptr refer to the same object. Handling of this operator is special-cased in the back-end */ -public static final String indirectIndexAccess = ".indirectIndexAccess"; - -/** Shifts a pointer. In terms of CPG, the first argument is the pointer and the second argument is the index. The index selection works the same way as for indirectIndexAccess. This operator is currently only used directly by the LLVM language, but it is also used internally for C. For example, pointerShift(ptr, 7) is equivalent to &(ptr[7]). Handling of this operator is special-cased in the back-end */ -public static final String pointerShift = ".pointerShift"; - -/** Derives a pointer to a field of a struct from a pointer to the entire struct. This corresponds to the C idiom &(ptr->field), which does not access memory. The field selection works the same way as for fieldAccess. This operator is currently only used directly by the LLVM language. Handling of this operator is special-cased in the back-end */ -public static final String getElementPtr = ".getElementPtr"; - -/** Defines a string literal which can replace containing expressions with their values. */ -public static final String formatString = ".formatString"; - -/** Replaces an expression with its string value. */ -public static final String formattedValue = ".formattedValue"; - -/** Defines a range of values, e.g. `for (i in 1..10) print(i)`. */ -public static final String range = ".range"; - -/** Checks the existence of a variable in a range or collection, e.g. `for (i in 1..10) print(i)`. */ -public static final String in = ".in"; - -/** Checks the non-existence of a variable in a range or collection, e.g. `print(5 not in [1, 2, 3, 4])` */ -public static final String notIn = ".notIn"; - -/** Checks whether a variable is of a given type */ -public static final String is = ".is"; - -/** Checks whether a variable is not of a given type */ -public static final String isNot = ".isNot"; - -/** Converts any value to a not-null type */ -public static final String notNullAssert = ".notNullAssert"; - -/** Returns the length of the given collection e.g. (new int[]{ 1, 2, 3 }).length in Java or len([1, 2, 3]) in Python */ -public static final String lengthOf = ".lengthOf"; - -/** Returns null if the first operator is null, otherwise performs a dereferencing operation */ -public static final String safeNavigation = ".safeNavigation"; - -/** Returns either the last expression in the `try`-block, or the last expression in one of the `catch`/`except`-blocks. The contents of the `finally`-block are ignored. */ -public static final String tryCatch = ".tryCatch"; - -/** Allocates memory for an object of a specific type */ -public static final String alloc = ".alloc"; - -public static Set ALL = new HashSet() {{ -add(addition); -add(subtraction); -add(multiplication); -add(division); -add(exponentiation); -add(modulo); -add(shiftLeft); -add(logicalShiftRight); -add(arithmeticShiftRight); -add(not); -add(and); -add(or); -add(xor); -add(assignmentPlus); -add(assignmentMinus); -add(assignmentMultiplication); -add(assignmentDivision); -add(assignmentExponentiation); -add(assignmentModulo); -add(assignmentShiftLeft); -add(assignmentLogicalShiftRight); -add(assignmentArithmeticShiftRight); -add(assignmentAnd); -add(assignmentOr); -add(assignmentXor); -add(arrayInitializer); -add(assignment); -add(minus); -add(plus); -add(preIncrement); -add(preDecrement); -add(postIncrement); -add(postDecrement); -add(logicalNot); -add(logicalOr); -add(logicalAnd); -add(equals); -add(notEquals); -add(greaterThan); -add(lessThan); -add(greaterEqualsThan); -add(lessEqualsThan); -add(instanceOf); -add(memberAccess); -add(indirectMemberAccess); -add(computedMemberAccess); -add(indirectComputedMemberAccess); -add(indirection); -add(delete); -add(conditional); -add(elvis); -add(cast); -add(compare); -add(addressOf); -add(sizeOf); -add(fieldAccess); -add(indirectFieldAccess); -add(indexAccess); -add(indirectIndexAccess); -add(pointerShift); -add(getElementPtr); -add(formatString); -add(formattedValue); -add(range); -add(in); -add(notIn); -add(is); -add(isNot); -add(notNullAssert); -add(lengthOf); -add(safeNavigation); -add(tryCatch); -add(alloc); -}}; - -} \ No newline at end of file diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/PropertyKeys.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/PropertyKeys.scala deleted file mode 100644 index e3bfe81b..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/PropertyKeys.scala +++ /dev/null @@ -1,270 +0,0 @@ -package io.shiftleft.codepropertygraph.generated - -import flatgraph.PropertyKey - -object PropertyKeys { - - /** This property holds the fully qualified name of the type that the node is a type alias of. - */ - val AliasTypeFullName = flatgraph.OptionalPropertyKey[String](kind = 0, name = "ALIAS_TYPE_FULL_NAME") - - /** 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) - - /** For calls involving named parameters, the `ARGUMENT_NAME` field holds the name of the parameter initialized by the - * expression. For all other calls, this field is unset. - */ - val ArgumentName = flatgraph.OptionalPropertyKey[String](kind = 2, name = "ARGUMENT_NAME") - - /** This field holds the FULL_NAME of the AST parent of an entity. */ - val AstParentFullName = - flatgraph.SinglePropertyKey[String](kind = 3, name = "AST_PARENT_FULL_NAME", default = "") - - /** The type of the AST parent. Since this is only used in some parts of the graph, the list does not include all - * possible parents by intention. Possible parents: METHOD, TYPE_DECL, NAMESPACE_BLOCK. - */ - val AstParentType = flatgraph.SinglePropertyKey[String](kind = 4, name = "AST_PARENT_TYPE", default = "") - - /** This field holds the canonical name of a `FIELD_IDENTIFIER`. It is typically identical to the CODE field, but - * canonicalized according to source language semantics. Human readable names are preferable. `FIELD_IDENTIFIER` - * nodes must share identical `CANONICAL_NAME` if and only if they alias, e.g., in C-style unions (if the aliasing - * relationship is unknown or there are partial overlaps, then one must make a reasonable guess, and trade off - * between false negatives and false positives). - */ - val CanonicalName = flatgraph.SinglePropertyKey[String](kind = 5, name = "CANONICAL_NAME", default = "") - - val ClassName = flatgraph.SinglePropertyKey[String](kind = 6, name = "CLASS_NAME", default = "") - - val ClassShortName = flatgraph.SinglePropertyKey[String](kind = 7, name = "CLASS_SHORT_NAME", default = "") - - /** Identifier which uniquely describes a CLOSURE_BINDING. This property is used to match captured LOCAL nodes with - * the corresponding CLOSURE_BINDING nodes - */ - val ClosureBindingId = flatgraph.OptionalPropertyKey[String](kind = 8, name = "CLOSURE_BINDING_ID") - - /** The original name of the (potentially mangled) captured variable */ - val ClosureOriginalName = flatgraph.OptionalPropertyKey[String](kind = 9, name = "CLOSURE_ORIGINAL_NAME") - - /** 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 fields provides the column number at which the program construct represented by the node ends. - */ - val ColumnNumberEnd = flatgraph.OptionalPropertyKey[Int](kind = 12, name = "COLUMN_NUMBER_END") - - /** References to other nodes. This is not a real property; it exists here for the sake of proto serialization only. - * valueType and cardinality are meaningless. - */ - val ContainedRef = flatgraph.SinglePropertyKey[String](kind = 13, name = "CONTAINED_REF", default = "") - - /** Certain files, e.g., configuration files, may be included in the CPG as-is. For such files, the `CONTENT` field - * contains the files content. - */ - val Content = flatgraph.SinglePropertyKey[String](kind = 14, name = "CONTENT", default = "") - - /** The `CONTROL_STRUCTURE_TYPE` field indicates which kind of control structure a `CONTROL_STRUCTURE` node - * represents. The available types are the following: BREAK, CONTINUE, DO, WHILE, FOR, GOTO, IF, ELSE, TRY, THROW and - * SWITCH. - */ - val ControlStructureType = - flatgraph.SinglePropertyKey[String](kind = 15, name = "CONTROL_STRUCTURE_TYPE", default = "") - - /** The group ID for a dependency */ - val DependencyGroupId = flatgraph.OptionalPropertyKey[String](kind = 16, name = "DEPENDENCY_GROUP_ID") - - /** This field holds the dispatch type of a call, which is either `STATIC_DISPATCH` or `DYNAMIC_DISPATCH`. For - * statically dispatched method calls, the call target is known at compile time while for dynamically dispatched - * calls, it can only be determined at runtime as it may depend on the type of an object (as is the case for virtual - * method calls) or calculation of an offset. - */ - val DispatchType = flatgraph.SinglePropertyKey[String](kind = 17, name = "DISPATCH_TYPE", default = "") - - /** Type hint for the dynamic type. These are observed to be verifiable at runtime. */ - val DynamicTypeHintFullName = flatgraph.MultiPropertyKey[String](kind = 18, name = "DYNAMIC_TYPE_HINT_FULL_NAME") - - /** For formal method input parameters, output parameters, and return parameters, this field holds the evaluation - * strategy, which is one of the following: 1) `BY_REFERENCE` indicates that the parameter is passed by reference, 2) - * `BY_VALUE` indicates that it is passed by value, that is, a copy is made, 3) `BY_SHARING` the parameter is a - * pointer/reference and it is shared with the caller/callee. While a copy of the pointer is made, a copy of the - * object that it points to is not made. - */ - val EvaluationStrategy = - flatgraph.SinglePropertyKey[String](kind = 19, name = "EVALUATION_STRATEGY", default = "") - - /** Specifies whether the IMPORTED_AS property was explicitly present in the code. For languages like Java which do - * not allow a renaming during import this is always false. For e.g. Kotlin it depends on the existence of the "as" - * keyword. - */ - val ExplicitAs = flatgraph.OptionalPropertyKey[Boolean](kind = 20, name = "EXPLICIT_AS") - - /** The path of the source file this node was generated from, relative to the root path in the meta data node. This - * field must be set but may be set to the value `` to indicate that no source file can be associated with - * the node, e.g., because the node represents an entity known to exist because it is referenced, but for which the - * file that is is declared in is unknown. - */ - val Filename = flatgraph.SinglePropertyKey[String](kind = 21, name = "FILENAME", default = "") - - /** This is the fully-qualified name of an entity, e.g., the fully-qualified name of a method or type. The details of - * what constitutes a fully-qualified name are language specific. This field SHOULD be human readable. - */ - val FullName = flatgraph.SinglePropertyKey[String](kind = 22, name = "FULL_NAME", default = "") - - /** This property contains a hash value in the form of a string. Hashes can be used to summarize data, e.g., to - * summarize the contents of source files or sub graphs. Such summaries are useful to determine whether code has - * already been analyzed in incremental analysis pipelines. This property is optional to allow its calculation to be - * deferred or skipped if the hash is not needed. - */ - val Hash = flatgraph.OptionalPropertyKey[String](kind = 23, name = "HASH") - - /** The identifier under which the import can be accessed in the importing context. For a Java import this is always - * identical to the class name. But e.g. for a Kotlin import like "import java.nio.ByteBuffer as BBuffer" this would - * be "BBuffer". This property is ignored if IS_WILDCARD is true. - */ - val ImportedAs = flatgraph.OptionalPropertyKey[String](kind = 24, name = "IMPORTED_AS") - - /** The identifying string of the imported entity. For a Java import like "import java.nio.ByteBuffer;" this would be - * "java.nio.ByteBuffer". - */ - val ImportedEntity = flatgraph.OptionalPropertyKey[String](kind = 25, name = "IMPORTED_ENTITY") - - /** Specifies an index, e.g., for a parameter or argument. Explicit parameters are numbered from 1 to N, while index 0 - * is reserved for implicit self / this parameter. - */ - val Index = flatgraph.SinglePropertyKey[Int](kind = 26, name = "INDEX", default = -1: Int) - - /** The static types a TYPE_DECL inherits from. This property is matched against the FULL_NAME of TYPE nodes and thus - * it is required to have at least one TYPE node for each TYPE_FULL_NAME - */ - val InheritsFromTypeFullName = flatgraph.MultiPropertyKey[String](kind = 27, name = "INHERITS_FROM_TYPE_FULL_NAME") - - /** Specifies whether this is an explicit import. Most languages have implicit default imports of some standard - * library elements and this flag is used to distinguish those from explicit imports found in the code base. - */ - val IsExplicit = flatgraph.OptionalPropertyKey[Boolean](kind = 28, name = "IS_EXPLICIT") - - /** Indicates that the construct (METHOD or TYPE_DECL) is external, that is, it is referenced but not defined in the - * code (applies both to insular parsing and to library functions where we have header files only) - */ - val IsExternal = flatgraph.SinglePropertyKey[Boolean](kind = 29, name = "IS_EXTERNAL", default = false) - - /** Specifies whether a parameter is the variadic argument handling parameter of a variadic method. Only one parameter - * of a method is allowed to have this property set to true. - */ - val IsVariadic = flatgraph.SinglePropertyKey[Boolean](kind = 30, name = "IS_VARIADIC", default = false) - - /** Specifies whether this is a wildcard import. For a Java import like "import java.nio.*;" IS_WILDCARD would be - * "true" and IMPORTED_ENTITY would be "java.nio". For wildcard imports the IMPORTED_AS property is ignored. - */ - val IsWildcard = flatgraph.OptionalPropertyKey[Boolean](kind = 31, name = "IS_WILDCARD") - - /** This property denotes a key of a key-value pair. */ - val Key = flatgraph.SinglePropertyKey[String](kind = 32, name = "KEY", default = "") - - /** This field indicates which CPG language frontend generated the CPG. Frontend developers may freely choose a value - * that describes their frontend so long as it is not used by an existing frontend. Reserved values are to date: C, - * LLVM, GHIDRA, PHP. - */ - val Language = flatgraph.SinglePropertyKey[String](kind = 33, name = "LANGUAGE", default = "") - - /** 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") - - /** This optional fields provides the line number at which the program construct represented by the node ends. - */ - val LineNumberEnd = flatgraph.OptionalPropertyKey[Int](kind = 35, name = "LINE_NUMBER_END") - - /** The FULL_NAME of a method. Used to link CALL and METHOD nodes. It is required to have exactly one METHOD node for - * each METHOD_FULL_NAME - */ - val MethodFullName = flatgraph.SinglePropertyKey[String](kind = 36, name = "METHOD_FULL_NAME", default = "") - - val MethodShortName = flatgraph.SinglePropertyKey[String](kind = 37, name = "METHOD_SHORT_NAME", default = "") - - /** The modifier type is a free-form string. The following are known modifier types: `STATIC`, `PUBLIC`, `PROTECTED`, - * `PRIVATE`, `ABSTRACT`, `NATIVE`, `CONSTRUCTOR`, `VIRTUAL`. - */ - val ModifierType = flatgraph.SinglePropertyKey[String](kind = 38, name = "MODIFIER_TYPE", default = "") - - /** Name of represented object, e.g., method name (e.g. "run") */ - val Name = flatgraph.SinglePropertyKey[String](kind = 39, name = "NAME", default = "") - - val NodeLabel = flatgraph.SinglePropertyKey[String](kind = 40, name = "NODE_LABEL", default = "") - - /** Start offset into the CONTENT property of the corresponding FILE node. The offset is measure in characters so - * parts of the content can easily be accessed via `content.substring(offset, offsetEnd)`. E.g. for METHOD nodes this - * start offset points to the start of the methods source code in the string holding the source code of the entire - * file. - */ - val Offset = flatgraph.OptionalPropertyKey[Int](kind = 41, name = "OFFSET") - - /** End offset (exclusive) into the CONTENT property of the corresponding FILE node. The end offset is measure in - * characters so parts of the content can easily be accessed via `content.substring(offset, offsetEnd)`. E.g. for - * METHOD nodes this end offset points to the first code position which is not part of the method. - */ - val OffsetEnd = flatgraph.OptionalPropertyKey[Int](kind = 42, name = "OFFSET_END") - - /** 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) - - /** The field contains the names of the overlays applied to this CPG, in order of their application. Names are - * free-form strings, that is, this specification does not dictate them but rather requires tool producers and - * consumers to communicate them between each other. - */ - val Overlays = flatgraph.MultiPropertyKey[String](kind = 44, name = "OVERLAYS") - - val PackageName = flatgraph.SinglePropertyKey[String](kind = 45, name = "PACKAGE_NAME", default = "") - - /** AST node type name emitted by parser. */ - val ParserTypeName = flatgraph.SinglePropertyKey[String](kind = 46, name = "PARSER_TYPE_NAME", default = "") - - /** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are - * correct. This property is used to capture observations between node interactions during a 'may-analysis'. - */ - val PossibleTypes = flatgraph.MultiPropertyKey[String](kind = 47, name = "POSSIBLE_TYPES") - - /** The path to the root directory of the source/binary this CPG is generated from. */ - val Root = flatgraph.SinglePropertyKey[String](kind = 48, name = "ROOT", default = "") - - /** The method signature encodes the types of parameters in a string. The string SHOULD be human readable and suitable - * for differentiating methods with different parameter types sufficiently to allow for resolving of function - * overloading. The present specification does not enforce a strict format for the signature, that is, it can be - * chosen by the frontend implementor to fit the source language. - */ - val Signature = flatgraph.SinglePropertyKey[String](kind = 49, name = "SIGNATURE", default = "") - - val Symbol = flatgraph.SinglePropertyKey[String](kind = 50, name = "SYMBOL", default = "") - - /** The static type decl of a TYPE. This property is matched against the FULL_NAME of TYPE_DECL nodes. It is required - * to have exactly one TYPE_DECL for each different TYPE_DECL_FULL_NAME - */ - val TypeDeclFullName = - flatgraph.SinglePropertyKey[String](kind = 51, name = "TYPE_DECL_FULL_NAME", default = "") - - /** This field contains the fully-qualified static type name of the program construct represented by a node. It is the - * name of an instantiated type, e.g., `java.util.List`, rather than `java.util.List[T]`. If the type cannot - * be determined, this field should be set to the empty string. - */ - val TypeFullName = flatgraph.SinglePropertyKey[String](kind = 52, name = "TYPE_FULL_NAME", default = "") - - /** This property denotes a string value as used in a key-value pair. */ - val Value = flatgraph.SinglePropertyKey[String](kind = 53, name = "VALUE", default = "") - - /** A version, given as a string. Used, for example, in the META_DATA node to indicate which version of the CPG spec - * this CPG conforms to - */ - val Version = flatgraph.SinglePropertyKey[String](kind = 54, name = "VERSION", default = "") - -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/PropertyNames.java b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/PropertyNames.java deleted file mode 100644 index e14bb9e1..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/PropertyNames.java +++ /dev/null @@ -1,335 +0,0 @@ -package io.shiftleft.codepropertygraph.generated; - -import java.util.HashSet; -import java.util.Set; - -public class PropertyNames { - -/** This property holds the fully qualified name of the type that the node is -a type alias of. */ -public static final String ALIAS_TYPE_FULL_NAME = "ALIAS_TYPE_FULL_NAME"; - -/** 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. */ -public static final String ARGUMENT_INDEX = "ARGUMENT_INDEX"; - -/** For calls involving named parameters, the `ARGUMENT_NAME` field holds the -name of the parameter initialized by the expression. For all other calls, -this field is unset. */ -public static final String ARGUMENT_NAME = "ARGUMENT_NAME"; - -/** This field holds the FULL_NAME of the AST parent of an entity. */ -public static final String AST_PARENT_FULL_NAME = "AST_PARENT_FULL_NAME"; - -/** The type of the AST parent. Since this is only used in some parts of the graph, -the list does not include all possible parents by intention. -Possible parents: METHOD, TYPE_DECL, NAMESPACE_BLOCK. */ -public static final String AST_PARENT_TYPE = "AST_PARENT_TYPE"; - -/** This field holds the canonical name of a `FIELD_IDENTIFIER`. It is typically -identical to the CODE field, but canonicalized according to source language -semantics. Human readable names are preferable. `FIELD_IDENTIFIER` nodes must -share identical `CANONICAL_NAME` if and -only if they alias, e.g., in C-style unions (if the aliasing relationship is -unknown or there are partial overlaps, then one must make a reasonable guess, -and trade off between false negatives and false positives). */ -public static final String CANONICAL_NAME = "CANONICAL_NAME"; - - -public static final String CLASS_NAME = "CLASS_NAME"; - - -public static final String CLASS_SHORT_NAME = "CLASS_SHORT_NAME"; - -/** Identifier which uniquely describes a CLOSURE_BINDING. This property is used to match captured LOCAL nodes with the corresponding CLOSURE_BINDING nodes */ -public static final String CLOSURE_BINDING_ID = "CLOSURE_BINDING_ID"; - -/** The original name of the (potentially mangled) captured variable */ -public static final String CLOSURE_ORIGINAL_NAME = "CLOSURE_ORIGINAL_NAME"; - -/** This field holds the code snippet that the node represents. */ -public static final String CODE = "CODE"; - -/** This optional fields provides the column number of the program construct -represented by the node. */ -public static final String COLUMN_NUMBER = "COLUMN_NUMBER"; - -/** This optional fields provides the column number at which the program construct -represented by the node ends. */ -public static final String COLUMN_NUMBER_END = "COLUMN_NUMBER_END"; - -/** References to other nodes. This is not a real property; it exists here for the sake of proto serialization only. valueType and cardinality are meaningless. */ -public static final String CONTAINED_REF = "CONTAINED_REF"; - -/** Certain files, e.g., configuration files, may be included in the CPG as-is. -For such files, the `CONTENT` field contains the files content. */ -public static final String CONTENT = "CONTENT"; - -/** The `CONTROL_STRUCTURE_TYPE` field indicates which kind of control structure -a `CONTROL_STRUCTURE` node represents. The available types are the following: - BREAK, CONTINUE, DO, WHILE, FOR, GOTO, IF, ELSE, TRY, THROW and SWITCH. */ -public static final String CONTROL_STRUCTURE_TYPE = "CONTROL_STRUCTURE_TYPE"; - -/** The group ID for a dependency */ -public static final String DEPENDENCY_GROUP_ID = "DEPENDENCY_GROUP_ID"; - -/** This field holds the dispatch type of a call, which is either `STATIC_DISPATCH` or -`DYNAMIC_DISPATCH`. For statically dispatched method calls, the call target is known -at compile time while for dynamically dispatched calls, it can only be determined at -runtime as it may depend on the type of an object (as is the case for virtual method -calls) or calculation of an offset. */ -public static final String DISPATCH_TYPE = "DISPATCH_TYPE"; - -/** Type hint for the dynamic type. These are observed to be verifiable at runtime. */ -public static final String DYNAMIC_TYPE_HINT_FULL_NAME = "DYNAMIC_TYPE_HINT_FULL_NAME"; - -/** For formal method input parameters, output parameters, and return parameters, -this field holds the evaluation strategy, which is one of the following: -1) `BY_REFERENCE` indicates that the parameter is passed by reference, 2) -`BY_VALUE` indicates that it is passed by value, that is, a copy is made, -3) `BY_SHARING` the parameter is a pointer/reference and it is shared with -the caller/callee. While a copy of the pointer is made, a copy of the object -that it points to is not made. */ -public static final String EVALUATION_STRATEGY = "EVALUATION_STRATEGY"; - -/** Specifies whether the IMPORTED_AS property was explicitly present in the code. -For languages like Java which do not allow a renaming during import this is -always false. For e.g. Kotlin it depends on the existence of the "as" keyword. */ -public static final String EXPLICIT_AS = "EXPLICIT_AS"; - -/** The path of the source file this node was generated from, relative to the root -path in the meta data node. This field must be set but may be set to the value `` to -indicate that no source file can be associated with the node, e.g., because the node represents -an entity known to exist because it is referenced, but for which the file that is is declared in -is unknown. */ -public static final String FILENAME = "FILENAME"; - -/** This is the fully-qualified name of an entity, e.g., the fully-qualified -name of a method or type. The details of what constitutes a fully-qualified -name are language specific. This field SHOULD be human readable. */ -public static final String FULL_NAME = "FULL_NAME"; - -/** This property contains a hash value in the form of a string. -Hashes can be used to summarize data, e.g., to summarize the -contents of source files or sub graphs. Such summaries are useful -to determine whether code has already been analyzed in incremental -analysis pipelines. This property is optional to allow its calculation -to be deferred or skipped if the hash is not needed. */ -public static final String HASH = "HASH"; - -/** The identifier under which the import can be accessed in the importing context. -For a Java import this is always identical to the class name. But e.g. for a -Kotlin import like "import java.nio.ByteBuffer as BBuffer" this would be "BBuffer". -This property is ignored if IS_WILDCARD is true. */ -public static final String IMPORTED_AS = "IMPORTED_AS"; - -/** The identifying string of the imported entity. -For a Java import like "import java.nio.ByteBuffer;" this would be "java.nio.ByteBuffer". */ -public static final String IMPORTED_ENTITY = "IMPORTED_ENTITY"; - -/** Specifies an index, e.g., for a parameter or argument. - Explicit parameters are numbered from 1 to N, while index 0 is reserved for implicit - self / this parameter. */ -public static final String INDEX = "INDEX"; - -/** The static types a TYPE_DECL inherits from. This property is matched against the -FULL_NAME of TYPE nodes and thus it is required to have at least one TYPE node -for each TYPE_FULL_NAME */ -public static final String INHERITS_FROM_TYPE_FULL_NAME = "INHERITS_FROM_TYPE_FULL_NAME"; - -/** Specifies whether this is an explicit import. -Most languages have implicit default imports of some standard library elements -and this flag is used to distinguish those from explicit imports found in the -code base. */ -public static final String IS_EXPLICIT = "IS_EXPLICIT"; - -/** Indicates that the construct (METHOD or TYPE_DECL) is external, that is, -it is referenced but not defined in the code (applies both to insular -parsing and to library functions where we have header files only) */ -public static final String IS_EXTERNAL = "IS_EXTERNAL"; - -/** Specifies whether a parameter is the variadic argument handling parameter of -a variadic method. Only one parameter of a method is allowed to have this -property set to true. */ -public static final String IS_VARIADIC = "IS_VARIADIC"; - -/** Specifies whether this is a wildcard import. -For a Java import like "import java.nio.*;" IS_WILDCARD would be "true" and -IMPORTED_ENTITY would be "java.nio". -For wildcard imports the IMPORTED_AS property is ignored. */ -public static final String IS_WILDCARD = "IS_WILDCARD"; - -/** This property denotes a key of a key-value pair. */ -public static final String KEY = "KEY"; - -/** This field indicates which CPG language frontend generated the CPG. -Frontend developers may freely choose a value that describes their frontend -so long as it is not used by an existing frontend. Reserved values are to date: -C, LLVM, GHIDRA, PHP. */ -public static final String LANGUAGE = "LANGUAGE"; - -/** This optional field provides the line number of the program construct -represented by the node. */ -public static final String LINE_NUMBER = "LINE_NUMBER"; - -/** This optional fields provides the line number at which the program construct -represented by the node ends. */ -public static final String LINE_NUMBER_END = "LINE_NUMBER_END"; - -/** The FULL_NAME of a method. Used to link CALL and METHOD nodes. It is required -to have exactly one METHOD node for each METHOD_FULL_NAME */ -public static final String METHOD_FULL_NAME = "METHOD_FULL_NAME"; - - -public static final String METHOD_SHORT_NAME = "METHOD_SHORT_NAME"; - -/** The modifier type is a free-form string. The following are known modifier types: -`STATIC`, `PUBLIC`, `PROTECTED`, `PRIVATE`, `ABSTRACT`, `NATIVE`, `CONSTRUCTOR`, `VIRTUAL`. */ -public static final String MODIFIER_TYPE = "MODIFIER_TYPE"; - -/** Name of represented object, e.g., method name (e.g. "run") */ -public static final String NAME = "NAME"; - - -public static final String NODE_LABEL = "NODE_LABEL"; - -/** Start offset into the CONTENT property of the corresponding FILE node. -The offset is measure in characters so parts of the content can easily -be accessed via `content.substring(offset, offsetEnd)`. -E.g. for METHOD nodes this start offset points to the start of the methods -source code in the string holding the source code of the entire file. */ -public static final String OFFSET = "OFFSET"; - -/** End offset (exclusive) into the CONTENT property of the corresponding FILE node. -The end offset is measure in characters so parts of the content can easily -be accessed via `content.substring(offset, offsetEnd)`. -E.g. for METHOD nodes this end offset points to the first code position which is -not part of the method. */ -public static final String OFFSET_END = "OFFSET_END"; - -/** This integer indicates the position of the node among -its siblings in the AST. The left-most child has an -order of 0. */ -public static final String ORDER = "ORDER"; - -/** The field contains the names of the overlays applied to this CPG, in order of their -application. Names are free-form strings, that is, this specification does not -dictate them but rather requires tool producers and consumers to communicate them -between each other. */ -public static final String OVERLAYS = "OVERLAYS"; - - -public static final String PACKAGE_NAME = "PACKAGE_NAME"; - -/** AST node type name emitted by parser. */ -public static final String PARSER_TYPE_NAME = "PARSER_TYPE_NAME"; - -/** Similar to `DYNAMIC_TYPE_HINT_FULL_NAME`, but that this makes no guarantee that types within this property are correct. This property is used to capture observations between node interactions during a 'may-analysis'. */ -public static final String POSSIBLE_TYPES = "POSSIBLE_TYPES"; - -/** The path to the root directory of the source/binary this CPG is generated from. */ -public static final String ROOT = "ROOT"; - -/** ID from a different context, e.g. if the graph was imported from a different format, -we can use this to preserve the link to the original */ -public static final String SECONDARY_ID = "SECONDARY_ID"; - -/** The method signature encodes the types of parameters in a string. -The string SHOULD be human readable and suitable for differentiating methods -with different parameter types sufficiently to allow for resolving of -function overloading. The present specification does not enforce a strict -format for the signature, that is, it can be chosen by the frontend -implementor to fit the source language. */ -public static final String SIGNATURE = "SIGNATURE"; - - -public static final String SYMBOL = "SYMBOL"; - -/** The static type decl of a TYPE. This property is matched against the FULL_NAME -of TYPE_DECL nodes. It is required to have exactly one TYPE_DECL for each -different TYPE_DECL_FULL_NAME */ -public static final String TYPE_DECL_FULL_NAME = "TYPE_DECL_FULL_NAME"; - -/** This field contains the fully-qualified static type name of the program -construct represented by a node. It is the name of an instantiated type, e.g., -`java.util.List`, rather than `java.util.List[T]`. If the type -cannot be determined, this field should be set to the empty string. */ -public static final String TYPE_FULL_NAME = "TYPE_FULL_NAME"; - -/** This property denotes a string value as used in a key-value pair. */ -public static final String VALUE = "VALUE"; - -/** This edge property represents the variable propagated by a reaching definition edge. */ -public static final String VARIABLE = "VARIABLE"; - -/** A version, given as a string. Used, for example, in the META_DATA node to -indicate which version of the CPG spec this CPG conforms to */ -public static final String VERSION = "VERSION"; - -public static Set ALL = new HashSet() {{ -add(ALIAS_TYPE_FULL_NAME); -add(ARGUMENT_INDEX); -add(ARGUMENT_NAME); -add(AST_PARENT_FULL_NAME); -add(AST_PARENT_TYPE); -add(CANONICAL_NAME); -add(CLASS_NAME); -add(CLASS_SHORT_NAME); -add(CLOSURE_BINDING_ID); -add(CLOSURE_ORIGINAL_NAME); -add(CODE); -add(COLUMN_NUMBER); -add(COLUMN_NUMBER_END); -add(CONTAINED_REF); -add(CONTENT); -add(CONTROL_STRUCTURE_TYPE); -add(DEPENDENCY_GROUP_ID); -add(DISPATCH_TYPE); -add(DYNAMIC_TYPE_HINT_FULL_NAME); -add(EVALUATION_STRATEGY); -add(EXPLICIT_AS); -add(FILENAME); -add(FULL_NAME); -add(HASH); -add(IMPORTED_AS); -add(IMPORTED_ENTITY); -add(INDEX); -add(INHERITS_FROM_TYPE_FULL_NAME); -add(IS_EXPLICIT); -add(IS_EXTERNAL); -add(IS_VARIADIC); -add(IS_WILDCARD); -add(KEY); -add(LANGUAGE); -add(LINE_NUMBER); -add(LINE_NUMBER_END); -add(METHOD_FULL_NAME); -add(METHOD_SHORT_NAME); -add(MODIFIER_TYPE); -add(NAME); -add(NODE_LABEL); -add(OFFSET); -add(OFFSET_END); -add(ORDER); -add(OVERLAYS); -add(PACKAGE_NAME); -add(PARSER_TYPE_NAME); -add(POSSIBLE_TYPES); -add(ROOT); -add(SECONDARY_ID); -add(SIGNATURE); -add(SYMBOL); -add(TYPE_DECL_FULL_NAME); -add(TYPE_FULL_NAME); -add(VALUE); -add(VARIABLE); -add(VERSION); -}}; - -} \ No newline at end of file diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/RootTypes.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/RootTypes.scala deleted file mode 100644 index 58c56c6b..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/RootTypes.scala +++ /dev/null @@ -1,144 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -trait StaticType[+T] - -trait AbstractNode extends flatgraph.DNodeOrNode with StaticType[AnyRef] with Product { - def label: String - def propertiesMap: java.util.Map[String, Any] -} - -abstract class StoredNode(graph_4762: flatgraph.Graph, kind_4762: Short, seq_4762: Int) - extends flatgraph.GNode(graph_4762, kind_4762, seq_4762) - with AbstractNode { - - final def _aliasOfOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 0).asInstanceOf[Iterator[StoredNode]] - final def _aliasOfIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 0).asInstanceOf[Iterator[StoredNode]] - - final def _argumentOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 1).asInstanceOf[Iterator[StoredNode]] - final def _argumentIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 1).asInstanceOf[Iterator[StoredNode]] - - final def _astOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 2).asInstanceOf[Iterator[StoredNode]] - final def _astIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 2).asInstanceOf[Iterator[StoredNode]] - - final def _bindsOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 3).asInstanceOf[Iterator[StoredNode]] - final def _bindsIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 3).asInstanceOf[Iterator[StoredNode]] - - final def _bindsToOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 4).asInstanceOf[Iterator[StoredNode]] - final def _bindsToIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 4).asInstanceOf[Iterator[StoredNode]] - - final def _callOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 5).asInstanceOf[Iterator[StoredNode]] - final def _callIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 5).asInstanceOf[Iterator[StoredNode]] - - final def _captureOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 6).asInstanceOf[Iterator[StoredNode]] - final def _captureIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 6).asInstanceOf[Iterator[StoredNode]] - - final def _capturedByOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 7).asInstanceOf[Iterator[StoredNode]] - final def _capturedByIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 7).asInstanceOf[Iterator[StoredNode]] - - final def _cdgOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 8).asInstanceOf[Iterator[StoredNode]] - final def _cdgIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 8).asInstanceOf[Iterator[StoredNode]] - - final def _cfgOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 9).asInstanceOf[Iterator[StoredNode]] - final def _cfgIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 9).asInstanceOf[Iterator[StoredNode]] - - final def _conditionOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 10).asInstanceOf[Iterator[StoredNode]] - final def _conditionIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 10).asInstanceOf[Iterator[StoredNode]] - - final def _containsOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 11).asInstanceOf[Iterator[StoredNode]] - final def _containsIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 11).asInstanceOf[Iterator[StoredNode]] - - final def _dominateOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 12).asInstanceOf[Iterator[StoredNode]] - final def _dominateIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 12).asInstanceOf[Iterator[StoredNode]] - - final def _evalTypeOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 13).asInstanceOf[Iterator[StoredNode]] - final def _evalTypeIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 13).asInstanceOf[Iterator[StoredNode]] - - final def _importsOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 14).asInstanceOf[Iterator[StoredNode]] - final def _importsIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 14).asInstanceOf[Iterator[StoredNode]] - - final def _inheritsFromOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 15).asInstanceOf[Iterator[StoredNode]] - final def _inheritsFromIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 15).asInstanceOf[Iterator[StoredNode]] - - final def _isCallForImportOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 16).asInstanceOf[Iterator[StoredNode]] - final def _isCallForImportIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 16).asInstanceOf[Iterator[StoredNode]] - - final def _parameterLinkOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 17).asInstanceOf[Iterator[StoredNode]] - final def _parameterLinkIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 17).asInstanceOf[Iterator[StoredNode]] - - final def _postDominateOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 18).asInstanceOf[Iterator[StoredNode]] - final def _postDominateIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 18).asInstanceOf[Iterator[StoredNode]] - - final def _reachingDefOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 19).asInstanceOf[Iterator[StoredNode]] - final def _reachingDefIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 19).asInstanceOf[Iterator[StoredNode]] - - final def _receiverOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 20).asInstanceOf[Iterator[StoredNode]] - final def _receiverIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 20).asInstanceOf[Iterator[StoredNode]] - - final def _refOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 21).asInstanceOf[Iterator[StoredNode]] - final def _refIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 21).asInstanceOf[Iterator[StoredNode]] - - final def _sourceFileOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 22).asInstanceOf[Iterator[StoredNode]] - final def _sourceFileIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 22).asInstanceOf[Iterator[StoredNode]] - - final def _taggedByOut: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsOut(this.graph, this.nodeKind, this.seq, 23).asInstanceOf[Iterator[StoredNode]] - final def _taggedByIn: Iterator[StoredNode] = - flatgraph.Accessors.getNeighborsIn(this.graph, this.nodeKind, this.seq, 23).asInstanceOf[Iterator[StoredNode]] - -} - -abstract class NewNode(val nodeKind: Short) extends AbstractNode with flatgraph.DNode { - private /* volatile? */ var _storedRef: StoredNodeType = null.asInstanceOf[StoredNodeType] - override def storedRef: Option[StoredNodeType] = Option(this._storedRef) - override def storedRef_=(stored: Option[flatgraph.GNode]): Unit = this._storedRef = - stored.orNull.asInstanceOf[StoredNodeType] - def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean - def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean - def copy(): this.type -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/RootTypesTraversals.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/RootTypesTraversals.scala deleted file mode 100644 index ed816406..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/RootTypesTraversals.scala +++ /dev/null @@ -1,77 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -extension (iterator: Iterator[StoredNode]) { - - final def _aliasOfOut: Iterator[StoredNode] = iterator.flatMap(_._aliasOfOut) - final def _aliasOfIn: Iterator[StoredNode] = iterator.flatMap(_._aliasOfIn) - - final def _argumentOut: Iterator[StoredNode] = iterator.flatMap(_._argumentOut) - final def _argumentIn: Iterator[StoredNode] = iterator.flatMap(_._argumentIn) - - final def _astOut: Iterator[StoredNode] = iterator.flatMap(_._astOut) - final def _astIn: Iterator[StoredNode] = iterator.flatMap(_._astIn) - - final def _bindsOut: Iterator[StoredNode] = iterator.flatMap(_._bindsOut) - final def _bindsIn: Iterator[StoredNode] = iterator.flatMap(_._bindsIn) - - final def _bindsToOut: Iterator[StoredNode] = iterator.flatMap(_._bindsToOut) - final def _bindsToIn: Iterator[StoredNode] = iterator.flatMap(_._bindsToIn) - - final def _callOut: Iterator[StoredNode] = iterator.flatMap(_._callOut) - final def _callIn: Iterator[StoredNode] = iterator.flatMap(_._callIn) - - final def _captureOut: Iterator[StoredNode] = iterator.flatMap(_._captureOut) - final def _captureIn: Iterator[StoredNode] = iterator.flatMap(_._captureIn) - - final def _capturedByOut: Iterator[StoredNode] = iterator.flatMap(_._capturedByOut) - final def _capturedByIn: Iterator[StoredNode] = iterator.flatMap(_._capturedByIn) - - final def _cdgOut: Iterator[StoredNode] = iterator.flatMap(_._cdgOut) - final def _cdgIn: Iterator[StoredNode] = iterator.flatMap(_._cdgIn) - - final def _cfgOut: Iterator[StoredNode] = iterator.flatMap(_._cfgOut) - final def _cfgIn: Iterator[StoredNode] = iterator.flatMap(_._cfgIn) - - final def _conditionOut: Iterator[StoredNode] = iterator.flatMap(_._conditionOut) - final def _conditionIn: Iterator[StoredNode] = iterator.flatMap(_._conditionIn) - - final def _containsOut: Iterator[StoredNode] = iterator.flatMap(_._containsOut) - final def _containsIn: Iterator[StoredNode] = iterator.flatMap(_._containsIn) - - final def _dominateOut: Iterator[StoredNode] = iterator.flatMap(_._dominateOut) - final def _dominateIn: Iterator[StoredNode] = iterator.flatMap(_._dominateIn) - - final def _evalTypeOut: Iterator[StoredNode] = iterator.flatMap(_._evalTypeOut) - final def _evalTypeIn: Iterator[StoredNode] = iterator.flatMap(_._evalTypeIn) - - final def _importsOut: Iterator[StoredNode] = iterator.flatMap(_._importsOut) - final def _importsIn: Iterator[StoredNode] = iterator.flatMap(_._importsIn) - - final def _inheritsFromOut: Iterator[StoredNode] = iterator.flatMap(_._inheritsFromOut) - final def _inheritsFromIn: Iterator[StoredNode] = iterator.flatMap(_._inheritsFromIn) - - final def _isCallForImportOut: Iterator[StoredNode] = iterator.flatMap(_._isCallForImportOut) - final def _isCallForImportIn: Iterator[StoredNode] = iterator.flatMap(_._isCallForImportIn) - - final def _parameterLinkOut: Iterator[StoredNode] = iterator.flatMap(_._parameterLinkOut) - final def _parameterLinkIn: Iterator[StoredNode] = iterator.flatMap(_._parameterLinkIn) - - final def _postDominateOut: Iterator[StoredNode] = iterator.flatMap(_._postDominateOut) - final def _postDominateIn: Iterator[StoredNode] = iterator.flatMap(_._postDominateIn) - - final def _reachingDefOut: Iterator[StoredNode] = iterator.flatMap(_._reachingDefOut) - final def _reachingDefIn: Iterator[StoredNode] = iterator.flatMap(_._reachingDefIn) - - final def _receiverOut: Iterator[StoredNode] = iterator.flatMap(_._receiverOut) - final def _receiverIn: Iterator[StoredNode] = iterator.flatMap(_._receiverIn) - - final def _refOut: Iterator[StoredNode] = iterator.flatMap(_._refOut) - final def _refIn: Iterator[StoredNode] = iterator.flatMap(_._refIn) - - final def _sourceFileOut: Iterator[StoredNode] = iterator.flatMap(_._sourceFileOut) - final def _sourceFileIn: Iterator[StoredNode] = iterator.flatMap(_._sourceFileIn) - - final def _taggedByOut: Iterator[StoredNode] = iterator.flatMap(_._taggedByOut) - final def _taggedByIn: Iterator[StoredNode] = iterator.flatMap(_._taggedByIn) - -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Traversals.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Traversals.scala deleted file mode 100644 index 00d92e94..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/Traversals.scala +++ /dev/null @@ -1,10480 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.traversals -import io.shiftleft.codepropertygraph.generated.nodes - -object Lang extends ConcreteStoredConversions - -object Accessors { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - - /* accessors for concrete stored nodes start */ - final class Traversal_Property_ALIAS_TYPE_FULL_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasAliasTypeFullNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to aliasTypeFullName property */ - def aliasTypeFullName: Iterator[String] = - traversal.flatMap(_.aliasTypeFullName) - - /** Traverse to nodes where the aliasTypeFullName matches the regular expression `value` - */ - def aliasTypeFullName(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - aliasTypeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.aliasTypeFullName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the aliasTypeFullName matches at least one of the regular expressions in `values` - */ - def aliasTypeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.aliasTypeFullName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where aliasTypeFullName matches `value` exactly. - */ - def aliasTypeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 0, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.aliasTypeFullName; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where aliasTypeFullName matches one of the elements in `values` exactly. - */ - def aliasTypeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) aliasTypeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.aliasTypeFullName; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where aliasTypeFullName does not match the regular expression `value`. - */ - def aliasTypeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.aliasTypeFullName.isEmpty || node.aliasTypeFullName.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.aliasTypeFullName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where aliasTypeFullName does not match any of the regular expressions in `values`. - */ - def aliasTypeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.aliasTypeFullName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - } - final class Traversal_Property_ARGUMENT_INDEX[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasArgumentIndexEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to argumentIndex property */ - def argumentIndex: Iterator[Int] = - traversal.map(_.argumentIndex) - - /** Traverse to nodes where the argumentIndex equals the given `value` - */ - def argumentIndex(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex == value } - - /** Traverse to nodes where the argumentIndex equals at least one of the given `values` - */ - def argumentIndex(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => vset.contains(node.argumentIndex) } - } - - /** Traverse to nodes where the argumentIndex is not equal to the given `value` - */ - def argumentIndexNot(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex != value } - - /** Traverse to nodes where the argumentIndex is not equal to any of the given `values` - */ - def argumentIndexNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => !vset.contains(node.argumentIndex) } - } - - /** Traverse to nodes where the argumentIndex is greater than the given `value` - */ - def argumentIndexGt(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex > value } - - /** Traverse to nodes where the argumentIndex is greater than or equal the given `value` - */ - def argumentIndexGte(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex >= value } - - /** Traverse to nodes where the argumentIndex is less than the given `value` - */ - def argumentIndexLt(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex < value } - - /** Traverse to nodes where the argumentIndex is less than or equal the given `value` - */ - def argumentIndexLte(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex <= value } - - } - final class Traversal_Property_ARGUMENT_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasArgumentNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to argumentName property */ - def argumentName: Iterator[String] = - traversal.flatMap(_.argumentName) - - /** Traverse to nodes where the argumentName matches the regular expression `value` - */ - def argumentName(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - argumentNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.argumentName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the argumentName matches at least one of the regular expressions in `values` - */ - def argumentName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.argumentName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where argumentName matches `value` exactly. - */ - def argumentNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 2, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.argumentName; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where argumentName matches one of the elements in `values` exactly. - */ - def argumentNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) argumentNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.argumentName; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where argumentName does not match the regular expression `value`. - */ - def argumentNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.argumentName.isEmpty || node.argumentName.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.argumentName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where argumentName does not match any of the regular expressions in `values`. - */ - def argumentNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.argumentName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - } - final class Traversal_Property_AST_PARENT_FULL_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasAstParentFullNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to astParentFullName property */ - def astParentFullName: Iterator[String] = - traversal.map(_.astParentFullName) - - /** Traverse to nodes where the astParentFullName matches the regular expression `value` - */ - def astParentFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - astParentFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.astParentFullName).matches } - } - - /** Traverse to nodes where the astParentFullName matches at least one of the regular expressions in `values` - */ - def astParentFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.astParentFullName).matches } } - } - - /** Traverse to nodes where astParentFullName matches `value` exactly. - */ - def astParentFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 3, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.astParentFullName == value } - } - - /** Traverse to nodes where astParentFullName matches one of the elements in `values` exactly. - */ - def astParentFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) astParentFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.astParentFullName) } - } - - /** Traverse to nodes where astParentFullName does not match the regular expression `value`. - */ - def astParentFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.astParentFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.astParentFullName).matches } - } - } - - /** Traverse to nodes where astParentFullName does not match any of the regular expressions in `values`. - */ - def astParentFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.astParentFullName).matches }.isEmpty } - } - - } - final class Traversal_Property_AST_PARENT_TYPE[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasAstParentTypeEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to astParentType property */ - def astParentType: Iterator[String] = - traversal.map(_.astParentType) - - /** Traverse to nodes where the astParentType matches the regular expression `value` - */ - def astParentType(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - astParentTypeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.astParentType).matches } - } - - /** Traverse to nodes where the astParentType matches at least one of the regular expressions in `values` - */ - def astParentType(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.astParentType).matches } } - } - - /** Traverse to nodes where astParentType matches `value` exactly. - */ - def astParentTypeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 4, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.astParentType == value } - } - - /** Traverse to nodes where astParentType matches one of the elements in `values` exactly. - */ - def astParentTypeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) astParentTypeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.astParentType) } - } - - /** Traverse to nodes where astParentType does not match the regular expression `value`. - */ - def astParentTypeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.astParentType != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.astParentType).matches } - } - } - - /** Traverse to nodes where astParentType does not match any of the regular expressions in `values`. - */ - def astParentTypeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.astParentType).matches }.isEmpty } - } - - } - final class Traversal_Property_CANONICAL_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasCanonicalNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to canonicalName property */ - def canonicalName: Iterator[String] = - traversal.map(_.canonicalName) - - /** Traverse to nodes where the canonicalName matches the regular expression `value` - */ - def canonicalName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - canonicalNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.canonicalName).matches } - } - - /** Traverse to nodes where the canonicalName matches at least one of the regular expressions in `values` - */ - def canonicalName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.canonicalName).matches } } - } - - /** Traverse to nodes where canonicalName matches `value` exactly. - */ - def canonicalNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 5, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.canonicalName == value } - } - - /** Traverse to nodes where canonicalName matches one of the elements in `values` exactly. - */ - def canonicalNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) canonicalNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.canonicalName) } - } - - /** Traverse to nodes where canonicalName does not match the regular expression `value`. - */ - def canonicalNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.canonicalName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.canonicalName).matches } - } - } - - /** Traverse to nodes where canonicalName does not match any of the regular expressions in `values`. - */ - def canonicalNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.canonicalName).matches }.isEmpty } - } - - } - final class Traversal_Property_CLASS_NAME[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasClassNameEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to className property */ - def className: Iterator[String] = - traversal.map(_.className) - - /** Traverse to nodes where the className matches the regular expression `value` - */ - def className(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - classNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.className).matches } - } - - /** Traverse to nodes where the className matches at least one of the regular expressions in `values` - */ - def className(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.className).matches } } - } - - /** Traverse to nodes where className matches `value` exactly. - */ - def classNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 6, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.className == value } - } - - /** Traverse to nodes where className matches one of the elements in `values` exactly. - */ - def classNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) classNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.className) } - } - - /** Traverse to nodes where className does not match the regular expression `value`. - */ - def classNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.className != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.className).matches } - } - } - - /** Traverse to nodes where className does not match any of the regular expressions in `values`. - */ - def classNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.className).matches }.isEmpty } - } - - } - final class Traversal_Property_CLASS_SHORT_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasClassShortNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to classShortName property */ - def classShortName: Iterator[String] = - traversal.map(_.classShortName) - - /** Traverse to nodes where the classShortName matches the regular expression `value` - */ - def classShortName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - classShortNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.classShortName).matches } - } - - /** Traverse to nodes where the classShortName matches at least one of the regular expressions in `values` - */ - def classShortName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.classShortName).matches } } - } - - /** Traverse to nodes where classShortName matches `value` exactly. - */ - def classShortNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 7, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.classShortName == value } - } - - /** Traverse to nodes where classShortName matches one of the elements in `values` exactly. - */ - def classShortNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) classShortNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.classShortName) } - } - - /** Traverse to nodes where classShortName does not match the regular expression `value`. - */ - def classShortNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.classShortName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.classShortName).matches } - } - } - - /** Traverse to nodes where classShortName does not match any of the regular expressions in `values`. - */ - def classShortNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.classShortName).matches }.isEmpty } - } - - } - final class Traversal_Property_CLOSURE_BINDING_ID[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasClosureBindingIdEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to closureBindingId property */ - def closureBindingId: Iterator[String] = - traversal.flatMap(_.closureBindingId) - - /** Traverse to nodes where the closureBindingId matches the regular expression `value` - */ - def closureBindingId(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - closureBindingIdExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the closureBindingId matches at least one of the regular expressions in `values` - */ - def closureBindingId(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where closureBindingId matches `value` exactly. - */ - def closureBindingIdExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 8, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.closureBindingId; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where closureBindingId matches one of the elements in `values` exactly. - */ - def closureBindingIdExact(values: String*): Iterator[NodeType] = - if (values.length == 1) closureBindingIdExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where closureBindingId does not match the regular expression `value`. - */ - def closureBindingIdNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.closureBindingId.isEmpty || node.closureBindingId.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.closureBindingId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where closureBindingId does not match any of the regular expressions in `values`. - */ - def closureBindingIdNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.closureBindingId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - } - final class Traversal_Property_CLOSURE_ORIGINAL_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasClosureOriginalNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to closureOriginalName property */ - def closureOriginalName: Iterator[String] = - traversal.flatMap(_.closureOriginalName) - - /** Traverse to nodes where the closureOriginalName matches the regular expression `value` - */ - def closureOriginalName(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - closureOriginalNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.closureOriginalName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the closureOriginalName matches at least one of the regular expressions in `values` - */ - def closureOriginalName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.closureOriginalName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where closureOriginalName matches `value` exactly. - */ - def closureOriginalNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 9, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.closureOriginalName; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where closureOriginalName matches one of the elements in `values` exactly. - */ - def closureOriginalNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) closureOriginalNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.closureOriginalName; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where closureOriginalName does not match the regular expression `value`. - */ - def closureOriginalNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.closureOriginalName.isEmpty || node.closureOriginalName.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.closureOriginalName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where closureOriginalName does not match any of the regular expressions in `values`. - */ - def closureOriginalNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.closureOriginalName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - } - final class Traversal_Property_CODE[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasCodeEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to code property */ - def code: Iterator[String] = - traversal.map(_.code) - - /** Traverse to nodes where the code matches the regular expression `value` - */ - def code(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - codeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.code).matches } - } - - /** Traverse to nodes where the code matches at least one of the regular expressions in `values` - */ - def code(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.code).matches } } - } - - /** Traverse to nodes where code matches `value` exactly. - */ - def codeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 10, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.code == value } - } - - /** Traverse to nodes where code matches one of the elements in `values` exactly. - */ - def codeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) codeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.code) } - } - - /** Traverse to nodes where code does not match the regular expression `value`. - */ - def codeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.code != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.code).matches } - } - } - - /** Traverse to nodes where code does not match any of the regular expressions in `values`. - */ - def codeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.code).matches }.isEmpty } - } - - } - final class Traversal_Property_COLUMN_NUMBER[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasColumnNumberEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to columnNumber property */ - def columnNumber: Iterator[Int] = - traversal.flatMap(_.columnNumber) - - /** Traverse to nodes where the columnNumber equals the given `value` - */ - def columnNumber(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the columnNumber equals at least one of the given `values` - */ - def columnNumber(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the columnNumber is not equal to the given `value` - */ - def columnNumberNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the columnNumber does not equal any one of the given `values` - */ - def columnNumberNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.columnNumber; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the columnNumber is greater than the given `value` - */ - def columnNumberGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the columnNumber is greater than or equal the given `value` - */ - def columnNumberGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the columnNumber is less than the given `value` - */ - def columnNumberLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the columnNumber is less than or equal the given `value` - */ - def columnNumberLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && tmp.get <= value - } - - } - final class Traversal_Property_COLUMN_NUMBER_END[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasColumnNumberEndEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to columnNumberEnd property */ - def columnNumberEnd: Iterator[Int] = - traversal.flatMap(_.columnNumberEnd) - - /** Traverse to nodes where the columnNumberEnd equals the given `value` - */ - def columnNumberEnd(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the columnNumberEnd equals at least one of the given `values` - */ - def columnNumberEnd(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the columnNumberEnd is not equal to the given `value` - */ - def columnNumberEndNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the columnNumberEnd does not equal any one of the given `values` - */ - def columnNumberEndNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the columnNumberEnd is greater than the given `value` - */ - def columnNumberEndGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the columnNumberEnd is greater than or equal the given `value` - */ - def columnNumberEndGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the columnNumberEnd is less than the given `value` - */ - def columnNumberEndLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the columnNumberEnd is less than or equal the given `value` - */ - def columnNumberEndLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && tmp.get <= value - } - - } - final class Traversal_Property_CONTAINED_REF[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasContainedRefEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to containedRef property */ - def containedRef: Iterator[String] = - traversal.map(_.containedRef) - - /** Traverse to nodes where the containedRef matches the regular expression `value` - */ - def containedRef(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - containedRefExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.containedRef).matches } - } - - /** Traverse to nodes where the containedRef matches at least one of the regular expressions in `values` - */ - def containedRef(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.containedRef).matches } } - } - - /** Traverse to nodes where containedRef matches `value` exactly. - */ - def containedRefExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 13, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.containedRef == value } - } - - /** Traverse to nodes where containedRef matches one of the elements in `values` exactly. - */ - def containedRefExact(values: String*): Iterator[NodeType] = - if (values.length == 1) containedRefExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.containedRef) } - } - - /** Traverse to nodes where containedRef does not match the regular expression `value`. - */ - def containedRefNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.containedRef != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.containedRef).matches } - } - } - - /** Traverse to nodes where containedRef does not match any of the regular expressions in `values`. - */ - def containedRefNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.containedRef).matches }.isEmpty } - } - - } - final class Traversal_Property_CONTENT[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasContentEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to content property */ - def content: Iterator[String] = - traversal.map(_.content) - - /** Traverse to nodes where the content matches the regular expression `value` - */ - def content(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - contentExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.content).matches } - } - - /** Traverse to nodes where the content matches at least one of the regular expressions in `values` - */ - def content(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.content).matches } } - } - - /** Traverse to nodes where content matches `value` exactly. - */ - def contentExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 14, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.content == value } - } - - /** Traverse to nodes where content matches one of the elements in `values` exactly. - */ - def contentExact(values: String*): Iterator[NodeType] = - if (values.length == 1) contentExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.content) } - } - - /** Traverse to nodes where content does not match the regular expression `value`. - */ - def contentNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.content != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.content).matches } - } - } - - /** Traverse to nodes where content does not match any of the regular expressions in `values`. - */ - def contentNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.content).matches }.isEmpty } - } - - } - final class Traversal_Property_CONTROL_STRUCTURE_TYPE[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasControlStructureTypeEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to controlStructureType property */ - def controlStructureType: Iterator[String] = - traversal.map(_.controlStructureType) - - /** Traverse to nodes where the controlStructureType matches the regular expression `value` - */ - def controlStructureType(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - controlStructureTypeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.controlStructureType).matches } - } - - /** Traverse to nodes where the controlStructureType matches at least one of the regular expressions in `values` - */ - def controlStructureType(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.controlStructureType).matches } } - } - - /** Traverse to nodes where controlStructureType matches `value` exactly. - */ - def controlStructureTypeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 15, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.controlStructureType == value } - } - - /** Traverse to nodes where controlStructureType matches one of the elements in `values` exactly. - */ - def controlStructureTypeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) controlStructureTypeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.controlStructureType) } - } - - /** Traverse to nodes where controlStructureType does not match the regular expression `value`. - */ - def controlStructureTypeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.controlStructureType != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.controlStructureType).matches } - } - } - - /** Traverse to nodes where controlStructureType does not match any of the regular expressions in `values`. - */ - def controlStructureTypeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.controlStructureType).matches }.isEmpty } - } - - } - final class Traversal_Property_DEPENDENCY_GROUP_ID[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasDependencyGroupIdEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to dependencyGroupId property */ - def dependencyGroupId: Iterator[String] = - traversal.flatMap(_.dependencyGroupId) - - /** Traverse to nodes where the dependencyGroupId matches the regular expression `value` - */ - def dependencyGroupId(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - dependencyGroupIdExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.dependencyGroupId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the dependencyGroupId matches at least one of the regular expressions in `values` - */ - def dependencyGroupId(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.dependencyGroupId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where dependencyGroupId matches `value` exactly. - */ - def dependencyGroupIdExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 16, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.dependencyGroupId; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where dependencyGroupId matches one of the elements in `values` exactly. - */ - def dependencyGroupIdExact(values: String*): Iterator[NodeType] = - if (values.length == 1) dependencyGroupIdExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.dependencyGroupId; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where dependencyGroupId does not match the regular expression `value`. - */ - def dependencyGroupIdNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.dependencyGroupId.isEmpty || node.dependencyGroupId.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.dependencyGroupId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where dependencyGroupId does not match any of the regular expressions in `values`. - */ - def dependencyGroupIdNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.dependencyGroupId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - } - final class Traversal_Property_DISPATCH_TYPE[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasDispatchTypeEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to dispatchType property */ - def dispatchType: Iterator[String] = - traversal.map(_.dispatchType) - - /** Traverse to nodes where the dispatchType matches the regular expression `value` - */ - def dispatchType(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - dispatchTypeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.dispatchType).matches } - } - - /** Traverse to nodes where the dispatchType matches at least one of the regular expressions in `values` - */ - def dispatchType(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.dispatchType).matches } } - } - - /** Traverse to nodes where dispatchType matches `value` exactly. - */ - def dispatchTypeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 17, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.dispatchType == value } - } - - /** Traverse to nodes where dispatchType matches one of the elements in `values` exactly. - */ - def dispatchTypeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) dispatchTypeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.dispatchType) } - } - - /** Traverse to nodes where dispatchType does not match the regular expression `value`. - */ - def dispatchTypeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.dispatchType != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.dispatchType).matches } - } - } - - /** Traverse to nodes where dispatchType does not match any of the regular expressions in `values`. - */ - def dispatchTypeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.dispatchType).matches }.isEmpty } - } - - } - final class Traversal_Property_DYNAMIC_TYPE_HINT_FULL_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasDynamicTypeHintFullNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - } - final class Traversal_Property_EVALUATION_STRATEGY[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasEvaluationStrategyEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to evaluationStrategy property */ - def evaluationStrategy: Iterator[String] = - traversal.map(_.evaluationStrategy) - - /** Traverse to nodes where the evaluationStrategy matches the regular expression `value` - */ - def evaluationStrategy(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - evaluationStrategyExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.evaluationStrategy).matches } - } - - /** Traverse to nodes where the evaluationStrategy matches at least one of the regular expressions in `values` - */ - def evaluationStrategy(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.evaluationStrategy).matches } } - } - - /** Traverse to nodes where evaluationStrategy matches `value` exactly. - */ - def evaluationStrategyExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 19, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.evaluationStrategy == value } - } - - /** Traverse to nodes where evaluationStrategy matches one of the elements in `values` exactly. - */ - def evaluationStrategyExact(values: String*): Iterator[NodeType] = - if (values.length == 1) evaluationStrategyExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.evaluationStrategy) } - } - - /** Traverse to nodes where evaluationStrategy does not match the regular expression `value`. - */ - def evaluationStrategyNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.evaluationStrategy != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.evaluationStrategy).matches } - } - } - - /** Traverse to nodes where evaluationStrategy does not match any of the regular expressions in `values`. - */ - def evaluationStrategyNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.evaluationStrategy).matches }.isEmpty } - } - - } - final class Traversal_Property_EXPLICIT_AS[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasExplicitAsEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to explicitAs property */ - def explicitAs: Iterator[Boolean] = - traversal.flatMap(_.explicitAs) - - /** Traverse to nodes where the explicitAs equals the given `value` - */ - def explicitAs(value: Boolean): Iterator[NodeType] = - traversal.filter { node => node.explicitAs.isDefined && node.explicitAs.get == value } - - } - final class Traversal_Property_FILENAME[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasFilenameEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to filename property */ - def filename: Iterator[String] = - traversal.map(_.filename) - - /** Traverse to nodes where the filename matches the regular expression `value` - */ - def filename(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - filenameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.filename).matches } - } - - /** Traverse to nodes where the filename matches at least one of the regular expressions in `values` - */ - def filename(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.filename).matches } } - } - - /** Traverse to nodes where filename matches `value` exactly. - */ - def filenameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 21, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.filename == value } - } - - /** Traverse to nodes where filename matches one of the elements in `values` exactly. - */ - def filenameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) filenameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.filename) } - } - - /** Traverse to nodes where filename does not match the regular expression `value`. - */ - def filenameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.filename != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.filename).matches } - } - } - - /** Traverse to nodes where filename does not match any of the regular expressions in `values`. - */ - def filenameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.filename).matches }.isEmpty } - } - - } - final class Traversal_Property_FULL_NAME[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasFullNameEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to fullName property */ - def fullName: Iterator[String] = - traversal.map(_.fullName) - - /** Traverse to nodes where the fullName matches the regular expression `value` - */ - def fullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - fullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.fullName).matches } - } - - /** Traverse to nodes where the fullName matches at least one of the regular expressions in `values` - */ - def fullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.fullName).matches } } - } - - /** Traverse to nodes where fullName matches `value` exactly. - */ - def fullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 22, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.fullName == value } - } - - /** Traverse to nodes where fullName matches one of the elements in `values` exactly. - */ - def fullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) fullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.fullName) } - } - - /** Traverse to nodes where fullName does not match the regular expression `value`. - */ - def fullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.fullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.fullName).matches } - } - } - - /** Traverse to nodes where fullName does not match any of the regular expressions in `values`. - */ - def fullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.fullName).matches }.isEmpty } - } - - } - final class Traversal_Property_HASH[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasHashEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to hash property */ - def hash: Iterator[String] = - traversal.flatMap(_.hash) - - /** Traverse to nodes where the hash matches the regular expression `value` - */ - def hash(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - hashExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the hash matches at least one of the regular expressions in `values` - */ - def hash(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where hash matches `value` exactly. - */ - def hashExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.hash; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where hash matches one of the elements in `values` exactly. - */ - def hashExact(values: String*): Iterator[NodeType] = - if (values.length == 1) hashExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where hash does not match the regular expression `value`. - */ - def hashNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.hash.isEmpty || node.hash.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.hash; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where hash does not match any of the regular expressions in `values`. - */ - def hashNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.hash; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - } - final class Traversal_Property_IMPORTED_AS[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasImportedAsEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to importedAs property */ - def importedAs: Iterator[String] = - traversal.flatMap(_.importedAs) - - /** Traverse to nodes where the importedAs matches the regular expression `value` - */ - def importedAs(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - importedAsExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.importedAs; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the importedAs matches at least one of the regular expressions in `values` - */ - def importedAs(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.importedAs; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where importedAs matches `value` exactly. - */ - def importedAsExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 24, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.importedAs; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where importedAs matches one of the elements in `values` exactly. - */ - def importedAsExact(values: String*): Iterator[NodeType] = - if (values.length == 1) importedAsExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.importedAs; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where importedAs does not match the regular expression `value`. - */ - def importedAsNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.importedAs.isEmpty || node.importedAs.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.importedAs; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where importedAs does not match any of the regular expressions in `values`. - */ - def importedAsNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.importedAs; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - } - final class Traversal_Property_IMPORTED_ENTITY[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasImportedEntityEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to importedEntity property */ - def importedEntity: Iterator[String] = - traversal.flatMap(_.importedEntity) - - /** Traverse to nodes where the importedEntity matches the regular expression `value` - */ - def importedEntity(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - importedEntityExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.importedEntity; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the importedEntity matches at least one of the regular expressions in `values` - */ - def importedEntity(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.importedEntity; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where importedEntity matches `value` exactly. - */ - def importedEntityExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 25, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.importedEntity; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where importedEntity matches one of the elements in `values` exactly. - */ - def importedEntityExact(values: String*): Iterator[NodeType] = - if (values.length == 1) importedEntityExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.importedEntity; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where importedEntity does not match the regular expression `value`. - */ - def importedEntityNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.importedEntity.isEmpty || node.importedEntity.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.importedEntity; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where importedEntity does not match any of the regular expressions in `values`. - */ - def importedEntityNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.importedEntity; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - } - final class Traversal_Property_INDEX[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasIndexEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to index property */ - def index: Iterator[Int] = - traversal.map(_.index) - - /** Traverse to nodes where the index equals the given `value` - */ - def index(value: Int): Iterator[NodeType] = - traversal.filter { _.index == value } - - /** Traverse to nodes where the index equals at least one of the given `values` - */ - def index(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => vset.contains(node.index) } - } - - /** Traverse to nodes where the index is not equal to the given `value` - */ - def indexNot(value: Int): Iterator[NodeType] = - traversal.filter { _.index != value } - - /** Traverse to nodes where the index is not equal to any of the given `values` - */ - def indexNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => !vset.contains(node.index) } - } - - /** Traverse to nodes where the index is greater than the given `value` - */ - def indexGt(value: Int): Iterator[NodeType] = - traversal.filter { _.index > value } - - /** Traverse to nodes where the index is greater than or equal the given `value` - */ - def indexGte(value: Int): Iterator[NodeType] = - traversal.filter { _.index >= value } - - /** Traverse to nodes where the index is less than the given `value` - */ - def indexLt(value: Int): Iterator[NodeType] = - traversal.filter { _.index < value } - - /** Traverse to nodes where the index is less than or equal the given `value` - */ - def indexLte(value: Int): Iterator[NodeType] = - traversal.filter { _.index <= value } - - } - final class Traversal_Property_INHERITS_FROM_TYPE_FULL_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasInheritsFromTypeFullNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to inheritsFromTypeFullName property */ - def inheritsFromTypeFullName: Iterator[String] = - traversal.flatMap(_.inheritsFromTypeFullName) - - } - final class Traversal_Property_IS_EXPLICIT[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasIsExplicitEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to isExplicit property */ - def isExplicit: Iterator[Boolean] = - traversal.flatMap(_.isExplicit) - - /** Traverse to nodes where the isExplicit equals the given `value` - */ - def isExplicit(value: Boolean): Iterator[NodeType] = - traversal.filter { node => node.isExplicit.isDefined && node.isExplicit.get == value } - - } - final class Traversal_Property_IS_EXTERNAL[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasIsExternalEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to isExternal property */ - def isExternal: Iterator[Boolean] = - traversal.map(_.isExternal) - - /** Traverse to nodes where the isExternal equals the given `value` - */ - def isExternal(value: Boolean): Iterator[NodeType] = - traversal.filter { _.isExternal == value } - - } - final class Traversal_Property_IS_VARIADIC[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasIsVariadicEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to isVariadic property */ - def isVariadic: Iterator[Boolean] = - traversal.map(_.isVariadic) - - /** Traverse to nodes where the isVariadic equals the given `value` - */ - def isVariadic(value: Boolean): Iterator[NodeType] = - traversal.filter { _.isVariadic == value } - - } - final class Traversal_Property_IS_WILDCARD[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasIsWildcardEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to isWildcard property */ - def isWildcard: Iterator[Boolean] = - traversal.flatMap(_.isWildcard) - - /** Traverse to nodes where the isWildcard equals the given `value` - */ - def isWildcard(value: Boolean): Iterator[NodeType] = - traversal.filter { node => node.isWildcard.isDefined && node.isWildcard.get == value } - - } - final class Traversal_Property_KEY[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasKeyEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to key property */ - def key: Iterator[String] = - traversal.map(_.key) - - /** Traverse to nodes where the key matches the regular expression `value` - */ - def key(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - keyExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.key).matches } - } - - /** Traverse to nodes where the key matches at least one of the regular expressions in `values` - */ - def key(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.key).matches } } - } - - /** Traverse to nodes where key matches `value` exactly. - */ - def keyExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 32, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.key == value } - } - - /** Traverse to nodes where key matches one of the elements in `values` exactly. - */ - def keyExact(values: String*): Iterator[NodeType] = - if (values.length == 1) keyExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.key) } - } - - /** Traverse to nodes where key does not match the regular expression `value`. - */ - def keyNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.key != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.key).matches } - } - } - - /** Traverse to nodes where key does not match any of the regular expressions in `values`. - */ - def keyNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.key).matches }.isEmpty } - } - - } - final class Traversal_Property_LANGUAGE[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasLanguageEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to language property */ - def language: Iterator[String] = - traversal.map(_.language) - - /** Traverse to nodes where the language matches the regular expression `value` - */ - def language(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - languageExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.language).matches } - } - - /** Traverse to nodes where the language matches at least one of the regular expressions in `values` - */ - def language(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.language).matches } } - } - - /** Traverse to nodes where language matches `value` exactly. - */ - def languageExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 33, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.language == value } - } - - /** Traverse to nodes where language matches one of the elements in `values` exactly. - */ - def languageExact(values: String*): Iterator[NodeType] = - if (values.length == 1) languageExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.language) } - } - - /** Traverse to nodes where language does not match the regular expression `value`. - */ - def languageNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.language != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.language).matches } - } - } - - /** Traverse to nodes where language does not match any of the regular expressions in `values`. - */ - def languageNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.language).matches }.isEmpty } - } - - } - final class Traversal_Property_LINE_NUMBER[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasLineNumberEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to lineNumber property */ - def lineNumber: Iterator[Int] = - traversal.flatMap(_.lineNumber) - - /** Traverse to nodes where the lineNumber equals the given `value` - */ - def lineNumber(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the lineNumber equals at least one of the given `values` - */ - def lineNumber(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the lineNumber is not equal to the given `value` - */ - def lineNumberNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the lineNumber does not equal any one of the given `values` - */ - def lineNumberNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.lineNumber; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the lineNumber is greater than the given `value` - */ - def lineNumberGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the lineNumber is greater than or equal the given `value` - */ - def lineNumberGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the lineNumber is less than the given `value` - */ - def lineNumberLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the lineNumber is less than or equal the given `value` - */ - def lineNumberLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get <= value - } - - } - final class Traversal_Property_LINE_NUMBER_END[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasLineNumberEndEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to lineNumberEnd property */ - def lineNumberEnd: Iterator[Int] = - traversal.flatMap(_.lineNumberEnd) - - /** Traverse to nodes where the lineNumberEnd equals the given `value` - */ - def lineNumberEnd(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the lineNumberEnd equals at least one of the given `values` - */ - def lineNumberEnd(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the lineNumberEnd is not equal to the given `value` - */ - def lineNumberEndNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the lineNumberEnd does not equal any one of the given `values` - */ - def lineNumberEndNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the lineNumberEnd is greater than the given `value` - */ - def lineNumberEndGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the lineNumberEnd is greater than or equal the given `value` - */ - def lineNumberEndGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the lineNumberEnd is less than the given `value` - */ - def lineNumberEndLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the lineNumberEnd is less than or equal the given `value` - */ - def lineNumberEndLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && tmp.get <= value - } - - } - final class Traversal_Property_METHOD_FULL_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasMethodFullNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to methodFullName property */ - def methodFullName: Iterator[String] = - traversal.map(_.methodFullName) - - /** Traverse to nodes where the methodFullName matches the regular expression `value` - */ - def methodFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - methodFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.methodFullName).matches } - } - - /** Traverse to nodes where the methodFullName matches at least one of the regular expressions in `values` - */ - def methodFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.methodFullName).matches } } - } - - /** Traverse to nodes where methodFullName matches `value` exactly. - */ - def methodFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 36, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.methodFullName == value } - } - - /** Traverse to nodes where methodFullName matches one of the elements in `values` exactly. - */ - def methodFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) methodFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.methodFullName) } - } - - /** Traverse to nodes where methodFullName does not match the regular expression `value`. - */ - def methodFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.methodFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.methodFullName).matches } - } - } - - /** Traverse to nodes where methodFullName does not match any of the regular expressions in `values`. - */ - def methodFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.methodFullName).matches }.isEmpty } - } - - } - final class Traversal_Property_METHOD_SHORT_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasMethodShortNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to methodShortName property */ - def methodShortName: Iterator[String] = - traversal.map(_.methodShortName) - - /** Traverse to nodes where the methodShortName matches the regular expression `value` - */ - def methodShortName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - methodShortNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.methodShortName).matches } - } - - /** Traverse to nodes where the methodShortName matches at least one of the regular expressions in `values` - */ - def methodShortName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.methodShortName).matches } } - } - - /** Traverse to nodes where methodShortName matches `value` exactly. - */ - def methodShortNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 37, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.methodShortName == value } - } - - /** Traverse to nodes where methodShortName matches one of the elements in `values` exactly. - */ - def methodShortNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) methodShortNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.methodShortName) } - } - - /** Traverse to nodes where methodShortName does not match the regular expression `value`. - */ - def methodShortNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.methodShortName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.methodShortName).matches } - } - } - - /** Traverse to nodes where methodShortName does not match any of the regular expressions in `values`. - */ - def methodShortNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.methodShortName).matches }.isEmpty } - } - - } - final class Traversal_Property_MODIFIER_TYPE[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasModifierTypeEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to modifierType property */ - def modifierType: Iterator[String] = - traversal.map(_.modifierType) - - /** Traverse to nodes where the modifierType matches the regular expression `value` - */ - def modifierType(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - modifierTypeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.modifierType).matches } - } - - /** Traverse to nodes where the modifierType matches at least one of the regular expressions in `values` - */ - def modifierType(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.modifierType).matches } } - } - - /** Traverse to nodes where modifierType matches `value` exactly. - */ - def modifierTypeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 38, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.modifierType == value } - } - - /** Traverse to nodes where modifierType matches one of the elements in `values` exactly. - */ - def modifierTypeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) modifierTypeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.modifierType) } - } - - /** Traverse to nodes where modifierType does not match the regular expression `value`. - */ - def modifierTypeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.modifierType != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.modifierType).matches } - } - } - - /** Traverse to nodes where modifierType does not match any of the regular expressions in `values`. - */ - def modifierTypeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.modifierType).matches }.isEmpty } - } - - } - final class Traversal_Property_NAME[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasNameEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - } - final class Traversal_Property_NODE_LABEL[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasNodeLabelEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to nodeLabel property */ - def nodeLabel: Iterator[String] = - traversal.map(_.nodeLabel) - - /** Traverse to nodes where the nodeLabel matches the regular expression `value` - */ - def nodeLabel(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nodeLabelExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.nodeLabel).matches } - } - - /** Traverse to nodes where the nodeLabel matches at least one of the regular expressions in `values` - */ - def nodeLabel(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.nodeLabel).matches } } - } - - /** Traverse to nodes where nodeLabel matches `value` exactly. - */ - def nodeLabelExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.nodeLabel == value } - } - - /** Traverse to nodes where nodeLabel matches one of the elements in `values` exactly. - */ - def nodeLabelExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nodeLabelExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.nodeLabel) } - } - - /** Traverse to nodes where nodeLabel does not match the regular expression `value`. - */ - def nodeLabelNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.nodeLabel != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.nodeLabel).matches } - } - } - - /** Traverse to nodes where nodeLabel does not match any of the regular expressions in `values`. - */ - def nodeLabelNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.nodeLabel).matches }.isEmpty } - } - - } - final class Traversal_Property_OFFSET[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasOffsetEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to offset property */ - def offset: Iterator[Int] = - traversal.flatMap(_.offset) - - /** Traverse to nodes where the offset equals the given `value` - */ - def offset(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the offset equals at least one of the given `values` - */ - def offset(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offset is not equal to the given `value` - */ - def offsetNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the offset does not equal any one of the given `values` - */ - def offsetNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offset; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offset is greater than the given `value` - */ - def offsetGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the offset is greater than or equal the given `value` - */ - def offsetGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the offset is less than the given `value` - */ - def offsetLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the offset is less than or equal the given `value` - */ - def offsetLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get <= value - } - - } - final class Traversal_Property_OFFSET_END[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasOffsetEndEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to offsetEnd property */ - def offsetEnd: Iterator[Int] = - traversal.flatMap(_.offsetEnd) - - /** Traverse to nodes where the offsetEnd equals the given `value` - */ - def offsetEnd(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the offsetEnd equals at least one of the given `values` - */ - def offsetEnd(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offsetEnd is not equal to the given `value` - */ - def offsetEndNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the offsetEnd does not equal any one of the given `values` - */ - def offsetEndNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offsetEnd is greater than the given `value` - */ - def offsetEndGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the offsetEnd is greater than or equal the given `value` - */ - def offsetEndGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the offsetEnd is less than the given `value` - */ - def offsetEndLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the offsetEnd is less than or equal the given `value` - */ - def offsetEndLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get <= value - } - - } - final class Traversal_Property_ORDER[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasOrderEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to order property */ - def order: Iterator[Int] = - traversal.map(_.order) - - /** Traverse to nodes where the order equals the given `value` - */ - def order(value: Int): Iterator[NodeType] = - traversal.filter { _.order == value } - - /** Traverse to nodes where the order equals at least one of the given `values` - */ - def order(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => vset.contains(node.order) } - } - - /** Traverse to nodes where the order is not equal to the given `value` - */ - def orderNot(value: Int): Iterator[NodeType] = - traversal.filter { _.order != value } - - /** Traverse to nodes where the order is not equal to any of the given `values` - */ - def orderNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => !vset.contains(node.order) } - } - - /** Traverse to nodes where the order is greater than the given `value` - */ - def orderGt(value: Int): Iterator[NodeType] = - traversal.filter { _.order > value } - - /** Traverse to nodes where the order is greater than or equal the given `value` - */ - def orderGte(value: Int): Iterator[NodeType] = - traversal.filter { _.order >= value } - - /** Traverse to nodes where the order is less than the given `value` - */ - def orderLt(value: Int): Iterator[NodeType] = - traversal.filter { _.order < value } - - /** Traverse to nodes where the order is less than or equal the given `value` - */ - def orderLte(value: Int): Iterator[NodeType] = - traversal.filter { _.order <= value } - - } - final class Traversal_Property_OVERLAYS[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasOverlaysEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to overlays property */ - def overlays: Iterator[String] = - traversal.flatMap(_.overlays) - - } - final class Traversal_Property_PACKAGE_NAME[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasPackageNameEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to packageName property */ - def packageName: Iterator[String] = - traversal.map(_.packageName) - - /** Traverse to nodes where the packageName matches the regular expression `value` - */ - def packageName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - packageNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.packageName).matches } - } - - /** Traverse to nodes where the packageName matches at least one of the regular expressions in `values` - */ - def packageName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.packageName).matches } } - } - - /** Traverse to nodes where packageName matches `value` exactly. - */ - def packageNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 45, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.packageName == value } - } - - /** Traverse to nodes where packageName matches one of the elements in `values` exactly. - */ - def packageNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) packageNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.packageName) } - } - - /** Traverse to nodes where packageName does not match the regular expression `value`. - */ - def packageNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.packageName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.packageName).matches } - } - } - - /** Traverse to nodes where packageName does not match any of the regular expressions in `values`. - */ - def packageNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.packageName).matches }.isEmpty } - } - - } - final class Traversal_Property_PARSER_TYPE_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasParserTypeNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to parserTypeName property */ - def parserTypeName: Iterator[String] = - traversal.map(_.parserTypeName) - - /** Traverse to nodes where the parserTypeName matches the regular expression `value` - */ - def parserTypeName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - parserTypeNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.parserTypeName).matches } - } - - /** Traverse to nodes where the parserTypeName matches at least one of the regular expressions in `values` - */ - def parserTypeName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.parserTypeName).matches } } - } - - /** Traverse to nodes where parserTypeName matches `value` exactly. - */ - def parserTypeNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.parserTypeName == value } - } - - /** Traverse to nodes where parserTypeName matches one of the elements in `values` exactly. - */ - def parserTypeNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) parserTypeNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.parserTypeName) } - } - - /** Traverse to nodes where parserTypeName does not match the regular expression `value`. - */ - def parserTypeNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.parserTypeName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.parserTypeName).matches } - } - } - - /** Traverse to nodes where parserTypeName does not match any of the regular expressions in `values`. - */ - def parserTypeNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.parserTypeName).matches }.isEmpty } - } - - } - final class Traversal_Property_POSSIBLE_TYPES[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasPossibleTypesEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - } - final class Traversal_Property_ROOT[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasRootEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to root property */ - def root: Iterator[String] = - traversal.map(_.root) - - /** Traverse to nodes where the root matches the regular expression `value` - */ - def root(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - rootExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.root).matches } - } - - /** Traverse to nodes where the root matches at least one of the regular expressions in `values` - */ - def root(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.root).matches } } - } - - /** Traverse to nodes where root matches `value` exactly. - */ - def rootExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 48, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.root == value } - } - - /** Traverse to nodes where root matches one of the elements in `values` exactly. - */ - def rootExact(values: String*): Iterator[NodeType] = - if (values.length == 1) rootExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.root) } - } - - /** Traverse to nodes where root does not match the regular expression `value`. - */ - def rootNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.root != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.root).matches } - } - } - - /** Traverse to nodes where root does not match any of the regular expressions in `values`. - */ - def rootNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.root).matches }.isEmpty } - } - - } - final class Traversal_Property_SIGNATURE[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasSignatureEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to signature property */ - def signature: Iterator[String] = - traversal.map(_.signature) - - /** Traverse to nodes where the signature matches the regular expression `value` - */ - def signature(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - signatureExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.signature).matches } - } - - /** Traverse to nodes where the signature matches at least one of the regular expressions in `values` - */ - def signature(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.signature).matches } } - } - - /** Traverse to nodes where signature matches `value` exactly. - */ - def signatureExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 49, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.signature == value } - } - - /** Traverse to nodes where signature matches one of the elements in `values` exactly. - */ - def signatureExact(values: String*): Iterator[NodeType] = - if (values.length == 1) signatureExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.signature) } - } - - /** Traverse to nodes where signature does not match the regular expression `value`. - */ - def signatureNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.signature != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.signature).matches } - } - } - - /** Traverse to nodes where signature does not match any of the regular expressions in `values`. - */ - def signatureNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.signature).matches }.isEmpty } - } - - } - final class Traversal_Property_SYMBOL[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasSymbolEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to symbol property */ - def symbol: Iterator[String] = - traversal.map(_.symbol) - - /** Traverse to nodes where the symbol matches the regular expression `value` - */ - def symbol(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - symbolExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.symbol).matches } - } - - /** Traverse to nodes where the symbol matches at least one of the regular expressions in `values` - */ - def symbol(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.symbol).matches } } - } - - /** Traverse to nodes where symbol matches `value` exactly. - */ - def symbolExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 50, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.symbol == value } - } - - /** Traverse to nodes where symbol matches one of the elements in `values` exactly. - */ - def symbolExact(values: String*): Iterator[NodeType] = - if (values.length == 1) symbolExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.symbol) } - } - - /** Traverse to nodes where symbol does not match the regular expression `value`. - */ - def symbolNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.symbol != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.symbol).matches } - } - } - - /** Traverse to nodes where symbol does not match any of the regular expressions in `values`. - */ - def symbolNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.symbol).matches }.isEmpty } - } - - } - final class Traversal_Property_TYPE_DECL_FULL_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasTypeDeclFullNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to typeDeclFullName property */ - def typeDeclFullName: Iterator[String] = - traversal.map(_.typeDeclFullName) - - /** Traverse to nodes where the typeDeclFullName matches the regular expression `value` - */ - def typeDeclFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeDeclFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeDeclFullName).matches } - } - - /** Traverse to nodes where the typeDeclFullName matches at least one of the regular expressions in `values` - */ - def typeDeclFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeDeclFullName).matches } } - } - - /** Traverse to nodes where typeDeclFullName matches `value` exactly. - */ - def typeDeclFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 51, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeDeclFullName == value } - } - - /** Traverse to nodes where typeDeclFullName matches one of the elements in `values` exactly. - */ - def typeDeclFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeDeclFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeDeclFullName) } - } - - /** Traverse to nodes where typeDeclFullName does not match the regular expression `value`. - */ - def typeDeclFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeDeclFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeDeclFullName).matches } - } - } - - /** Traverse to nodes where typeDeclFullName does not match any of the regular expressions in `values`. - */ - def typeDeclFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeDeclFullName).matches }.isEmpty } - } - - } - final class Traversal_Property_TYPE_FULL_NAME[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasTypeFullNameEMT] - ](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_Property_VALUE[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasValueEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to value property */ - def value: Iterator[String] = - traversal.map(_.value) - - /** Traverse to nodes where the value matches the regular expression `value` - */ - def value(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - valueExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.value).matches } - } - - /** Traverse to nodes where the value matches at least one of the regular expressions in `values` - */ - def value(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.value).matches } } - } - - /** Traverse to nodes where value matches `value` exactly. - */ - def valueExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.value == value } - } - - /** Traverse to nodes where value matches one of the elements in `values` exactly. - */ - def valueExact(values: String*): Iterator[NodeType] = - if (values.length == 1) valueExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.value) } - } - - /** Traverse to nodes where value does not match the regular expression `value`. - */ - def valueNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.value != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.value).matches } - } - } - - /** Traverse to nodes where value does not match any of the regular expressions in `values`. - */ - def valueNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.value).matches }.isEmpty } - } - - } - final class Traversal_Property_VERSION[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasVersionEMT]]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to version property */ - def version: Iterator[String] = - traversal.map(_.version) - - /** Traverse to nodes where the version matches the regular expression `value` - */ - def version(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - versionExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.version).matches } - } - - /** Traverse to nodes where the version matches at least one of the regular expressions in `values` - */ - def version(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.version).matches } } - } - - /** Traverse to nodes where version matches `value` exactly. - */ - def versionExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 54, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.version == value } - } - - /** Traverse to nodes where version matches one of the elements in `values` exactly. - */ - def versionExact(values: String*): Iterator[NodeType] = - if (values.length == 1) versionExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.version) } - } - - /** Traverse to nodes where version does not match the regular expression `value`. - */ - def versionNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.version != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.version).matches } - } - } - - /** Traverse to nodes where version does not match any of the regular expressions in `values`. - */ - def versionNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.version).matches }.isEmpty } - } - - } - /* accessors for concrete stored nodes end */ - - /* accessors for base nodes start */ - final class Traversal_AnnotationBase[NodeType <: nodes.AnnotationBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to fullName property */ - def fullName: Iterator[String] = - traversal.map(_.fullName) - - /** Traverse to nodes where the fullName matches the regular expression `value` - */ - def fullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - fullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.fullName).matches } - } - - /** Traverse to nodes where the fullName matches at least one of the regular expressions in `values` - */ - def fullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.fullName).matches } } - } - - /** Traverse to nodes where fullName matches `value` exactly. - */ - def fullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 22, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.fullName == value } - } - - /** Traverse to nodes where fullName matches one of the elements in `values` exactly. - */ - def fullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) fullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.fullName) } - } - - /** Traverse to nodes where fullName does not match the regular expression `value`. - */ - def fullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.fullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.fullName).matches } - } - } - - /** Traverse to nodes where fullName does not match any of the regular expressions in `values`. - */ - def fullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.fullName).matches }.isEmpty } - } - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - } - final class Traversal_AnnotationLiteralBase[NodeType <: nodes.AnnotationLiteralBase]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - } - final class Traversal_AnnotationParameterBase[NodeType <: nodes.AnnotationParameterBase]( - val traversal: Iterator[NodeType] - ) extends AnyVal {} - final class Traversal_AnnotationParameterAssignBase[NodeType <: nodes.AnnotationParameterAssignBase]( - val traversal: Iterator[NodeType] - ) extends AnyVal {} - final class Traversal_ArrayInitializerBase[NodeType <: nodes.ArrayInitializerBase](val traversal: Iterator[NodeType]) - extends AnyVal {} - final class Traversal_BindingBase[NodeType <: nodes.BindingBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to methodFullName property */ - def methodFullName: Iterator[String] = - traversal.map(_.methodFullName) - - /** Traverse to nodes where the methodFullName matches the regular expression `value` - */ - def methodFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - methodFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.methodFullName).matches } - } - - /** Traverse to nodes where the methodFullName matches at least one of the regular expressions in `values` - */ - def methodFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.methodFullName).matches } } - } - - /** Traverse to nodes where methodFullName matches `value` exactly. - */ - def methodFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 36, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.methodFullName == value } - } - - /** Traverse to nodes where methodFullName matches one of the elements in `values` exactly. - */ - def methodFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) methodFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.methodFullName) } - } - - /** Traverse to nodes where methodFullName does not match the regular expression `value`. - */ - def methodFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.methodFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.methodFullName).matches } - } - } - - /** Traverse to nodes where methodFullName does not match any of the regular expressions in `values`. - */ - def methodFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.methodFullName).matches }.isEmpty } - } - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - /** Traverse to signature property */ - def signature: Iterator[String] = - traversal.map(_.signature) - - /** Traverse to nodes where the signature matches the regular expression `value` - */ - def signature(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - signatureExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.signature).matches } - } - - /** Traverse to nodes where the signature matches at least one of the regular expressions in `values` - */ - def signature(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.signature).matches } } - } - - /** Traverse to nodes where signature matches `value` exactly. - */ - def signatureExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 49, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.signature == value } - } - - /** Traverse to nodes where signature matches one of the elements in `values` exactly. - */ - def signatureExact(values: String*): Iterator[NodeType] = - if (values.length == 1) signatureExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.signature) } - } - - /** Traverse to nodes where signature does not match the regular expression `value`. - */ - def signatureNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.signature != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.signature).matches } - } - } - - /** Traverse to nodes where signature does not match any of the regular expressions in `values`. - */ - def signatureNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.signature).matches }.isEmpty } - } - - } - final class Traversal_BlockBase[NodeType <: nodes.BlockBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_CallBase[NodeType <: nodes.CallBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to dispatchType property */ - def dispatchType: Iterator[String] = - traversal.map(_.dispatchType) - - /** Traverse to nodes where the dispatchType matches the regular expression `value` - */ - def dispatchType(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - dispatchTypeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.dispatchType).matches } - } - - /** Traverse to nodes where the dispatchType matches at least one of the regular expressions in `values` - */ - def dispatchType(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.dispatchType).matches } } - } - - /** Traverse to nodes where dispatchType matches `value` exactly. - */ - def dispatchTypeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 17, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.dispatchType == value } - } - - /** Traverse to nodes where dispatchType matches one of the elements in `values` exactly. - */ - def dispatchTypeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) dispatchTypeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.dispatchType) } - } - - /** Traverse to nodes where dispatchType does not match the regular expression `value`. - */ - def dispatchTypeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.dispatchType != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.dispatchType).matches } - } - } - - /** Traverse to nodes where dispatchType does not match any of the regular expressions in `values`. - */ - def dispatchTypeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.dispatchType).matches }.isEmpty } - } - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - /** Traverse to methodFullName property */ - def methodFullName: Iterator[String] = - traversal.map(_.methodFullName) - - /** Traverse to nodes where the methodFullName matches the regular expression `value` - */ - def methodFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - methodFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.methodFullName).matches } - } - - /** Traverse to nodes where the methodFullName matches at least one of the regular expressions in `values` - */ - def methodFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.methodFullName).matches } } - } - - /** Traverse to nodes where methodFullName matches `value` exactly. - */ - def methodFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 36, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.methodFullName == value } - } - - /** Traverse to nodes where methodFullName matches one of the elements in `values` exactly. - */ - def methodFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) methodFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.methodFullName) } - } - - /** Traverse to nodes where methodFullName does not match the regular expression `value`. - */ - def methodFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.methodFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.methodFullName).matches } - } - } - - /** Traverse to nodes where methodFullName does not match any of the regular expressions in `values`. - */ - def methodFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.methodFullName).matches }.isEmpty } - } - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_ClosureBindingBase[NodeType <: nodes.ClosureBindingBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to closureBindingId property */ - def closureBindingId: Iterator[String] = - traversal.flatMap(_.closureBindingId) - - /** Traverse to nodes where the closureBindingId matches the regular expression `value` - */ - def closureBindingId(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - closureBindingIdExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the closureBindingId matches at least one of the regular expressions in `values` - */ - def closureBindingId(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where closureBindingId matches `value` exactly. - */ - def closureBindingIdExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 8, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.closureBindingId; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where closureBindingId matches one of the elements in `values` exactly. - */ - def closureBindingIdExact(values: String*): Iterator[NodeType] = - if (values.length == 1) closureBindingIdExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where closureBindingId does not match the regular expression `value`. - */ - def closureBindingIdNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.closureBindingId.isEmpty || node.closureBindingId.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.closureBindingId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where closureBindingId does not match any of the regular expressions in `values`. - */ - def closureBindingIdNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.closureBindingId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to closureOriginalName property */ - def closureOriginalName: Iterator[String] = - traversal.flatMap(_.closureOriginalName) - - /** Traverse to nodes where the closureOriginalName matches the regular expression `value` - */ - def closureOriginalName(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - closureOriginalNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.closureOriginalName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the closureOriginalName matches at least one of the regular expressions in `values` - */ - def closureOriginalName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.closureOriginalName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where closureOriginalName matches `value` exactly. - */ - def closureOriginalNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 9, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.closureOriginalName; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where closureOriginalName matches one of the elements in `values` exactly. - */ - def closureOriginalNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) closureOriginalNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.closureOriginalName; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where closureOriginalName does not match the regular expression `value`. - */ - def closureOriginalNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.closureOriginalName.isEmpty || node.closureOriginalName.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.closureOriginalName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where closureOriginalName does not match any of the regular expressions in `values`. - */ - def closureOriginalNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.closureOriginalName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to evaluationStrategy property */ - def evaluationStrategy: Iterator[String] = - traversal.map(_.evaluationStrategy) - - /** Traverse to nodes where the evaluationStrategy matches the regular expression `value` - */ - def evaluationStrategy(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - evaluationStrategyExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.evaluationStrategy).matches } - } - - /** Traverse to nodes where the evaluationStrategy matches at least one of the regular expressions in `values` - */ - def evaluationStrategy(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.evaluationStrategy).matches } } - } - - /** Traverse to nodes where evaluationStrategy matches `value` exactly. - */ - def evaluationStrategyExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 19, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.evaluationStrategy == value } - } - - /** Traverse to nodes where evaluationStrategy matches one of the elements in `values` exactly. - */ - def evaluationStrategyExact(values: String*): Iterator[NodeType] = - if (values.length == 1) evaluationStrategyExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.evaluationStrategy) } - } - - /** Traverse to nodes where evaluationStrategy does not match the regular expression `value`. - */ - def evaluationStrategyNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.evaluationStrategy != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.evaluationStrategy).matches } - } - } - - /** Traverse to nodes where evaluationStrategy does not match any of the regular expressions in `values`. - */ - def evaluationStrategyNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.evaluationStrategy).matches }.isEmpty } - } - - } - final class Traversal_CommentBase[NodeType <: nodes.CommentBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to filename property */ - def filename: Iterator[String] = - traversal.map(_.filename) - - /** Traverse to nodes where the filename matches the regular expression `value` - */ - def filename(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - filenameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.filename).matches } - } - - /** Traverse to nodes where the filename matches at least one of the regular expressions in `values` - */ - def filename(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.filename).matches } } - } - - /** Traverse to nodes where filename matches `value` exactly. - */ - def filenameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 21, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.filename == value } - } - - /** Traverse to nodes where filename matches one of the elements in `values` exactly. - */ - def filenameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) filenameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.filename) } - } - - /** Traverse to nodes where filename does not match the regular expression `value`. - */ - def filenameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.filename != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.filename).matches } - } - } - - /** Traverse to nodes where filename does not match any of the regular expressions in `values`. - */ - def filenameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.filename).matches }.isEmpty } - } - - } - final class Traversal_ConfigFileBase[NodeType <: nodes.ConfigFileBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to content property */ - def content: Iterator[String] = - traversal.map(_.content) - - /** Traverse to nodes where the content matches the regular expression `value` - */ - def content(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - contentExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.content).matches } - } - - /** Traverse to nodes where the content matches at least one of the regular expressions in `values` - */ - def content(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.content).matches } } - } - - /** Traverse to nodes where content matches `value` exactly. - */ - def contentExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 14, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.content == value } - } - - /** Traverse to nodes where content matches one of the elements in `values` exactly. - */ - def contentExact(values: String*): Iterator[NodeType] = - if (values.length == 1) contentExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.content) } - } - - /** Traverse to nodes where content does not match the regular expression `value`. - */ - def contentNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.content != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.content).matches } - } - } - - /** Traverse to nodes where content does not match any of the regular expressions in `values`. - */ - def contentNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.content).matches }.isEmpty } - } - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - } - final class Traversal_ControlStructureBase[NodeType <: nodes.ControlStructureBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to controlStructureType property */ - def controlStructureType: Iterator[String] = - traversal.map(_.controlStructureType) - - /** Traverse to nodes where the controlStructureType matches the regular expression `value` - */ - def controlStructureType(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - controlStructureTypeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.controlStructureType).matches } - } - - /** Traverse to nodes where the controlStructureType matches at least one of the regular expressions in `values` - */ - def controlStructureType(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.controlStructureType).matches } } - } - - /** Traverse to nodes where controlStructureType matches `value` exactly. - */ - def controlStructureTypeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 15, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.controlStructureType == value } - } - - /** Traverse to nodes where controlStructureType matches one of the elements in `values` exactly. - */ - def controlStructureTypeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) controlStructureTypeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.controlStructureType) } - } - - /** Traverse to nodes where controlStructureType does not match the regular expression `value`. - */ - def controlStructureTypeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.controlStructureType != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.controlStructureType).matches } - } - } - - /** Traverse to nodes where controlStructureType does not match any of the regular expressions in `values`. - */ - def controlStructureTypeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.controlStructureType).matches }.isEmpty } - } - - /** Traverse to parserTypeName property */ - def parserTypeName: Iterator[String] = - traversal.map(_.parserTypeName) - - /** Traverse to nodes where the parserTypeName matches the regular expression `value` - */ - def parserTypeName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - parserTypeNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.parserTypeName).matches } - } - - /** Traverse to nodes where the parserTypeName matches at least one of the regular expressions in `values` - */ - def parserTypeName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.parserTypeName).matches } } - } - - /** Traverse to nodes where parserTypeName matches `value` exactly. - */ - def parserTypeNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.parserTypeName == value } - } - - /** Traverse to nodes where parserTypeName matches one of the elements in `values` exactly. - */ - def parserTypeNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) parserTypeNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.parserTypeName) } - } - - /** Traverse to nodes where parserTypeName does not match the regular expression `value`. - */ - def parserTypeNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.parserTypeName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.parserTypeName).matches } - } - } - - /** Traverse to nodes where parserTypeName does not match any of the regular expressions in `values`. - */ - def parserTypeNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.parserTypeName).matches }.isEmpty } - } - - } - final class Traversal_DependencyBase[NodeType <: nodes.DependencyBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to dependencyGroupId property */ - def dependencyGroupId: Iterator[String] = - traversal.flatMap(_.dependencyGroupId) - - /** Traverse to nodes where the dependencyGroupId matches the regular expression `value` - */ - def dependencyGroupId(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - dependencyGroupIdExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.dependencyGroupId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the dependencyGroupId matches at least one of the regular expressions in `values` - */ - def dependencyGroupId(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.dependencyGroupId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where dependencyGroupId matches `value` exactly. - */ - def dependencyGroupIdExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 16, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.dependencyGroupId; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where dependencyGroupId matches one of the elements in `values` exactly. - */ - def dependencyGroupIdExact(values: String*): Iterator[NodeType] = - if (values.length == 1) dependencyGroupIdExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.dependencyGroupId; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where dependencyGroupId does not match the regular expression `value`. - */ - def dependencyGroupIdNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.dependencyGroupId.isEmpty || node.dependencyGroupId.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.dependencyGroupId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where dependencyGroupId does not match any of the regular expressions in `values`. - */ - def dependencyGroupIdNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.dependencyGroupId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - /** Traverse to version property */ - def version: Iterator[String] = - traversal.map(_.version) - - /** Traverse to nodes where the version matches the regular expression `value` - */ - def version(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - versionExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.version).matches } - } - - /** Traverse to nodes where the version matches at least one of the regular expressions in `values` - */ - def version(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.version).matches } } - } - - /** Traverse to nodes where version matches `value` exactly. - */ - def versionExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 54, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.version == value } - } - - /** Traverse to nodes where version matches one of the elements in `values` exactly. - */ - def versionExact(values: String*): Iterator[NodeType] = - if (values.length == 1) versionExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.version) } - } - - /** Traverse to nodes where version does not match the regular expression `value`. - */ - def versionNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.version != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.version).matches } - } - } - - /** Traverse to nodes where version does not match any of the regular expressions in `values`. - */ - def versionNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.version).matches }.isEmpty } - } - - } - final class Traversal_FieldIdentifierBase[NodeType <: nodes.FieldIdentifierBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to canonicalName property */ - def canonicalName: Iterator[String] = - traversal.map(_.canonicalName) - - /** Traverse to nodes where the canonicalName matches the regular expression `value` - */ - def canonicalName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - canonicalNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.canonicalName).matches } - } - - /** Traverse to nodes where the canonicalName matches at least one of the regular expressions in `values` - */ - def canonicalName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.canonicalName).matches } } - } - - /** Traverse to nodes where canonicalName matches `value` exactly. - */ - def canonicalNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 5, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.canonicalName == value } - } - - /** Traverse to nodes where canonicalName matches one of the elements in `values` exactly. - */ - def canonicalNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) canonicalNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.canonicalName) } - } - - /** Traverse to nodes where canonicalName does not match the regular expression `value`. - */ - def canonicalNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.canonicalName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.canonicalName).matches } - } - } - - /** Traverse to nodes where canonicalName does not match any of the regular expressions in `values`. - */ - def canonicalNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.canonicalName).matches }.isEmpty } - } - - } - final class Traversal_FileBase[NodeType <: nodes.FileBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to content property */ - def content: Iterator[String] = - traversal.map(_.content) - - /** Traverse to nodes where the content matches the regular expression `value` - */ - def content(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - contentExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.content).matches } - } - - /** Traverse to nodes where the content matches at least one of the regular expressions in `values` - */ - def content(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.content).matches } } - } - - /** Traverse to nodes where content matches `value` exactly. - */ - def contentExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 14, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.content == value } - } - - /** Traverse to nodes where content matches one of the elements in `values` exactly. - */ - def contentExact(values: String*): Iterator[NodeType] = - if (values.length == 1) contentExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.content) } - } - - /** Traverse to nodes where content does not match the regular expression `value`. - */ - def contentNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.content != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.content).matches } - } - } - - /** Traverse to nodes where content does not match any of the regular expressions in `values`. - */ - def contentNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.content).matches }.isEmpty } - } - - /** Traverse to hash property */ - def hash: Iterator[String] = - traversal.flatMap(_.hash) - - /** Traverse to nodes where the hash matches the regular expression `value` - */ - def hash(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - hashExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the hash matches at least one of the regular expressions in `values` - */ - def hash(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where hash matches `value` exactly. - */ - def hashExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.hash; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where hash matches one of the elements in `values` exactly. - */ - def hashExact(values: String*): Iterator[NodeType] = - if (values.length == 1) hashExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where hash does not match the regular expression `value`. - */ - def hashNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.hash.isEmpty || node.hash.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.hash; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where hash does not match any of the regular expressions in `values`. - */ - def hashNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.hash; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - } - final class Traversal_FindingBase[NodeType <: nodes.FindingBase](val traversal: Iterator[NodeType]) extends AnyVal {} - final class Traversal_IdentifierBase[NodeType <: nodes.IdentifierBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_ImportBase[NodeType <: nodes.ImportBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to explicitAs property */ - def explicitAs: Iterator[Boolean] = - traversal.flatMap(_.explicitAs) - - /** Traverse to nodes where the explicitAs equals the given `value` - */ - def explicitAs(value: Boolean): Iterator[NodeType] = - traversal.filter { node => node.explicitAs.isDefined && node.explicitAs.get == value } - - /** Traverse to importedAs property */ - def importedAs: Iterator[String] = - traversal.flatMap(_.importedAs) - - /** Traverse to nodes where the importedAs matches the regular expression `value` - */ - def importedAs(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - importedAsExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.importedAs; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the importedAs matches at least one of the regular expressions in `values` - */ - def importedAs(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.importedAs; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where importedAs matches `value` exactly. - */ - def importedAsExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 24, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.importedAs; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where importedAs matches one of the elements in `values` exactly. - */ - def importedAsExact(values: String*): Iterator[NodeType] = - if (values.length == 1) importedAsExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.importedAs; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where importedAs does not match the regular expression `value`. - */ - def importedAsNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.importedAs.isEmpty || node.importedAs.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.importedAs; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where importedAs does not match any of the regular expressions in `values`. - */ - def importedAsNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.importedAs; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to importedEntity property */ - def importedEntity: Iterator[String] = - traversal.flatMap(_.importedEntity) - - /** Traverse to nodes where the importedEntity matches the regular expression `value` - */ - def importedEntity(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - importedEntityExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.importedEntity; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the importedEntity matches at least one of the regular expressions in `values` - */ - def importedEntity(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.importedEntity; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where importedEntity matches `value` exactly. - */ - def importedEntityExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 25, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.importedEntity; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where importedEntity matches one of the elements in `values` exactly. - */ - def importedEntityExact(values: String*): Iterator[NodeType] = - if (values.length == 1) importedEntityExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.importedEntity; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where importedEntity does not match the regular expression `value`. - */ - def importedEntityNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.importedEntity.isEmpty || node.importedEntity.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.importedEntity; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where importedEntity does not match any of the regular expressions in `values`. - */ - def importedEntityNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.importedEntity; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to isExplicit property */ - def isExplicit: Iterator[Boolean] = - traversal.flatMap(_.isExplicit) - - /** Traverse to nodes where the isExplicit equals the given `value` - */ - def isExplicit(value: Boolean): Iterator[NodeType] = - traversal.filter { node => node.isExplicit.isDefined && node.isExplicit.get == value } - - /** Traverse to isWildcard property */ - def isWildcard: Iterator[Boolean] = - traversal.flatMap(_.isWildcard) - - /** Traverse to nodes where the isWildcard equals the given `value` - */ - def isWildcard(value: Boolean): Iterator[NodeType] = - traversal.filter { node => node.isWildcard.isDefined && node.isWildcard.get == value } - - } - final class Traversal_JumpLabelBase[NodeType <: nodes.JumpLabelBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - /** Traverse to parserTypeName property */ - def parserTypeName: Iterator[String] = - traversal.map(_.parserTypeName) - - /** Traverse to nodes where the parserTypeName matches the regular expression `value` - */ - def parserTypeName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - parserTypeNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.parserTypeName).matches } - } - - /** Traverse to nodes where the parserTypeName matches at least one of the regular expressions in `values` - */ - def parserTypeName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.parserTypeName).matches } } - } - - /** Traverse to nodes where parserTypeName matches `value` exactly. - */ - def parserTypeNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.parserTypeName == value } - } - - /** Traverse to nodes where parserTypeName matches one of the elements in `values` exactly. - */ - def parserTypeNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) parserTypeNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.parserTypeName) } - } - - /** Traverse to nodes where parserTypeName does not match the regular expression `value`. - */ - def parserTypeNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.parserTypeName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.parserTypeName).matches } - } - } - - /** Traverse to nodes where parserTypeName does not match any of the regular expressions in `values`. - */ - def parserTypeNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.parserTypeName).matches }.isEmpty } - } - - } - final class Traversal_JumpTargetBase[NodeType <: nodes.JumpTargetBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to argumentIndex property */ - def argumentIndex: Iterator[Int] = - traversal.map(_.argumentIndex) - - /** Traverse to nodes where the argumentIndex equals the given `value` - */ - def argumentIndex(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex == value } - - /** Traverse to nodes where the argumentIndex equals at least one of the given `values` - */ - def argumentIndex(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => vset.contains(node.argumentIndex) } - } - - /** Traverse to nodes where the argumentIndex is not equal to the given `value` - */ - def argumentIndexNot(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex != value } - - /** Traverse to nodes where the argumentIndex is not equal to any of the given `values` - */ - def argumentIndexNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => !vset.contains(node.argumentIndex) } - } - - /** Traverse to nodes where the argumentIndex is greater than the given `value` - */ - def argumentIndexGt(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex > value } - - /** Traverse to nodes where the argumentIndex is greater than or equal the given `value` - */ - def argumentIndexGte(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex >= value } - - /** Traverse to nodes where the argumentIndex is less than the given `value` - */ - def argumentIndexLt(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex < value } - - /** Traverse to nodes where the argumentIndex is less than or equal the given `value` - */ - def argumentIndexLte(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex <= value } - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - /** Traverse to parserTypeName property */ - def parserTypeName: Iterator[String] = - traversal.map(_.parserTypeName) - - /** Traverse to nodes where the parserTypeName matches the regular expression `value` - */ - def parserTypeName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - parserTypeNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.parserTypeName).matches } - } - - /** Traverse to nodes where the parserTypeName matches at least one of the regular expressions in `values` - */ - def parserTypeName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.parserTypeName).matches } } - } - - /** Traverse to nodes where parserTypeName matches `value` exactly. - */ - def parserTypeNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.parserTypeName == value } - } - - /** Traverse to nodes where parserTypeName matches one of the elements in `values` exactly. - */ - def parserTypeNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) parserTypeNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.parserTypeName) } - } - - /** Traverse to nodes where parserTypeName does not match the regular expression `value`. - */ - def parserTypeNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.parserTypeName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.parserTypeName).matches } - } - } - - /** Traverse to nodes where parserTypeName does not match any of the regular expressions in `values`. - */ - def parserTypeNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.parserTypeName).matches }.isEmpty } - } - - } - final class Traversal_KeyValuePairBase[NodeType <: nodes.KeyValuePairBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to key property */ - def key: Iterator[String] = - traversal.map(_.key) - - /** Traverse to nodes where the key matches the regular expression `value` - */ - def key(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - keyExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.key).matches } - } - - /** Traverse to nodes where the key matches at least one of the regular expressions in `values` - */ - def key(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.key).matches } } - } - - /** Traverse to nodes where key matches `value` exactly. - */ - def keyExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 32, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.key == value } - } - - /** Traverse to nodes where key matches one of the elements in `values` exactly. - */ - def keyExact(values: String*): Iterator[NodeType] = - if (values.length == 1) keyExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.key) } - } - - /** Traverse to nodes where key does not match the regular expression `value`. - */ - def keyNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.key != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.key).matches } - } - } - - /** Traverse to nodes where key does not match any of the regular expressions in `values`. - */ - def keyNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.key).matches }.isEmpty } - } - - /** Traverse to value property */ - def value: Iterator[String] = - traversal.map(_.value) - - /** Traverse to nodes where the value matches the regular expression `value` - */ - def value(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - valueExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.value).matches } - } - - /** Traverse to nodes where the value matches at least one of the regular expressions in `values` - */ - def value(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.value).matches } } - } - - /** Traverse to nodes where value matches `value` exactly. - */ - def valueExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.value == value } - } - - /** Traverse to nodes where value matches one of the elements in `values` exactly. - */ - def valueExact(values: String*): Iterator[NodeType] = - if (values.length == 1) valueExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.value) } - } - - /** Traverse to nodes where value does not match the regular expression `value`. - */ - def valueNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.value != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.value).matches } - } - } - - /** Traverse to nodes where value does not match any of the regular expressions in `values`. - */ - def valueNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.value).matches }.isEmpty } - } - - } - final class Traversal_LiteralBase[NodeType <: nodes.LiteralBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_LocalBase[NodeType <: nodes.LocalBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to closureBindingId property */ - def closureBindingId: Iterator[String] = - traversal.flatMap(_.closureBindingId) - - /** Traverse to nodes where the closureBindingId matches the regular expression `value` - */ - def closureBindingId(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - closureBindingIdExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the closureBindingId matches at least one of the regular expressions in `values` - */ - def closureBindingId(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where closureBindingId matches `value` exactly. - */ - def closureBindingIdExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 8, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.closureBindingId; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where closureBindingId matches one of the elements in `values` exactly. - */ - def closureBindingIdExact(values: String*): Iterator[NodeType] = - if (values.length == 1) closureBindingIdExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where closureBindingId does not match the regular expression `value`. - */ - def closureBindingIdNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.closureBindingId.isEmpty || node.closureBindingId.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.closureBindingId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where closureBindingId does not match any of the regular expressions in `values`. - */ - def closureBindingIdNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.closureBindingId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_LocationBase[NodeType <: nodes.LocationBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to className property */ - def className: Iterator[String] = - traversal.map(_.className) - - /** Traverse to nodes where the className matches the regular expression `value` - */ - def className(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - classNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.className).matches } - } - - /** Traverse to nodes where the className matches at least one of the regular expressions in `values` - */ - def className(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.className).matches } } - } - - /** Traverse to nodes where className matches `value` exactly. - */ - def classNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 6, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.className == value } - } - - /** Traverse to nodes where className matches one of the elements in `values` exactly. - */ - def classNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) classNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.className) } - } - - /** Traverse to nodes where className does not match the regular expression `value`. - */ - def classNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.className != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.className).matches } - } - } - - /** Traverse to nodes where className does not match any of the regular expressions in `values`. - */ - def classNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.className).matches }.isEmpty } - } - - /** Traverse to classShortName property */ - def classShortName: Iterator[String] = - traversal.map(_.classShortName) - - /** Traverse to nodes where the classShortName matches the regular expression `value` - */ - def classShortName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - classShortNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.classShortName).matches } - } - - /** Traverse to nodes where the classShortName matches at least one of the regular expressions in `values` - */ - def classShortName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.classShortName).matches } } - } - - /** Traverse to nodes where classShortName matches `value` exactly. - */ - def classShortNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 7, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.classShortName == value } - } - - /** Traverse to nodes where classShortName matches one of the elements in `values` exactly. - */ - def classShortNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) classShortNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.classShortName) } - } - - /** Traverse to nodes where classShortName does not match the regular expression `value`. - */ - def classShortNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.classShortName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.classShortName).matches } - } - } - - /** Traverse to nodes where classShortName does not match any of the regular expressions in `values`. - */ - def classShortNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.classShortName).matches }.isEmpty } - } - - /** Traverse to filename property */ - def filename: Iterator[String] = - traversal.map(_.filename) - - /** Traverse to nodes where the filename matches the regular expression `value` - */ - def filename(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - filenameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.filename).matches } - } - - /** Traverse to nodes where the filename matches at least one of the regular expressions in `values` - */ - def filename(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.filename).matches } } - } - - /** Traverse to nodes where filename matches `value` exactly. - */ - def filenameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 21, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.filename == value } - } - - /** Traverse to nodes where filename matches one of the elements in `values` exactly. - */ - def filenameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) filenameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.filename) } - } - - /** Traverse to nodes where filename does not match the regular expression `value`. - */ - def filenameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.filename != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.filename).matches } - } - } - - /** Traverse to nodes where filename does not match any of the regular expressions in `values`. - */ - def filenameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.filename).matches }.isEmpty } - } - - /** Traverse to lineNumber property */ - def lineNumber: Iterator[Int] = - traversal.flatMap(_.lineNumber) - - /** Traverse to nodes where the lineNumber equals the given `value` - */ - def lineNumber(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the lineNumber equals at least one of the given `values` - */ - def lineNumber(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the lineNumber is not equal to the given `value` - */ - def lineNumberNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the lineNumber does not equal any one of the given `values` - */ - def lineNumberNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.lineNumber; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the lineNumber is greater than the given `value` - */ - def lineNumberGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the lineNumber is greater than or equal the given `value` - */ - def lineNumberGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the lineNumber is less than the given `value` - */ - def lineNumberLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the lineNumber is less than or equal the given `value` - */ - def lineNumberLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get <= value - } - - /** Traverse to methodFullName property */ - def methodFullName: Iterator[String] = - traversal.map(_.methodFullName) - - /** Traverse to nodes where the methodFullName matches the regular expression `value` - */ - def methodFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - methodFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.methodFullName).matches } - } - - /** Traverse to nodes where the methodFullName matches at least one of the regular expressions in `values` - */ - def methodFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.methodFullName).matches } } - } - - /** Traverse to nodes where methodFullName matches `value` exactly. - */ - def methodFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 36, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.methodFullName == value } - } - - /** Traverse to nodes where methodFullName matches one of the elements in `values` exactly. - */ - def methodFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) methodFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.methodFullName) } - } - - /** Traverse to nodes where methodFullName does not match the regular expression `value`. - */ - def methodFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.methodFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.methodFullName).matches } - } - } - - /** Traverse to nodes where methodFullName does not match any of the regular expressions in `values`. - */ - def methodFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.methodFullName).matches }.isEmpty } - } - - /** Traverse to methodShortName property */ - def methodShortName: Iterator[String] = - traversal.map(_.methodShortName) - - /** Traverse to nodes where the methodShortName matches the regular expression `value` - */ - def methodShortName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - methodShortNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.methodShortName).matches } - } - - /** Traverse to nodes where the methodShortName matches at least one of the regular expressions in `values` - */ - def methodShortName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.methodShortName).matches } } - } - - /** Traverse to nodes where methodShortName matches `value` exactly. - */ - def methodShortNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 37, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.methodShortName == value } - } - - /** Traverse to nodes where methodShortName matches one of the elements in `values` exactly. - */ - def methodShortNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) methodShortNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.methodShortName) } - } - - /** Traverse to nodes where methodShortName does not match the regular expression `value`. - */ - def methodShortNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.methodShortName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.methodShortName).matches } - } - } - - /** Traverse to nodes where methodShortName does not match any of the regular expressions in `values`. - */ - def methodShortNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.methodShortName).matches }.isEmpty } - } - - /** Traverse to nodeLabel property */ - def nodeLabel: Iterator[String] = - traversal.map(_.nodeLabel) - - /** Traverse to nodes where the nodeLabel matches the regular expression `value` - */ - def nodeLabel(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nodeLabelExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.nodeLabel).matches } - } - - /** Traverse to nodes where the nodeLabel matches at least one of the regular expressions in `values` - */ - def nodeLabel(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.nodeLabel).matches } } - } - - /** Traverse to nodes where nodeLabel matches `value` exactly. - */ - def nodeLabelExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 40, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.nodeLabel == value } - } - - /** Traverse to nodes where nodeLabel matches one of the elements in `values` exactly. - */ - def nodeLabelExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nodeLabelExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.nodeLabel) } - } - - /** Traverse to nodes where nodeLabel does not match the regular expression `value`. - */ - def nodeLabelNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.nodeLabel != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.nodeLabel).matches } - } - } - - /** Traverse to nodes where nodeLabel does not match any of the regular expressions in `values`. - */ - def nodeLabelNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.nodeLabel).matches }.isEmpty } - } - - /** Traverse to packageName property */ - def packageName: Iterator[String] = - traversal.map(_.packageName) - - /** Traverse to nodes where the packageName matches the regular expression `value` - */ - def packageName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - packageNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.packageName).matches } - } - - /** Traverse to nodes where the packageName matches at least one of the regular expressions in `values` - */ - def packageName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.packageName).matches } } - } - - /** Traverse to nodes where packageName matches `value` exactly. - */ - def packageNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 45, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.packageName == value } - } - - /** Traverse to nodes where packageName matches one of the elements in `values` exactly. - */ - def packageNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) packageNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.packageName) } - } - - /** Traverse to nodes where packageName does not match the regular expression `value`. - */ - def packageNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.packageName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.packageName).matches } - } - } - - /** Traverse to nodes where packageName does not match any of the regular expressions in `values`. - */ - def packageNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.packageName).matches }.isEmpty } - } - - /** Traverse to symbol property */ - def symbol: Iterator[String] = - traversal.map(_.symbol) - - /** Traverse to nodes where the symbol matches the regular expression `value` - */ - def symbol(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - symbolExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.symbol).matches } - } - - /** Traverse to nodes where the symbol matches at least one of the regular expressions in `values` - */ - def symbol(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.symbol).matches } } - } - - /** Traverse to nodes where symbol matches `value` exactly. - */ - def symbolExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 50, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.symbol == value } - } - - /** Traverse to nodes where symbol matches one of the elements in `values` exactly. - */ - def symbolExact(values: String*): Iterator[NodeType] = - if (values.length == 1) symbolExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.symbol) } - } - - /** Traverse to nodes where symbol does not match the regular expression `value`. - */ - def symbolNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.symbol != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.symbol).matches } - } - } - - /** Traverse to nodes where symbol does not match any of the regular expressions in `values`. - */ - def symbolNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.symbol).matches }.isEmpty } - } - - } - final class Traversal_MemberBase[NodeType <: nodes.MemberBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to astParentFullName property */ - def astParentFullName: Iterator[String] = - traversal.map(_.astParentFullName) - - /** Traverse to nodes where the astParentFullName matches the regular expression `value` - */ - def astParentFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - astParentFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.astParentFullName).matches } - } - - /** Traverse to nodes where the astParentFullName matches at least one of the regular expressions in `values` - */ - def astParentFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.astParentFullName).matches } } - } - - /** Traverse to nodes where astParentFullName matches `value` exactly. - */ - def astParentFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 3, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.astParentFullName == value } - } - - /** Traverse to nodes where astParentFullName matches one of the elements in `values` exactly. - */ - def astParentFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) astParentFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.astParentFullName) } - } - - /** Traverse to nodes where astParentFullName does not match the regular expression `value`. - */ - def astParentFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.astParentFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.astParentFullName).matches } - } - } - - /** Traverse to nodes where astParentFullName does not match any of the regular expressions in `values`. - */ - def astParentFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.astParentFullName).matches }.isEmpty } - } - - /** Traverse to astParentType property */ - def astParentType: Iterator[String] = - traversal.map(_.astParentType) - - /** Traverse to nodes where the astParentType matches the regular expression `value` - */ - def astParentType(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - astParentTypeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.astParentType).matches } - } - - /** Traverse to nodes where the astParentType matches at least one of the regular expressions in `values` - */ - def astParentType(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.astParentType).matches } } - } - - /** Traverse to nodes where astParentType matches `value` exactly. - */ - def astParentTypeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 4, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.astParentType == value } - } - - /** Traverse to nodes where astParentType matches one of the elements in `values` exactly. - */ - def astParentTypeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) astParentTypeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.astParentType) } - } - - /** Traverse to nodes where astParentType does not match the regular expression `value`. - */ - def astParentTypeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.astParentType != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.astParentType).matches } - } - } - - /** Traverse to nodes where astParentType does not match any of the regular expressions in `values`. - */ - def astParentTypeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.astParentType).matches }.isEmpty } - } - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_MetaDataBase[NodeType <: nodes.MetaDataBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to hash property */ - def hash: Iterator[String] = - traversal.flatMap(_.hash) - - /** Traverse to nodes where the hash matches the regular expression `value` - */ - def hash(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - hashExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the hash matches at least one of the regular expressions in `values` - */ - def hash(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where hash matches `value` exactly. - */ - def hashExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.hash; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where hash matches one of the elements in `values` exactly. - */ - def hashExact(values: String*): Iterator[NodeType] = - if (values.length == 1) hashExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where hash does not match the regular expression `value`. - */ - def hashNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.hash.isEmpty || node.hash.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.hash; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where hash does not match any of the regular expressions in `values`. - */ - def hashNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.hash; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to language property */ - def language: Iterator[String] = - traversal.map(_.language) - - /** Traverse to nodes where the language matches the regular expression `value` - */ - def language(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - languageExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.language).matches } - } - - /** Traverse to nodes where the language matches at least one of the regular expressions in `values` - */ - def language(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.language).matches } } - } - - /** Traverse to nodes where language matches `value` exactly. - */ - def languageExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 33, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.language == value } - } - - /** Traverse to nodes where language matches one of the elements in `values` exactly. - */ - def languageExact(values: String*): Iterator[NodeType] = - if (values.length == 1) languageExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.language) } - } - - /** Traverse to nodes where language does not match the regular expression `value`. - */ - def languageNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.language != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.language).matches } - } - } - - /** Traverse to nodes where language does not match any of the regular expressions in `values`. - */ - def languageNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.language).matches }.isEmpty } - } - - /** Traverse to overlays property */ - def overlays: Iterator[String] = - traversal.flatMap(_.overlays) - - /** Traverse to root property */ - def root: Iterator[String] = - traversal.map(_.root) - - /** Traverse to nodes where the root matches the regular expression `value` - */ - def root(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - rootExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.root).matches } - } - - /** Traverse to nodes where the root matches at least one of the regular expressions in `values` - */ - def root(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.root).matches } } - } - - /** Traverse to nodes where root matches `value` exactly. - */ - def rootExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 48, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.root == value } - } - - /** Traverse to nodes where root matches one of the elements in `values` exactly. - */ - def rootExact(values: String*): Iterator[NodeType] = - if (values.length == 1) rootExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.root) } - } - - /** Traverse to nodes where root does not match the regular expression `value`. - */ - def rootNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.root != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.root).matches } - } - } - - /** Traverse to nodes where root does not match any of the regular expressions in `values`. - */ - def rootNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.root).matches }.isEmpty } - } - - /** Traverse to version property */ - def version: Iterator[String] = - traversal.map(_.version) - - /** Traverse to nodes where the version matches the regular expression `value` - */ - def version(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - versionExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.version).matches } - } - - /** Traverse to nodes where the version matches at least one of the regular expressions in `values` - */ - def version(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.version).matches } } - } - - /** Traverse to nodes where version matches `value` exactly. - */ - def versionExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 54, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.version == value } - } - - /** Traverse to nodes where version matches one of the elements in `values` exactly. - */ - def versionExact(values: String*): Iterator[NodeType] = - if (values.length == 1) versionExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.version) } - } - - /** Traverse to nodes where version does not match the regular expression `value`. - */ - def versionNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.version != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.version).matches } - } - } - - /** Traverse to nodes where version does not match any of the regular expressions in `values`. - */ - def versionNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.version).matches }.isEmpty } - } - - } - final class Traversal_MethodBase[NodeType <: nodes.MethodBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to astParentFullName property */ - def astParentFullName: Iterator[String] = - traversal.map(_.astParentFullName) - - /** Traverse to nodes where the astParentFullName matches the regular expression `value` - */ - def astParentFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - astParentFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.astParentFullName).matches } - } - - /** Traverse to nodes where the astParentFullName matches at least one of the regular expressions in `values` - */ - def astParentFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.astParentFullName).matches } } - } - - /** Traverse to nodes where astParentFullName matches `value` exactly. - */ - def astParentFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 3, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.astParentFullName == value } - } - - /** Traverse to nodes where astParentFullName matches one of the elements in `values` exactly. - */ - def astParentFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) astParentFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.astParentFullName) } - } - - /** Traverse to nodes where astParentFullName does not match the regular expression `value`. - */ - def astParentFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.astParentFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.astParentFullName).matches } - } - } - - /** Traverse to nodes where astParentFullName does not match any of the regular expressions in `values`. - */ - def astParentFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.astParentFullName).matches }.isEmpty } - } - - /** Traverse to astParentType property */ - def astParentType: Iterator[String] = - traversal.map(_.astParentType) - - /** Traverse to nodes where the astParentType matches the regular expression `value` - */ - def astParentType(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - astParentTypeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.astParentType).matches } - } - - /** Traverse to nodes where the astParentType matches at least one of the regular expressions in `values` - */ - def astParentType(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.astParentType).matches } } - } - - /** Traverse to nodes where astParentType matches `value` exactly. - */ - def astParentTypeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 4, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.astParentType == value } - } - - /** Traverse to nodes where astParentType matches one of the elements in `values` exactly. - */ - def astParentTypeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) astParentTypeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.astParentType) } - } - - /** Traverse to nodes where astParentType does not match the regular expression `value`. - */ - def astParentTypeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.astParentType != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.astParentType).matches } - } - } - - /** Traverse to nodes where astParentType does not match any of the regular expressions in `values`. - */ - def astParentTypeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.astParentType).matches }.isEmpty } - } - - /** Traverse to columnNumberEnd property */ - def columnNumberEnd: Iterator[Int] = - traversal.flatMap(_.columnNumberEnd) - - /** Traverse to nodes where the columnNumberEnd equals the given `value` - */ - def columnNumberEnd(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the columnNumberEnd equals at least one of the given `values` - */ - def columnNumberEnd(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the columnNumberEnd is not equal to the given `value` - */ - def columnNumberEndNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the columnNumberEnd does not equal any one of the given `values` - */ - def columnNumberEndNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the columnNumberEnd is greater than the given `value` - */ - def columnNumberEndGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the columnNumberEnd is greater than or equal the given `value` - */ - def columnNumberEndGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the columnNumberEnd is less than the given `value` - */ - def columnNumberEndLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the columnNumberEnd is less than or equal the given `value` - */ - def columnNumberEndLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumberEnd; tmp.isDefined && tmp.get <= value - } - - /** Traverse to filename property */ - def filename: Iterator[String] = - traversal.map(_.filename) - - /** Traverse to nodes where the filename matches the regular expression `value` - */ - def filename(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - filenameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.filename).matches } - } - - /** Traverse to nodes where the filename matches at least one of the regular expressions in `values` - */ - def filename(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.filename).matches } } - } - - /** Traverse to nodes where filename matches `value` exactly. - */ - def filenameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 21, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.filename == value } - } - - /** Traverse to nodes where filename matches one of the elements in `values` exactly. - */ - def filenameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) filenameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.filename) } - } - - /** Traverse to nodes where filename does not match the regular expression `value`. - */ - def filenameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.filename != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.filename).matches } - } - } - - /** Traverse to nodes where filename does not match any of the regular expressions in `values`. - */ - def filenameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.filename).matches }.isEmpty } - } - - /** Traverse to fullName property */ - def fullName: Iterator[String] = - traversal.map(_.fullName) - - /** Traverse to nodes where the fullName matches the regular expression `value` - */ - def fullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - fullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.fullName).matches } - } - - /** Traverse to nodes where the fullName matches at least one of the regular expressions in `values` - */ - def fullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.fullName).matches } } - } - - /** Traverse to nodes where fullName matches `value` exactly. - */ - def fullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 22, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.fullName == value } - } - - /** Traverse to nodes where fullName matches one of the elements in `values` exactly. - */ - def fullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) fullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.fullName) } - } - - /** Traverse to nodes where fullName does not match the regular expression `value`. - */ - def fullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.fullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.fullName).matches } - } - } - - /** Traverse to nodes where fullName does not match any of the regular expressions in `values`. - */ - def fullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.fullName).matches }.isEmpty } - } - - /** Traverse to hash property */ - def hash: Iterator[String] = - traversal.flatMap(_.hash) - - /** Traverse to nodes where the hash matches the regular expression `value` - */ - def hash(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - hashExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the hash matches at least one of the regular expressions in `values` - */ - def hash(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where hash matches `value` exactly. - */ - def hashExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 23, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.hash; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where hash matches one of the elements in `values` exactly. - */ - def hashExact(values: String*): Iterator[NodeType] = - if (values.length == 1) hashExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.hash; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where hash does not match the regular expression `value`. - */ - def hashNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.hash.isEmpty || node.hash.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.hash; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where hash does not match any of the regular expressions in `values`. - */ - def hashNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.hash; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to isExternal property */ - def isExternal: Iterator[Boolean] = - traversal.map(_.isExternal) - - /** Traverse to nodes where the isExternal equals the given `value` - */ - def isExternal(value: Boolean): Iterator[NodeType] = - traversal.filter { _.isExternal == value } - - /** Traverse to lineNumberEnd property */ - def lineNumberEnd: Iterator[Int] = - traversal.flatMap(_.lineNumberEnd) - - /** Traverse to nodes where the lineNumberEnd equals the given `value` - */ - def lineNumberEnd(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the lineNumberEnd equals at least one of the given `values` - */ - def lineNumberEnd(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the lineNumberEnd is not equal to the given `value` - */ - def lineNumberEndNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the lineNumberEnd does not equal any one of the given `values` - */ - def lineNumberEndNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the lineNumberEnd is greater than the given `value` - */ - def lineNumberEndGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the lineNumberEnd is greater than or equal the given `value` - */ - def lineNumberEndGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the lineNumberEnd is less than the given `value` - */ - def lineNumberEndLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the lineNumberEnd is less than or equal the given `value` - */ - def lineNumberEndLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumberEnd; tmp.isDefined && tmp.get <= value - } - - /** Traverse to offset property */ - def offset: Iterator[Int] = - traversal.flatMap(_.offset) - - /** Traverse to nodes where the offset equals the given `value` - */ - def offset(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the offset equals at least one of the given `values` - */ - def offset(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offset is not equal to the given `value` - */ - def offsetNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the offset does not equal any one of the given `values` - */ - def offsetNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offset; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offset is greater than the given `value` - */ - def offsetGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the offset is greater than or equal the given `value` - */ - def offsetGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the offset is less than the given `value` - */ - def offsetLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the offset is less than or equal the given `value` - */ - def offsetLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get <= value - } - - /** Traverse to offsetEnd property */ - def offsetEnd: Iterator[Int] = - traversal.flatMap(_.offsetEnd) - - /** Traverse to nodes where the offsetEnd equals the given `value` - */ - def offsetEnd(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the offsetEnd equals at least one of the given `values` - */ - def offsetEnd(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offsetEnd is not equal to the given `value` - */ - def offsetEndNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the offsetEnd does not equal any one of the given `values` - */ - def offsetEndNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offsetEnd is greater than the given `value` - */ - def offsetEndGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the offsetEnd is greater than or equal the given `value` - */ - def offsetEndGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the offsetEnd is less than the given `value` - */ - def offsetEndLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the offsetEnd is less than or equal the given `value` - */ - def offsetEndLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get <= value - } - - /** Traverse to signature property */ - def signature: Iterator[String] = - traversal.map(_.signature) - - /** Traverse to nodes where the signature matches the regular expression `value` - */ - def signature(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - signatureExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.signature).matches } - } - - /** Traverse to nodes where the signature matches at least one of the regular expressions in `values` - */ - def signature(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.signature).matches } } - } - - /** Traverse to nodes where signature matches `value` exactly. - */ - def signatureExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 49, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.signature == value } - } - - /** Traverse to nodes where signature matches one of the elements in `values` exactly. - */ - def signatureExact(values: String*): Iterator[NodeType] = - if (values.length == 1) signatureExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.signature) } - } - - /** Traverse to nodes where signature does not match the regular expression `value`. - */ - def signatureNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.signature != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.signature).matches } - } - } - - /** Traverse to nodes where signature does not match any of the regular expressions in `values`. - */ - def signatureNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.signature).matches }.isEmpty } - } - - } - final class Traversal_MethodParameterInBase[NodeType <: nodes.MethodParameterInBase]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to closureBindingId property */ - def closureBindingId: Iterator[String] = - traversal.flatMap(_.closureBindingId) - - /** Traverse to nodes where the closureBindingId matches the regular expression `value` - */ - def closureBindingId(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - closureBindingIdExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the closureBindingId matches at least one of the regular expressions in `values` - */ - def closureBindingId(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where closureBindingId matches `value` exactly. - */ - def closureBindingIdExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 8, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.closureBindingId; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where closureBindingId matches one of the elements in `values` exactly. - */ - def closureBindingIdExact(values: String*): Iterator[NodeType] = - if (values.length == 1) closureBindingIdExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.closureBindingId; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where closureBindingId does not match the regular expression `value`. - */ - def closureBindingIdNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.closureBindingId.isEmpty || node.closureBindingId.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.closureBindingId; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where closureBindingId does not match any of the regular expressions in `values`. - */ - def closureBindingIdNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.closureBindingId; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - /** Traverse to evaluationStrategy property */ - def evaluationStrategy: Iterator[String] = - traversal.map(_.evaluationStrategy) - - /** Traverse to nodes where the evaluationStrategy matches the regular expression `value` - */ - def evaluationStrategy(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - evaluationStrategyExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.evaluationStrategy).matches } - } - - /** Traverse to nodes where the evaluationStrategy matches at least one of the regular expressions in `values` - */ - def evaluationStrategy(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.evaluationStrategy).matches } } - } - - /** Traverse to nodes where evaluationStrategy matches `value` exactly. - */ - def evaluationStrategyExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 19, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.evaluationStrategy == value } - } - - /** Traverse to nodes where evaluationStrategy matches one of the elements in `values` exactly. - */ - def evaluationStrategyExact(values: String*): Iterator[NodeType] = - if (values.length == 1) evaluationStrategyExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.evaluationStrategy) } - } - - /** Traverse to nodes where evaluationStrategy does not match the regular expression `value`. - */ - def evaluationStrategyNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.evaluationStrategy != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.evaluationStrategy).matches } - } - } - - /** Traverse to nodes where evaluationStrategy does not match any of the regular expressions in `values`. - */ - def evaluationStrategyNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.evaluationStrategy).matches }.isEmpty } - } - - /** Traverse to index property */ - def index: Iterator[Int] = - traversal.map(_.index) - - /** Traverse to nodes where the index equals the given `value` - */ - def index(value: Int): Iterator[NodeType] = - traversal.filter { _.index == value } - - /** Traverse to nodes where the index equals at least one of the given `values` - */ - def index(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => vset.contains(node.index) } - } - - /** Traverse to nodes where the index is not equal to the given `value` - */ - def indexNot(value: Int): Iterator[NodeType] = - traversal.filter { _.index != value } - - /** Traverse to nodes where the index is not equal to any of the given `values` - */ - def indexNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => !vset.contains(node.index) } - } - - /** Traverse to nodes where the index is greater than the given `value` - */ - def indexGt(value: Int): Iterator[NodeType] = - traversal.filter { _.index > value } - - /** Traverse to nodes where the index is greater than or equal the given `value` - */ - def indexGte(value: Int): Iterator[NodeType] = - traversal.filter { _.index >= value } - - /** Traverse to nodes where the index is less than the given `value` - */ - def indexLt(value: Int): Iterator[NodeType] = - traversal.filter { _.index < value } - - /** Traverse to nodes where the index is less than or equal the given `value` - */ - def indexLte(value: Int): Iterator[NodeType] = - traversal.filter { _.index <= value } - - /** Traverse to isVariadic property */ - def isVariadic: Iterator[Boolean] = - traversal.map(_.isVariadic) - - /** Traverse to nodes where the isVariadic equals the given `value` - */ - def isVariadic(value: Boolean): Iterator[NodeType] = - traversal.filter { _.isVariadic == value } - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_MethodParameterOutBase[NodeType <: nodes.MethodParameterOutBase]( - val traversal: Iterator[NodeType] - ) extends AnyVal { - - /** Traverse to evaluationStrategy property */ - def evaluationStrategy: Iterator[String] = - traversal.map(_.evaluationStrategy) - - /** Traverse to nodes where the evaluationStrategy matches the regular expression `value` - */ - def evaluationStrategy(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - evaluationStrategyExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.evaluationStrategy).matches } - } - - /** Traverse to nodes where the evaluationStrategy matches at least one of the regular expressions in `values` - */ - def evaluationStrategy(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.evaluationStrategy).matches } } - } - - /** Traverse to nodes where evaluationStrategy matches `value` exactly. - */ - def evaluationStrategyExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 19, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.evaluationStrategy == value } - } - - /** Traverse to nodes where evaluationStrategy matches one of the elements in `values` exactly. - */ - def evaluationStrategyExact(values: String*): Iterator[NodeType] = - if (values.length == 1) evaluationStrategyExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.evaluationStrategy) } - } - - /** Traverse to nodes where evaluationStrategy does not match the regular expression `value`. - */ - def evaluationStrategyNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.evaluationStrategy != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.evaluationStrategy).matches } - } - } - - /** Traverse to nodes where evaluationStrategy does not match any of the regular expressions in `values`. - */ - def evaluationStrategyNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.evaluationStrategy).matches }.isEmpty } - } - - /** Traverse to index property */ - def index: Iterator[Int] = - traversal.map(_.index) - - /** Traverse to nodes where the index equals the given `value` - */ - def index(value: Int): Iterator[NodeType] = - traversal.filter { _.index == value } - - /** Traverse to nodes where the index equals at least one of the given `values` - */ - def index(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => vset.contains(node.index) } - } - - /** Traverse to nodes where the index is not equal to the given `value` - */ - def indexNot(value: Int): Iterator[NodeType] = - traversal.filter { _.index != value } - - /** Traverse to nodes where the index is not equal to any of the given `values` - */ - def indexNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => !vset.contains(node.index) } - } - - /** Traverse to nodes where the index is greater than the given `value` - */ - def indexGt(value: Int): Iterator[NodeType] = - traversal.filter { _.index > value } - - /** Traverse to nodes where the index is greater than or equal the given `value` - */ - def indexGte(value: Int): Iterator[NodeType] = - traversal.filter { _.index >= value } - - /** Traverse to nodes where the index is less than the given `value` - */ - def indexLt(value: Int): Iterator[NodeType] = - traversal.filter { _.index < value } - - /** Traverse to nodes where the index is less than or equal the given `value` - */ - def indexLte(value: Int): Iterator[NodeType] = - traversal.filter { _.index <= value } - - /** Traverse to isVariadic property */ - def isVariadic: Iterator[Boolean] = - traversal.map(_.isVariadic) - - /** Traverse to nodes where the isVariadic equals the given `value` - */ - def isVariadic(value: Boolean): Iterator[NodeType] = - traversal.filter { _.isVariadic == value } - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_MethodRefBase[NodeType <: nodes.MethodRefBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - /** Traverse to methodFullName property */ - def methodFullName: Iterator[String] = - traversal.map(_.methodFullName) - - /** Traverse to nodes where the methodFullName matches the regular expression `value` - */ - def methodFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - methodFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.methodFullName).matches } - } - - /** Traverse to nodes where the methodFullName matches at least one of the regular expressions in `values` - */ - def methodFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.methodFullName).matches } } - } - - /** Traverse to nodes where methodFullName matches `value` exactly. - */ - def methodFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 36, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.methodFullName == value } - } - - /** Traverse to nodes where methodFullName matches one of the elements in `values` exactly. - */ - def methodFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) methodFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.methodFullName) } - } - - /** Traverse to nodes where methodFullName does not match the regular expression `value`. - */ - def methodFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.methodFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.methodFullName).matches } - } - } - - /** Traverse to nodes where methodFullName does not match any of the regular expressions in `values`. - */ - def methodFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.methodFullName).matches }.isEmpty } - } - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_MethodReturnBase[NodeType <: nodes.MethodReturnBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - /** Traverse to evaluationStrategy property */ - def evaluationStrategy: Iterator[String] = - traversal.map(_.evaluationStrategy) - - /** Traverse to nodes where the evaluationStrategy matches the regular expression `value` - */ - def evaluationStrategy(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - evaluationStrategyExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.evaluationStrategy).matches } - } - - /** Traverse to nodes where the evaluationStrategy matches at least one of the regular expressions in `values` - */ - def evaluationStrategy(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.evaluationStrategy).matches } } - } - - /** Traverse to nodes where evaluationStrategy matches `value` exactly. - */ - def evaluationStrategyExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 19, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.evaluationStrategy == value } - } - - /** Traverse to nodes where evaluationStrategy matches one of the elements in `values` exactly. - */ - def evaluationStrategyExact(values: String*): Iterator[NodeType] = - if (values.length == 1) evaluationStrategyExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.evaluationStrategy) } - } - - /** Traverse to nodes where evaluationStrategy does not match the regular expression `value`. - */ - def evaluationStrategyNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.evaluationStrategy != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.evaluationStrategy).matches } - } - } - - /** Traverse to nodes where evaluationStrategy does not match any of the regular expressions in `values`. - */ - def evaluationStrategyNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.evaluationStrategy).matches }.isEmpty } - } - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_ModifierBase[NodeType <: nodes.ModifierBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to modifierType property */ - def modifierType: Iterator[String] = - traversal.map(_.modifierType) - - /** Traverse to nodes where the modifierType matches the regular expression `value` - */ - def modifierType(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - modifierTypeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.modifierType).matches } - } - - /** Traverse to nodes where the modifierType matches at least one of the regular expressions in `values` - */ - def modifierType(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.modifierType).matches } } - } - - /** Traverse to nodes where modifierType matches `value` exactly. - */ - def modifierTypeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 38, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.modifierType == value } - } - - /** Traverse to nodes where modifierType matches one of the elements in `values` exactly. - */ - def modifierTypeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) modifierTypeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.modifierType) } - } - - /** Traverse to nodes where modifierType does not match the regular expression `value`. - */ - def modifierTypeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.modifierType != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.modifierType).matches } - } - } - - /** Traverse to nodes where modifierType does not match any of the regular expressions in `values`. - */ - def modifierTypeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.modifierType).matches }.isEmpty } - } - - } - final class Traversal_NamespaceBase[NodeType <: nodes.NamespaceBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - } - final class Traversal_NamespaceBlockBase[NodeType <: nodes.NamespaceBlockBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to filename property */ - def filename: Iterator[String] = - traversal.map(_.filename) - - /** Traverse to nodes where the filename matches the regular expression `value` - */ - def filename(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - filenameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.filename).matches } - } - - /** Traverse to nodes where the filename matches at least one of the regular expressions in `values` - */ - def filename(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.filename).matches } } - } - - /** Traverse to nodes where filename matches `value` exactly. - */ - def filenameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 21, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.filename == value } - } - - /** Traverse to nodes where filename matches one of the elements in `values` exactly. - */ - def filenameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) filenameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.filename) } - } - - /** Traverse to nodes where filename does not match the regular expression `value`. - */ - def filenameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.filename != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.filename).matches } - } - } - - /** Traverse to nodes where filename does not match any of the regular expressions in `values`. - */ - def filenameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.filename).matches }.isEmpty } - } - - /** Traverse to fullName property */ - def fullName: Iterator[String] = - traversal.map(_.fullName) - - /** Traverse to nodes where the fullName matches the regular expression `value` - */ - def fullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - fullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.fullName).matches } - } - - /** Traverse to nodes where the fullName matches at least one of the regular expressions in `values` - */ - def fullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.fullName).matches } } - } - - /** Traverse to nodes where fullName matches `value` exactly. - */ - def fullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 22, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.fullName == value } - } - - /** Traverse to nodes where fullName matches one of the elements in `values` exactly. - */ - def fullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) fullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.fullName) } - } - - /** Traverse to nodes where fullName does not match the regular expression `value`. - */ - def fullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.fullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.fullName).matches } - } - } - - /** Traverse to nodes where fullName does not match any of the regular expressions in `values`. - */ - def fullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.fullName).matches }.isEmpty } - } - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - } - final class Traversal_ReturnBase[NodeType <: nodes.ReturnBase](val traversal: Iterator[NodeType]) extends AnyVal {} - final class Traversal_TagBase[NodeType <: nodes.TagBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - /** Traverse to value property */ - def value: Iterator[String] = - traversal.map(_.value) - - /** Traverse to nodes where the value matches the regular expression `value` - */ - def value(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - valueExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.value).matches } - } - - /** Traverse to nodes where the value matches at least one of the regular expressions in `values` - */ - def value(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.value).matches } } - } - - /** Traverse to nodes where value matches `value` exactly. - */ - def valueExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 53, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.value == value } - } - - /** Traverse to nodes where value matches one of the elements in `values` exactly. - */ - def valueExact(values: String*): Iterator[NodeType] = - if (values.length == 1) valueExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.value) } - } - - /** Traverse to nodes where value does not match the regular expression `value`. - */ - def valueNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.value != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.value).matches } - } - } - - /** Traverse to nodes where value does not match any of the regular expressions in `values`. - */ - def valueNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.value).matches }.isEmpty } - } - - } - final class Traversal_TagNodePairBase[NodeType <: nodes.TagNodePairBase](val traversal: Iterator[NodeType]) - extends AnyVal {} - final class Traversal_TemplateDomBase[NodeType <: nodes.TemplateDomBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - } - final class Traversal_TypeBase[NodeType <: nodes.TypeBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to fullName property */ - def fullName: Iterator[String] = - traversal.map(_.fullName) - - /** Traverse to nodes where the fullName matches the regular expression `value` - */ - def fullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - fullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.fullName).matches } - } - - /** Traverse to nodes where the fullName matches at least one of the regular expressions in `values` - */ - def fullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.fullName).matches } } - } - - /** Traverse to nodes where fullName matches `value` exactly. - */ - def fullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 22, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.fullName == value } - } - - /** Traverse to nodes where fullName matches one of the elements in `values` exactly. - */ - def fullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) fullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.fullName) } - } - - /** Traverse to nodes where fullName does not match the regular expression `value`. - */ - def fullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.fullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.fullName).matches } - } - } - - /** Traverse to nodes where fullName does not match any of the regular expressions in `values`. - */ - def fullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.fullName).matches }.isEmpty } - } - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - /** Traverse to typeDeclFullName property */ - def typeDeclFullName: Iterator[String] = - traversal.map(_.typeDeclFullName) - - /** Traverse to nodes where the typeDeclFullName matches the regular expression `value` - */ - def typeDeclFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeDeclFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeDeclFullName).matches } - } - - /** Traverse to nodes where the typeDeclFullName matches at least one of the regular expressions in `values` - */ - def typeDeclFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeDeclFullName).matches } } - } - - /** Traverse to nodes where typeDeclFullName matches `value` exactly. - */ - def typeDeclFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 51, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeDeclFullName == value } - } - - /** Traverse to nodes where typeDeclFullName matches one of the elements in `values` exactly. - */ - def typeDeclFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeDeclFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeDeclFullName) } - } - - /** Traverse to nodes where typeDeclFullName does not match the regular expression `value`. - */ - def typeDeclFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeDeclFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeDeclFullName).matches } - } - } - - /** Traverse to nodes where typeDeclFullName does not match any of the regular expressions in `values`. - */ - def typeDeclFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeDeclFullName).matches }.isEmpty } - } - - } - final class Traversal_TypeArgumentBase[NodeType <: nodes.TypeArgumentBase](val traversal: Iterator[NodeType]) - extends AnyVal {} - final class Traversal_TypeDeclBase[NodeType <: nodes.TypeDeclBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to aliasTypeFullName property */ - def aliasTypeFullName: Iterator[String] = - traversal.flatMap(_.aliasTypeFullName) - - /** Traverse to nodes where the aliasTypeFullName matches the regular expression `value` - */ - def aliasTypeFullName(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - aliasTypeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.aliasTypeFullName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the aliasTypeFullName matches at least one of the regular expressions in `values` - */ - def aliasTypeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.aliasTypeFullName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where aliasTypeFullName matches `value` exactly. - */ - def aliasTypeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 0, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.aliasTypeFullName; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where aliasTypeFullName matches one of the elements in `values` exactly. - */ - def aliasTypeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) aliasTypeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.aliasTypeFullName; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where aliasTypeFullName does not match the regular expression `value`. - */ - def aliasTypeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.aliasTypeFullName.isEmpty || node.aliasTypeFullName.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.aliasTypeFullName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where aliasTypeFullName does not match any of the regular expressions in `values`. - */ - def aliasTypeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.aliasTypeFullName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to astParentFullName property */ - def astParentFullName: Iterator[String] = - traversal.map(_.astParentFullName) - - /** Traverse to nodes where the astParentFullName matches the regular expression `value` - */ - def astParentFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - astParentFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.astParentFullName).matches } - } - - /** Traverse to nodes where the astParentFullName matches at least one of the regular expressions in `values` - */ - def astParentFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.astParentFullName).matches } } - } - - /** Traverse to nodes where astParentFullName matches `value` exactly. - */ - def astParentFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 3, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.astParentFullName == value } - } - - /** Traverse to nodes where astParentFullName matches one of the elements in `values` exactly. - */ - def astParentFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) astParentFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.astParentFullName) } - } - - /** Traverse to nodes where astParentFullName does not match the regular expression `value`. - */ - def astParentFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.astParentFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.astParentFullName).matches } - } - } - - /** Traverse to nodes where astParentFullName does not match any of the regular expressions in `values`. - */ - def astParentFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.astParentFullName).matches }.isEmpty } - } - - /** Traverse to astParentType property */ - def astParentType: Iterator[String] = - traversal.map(_.astParentType) - - /** Traverse to nodes where the astParentType matches the regular expression `value` - */ - def astParentType(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - astParentTypeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.astParentType).matches } - } - - /** Traverse to nodes where the astParentType matches at least one of the regular expressions in `values` - */ - def astParentType(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.astParentType).matches } } - } - - /** Traverse to nodes where astParentType matches `value` exactly. - */ - def astParentTypeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 4, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.astParentType == value } - } - - /** Traverse to nodes where astParentType matches one of the elements in `values` exactly. - */ - def astParentTypeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) astParentTypeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.astParentType) } - } - - /** Traverse to nodes where astParentType does not match the regular expression `value`. - */ - def astParentTypeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.astParentType != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.astParentType).matches } - } - } - - /** Traverse to nodes where astParentType does not match any of the regular expressions in `values`. - */ - def astParentTypeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.astParentType).matches }.isEmpty } - } - - /** Traverse to filename property */ - def filename: Iterator[String] = - traversal.map(_.filename) - - /** Traverse to nodes where the filename matches the regular expression `value` - */ - def filename(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - filenameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.filename).matches } - } - - /** Traverse to nodes where the filename matches at least one of the regular expressions in `values` - */ - def filename(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.filename).matches } } - } - - /** Traverse to nodes where filename matches `value` exactly. - */ - def filenameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 21, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.filename == value } - } - - /** Traverse to nodes where filename matches one of the elements in `values` exactly. - */ - def filenameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) filenameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.filename) } - } - - /** Traverse to nodes where filename does not match the regular expression `value`. - */ - def filenameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.filename != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.filename).matches } - } - } - - /** Traverse to nodes where filename does not match any of the regular expressions in `values`. - */ - def filenameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.filename).matches }.isEmpty } - } - - /** Traverse to fullName property */ - def fullName: Iterator[String] = - traversal.map(_.fullName) - - /** Traverse to nodes where the fullName matches the regular expression `value` - */ - def fullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - fullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.fullName).matches } - } - - /** Traverse to nodes where the fullName matches at least one of the regular expressions in `values` - */ - def fullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.fullName).matches } } - } - - /** Traverse to nodes where fullName matches `value` exactly. - */ - def fullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 22, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.fullName == value } - } - - /** Traverse to nodes where fullName matches one of the elements in `values` exactly. - */ - def fullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) fullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.fullName) } - } - - /** Traverse to nodes where fullName does not match the regular expression `value`. - */ - def fullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.fullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.fullName).matches } - } - } - - /** Traverse to nodes where fullName does not match any of the regular expressions in `values`. - */ - def fullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.fullName).matches }.isEmpty } - } - - /** Traverse to inheritsFromTypeFullName property */ - def inheritsFromTypeFullName: Iterator[String] = - traversal.flatMap(_.inheritsFromTypeFullName) - - /** Traverse to isExternal property */ - def isExternal: Iterator[Boolean] = - traversal.map(_.isExternal) - - /** Traverse to nodes where the isExternal equals the given `value` - */ - def isExternal(value: Boolean): Iterator[NodeType] = - traversal.filter { _.isExternal == value } - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - /** Traverse to offset property */ - def offset: Iterator[Int] = - traversal.flatMap(_.offset) - - /** Traverse to nodes where the offset equals the given `value` - */ - def offset(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the offset equals at least one of the given `values` - */ - def offset(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offset is not equal to the given `value` - */ - def offsetNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the offset does not equal any one of the given `values` - */ - def offsetNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offset; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offset is greater than the given `value` - */ - def offsetGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the offset is greater than or equal the given `value` - */ - def offsetGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the offset is less than the given `value` - */ - def offsetLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the offset is less than or equal the given `value` - */ - def offsetLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offset; tmp.isDefined && tmp.get <= value - } - - /** Traverse to offsetEnd property */ - def offsetEnd: Iterator[Int] = - traversal.flatMap(_.offsetEnd) - - /** Traverse to nodes where the offsetEnd equals the given `value` - */ - def offsetEnd(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the offsetEnd equals at least one of the given `values` - */ - def offsetEnd(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offsetEnd is not equal to the given `value` - */ - def offsetEndNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the offsetEnd does not equal any one of the given `values` - */ - def offsetEndNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the offsetEnd is greater than the given `value` - */ - def offsetEndGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the offsetEnd is greater than or equal the given `value` - */ - def offsetEndGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the offsetEnd is less than the given `value` - */ - def offsetEndLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the offsetEnd is less than or equal the given `value` - */ - def offsetEndLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.offsetEnd; tmp.isDefined && tmp.get <= value - } - - } - final class Traversal_TypeParameterBase[NodeType <: nodes.TypeParameterBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - } - final class Traversal_TypeRefBase[NodeType <: nodes.TypeRefBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_UnknownBase[NodeType <: nodes.UnknownBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to containedRef property */ - def containedRef: Iterator[String] = - traversal.map(_.containedRef) - - /** Traverse to nodes where the containedRef matches the regular expression `value` - */ - def containedRef(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - containedRefExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.containedRef).matches } - } - - /** Traverse to nodes where the containedRef matches at least one of the regular expressions in `values` - */ - def containedRef(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.containedRef).matches } } - } - - /** Traverse to nodes where containedRef matches `value` exactly. - */ - def containedRefExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 13, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.containedRef == value } - } - - /** Traverse to nodes where containedRef matches one of the elements in `values` exactly. - */ - def containedRefExact(values: String*): Iterator[NodeType] = - if (values.length == 1) containedRefExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.containedRef) } - } - - /** Traverse to nodes where containedRef does not match the regular expression `value`. - */ - def containedRefNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.containedRef != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.containedRef).matches } - } - } - - /** Traverse to nodes where containedRef does not match any of the regular expressions in `values`. - */ - def containedRefNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.containedRef).matches }.isEmpty } - } - - /** Traverse to dynamicTypeHintFullName property */ - def dynamicTypeHintFullName: Iterator[String] = - traversal.flatMap(_.dynamicTypeHintFullName) - - /** Traverse to parserTypeName property */ - def parserTypeName: Iterator[String] = - traversal.map(_.parserTypeName) - - /** Traverse to nodes where the parserTypeName matches the regular expression `value` - */ - def parserTypeName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - parserTypeNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.parserTypeName).matches } - } - - /** Traverse to nodes where the parserTypeName matches at least one of the regular expressions in `values` - */ - def parserTypeName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.parserTypeName).matches } } - } - - /** Traverse to nodes where parserTypeName matches `value` exactly. - */ - def parserTypeNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 46, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.parserTypeName == value } - } - - /** Traverse to nodes where parserTypeName matches one of the elements in `values` exactly. - */ - def parserTypeNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) parserTypeNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.parserTypeName) } - } - - /** Traverse to nodes where parserTypeName does not match the regular expression `value`. - */ - def parserTypeNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.parserTypeName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.parserTypeName).matches } - } - } - - /** Traverse to nodes where parserTypeName does not match any of the regular expressions in `values`. - */ - def parserTypeNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.parserTypeName).matches }.isEmpty } - } - - /** Traverse to possibleTypes property */ - def possibleTypes: Iterator[String] = - traversal.flatMap(_.possibleTypes) - - /** Traverse to typeFullName property */ - def typeFullName: Iterator[String] = - traversal.map(_.typeFullName) - - /** Traverse to nodes where the typeFullName matches the regular expression `value` - */ - def typeFullName(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - typeFullNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.typeFullName).matches } - } - - /** Traverse to nodes where the typeFullName matches at least one of the regular expressions in `values` - */ - def typeFullName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.typeFullName).matches } } - } - - /** Traverse to nodes where typeFullName matches `value` exactly. - */ - def typeFullNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 52, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.typeFullName == value } - } - - /** Traverse to nodes where typeFullName matches one of the elements in `values` exactly. - */ - def typeFullNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) typeFullNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.typeFullName) } - } - - /** Traverse to nodes where typeFullName does not match the regular expression `value`. - */ - def typeFullNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.typeFullName != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.typeFullName).matches } - } - } - - /** Traverse to nodes where typeFullName does not match any of the regular expressions in `values`. - */ - def typeFullNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.typeFullName).matches }.isEmpty } - } - - } - final class Traversal_AstNodeBase[NodeType <: nodes.AstNodeBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to code property */ - def code: Iterator[String] = - traversal.map(_.code) - - /** Traverse to nodes where the code matches the regular expression `value` - */ - def code(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - codeExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.code).matches } - } - - /** Traverse to nodes where the code matches at least one of the regular expressions in `values` - */ - def code(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.code).matches } } - } - - /** Traverse to nodes where code matches `value` exactly. - */ - def codeExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 10, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.code == value } - } - - /** Traverse to nodes where code matches one of the elements in `values` exactly. - */ - def codeExact(values: String*): Iterator[NodeType] = - if (values.length == 1) codeExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.code) } - } - - /** Traverse to nodes where code does not match the regular expression `value`. - */ - def codeNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.code != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.code).matches } - } - } - - /** Traverse to nodes where code does not match any of the regular expressions in `values`. - */ - def codeNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.code).matches }.isEmpty } - } - - /** Traverse to columnNumber property */ - def columnNumber: Iterator[Int] = - traversal.flatMap(_.columnNumber) - - /** Traverse to nodes where the columnNumber equals the given `value` - */ - def columnNumber(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the columnNumber equals at least one of the given `values` - */ - def columnNumber(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the columnNumber is not equal to the given `value` - */ - def columnNumberNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the columnNumber does not equal any one of the given `values` - */ - def columnNumberNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.columnNumber; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the columnNumber is greater than the given `value` - */ - def columnNumberGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the columnNumber is greater than or equal the given `value` - */ - def columnNumberGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the columnNumber is less than the given `value` - */ - def columnNumberLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the columnNumber is less than or equal the given `value` - */ - def columnNumberLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.columnNumber; tmp.isDefined && tmp.get <= value - } - - /** Traverse to lineNumber property */ - def lineNumber: Iterator[Int] = - traversal.flatMap(_.lineNumber) - - /** Traverse to nodes where the lineNumber equals the given `value` - */ - def lineNumber(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get == value - } - - /** Traverse to nodes where the lineNumber equals at least one of the given `values` - */ - def lineNumber(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the lineNumber is not equal to the given `value` - */ - def lineNumberNot(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isEmpty || tmp.get != value - } - - /** Traverse to nodes where the lineNumber does not equal any one of the given `values` - */ - def lineNumberNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => - val tmp = node.lineNumber; tmp.isEmpty || !vset.contains(tmp.get) - } - } - - /** Traverse to nodes where the lineNumber is greater than the given `value` - */ - def lineNumberGt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get > value - } - - /** Traverse to nodes where the lineNumber is greater than or equal the given `value` - */ - def lineNumberGte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get >= value - } - - /** Traverse to nodes where the lineNumber is less than the given `value` - */ - def lineNumberLt(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get < value - } - - /** Traverse to nodes where the lineNumber is less than or equal the given `value` - */ - def lineNumberLte(value: Int): Iterator[NodeType] = - traversal.filter { node => - val tmp = node.lineNumber; tmp.isDefined && tmp.get <= value - } - - /** Traverse to order property */ - def order: Iterator[Int] = - traversal.map(_.order) - - /** Traverse to nodes where the order equals the given `value` - */ - def order(value: Int): Iterator[NodeType] = - traversal.filter { _.order == value } - - /** Traverse to nodes where the order equals at least one of the given `values` - */ - def order(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => vset.contains(node.order) } - } - - /** Traverse to nodes where the order is not equal to the given `value` - */ - def orderNot(value: Int): Iterator[NodeType] = - traversal.filter { _.order != value } - - /** Traverse to nodes where the order is not equal to any of the given `values` - */ - def orderNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => !vset.contains(node.order) } - } - - /** Traverse to nodes where the order is greater than the given `value` - */ - def orderGt(value: Int): Iterator[NodeType] = - traversal.filter { _.order > value } - - /** Traverse to nodes where the order is greater than or equal the given `value` - */ - def orderGte(value: Int): Iterator[NodeType] = - traversal.filter { _.order >= value } - - /** Traverse to nodes where the order is less than the given `value` - */ - def orderLt(value: Int): Iterator[NodeType] = - traversal.filter { _.order < value } - - /** Traverse to nodes where the order is less than or equal the given `value` - */ - def orderLte(value: Int): Iterator[NodeType] = - traversal.filter { _.order <= value } - - } - final class Traversal_CallReprBase[NodeType <: nodes.CallReprBase](val traversal: Iterator[NodeType]) extends AnyVal { - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - /** Traverse to signature property */ - def signature: Iterator[String] = - traversal.map(_.signature) - - /** Traverse to nodes where the signature matches the regular expression `value` - */ - def signature(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - signatureExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.signature).matches } - } - - /** Traverse to nodes where the signature matches at least one of the regular expressions in `values` - */ - def signature(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.signature).matches } } - } - - /** Traverse to nodes where signature matches `value` exactly. - */ - def signatureExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 49, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.signature == value } - } - - /** Traverse to nodes where signature matches one of the elements in `values` exactly. - */ - def signatureExact(values: String*): Iterator[NodeType] = - if (values.length == 1) signatureExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.signature) } - } - - /** Traverse to nodes where signature does not match the regular expression `value`. - */ - def signatureNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.signature != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.signature).matches } - } - } - - /** Traverse to nodes where signature does not match any of the regular expressions in `values`. - */ - def signatureNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.signature).matches }.isEmpty } - } - - } - final class Traversal_CfgNodeBase[NodeType <: nodes.CfgNodeBase](val traversal: Iterator[NodeType]) extends AnyVal {} - final class Traversal_ExpressionBase[NodeType <: nodes.ExpressionBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to argumentIndex property */ - def argumentIndex: Iterator[Int] = - traversal.map(_.argumentIndex) - - /** Traverse to nodes where the argumentIndex equals the given `value` - */ - def argumentIndex(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex == value } - - /** Traverse to nodes where the argumentIndex equals at least one of the given `values` - */ - def argumentIndex(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => vset.contains(node.argumentIndex) } - } - - /** Traverse to nodes where the argumentIndex is not equal to the given `value` - */ - def argumentIndexNot(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex != value } - - /** Traverse to nodes where the argumentIndex is not equal to any of the given `values` - */ - def argumentIndexNot(values: Int*): Iterator[NodeType] = { - val vset = values.toSet - traversal.filter { node => !vset.contains(node.argumentIndex) } - } - - /** Traverse to nodes where the argumentIndex is greater than the given `value` - */ - def argumentIndexGt(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex > value } - - /** Traverse to nodes where the argumentIndex is greater than or equal the given `value` - */ - def argumentIndexGte(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex >= value } - - /** Traverse to nodes where the argumentIndex is less than the given `value` - */ - def argumentIndexLt(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex < value } - - /** Traverse to nodes where the argumentIndex is less than or equal the given `value` - */ - def argumentIndexLte(value: Int): Iterator[NodeType] = - traversal.filter { _.argumentIndex <= value } - - /** Traverse to argumentName property */ - def argumentName: Iterator[String] = - traversal.flatMap(_.argumentName) - - /** Traverse to nodes where the argumentName matches the regular expression `value` - */ - def argumentName(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - argumentNameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => - val tmp = item.argumentName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where the argumentName matches at least one of the regular expressions in `values` - */ - def argumentName(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => - val tmp = item.argumentName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - /** Traverse to nodes where argumentName matches `value` exactly. - */ - def argumentNameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 2, value) - .asInstanceOf[Iterator[NodeType]] - case _ => - traversal.filter { node => - val tmp = node.argumentName; tmp.isDefined && tmp.get == value - } - } - - /** Traverse to nodes where argumentName matches one of the elements in `values` exactly. - */ - def argumentNameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) argumentNameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => - val tmp = item.argumentName; tmp.isDefined && valueSet.contains(tmp.get) - } - } - - /** Traverse to nodes where argumentName does not match the regular expression `value`. - */ - def argumentNameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.argumentName.isEmpty || node.argumentName.get != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => - val tmp = item.argumentName; tmp.isDefined && matcher.reset(tmp.get).matches - } - } - } - - /** Traverse to nodes where argumentName does not match any of the regular expressions in `values`. - */ - def argumentNameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filterNot { item => - val tmp = item.argumentName; tmp.isDefined && matchers.exists { _.reset(tmp.get).matches } - } - } - - } - final class Traversal_DeclarationBase[NodeType <: nodes.DeclarationBase](val traversal: Iterator[NodeType]) - extends AnyVal { - - /** Traverse to name property */ - def name: Iterator[String] = - traversal.map(_.name) - - /** Traverse to nodes where the name matches the regular expression `value` - */ - def name(pattern: String): Iterator[NodeType] = - if (!flatgraph.misc.Regex.isRegex(pattern)) { - nameExact(pattern) - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filter { item => matcher.reset(item.name).matches } - } - - /** Traverse to nodes where the name matches at least one of the regular expressions in `values` - */ - def name(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.exists { _.reset(item.name).matches } } - } - - /** Traverse to nodes where name matches `value` exactly. - */ - def nameExact(value: String): Iterator[NodeType] = traversal match { - case init: flatgraph.misc.InitNodeIterator[flatgraph.GNode @unchecked] if init.isVirgin && init.hasNext => - val someNode = init.next - flatgraph.Accessors - .getWithInverseIndex(someNode.graph, someNode.nodeKind, 39, value) - .asInstanceOf[Iterator[NodeType]] - case _ => traversal.filter { _.name == value } - } - - /** Traverse to nodes where name matches one of the elements in `values` exactly. - */ - def nameExact(values: String*): Iterator[NodeType] = - if (values.length == 1) nameExact(values.head) - else { - val valueSet = values.toSet - traversal.filter { item => valueSet.contains(item.name) } - } - - /** Traverse to nodes where name does not match the regular expression `value`. - */ - def nameNot(pattern: String): Iterator[NodeType] = { - if (!flatgraph.misc.Regex.isRegex(pattern)) { - traversal.filter { node => node.name != pattern } - } else { - val matcher = flatgraph.misc.Regex.multilineMatcher(pattern) - traversal.filterNot { item => matcher.reset(item.name).matches } - } - } - - /** Traverse to nodes where name does not match any of the regular expressions in `values`. - */ - def nameNot(patterns: String*): Iterator[NodeType] = { - val matchers = patterns.map(flatgraph.misc.Regex.multilineMatcher) - traversal.filter { item => matchers.find { _.reset(item.name).matches }.isEmpty } - } - - } - /* accessors for base nodes end */ -} -trait ConcreteStoredConversions extends ConcreteBaseConversions { - import Accessors.* - implicit def accessPropertyAliasTypeFullNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasAliasTypeFullNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_ALIAS_TYPE_FULL_NAME[NodeType] = - new Traversal_Property_ALIAS_TYPE_FULL_NAME(traversal.iterator) - implicit def accessPropertyArgumentIndexTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasArgumentIndexEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_ARGUMENT_INDEX[NodeType] = - new Traversal_Property_ARGUMENT_INDEX(traversal.iterator) - implicit def accessPropertyArgumentNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasArgumentNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_ARGUMENT_NAME[NodeType] = - new Traversal_Property_ARGUMENT_NAME(traversal.iterator) - implicit def accessPropertyAstParentFullNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasAstParentFullNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_AST_PARENT_FULL_NAME[NodeType] = - new Traversal_Property_AST_PARENT_FULL_NAME(traversal.iterator) - implicit def accessPropertyAstParentTypeTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasAstParentTypeEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_AST_PARENT_TYPE[NodeType] = - new Traversal_Property_AST_PARENT_TYPE(traversal.iterator) - implicit def accessPropertyCanonicalNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasCanonicalNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_CANONICAL_NAME[NodeType] = - new Traversal_Property_CANONICAL_NAME(traversal.iterator) - implicit def accessPropertyClassNameTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasClassNameEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_CLASS_NAME[NodeType] = new Traversal_Property_CLASS_NAME(traversal.iterator) - implicit def accessPropertyClassShortNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasClassShortNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_CLASS_SHORT_NAME[NodeType] = - new Traversal_Property_CLASS_SHORT_NAME(traversal.iterator) - implicit def accessPropertyClosureBindingIdTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasClosureBindingIdEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_CLOSURE_BINDING_ID[NodeType] = - new Traversal_Property_CLOSURE_BINDING_ID(traversal.iterator) - implicit def accessPropertyClosureOriginalNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasClosureOriginalNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_CLOSURE_ORIGINAL_NAME[NodeType] = - new Traversal_Property_CLOSURE_ORIGINAL_NAME(traversal.iterator) - implicit def accessPropertyCodeTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasCodeEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_CODE[NodeType] = new Traversal_Property_CODE(traversal.iterator) - implicit def accessPropertyColumnNumberTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasColumnNumberEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_COLUMN_NUMBER[NodeType] = - new Traversal_Property_COLUMN_NUMBER(traversal.iterator) - implicit def accessPropertyColumnNumberEndTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasColumnNumberEndEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_COLUMN_NUMBER_END[NodeType] = - new Traversal_Property_COLUMN_NUMBER_END(traversal.iterator) - implicit def accessPropertyContainedRefTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasContainedRefEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_CONTAINED_REF[NodeType] = - new Traversal_Property_CONTAINED_REF(traversal.iterator) - implicit def accessPropertyContentTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasContentEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_CONTENT[NodeType] = new Traversal_Property_CONTENT(traversal.iterator) - implicit def accessPropertyControlStructureTypeTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasControlStructureTypeEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_CONTROL_STRUCTURE_TYPE[NodeType] = - new Traversal_Property_CONTROL_STRUCTURE_TYPE(traversal.iterator) - implicit def accessPropertyDependencyGroupIdTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasDependencyGroupIdEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_DEPENDENCY_GROUP_ID[NodeType] = - new Traversal_Property_DEPENDENCY_GROUP_ID(traversal.iterator) - implicit def accessPropertyDispatchTypeTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasDispatchTypeEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_DISPATCH_TYPE[NodeType] = - new Traversal_Property_DISPATCH_TYPE(traversal.iterator) - implicit def accessPropertyDynamicTypeHintFullNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasDynamicTypeHintFullNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_DYNAMIC_TYPE_HINT_FULL_NAME[NodeType] = - new Traversal_Property_DYNAMIC_TYPE_HINT_FULL_NAME(traversal.iterator) - implicit def accessPropertyEvaluationStrategyTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasEvaluationStrategyEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_EVALUATION_STRATEGY[NodeType] = - new Traversal_Property_EVALUATION_STRATEGY(traversal.iterator) - implicit def accessPropertyExplicitAsTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasExplicitAsEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_EXPLICIT_AS[NodeType] = new Traversal_Property_EXPLICIT_AS( - traversal.iterator - ) - implicit def accessPropertyFilenameTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasFilenameEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_FILENAME[NodeType] = new Traversal_Property_FILENAME(traversal.iterator) - implicit def accessPropertyFullNameTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasFullNameEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_FULL_NAME[NodeType] = new Traversal_Property_FULL_NAME(traversal.iterator) - implicit def accessPropertyHashTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasHashEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_HASH[NodeType] = new Traversal_Property_HASH(traversal.iterator) - implicit def accessPropertyImportedAsTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasImportedAsEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_IMPORTED_AS[NodeType] = new Traversal_Property_IMPORTED_AS( - traversal.iterator - ) - implicit def accessPropertyImportedEntityTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasImportedEntityEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_IMPORTED_ENTITY[NodeType] = - new Traversal_Property_IMPORTED_ENTITY(traversal.iterator) - implicit def accessPropertyIndexTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasIndexEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_INDEX[NodeType] = new Traversal_Property_INDEX(traversal.iterator) - implicit def accessPropertyInheritsFromTypeFullNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasInheritsFromTypeFullNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_INHERITS_FROM_TYPE_FULL_NAME[NodeType] = - new Traversal_Property_INHERITS_FROM_TYPE_FULL_NAME(traversal.iterator) - implicit def accessPropertyIsExplicitTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasIsExplicitEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_IS_EXPLICIT[NodeType] = new Traversal_Property_IS_EXPLICIT( - traversal.iterator - ) - implicit def accessPropertyIsExternalTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasIsExternalEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_IS_EXTERNAL[NodeType] = new Traversal_Property_IS_EXTERNAL( - traversal.iterator - ) - implicit def accessPropertyIsVariadicTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasIsVariadicEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_IS_VARIADIC[NodeType] = new Traversal_Property_IS_VARIADIC( - traversal.iterator - ) - implicit def accessPropertyIsWildcardTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasIsWildcardEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_IS_WILDCARD[NodeType] = new Traversal_Property_IS_WILDCARD( - traversal.iterator - ) - implicit def accessPropertyKeyTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasKeyEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_KEY[NodeType] = new Traversal_Property_KEY(traversal.iterator) - implicit def accessPropertyLanguageTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasLanguageEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_LANGUAGE[NodeType] = new Traversal_Property_LANGUAGE(traversal.iterator) - implicit def accessPropertyLineNumberTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasLineNumberEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_LINE_NUMBER[NodeType] = new Traversal_Property_LINE_NUMBER( - traversal.iterator - ) - implicit def accessPropertyLineNumberEndTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasLineNumberEndEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_LINE_NUMBER_END[NodeType] = - new Traversal_Property_LINE_NUMBER_END(traversal.iterator) - implicit def accessPropertyMethodFullNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasMethodFullNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_METHOD_FULL_NAME[NodeType] = - new Traversal_Property_METHOD_FULL_NAME(traversal.iterator) - implicit def accessPropertyMethodShortNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasMethodShortNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_METHOD_SHORT_NAME[NodeType] = - new Traversal_Property_METHOD_SHORT_NAME(traversal.iterator) - implicit def accessPropertyModifierTypeTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasModifierTypeEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_MODIFIER_TYPE[NodeType] = - new Traversal_Property_MODIFIER_TYPE(traversal.iterator) - implicit def accessPropertyNameTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasNameEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_NAME[NodeType] = new Traversal_Property_NAME(traversal.iterator) - implicit def accessPropertyNodeLabelTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasNodeLabelEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_NODE_LABEL[NodeType] = new Traversal_Property_NODE_LABEL(traversal.iterator) - implicit def accessPropertyOffsetTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasOffsetEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_OFFSET[NodeType] = new Traversal_Property_OFFSET(traversal.iterator) - implicit def accessPropertyOffsetEndTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasOffsetEndEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_OFFSET_END[NodeType] = new Traversal_Property_OFFSET_END(traversal.iterator) - implicit def accessPropertyOrderTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasOrderEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_ORDER[NodeType] = new Traversal_Property_ORDER(traversal.iterator) - implicit def accessPropertyOverlaysTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasOverlaysEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_OVERLAYS[NodeType] = new Traversal_Property_OVERLAYS(traversal.iterator) - implicit def accessPropertyPackageNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasPackageNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_PACKAGE_NAME[NodeType] = new Traversal_Property_PACKAGE_NAME( - traversal.iterator - ) - implicit def accessPropertyParserTypeNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasParserTypeNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_PARSER_TYPE_NAME[NodeType] = - new Traversal_Property_PARSER_TYPE_NAME(traversal.iterator) - implicit def accessPropertyPossibleTypesTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasPossibleTypesEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_POSSIBLE_TYPES[NodeType] = - new Traversal_Property_POSSIBLE_TYPES(traversal.iterator) - implicit def accessPropertyRootTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasRootEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_ROOT[NodeType] = new Traversal_Property_ROOT(traversal.iterator) - implicit def accessPropertySignatureTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasSignatureEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_SIGNATURE[NodeType] = new Traversal_Property_SIGNATURE(traversal.iterator) - implicit def accessPropertySymbolTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasSymbolEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_SYMBOL[NodeType] = new Traversal_Property_SYMBOL(traversal.iterator) - implicit def accessPropertyTypeDeclFullNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasTypeDeclFullNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_TYPE_DECL_FULL_NAME[NodeType] = - new Traversal_Property_TYPE_DECL_FULL_NAME(traversal.iterator) - implicit def accessPropertyTypeFullNameTraversal[ - NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasTypeFullNameEMT] - ](traversal: IterableOnce[NodeType]): Traversal_Property_TYPE_FULL_NAME[NodeType] = - new Traversal_Property_TYPE_FULL_NAME(traversal.iterator) - implicit def accessPropertyValueTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasValueEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_VALUE[NodeType] = new Traversal_Property_VALUE(traversal.iterator) - implicit def accessPropertyVersionTraversal[NodeType <: nodes.StoredNode & nodes.StaticType[nodes.HasVersionEMT]]( - traversal: IterableOnce[NodeType] - ): Traversal_Property_VERSION[NodeType] = new Traversal_Property_VERSION(traversal.iterator) -} - -trait ConcreteBaseConversions extends AbstractBaseConversions0 { - import Accessors.* - implicit def traversal_AnnotationBase[NodeType <: nodes.AnnotationBase]( - traversal: IterableOnce[NodeType] - ): Traversal_AnnotationBase[NodeType] = new Traversal_AnnotationBase(traversal.iterator) - implicit def traversal_AnnotationLiteralBase[NodeType <: nodes.AnnotationLiteralBase]( - traversal: IterableOnce[NodeType] - ): Traversal_AnnotationLiteralBase[NodeType] = new Traversal_AnnotationLiteralBase(traversal.iterator) - implicit def traversal_AnnotationParameterBase[NodeType <: nodes.AnnotationParameterBase]( - traversal: IterableOnce[NodeType] - ): Traversal_AnnotationParameterBase[NodeType] = new Traversal_AnnotationParameterBase(traversal.iterator) - implicit def traversal_AnnotationParameterAssignBase[NodeType <: nodes.AnnotationParameterAssignBase]( - traversal: IterableOnce[NodeType] - ): Traversal_AnnotationParameterAssignBase[NodeType] = new Traversal_AnnotationParameterAssignBase(traversal.iterator) - implicit def traversal_ArrayInitializerBase[NodeType <: nodes.ArrayInitializerBase]( - traversal: IterableOnce[NodeType] - ): Traversal_ArrayInitializerBase[NodeType] = new Traversal_ArrayInitializerBase(traversal.iterator) - implicit def traversal_BindingBase[NodeType <: nodes.BindingBase]( - traversal: IterableOnce[NodeType] - ): Traversal_BindingBase[NodeType] = new Traversal_BindingBase(traversal.iterator) - implicit def traversal_BlockBase[NodeType <: nodes.BlockBase]( - traversal: IterableOnce[NodeType] - ): Traversal_BlockBase[NodeType] = new Traversal_BlockBase(traversal.iterator) - implicit def traversal_CallBase[NodeType <: nodes.CallBase]( - traversal: IterableOnce[NodeType] - ): Traversal_CallBase[NodeType] = new Traversal_CallBase(traversal.iterator) - implicit def traversal_ClosureBindingBase[NodeType <: nodes.ClosureBindingBase]( - traversal: IterableOnce[NodeType] - ): Traversal_ClosureBindingBase[NodeType] = new Traversal_ClosureBindingBase(traversal.iterator) - implicit def traversal_CommentBase[NodeType <: nodes.CommentBase]( - traversal: IterableOnce[NodeType] - ): Traversal_CommentBase[NodeType] = new Traversal_CommentBase(traversal.iterator) - implicit def traversal_ConfigFileBase[NodeType <: nodes.ConfigFileBase]( - traversal: IterableOnce[NodeType] - ): Traversal_ConfigFileBase[NodeType] = new Traversal_ConfigFileBase(traversal.iterator) - implicit def traversal_ControlStructureBase[NodeType <: nodes.ControlStructureBase]( - traversal: IterableOnce[NodeType] - ): Traversal_ControlStructureBase[NodeType] = new Traversal_ControlStructureBase(traversal.iterator) - implicit def traversal_DependencyBase[NodeType <: nodes.DependencyBase]( - traversal: IterableOnce[NodeType] - ): Traversal_DependencyBase[NodeType] = new Traversal_DependencyBase(traversal.iterator) - implicit def traversal_FieldIdentifierBase[NodeType <: nodes.FieldIdentifierBase]( - traversal: IterableOnce[NodeType] - ): Traversal_FieldIdentifierBase[NodeType] = new Traversal_FieldIdentifierBase(traversal.iterator) - implicit def traversal_FileBase[NodeType <: nodes.FileBase]( - traversal: IterableOnce[NodeType] - ): Traversal_FileBase[NodeType] = new Traversal_FileBase(traversal.iterator) - implicit def traversal_FindingBase[NodeType <: nodes.FindingBase]( - traversal: IterableOnce[NodeType] - ): Traversal_FindingBase[NodeType] = new Traversal_FindingBase(traversal.iterator) - implicit def traversal_IdentifierBase[NodeType <: nodes.IdentifierBase]( - traversal: IterableOnce[NodeType] - ): Traversal_IdentifierBase[NodeType] = new Traversal_IdentifierBase(traversal.iterator) - implicit def traversal_ImportBase[NodeType <: nodes.ImportBase]( - traversal: IterableOnce[NodeType] - ): Traversal_ImportBase[NodeType] = new Traversal_ImportBase(traversal.iterator) - implicit def traversal_JumpLabelBase[NodeType <: nodes.JumpLabelBase]( - traversal: IterableOnce[NodeType] - ): Traversal_JumpLabelBase[NodeType] = new Traversal_JumpLabelBase(traversal.iterator) - implicit def traversal_JumpTargetBase[NodeType <: nodes.JumpTargetBase]( - traversal: IterableOnce[NodeType] - ): Traversal_JumpTargetBase[NodeType] = new Traversal_JumpTargetBase(traversal.iterator) - implicit def traversal_KeyValuePairBase[NodeType <: nodes.KeyValuePairBase]( - traversal: IterableOnce[NodeType] - ): Traversal_KeyValuePairBase[NodeType] = new Traversal_KeyValuePairBase(traversal.iterator) - implicit def traversal_LiteralBase[NodeType <: nodes.LiteralBase]( - traversal: IterableOnce[NodeType] - ): Traversal_LiteralBase[NodeType] = new Traversal_LiteralBase(traversal.iterator) - implicit def traversal_LocalBase[NodeType <: nodes.LocalBase]( - traversal: IterableOnce[NodeType] - ): Traversal_LocalBase[NodeType] = new Traversal_LocalBase(traversal.iterator) - implicit def traversal_LocationBase[NodeType <: nodes.LocationBase]( - traversal: IterableOnce[NodeType] - ): Traversal_LocationBase[NodeType] = new Traversal_LocationBase(traversal.iterator) - implicit def traversal_MemberBase[NodeType <: nodes.MemberBase]( - traversal: IterableOnce[NodeType] - ): Traversal_MemberBase[NodeType] = new Traversal_MemberBase(traversal.iterator) - implicit def traversal_MetaDataBase[NodeType <: nodes.MetaDataBase]( - traversal: IterableOnce[NodeType] - ): Traversal_MetaDataBase[NodeType] = new Traversal_MetaDataBase(traversal.iterator) - implicit def traversal_MethodBase[NodeType <: nodes.MethodBase]( - traversal: IterableOnce[NodeType] - ): Traversal_MethodBase[NodeType] = new Traversal_MethodBase(traversal.iterator) - implicit def traversal_MethodParameterInBase[NodeType <: nodes.MethodParameterInBase]( - traversal: IterableOnce[NodeType] - ): Traversal_MethodParameterInBase[NodeType] = new Traversal_MethodParameterInBase(traversal.iterator) - implicit def traversal_MethodParameterOutBase[NodeType <: nodes.MethodParameterOutBase]( - traversal: IterableOnce[NodeType] - ): Traversal_MethodParameterOutBase[NodeType] = new Traversal_MethodParameterOutBase(traversal.iterator) - implicit def traversal_MethodRefBase[NodeType <: nodes.MethodRefBase]( - traversal: IterableOnce[NodeType] - ): Traversal_MethodRefBase[NodeType] = new Traversal_MethodRefBase(traversal.iterator) - implicit def traversal_MethodReturnBase[NodeType <: nodes.MethodReturnBase]( - traversal: IterableOnce[NodeType] - ): Traversal_MethodReturnBase[NodeType] = new Traversal_MethodReturnBase(traversal.iterator) - implicit def traversal_ModifierBase[NodeType <: nodes.ModifierBase]( - traversal: IterableOnce[NodeType] - ): Traversal_ModifierBase[NodeType] = new Traversal_ModifierBase(traversal.iterator) - implicit def traversal_NamespaceBase[NodeType <: nodes.NamespaceBase]( - traversal: IterableOnce[NodeType] - ): Traversal_NamespaceBase[NodeType] = new Traversal_NamespaceBase(traversal.iterator) - implicit def traversal_NamespaceBlockBase[NodeType <: nodes.NamespaceBlockBase]( - traversal: IterableOnce[NodeType] - ): Traversal_NamespaceBlockBase[NodeType] = new Traversal_NamespaceBlockBase(traversal.iterator) - implicit def traversal_ReturnBase[NodeType <: nodes.ReturnBase]( - traversal: IterableOnce[NodeType] - ): Traversal_ReturnBase[NodeType] = new Traversal_ReturnBase(traversal.iterator) - implicit def traversal_TagBase[NodeType <: nodes.TagBase]( - traversal: IterableOnce[NodeType] - ): Traversal_TagBase[NodeType] = new Traversal_TagBase(traversal.iterator) - implicit def traversal_TagNodePairBase[NodeType <: nodes.TagNodePairBase]( - traversal: IterableOnce[NodeType] - ): Traversal_TagNodePairBase[NodeType] = new Traversal_TagNodePairBase(traversal.iterator) - implicit def traversal_TemplateDomBase[NodeType <: nodes.TemplateDomBase]( - traversal: IterableOnce[NodeType] - ): Traversal_TemplateDomBase[NodeType] = new Traversal_TemplateDomBase(traversal.iterator) - implicit def traversal_TypeBase[NodeType <: nodes.TypeBase]( - traversal: IterableOnce[NodeType] - ): Traversal_TypeBase[NodeType] = new Traversal_TypeBase(traversal.iterator) - implicit def traversal_TypeArgumentBase[NodeType <: nodes.TypeArgumentBase]( - traversal: IterableOnce[NodeType] - ): Traversal_TypeArgumentBase[NodeType] = new Traversal_TypeArgumentBase(traversal.iterator) - implicit def traversal_TypeDeclBase[NodeType <: nodes.TypeDeclBase]( - traversal: IterableOnce[NodeType] - ): Traversal_TypeDeclBase[NodeType] = new Traversal_TypeDeclBase(traversal.iterator) - implicit def traversal_TypeParameterBase[NodeType <: nodes.TypeParameterBase]( - traversal: IterableOnce[NodeType] - ): Traversal_TypeParameterBase[NodeType] = new Traversal_TypeParameterBase(traversal.iterator) - implicit def traversal_TypeRefBase[NodeType <: nodes.TypeRefBase]( - traversal: IterableOnce[NodeType] - ): Traversal_TypeRefBase[NodeType] = new Traversal_TypeRefBase(traversal.iterator) - implicit def traversal_UnknownBase[NodeType <: nodes.UnknownBase]( - traversal: IterableOnce[NodeType] - ): Traversal_UnknownBase[NodeType] = new Traversal_UnknownBase(traversal.iterator) -} - -trait AbstractBaseConversions0 extends AbstractBaseConversions1 { - import Accessors.* - implicit def traversal_AstNodeBase[NodeType <: nodes.AstNodeBase]( - traversal: IterableOnce[NodeType] - ): Traversal_AstNodeBase[NodeType] = new Traversal_AstNodeBase(traversal.iterator) - implicit def traversal_CallReprBase[NodeType <: nodes.CallReprBase]( - traversal: IterableOnce[NodeType] - ): Traversal_CallReprBase[NodeType] = new Traversal_CallReprBase(traversal.iterator) - implicit def traversal_CfgNodeBase[NodeType <: nodes.CfgNodeBase]( - traversal: IterableOnce[NodeType] - ): Traversal_CfgNodeBase[NodeType] = new Traversal_CfgNodeBase(traversal.iterator) - implicit def traversal_ExpressionBase[NodeType <: nodes.ExpressionBase]( - traversal: IterableOnce[NodeType] - ): Traversal_ExpressionBase[NodeType] = new Traversal_ExpressionBase(traversal.iterator) -} - -trait AbstractBaseConversions1 { - import Accessors.* - implicit def traversal_DeclarationBase[NodeType <: nodes.DeclarationBase]( - traversal: IterableOnce[NodeType] - ): Traversal_DeclarationBase[NodeType] = new Traversal_DeclarationBase(traversal.iterator) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Annotation.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Annotation.scala deleted file mode 100644 index c0640697..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Annotation.scala +++ /dev/null @@ -1,102 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForAnnotation(val node: nodes.Annotation) extends AnyVal { - - /** Traverse to ANNOTATION_PARAMETER_ASSIGN via AST IN edge. - */ - def annotationParameterAssignViaAstIn: Iterator[nodes.AnnotationParameterAssign] = - astIn.collectAll[nodes.AnnotationParameterAssign] - - /** Traverse to ANNOTATION_PARAMETER_ASSIGN via AST OUT edge. - */ - def annotationParameterAssignViaAstOut: Iterator[nodes.AnnotationParameterAssign] = - astOut.collectAll[nodes.AnnotationParameterAssign] - - /** Traverse to IDENTIFIER via AST IN edge. - */ - def identifierViaAstIn: Iterator[nodes.Identifier] = astIn.collectAll[nodes.Identifier] - - /** Traverse to LITERAL via AST IN edge. - */ - def literalViaAstIn: Iterator[nodes.Literal] = astIn.collectAll[nodes.Literal] - - /** Traverse to MEMBER via AST IN edge. - */ - def memberViaAstIn: Iterator[nodes.Member] = astIn.collectAll[nodes.Member] - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: Iterator[nodes.Method] = astIn.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_IN via AST IN edge. - */ - def methodParameterInViaAstIn: Iterator[nodes.MethodParameterIn] = astIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_REF via AST IN edge. - */ - def methodRefViaAstIn: Iterator[nodes.MethodRef] = astIn.collectAll[nodes.MethodRef] - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: Iterator[nodes.TypeDecl] = astIn.collectAll[nodes.TypeDecl] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - def astIn: Iterator[nodes.AstNode] = node._astIn.cast[nodes.AstNode] - - def astOut: Iterator[nodes.AnnotationParameterAssign] = node._astOut.cast[nodes.AnnotationParameterAssign] -} - -final class AccessNeighborsForAnnotationTraversal(val traversal: Iterator[nodes.Annotation]) extends AnyVal { - - /** Traverse to ANNOTATION_PARAMETER_ASSIGN via AST IN edge. - */ - def annotationParameterAssignViaAstIn: Iterator[nodes.AnnotationParameterAssign] = - traversal.flatMap(_.annotationParameterAssignViaAstIn) - - /** Traverse to ANNOTATION_PARAMETER_ASSIGN via AST OUT edge. - */ - def annotationParameterAssignViaAstOut: Iterator[nodes.AnnotationParameterAssign] = - traversal.flatMap(_.annotationParameterAssignViaAstOut) - - /** Traverse to IDENTIFIER via AST IN edge. - */ - def identifierViaAstIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaAstIn) - - /** Traverse to LITERAL via AST IN edge. - */ - def literalViaAstIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaAstIn) - - /** Traverse to MEMBER via AST IN edge. - */ - def memberViaAstIn: Iterator[nodes.Member] = traversal.flatMap(_.memberViaAstIn) - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaAstIn) - - /** Traverse to METHOD_PARAMETER_IN via AST IN edge. - */ - def methodParameterInViaAstIn: Iterator[nodes.MethodParameterIn] = traversal.flatMap(_.methodParameterInViaAstIn) - - /** Traverse to METHOD_REF via AST IN edge. - */ - def methodRefViaAstIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaAstIn) - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaAstIn) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - def astIn: Iterator[nodes.AstNode] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.AnnotationParameterAssign] = traversal.flatMap(_.astOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationLiteral.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationLiteral.scala deleted file mode 100644 index 2a79c0ee..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationLiteral.scala +++ /dev/null @@ -1,25 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForAnnotationLiteral(val node: nodes.AnnotationLiteral) extends AnyVal { - - /** Traverse to ANNOTATION_PARAMETER_ASSIGN via AST IN edge. - */ - def annotationParameterAssignViaAstIn: Iterator[nodes.AnnotationParameterAssign] = - astIn.collectAll[nodes.AnnotationParameterAssign] - - def astIn: Iterator[nodes.AnnotationParameterAssign] = node._astIn.cast[nodes.AnnotationParameterAssign] -} - -final class AccessNeighborsForAnnotationLiteralTraversal(val traversal: Iterator[nodes.AnnotationLiteral]) - extends AnyVal { - - /** Traverse to ANNOTATION_PARAMETER_ASSIGN via AST IN edge. - */ - def annotationParameterAssignViaAstIn: Iterator[nodes.AnnotationParameterAssign] = - traversal.flatMap(_.annotationParameterAssignViaAstIn) - - def astIn: Iterator[nodes.AnnotationParameterAssign] = traversal.flatMap(_.astIn) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationParameter.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationParameter.scala deleted file mode 100644 index 505e22bf..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationParameter.scala +++ /dev/null @@ -1,25 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForAnnotationParameter(val node: nodes.AnnotationParameter) extends AnyVal { - - /** Traverse to ANNOTATION_PARAMETER_ASSIGN via AST IN edge. - */ - def annotationParameterAssignViaAstIn: Iterator[nodes.AnnotationParameterAssign] = - astIn.collectAll[nodes.AnnotationParameterAssign] - - def astIn: Iterator[nodes.AnnotationParameterAssign] = node._astIn.cast[nodes.AnnotationParameterAssign] -} - -final class AccessNeighborsForAnnotationParameterTraversal(val traversal: Iterator[nodes.AnnotationParameter]) - extends AnyVal { - - /** Traverse to ANNOTATION_PARAMETER_ASSIGN via AST IN edge. - */ - def annotationParameterAssignViaAstIn: Iterator[nodes.AnnotationParameterAssign] = - traversal.flatMap(_.annotationParameterAssignViaAstIn) - - def astIn: Iterator[nodes.AnnotationParameterAssign] = traversal.flatMap(_.astIn) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationParameterAssign.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationParameterAssign.scala deleted file mode 100644 index 0aebbf29..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/AnnotationParameterAssign.scala +++ /dev/null @@ -1,61 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForAnnotationParameterAssign(val node: nodes.AnnotationParameterAssign) extends AnyVal { - - /** Traverse to ANNOTATION via AST IN edge. - */ - def annotationViaAstIn: Iterator[nodes.Annotation] = astIn.collectAll[nodes.Annotation] - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = astOut.collectAll[nodes.Annotation] - - /** Traverse to ANNOTATION_LITERAL via AST OUT edge. - */ - def annotationLiteralViaAstOut: Iterator[nodes.AnnotationLiteral] = astOut.collectAll[nodes.AnnotationLiteral] - - /** Traverse to ANNOTATION_PARAMETER via AST OUT edge. - */ - def annotationParameterViaAstOut: Iterator[nodes.AnnotationParameter] = astOut.collectAll[nodes.AnnotationParameter] - - /** Traverse to ARRAY_INITIALIZER via AST OUT edge. - */ - def arrayInitializerViaAstOut: Iterator[nodes.ArrayInitializer] = astOut.collectAll[nodes.ArrayInitializer] - - def astIn: Iterator[nodes.Annotation] = node._astIn.cast[nodes.Annotation] - - def astOut: Iterator[nodes.AstNode] = node._astOut.cast[nodes.AstNode] -} - -final class AccessNeighborsForAnnotationParameterAssignTraversal( - val traversal: Iterator[nodes.AnnotationParameterAssign] -) extends AnyVal { - - /** Traverse to ANNOTATION via AST IN edge. - */ - def annotationViaAstIn: Iterator[nodes.Annotation] = traversal.flatMap(_.annotationViaAstIn) - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = traversal.flatMap(_.annotationViaAstOut) - - /** Traverse to ANNOTATION_LITERAL via AST OUT edge. - */ - def annotationLiteralViaAstOut: Iterator[nodes.AnnotationLiteral] = traversal.flatMap(_.annotationLiteralViaAstOut) - - /** Traverse to ANNOTATION_PARAMETER via AST OUT edge. - */ - def annotationParameterViaAstOut: Iterator[nodes.AnnotationParameter] = - traversal.flatMap(_.annotationParameterViaAstOut) - - /** Traverse to ARRAY_INITIALIZER via AST OUT edge. - */ - def arrayInitializerViaAstOut: Iterator[nodes.ArrayInitializer] = traversal.flatMap(_.arrayInitializerViaAstOut) - - def astIn: Iterator[nodes.Annotation] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.AstNode] = traversal.flatMap(_.astOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ArrayInitializer.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ArrayInitializer.scala deleted file mode 100644 index 7388243e..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ArrayInitializer.scala +++ /dev/null @@ -1,49 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForArrayInitializer(val node: nodes.ArrayInitializer) extends AnyVal { - - /** Traverse to ANNOTATION_PARAMETER_ASSIGN via AST IN edge. - */ - def annotationParameterAssignViaAstIn: Iterator[nodes.AnnotationParameterAssign] = - astIn.collectAll[nodes.AnnotationParameterAssign] - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = astOut.collectAll[nodes.Literal] - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - def astIn: Iterator[nodes.AnnotationParameterAssign] = node._astIn.cast[nodes.AnnotationParameterAssign] - - def astOut: Iterator[nodes.Literal] = node._astOut.cast[nodes.Literal] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] -} - -final class AccessNeighborsForArrayInitializerTraversal(val traversal: Iterator[nodes.ArrayInitializer]) - extends AnyVal { - - /** Traverse to ANNOTATION_PARAMETER_ASSIGN via AST IN edge. - */ - def annotationParameterAssignViaAstIn: Iterator[nodes.AnnotationParameterAssign] = - traversal.flatMap(_.annotationParameterAssignViaAstIn) - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaAstOut) - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - def astIn: Iterator[nodes.AnnotationParameterAssign] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.Literal] = traversal.flatMap(_.astOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Binding.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Binding.scala deleted file mode 100644 index d93ee14d..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Binding.scala +++ /dev/null @@ -1,72 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForBinding(val node: nodes.Binding) extends AnyVal { - - /** Traverse to METHOD via REF OUT edge. - */ - @deprecated("please use boundMethod instead") - def methodViaRefOut: nodes.Method = boundMethod - - /** Traverse to METHOD via REF OUT edge. - */ - def boundMethod: nodes.Method = { - try { refOut.collectAll[nodes.Method].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "OUT edge with label REF to an adjacent METHOD is mandatory, but not defined for this BINDING node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to TYPE_DECL via BINDS IN edge. - */ - @deprecated("please use bindingTypeDecl instead") - def typeDeclViaBindsIn: nodes.TypeDecl = bindingTypeDecl - - /** Traverse to TYPE_DECL via BINDS IN edge. - */ - def bindingTypeDecl: nodes.TypeDecl = { - try { bindsIn.collectAll[nodes.TypeDecl].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label BINDS to an adjacent TYPE_DECL is mandatory, but not defined for this BINDING node with seq=" + node.seq, - e - ) - } - } - - def bindsIn: Iterator[nodes.TypeDecl] = node._bindsIn.cast[nodes.TypeDecl] - - def refOut: Iterator[nodes.Method] = node._refOut.cast[nodes.Method] -} - -final class AccessNeighborsForBindingTraversal(val traversal: Iterator[nodes.Binding]) extends AnyVal { - - /** Traverse to METHOD via REF OUT edge. - */ - def boundMethod: Iterator[nodes.Method] = traversal.map(_.boundMethod) - - /** Traverse to METHOD via REF OUT edge. - */ - @deprecated("please use boundMethod instead") - def methodViaRefOut: Iterator[nodes.Method] = traversal.map(_.methodViaRefOut) - - /** Traverse to TYPE_DECL via BINDS IN edge. - */ - def bindingTypeDecl: Iterator[nodes.TypeDecl] = traversal.map(_.bindingTypeDecl) - - /** Traverse to TYPE_DECL via BINDS IN edge. - */ - @deprecated("please use bindingTypeDecl instead") - def typeDeclViaBindsIn: Iterator[nodes.TypeDecl] = traversal.map(_.typeDeclViaBindsIn) - - def bindsIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.bindsIn) - - def refOut: Iterator[nodes.Method] = traversal.flatMap(_.refOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Block.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Block.scala deleted file mode 100644 index f37dd65f..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Block.scala +++ /dev/null @@ -1,960 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForBlock(val node: nodes.Block) extends AnyVal { - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: nodes.Block = { - try { astIn.collectAll[nodes.Block].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent BLOCK is mandatory, but not defined for this BLOCK node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to BLOCK via AST OUT edge. - */ - def blockViaAstOut: Iterator[nodes.Block] = astOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = cdgOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = reachingDefIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via REACHING_DEF OUT edge. - */ - def blockViaReachingDefOut: Iterator[nodes.Block] = reachingDefOut.collectAll[nodes.Block] - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Option[nodes.Call] = argumentIn.collectAll[nodes.Call].nextOption() - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = astIn.collectAll[nodes.Call] - - /** Traverse to CALL via AST OUT edge. - */ - def callViaAstOut: Iterator[nodes.Call] = astOut.collectAll[nodes.Call] - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = cdgOut.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = reachingDefOut.collectAll[nodes.Call] - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Option[nodes.Call] = receiverIn.collectAll[nodes.Call].nextOption() - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = cfgOut.collectAll[nodes.CfgNode] - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Option[nodes.ControlStructure] = astIn.collectAll[nodes.ControlStructure].nextOption() - - /** Traverse to CONTROL_STRUCTURE via AST OUT edge. - */ - def controlStructureViaAstOut: Iterator[nodes.ControlStructure] = astOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = cdgOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = conditionIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = dominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = cdgOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via AST OUT edge. - */ - def identifierViaAstOut: Iterator[nodes.Identifier] = astOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = cdgOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to IMPORT via AST OUT edge. - */ - def importViaAstOut: Iterator[nodes.Import] = astOut.collectAll[nodes.Import] - - /** Traverse to JUMP_TARGET via AST OUT edge. - */ - def jumpTargetViaAstOut: Iterator[nodes.JumpTarget] = astOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = cdgOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = dominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = dominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = postDominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = astOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = cdgOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = reachingDefOut.collectAll[nodes.Literal] - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: nodes.Method = { - try { astIn.collectAll[nodes.Method].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent METHOD is mandatory, but not defined for this BLOCK node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = dominateIn.collectAll[nodes.Method] - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = postDominateOut.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - reachingDefOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via AST OUT edge. - */ - def methodRefViaAstOut: Iterator[nodes.MethodRef] = astOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = cdgOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = cdgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = dominateOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Option[nodes.Return] = argumentIn.collectAll[nodes.Return].nextOption() - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = astIn.collectAll[nodes.Return] - - /** Traverse to RETURN via AST OUT edge. - */ - def returnViaAstOut: Iterator[nodes.Return] = astOut.collectAll[nodes.Return] - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = cdgOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = reachingDefOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - /** Traverse to TYPE_REF via AST OUT edge. - */ - def typeRefViaAstOut: Iterator[nodes.TypeRef] = astOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = cdgOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via AST OUT edge. - */ - def unknownViaAstOut: Iterator[nodes.Unknown] = astOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = cdgOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - /** Traverse to locals of this block. Traverse to LOCAL via AST OUT edge. - */ - @deprecated("please use local instead") - def localViaAstOut: Iterator[nodes.Local] = local - - /** Traverse to locals of this block. Traverse to LOCAL via AST OUT edge. - */ - def local: Iterator[nodes.Local] = astOut.collectAll[nodes.Local] - - def argumentIn: Iterator[nodes.Expression] = node._argumentIn.cast[nodes.Expression] - - def astIn: Iterator[nodes.CfgNode] = node._astIn.cast[nodes.CfgNode] - - def astOut: Iterator[nodes.AstNode] = node._astOut.cast[nodes.AstNode] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cdgOut: Iterator[nodes.CfgNode] = node._cdgOut.cast[nodes.CfgNode] - - def cfgOut: Iterator[nodes.CfgNode] = node._cfgOut.cast[nodes.CfgNode] - - def conditionIn: Iterator[nodes.ControlStructure] = node._conditionIn.cast[nodes.ControlStructure] - - def containsIn: Iterator[nodes.Method] = node._containsIn.cast[nodes.Method] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def reachingDefIn: Iterator[nodes.Block] = node._reachingDefIn.cast[nodes.Block] - - def reachingDefOut: Iterator[nodes.CfgNode] = node._reachingDefOut.cast[nodes.CfgNode] - - def receiverIn: Iterator[nodes.Call] = node._receiverIn.cast[nodes.Call] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForBlockTraversal(val traversal: Iterator[nodes.Block]) extends AnyVal { - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = traversal.map(_.blockViaAstIn) - - /** Traverse to BLOCK via AST OUT edge. - */ - def blockViaAstOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstOut) - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgOut) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaReachingDefIn) - - /** Traverse to BLOCK via REACHING_DEF OUT edge. - */ - def blockViaReachingDefOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaReachingDefOut) - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaArgumentIn) - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstIn) - - /** Traverse to CALL via AST OUT edge. - */ - def callViaAstOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstOut) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgOut) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefOut) - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReceiverIn) - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgNodeViaCfgOut) - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstIn) - - /** Traverse to CONTROL_STRUCTURE via AST OUT edge. - */ - def controlStructureViaAstOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstOut) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgOut) - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaConditionIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgOut) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via AST OUT edge. - */ - def identifierViaAstOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaAstOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgOut) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to IMPORT via AST OUT edge. - */ - def importViaAstOut: Iterator[nodes.Import] = traversal.flatMap(_.importViaAstOut) - - /** Traverse to JUMP_TARGET via AST OUT edge. - */ - def jumpTargetViaAstOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaAstOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgOut) - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateIn) - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateOut) - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaAstOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgOut) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefOut) - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: Iterator[nodes.Method] = traversal.map(_.methodViaAstIn) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaDominateIn) - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaPostDominateOut) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefOut) - - /** Traverse to METHOD_REF via AST OUT edge. - */ - def methodRefViaAstOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaAstOut) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgOut) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCdgOut) - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaDominateOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaArgumentIn) - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstIn) - - /** Traverse to RETURN via AST OUT edge. - */ - def returnViaAstOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstOut) - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaCdgOut) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - /** Traverse to TYPE_REF via AST OUT edge. - */ - def typeRefViaAstOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaAstOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgOut) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - /** Traverse to UNKNOWN via AST OUT edge. - */ - def unknownViaAstOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstOut) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgOut) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - /** Traverse to locals of this block. Traverse to LOCAL via AST OUT edge. - */ - def local: Iterator[nodes.Local] = traversal.flatMap(_.local) - - /** Traverse to locals of this block. Traverse to LOCAL via AST OUT edge. - */ - @deprecated("please use local instead") - def localViaAstOut: Iterator[nodes.Local] = traversal.flatMap(_.localViaAstOut) - - def argumentIn: Iterator[nodes.Expression] = traversal.flatMap(_.argumentIn) - - def astIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.AstNode] = traversal.flatMap(_.astOut) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cdgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgOut) - - def cfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgOut) - - def conditionIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.conditionIn) - - def containsIn: Iterator[nodes.Method] = traversal.flatMap(_.containsIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def reachingDefIn: Iterator[nodes.Block] = traversal.flatMap(_.reachingDefIn) - - def reachingDefOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefOut) - - def receiverIn: Iterator[nodes.Call] = traversal.flatMap(_.receiverIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Call.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Call.scala deleted file mode 100644 index 69dbca09..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Call.scala +++ /dev/null @@ -1,1200 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForCall(val node: nodes.Call) extends AnyVal { - - /** Traverse to BLOCK via ARGUMENT OUT edge. - */ - def blockViaArgumentOut: Iterator[nodes.Block] = argumentOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = astIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via AST OUT edge. - */ - def blockViaAstOut: Iterator[nodes.Block] = astOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = cdgOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = reachingDefIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via RECEIVER OUT edge. - */ - def blockViaReceiverOut: Option[nodes.Block] = receiverOut.collectAll[nodes.Block].nextOption() - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Option[nodes.Call] = argumentIn.collectAll[nodes.Call].nextOption() - - /** Traverse to CALL via ARGUMENT OUT edge. - */ - def callViaArgumentOut: Iterator[nodes.Call] = argumentOut.collectAll[nodes.Call] - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = astIn.collectAll[nodes.Call] - - /** Traverse to CALL via AST OUT edge. - */ - def callViaAstOut: Iterator[nodes.Call] = astOut.collectAll[nodes.Call] - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = cdgOut.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = reachingDefIn.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = reachingDefOut.collectAll[nodes.Call] - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Option[nodes.Call] = receiverIn.collectAll[nodes.Call].nextOption() - - /** Traverse to CALL via RECEIVER OUT edge. - */ - def callViaReceiverOut: Option[nodes.Call] = receiverOut.collectAll[nodes.Call].nextOption() - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = cfgOut.collectAll[nodes.CfgNode] - - /** Traverse to CONTROL_STRUCTURE via ARGUMENT OUT edge. - */ - def controlStructureViaArgumentOut: Iterator[nodes.ControlStructure] = argumentOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: nodes.ControlStructure = { - try { astIn.collectAll[nodes.ControlStructure].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent CONTROL_STRUCTURE is mandatory, but not defined for this CALL node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to CONTROL_STRUCTURE via AST OUT edge. - */ - def controlStructureViaAstOut: Iterator[nodes.ControlStructure] = astOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = cdgOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = conditionIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = dominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - reachingDefIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via RECEIVER OUT edge. - */ - def controlStructureViaReceiverOut: Iterator[nodes.ControlStructure] = receiverOut.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via ARGUMENT OUT edge. - */ - def fieldIdentifierViaArgumentOut: Iterator[nodes.FieldIdentifier] = argumentOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via AST OUT edge. - */ - def fieldIdentifierViaAstOut: Iterator[nodes.FieldIdentifier] = astOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = cdgOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CFG IN edge. - */ - def fieldIdentifierViaCfgIn: Option[nodes.FieldIdentifier] = cfgIn.collectAll[nodes.FieldIdentifier].nextOption() - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via ARGUMENT OUT edge. - */ - def identifierViaArgumentOut: Iterator[nodes.Identifier] = argumentOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via AST OUT edge. - */ - def identifierViaAstOut: Iterator[nodes.Identifier] = astOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = cdgOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = reachingDefIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via RECEIVER OUT edge. - */ - def identifierViaReceiverOut: Option[nodes.Identifier] = receiverOut.collectAll[nodes.Identifier].nextOption() - - /** Traverse to IMPORT via IS_CALL_FOR_IMPORT OUT edge. - */ - def importViaIsCallForImportOut: Iterator[nodes.Import] = isCallForImportOut.collectAll[nodes.Import] - - /** Traverse to JUMP_TARGET via ARGUMENT OUT edge. - */ - def jumpTargetViaArgumentOut: Iterator[nodes.JumpTarget] = argumentOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = cdgOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = dominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = dominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = postDominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via ARGUMENT OUT edge. - */ - def literalViaArgumentOut: Iterator[nodes.Literal] = argumentOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = astOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = cdgOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = reachingDefIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = reachingDefOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via RECEIVER OUT edge. - */ - def literalViaReceiverOut: Option[nodes.Literal] = receiverOut.collectAll[nodes.Literal].nextOption() - - /** Traverse to METHOD via CALL OUT edge. - */ - def methodViaCallOut: Iterator[nodes.Method] = callOut.collectAll[nodes.Method] - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = dominateIn.collectAll[nodes.Method] - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = postDominateOut.collectAll[nodes.Method] - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = reachingDefIn.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - reachingDefIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - reachingDefIn.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - reachingDefOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via ARGUMENT OUT edge. - */ - def methodRefViaArgumentOut: Iterator[nodes.MethodRef] = argumentOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via AST OUT edge. - */ - def methodRefViaAstOut: Iterator[nodes.MethodRef] = astOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = cdgOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = reachingDefIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via RECEIVER OUT edge. - */ - def methodRefViaReceiverOut: Option[nodes.MethodRef] = receiverOut.collectAll[nodes.MethodRef].nextOption() - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = cdgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = dominateOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Option[nodes.Return] = argumentIn.collectAll[nodes.Return].nextOption() - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = astIn.collectAll[nodes.Return] - - /** Traverse to RETURN via AST OUT edge. - */ - def returnViaAstOut: Iterator[nodes.Return] = astOut.collectAll[nodes.Return] - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = cdgOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = reachingDefOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - /** Traverse to TYPE_REF via ARGUMENT OUT edge. - */ - def typeRefViaArgumentOut: Iterator[nodes.TypeRef] = argumentOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via AST OUT edge. - */ - def typeRefViaAstOut: Iterator[nodes.TypeRef] = astOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = cdgOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = reachingDefIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via RECEIVER OUT edge. - */ - def typeRefViaReceiverOut: Iterator[nodes.TypeRef] = receiverOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via ARGUMENT OUT edge. - */ - def unknownViaArgumentOut: Iterator[nodes.Unknown] = argumentOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = cdgOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = reachingDefIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via RECEIVER OUT edge. - */ - def unknownViaReceiverOut: Iterator[nodes.Unknown] = receiverOut.collectAll[nodes.Unknown] - - /** Traverse to referenced members Traverse to MEMBER via REF OUT edge. - */ - @deprecated("please use referencedMember instead") - def memberViaRefOut: Iterator[nodes.Member] = referencedMember - - /** Traverse to referenced members Traverse to MEMBER via REF OUT edge. - */ - def referencedMember: Iterator[nodes.Member] = refOut.collectAll[nodes.Member] - - def argumentIn: Iterator[nodes.Expression] = node._argumentIn.cast[nodes.Expression] - - def argumentOut: Iterator[nodes.CfgNode] = node._argumentOut.cast[nodes.CfgNode] - - def astIn: Iterator[nodes.Expression] = node._astIn.cast[nodes.Expression] - - def astOut: Iterator[nodes.Expression] = node._astOut.cast[nodes.Expression] - - def callOut: Iterator[nodes.Method] = node._callOut.cast[nodes.Method] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cdgOut: Iterator[nodes.CfgNode] = node._cdgOut.cast[nodes.CfgNode] - - def cfgIn: Iterator[nodes.FieldIdentifier] = node._cfgIn.cast[nodes.FieldIdentifier] - - def cfgOut: Iterator[nodes.CfgNode] = node._cfgOut.cast[nodes.CfgNode] - - def conditionIn: Iterator[nodes.ControlStructure] = node._conditionIn.cast[nodes.ControlStructure] - - def containsIn: Iterator[nodes.Method] = node._containsIn.cast[nodes.Method] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def isCallForImportOut: Iterator[nodes.Import] = node._isCallForImportOut.cast[nodes.Import] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def reachingDefIn: Iterator[nodes.CfgNode] = node._reachingDefIn.cast[nodes.CfgNode] - - def reachingDefOut: Iterator[nodes.CfgNode] = node._reachingDefOut.cast[nodes.CfgNode] - - def receiverIn: Iterator[nodes.Call] = node._receiverIn.cast[nodes.Call] - - def receiverOut: Iterator[nodes.Expression] = node._receiverOut.cast[nodes.Expression] - - def refOut: Iterator[nodes.Member] = node._refOut.cast[nodes.Member] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForCallTraversal(val traversal: Iterator[nodes.Call]) extends AnyVal { - - /** Traverse to BLOCK via ARGUMENT OUT edge. - */ - def blockViaArgumentOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaArgumentOut) - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstIn) - - /** Traverse to BLOCK via AST OUT edge. - */ - def blockViaAstOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstOut) - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgOut) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaReachingDefIn) - - /** Traverse to BLOCK via RECEIVER OUT edge. - */ - def blockViaReceiverOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaReceiverOut) - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaArgumentIn) - - /** Traverse to CALL via ARGUMENT OUT edge. - */ - def callViaArgumentOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaArgumentOut) - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstIn) - - /** Traverse to CALL via AST OUT edge. - */ - def callViaAstOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstOut) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgOut) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefIn) - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefOut) - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReceiverIn) - - /** Traverse to CALL via RECEIVER OUT edge. - */ - def callViaReceiverOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReceiverOut) - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgNodeViaCfgOut) - - /** Traverse to CONTROL_STRUCTURE via ARGUMENT OUT edge. - */ - def controlStructureViaArgumentOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaArgumentOut) - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.map(_.controlStructureViaAstIn) - - /** Traverse to CONTROL_STRUCTURE via AST OUT edge. - */ - def controlStructureViaAstOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstOut) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgOut) - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaConditionIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaReachingDefIn) - - /** Traverse to CONTROL_STRUCTURE via RECEIVER OUT edge. - */ - def controlStructureViaReceiverOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaReceiverOut) - - /** Traverse to FIELD_IDENTIFIER via ARGUMENT OUT edge. - */ - def fieldIdentifierViaArgumentOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaArgumentOut) - - /** Traverse to FIELD_IDENTIFIER via AST OUT edge. - */ - def fieldIdentifierViaAstOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaAstOut) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgOut) - - /** Traverse to FIELD_IDENTIFIER via CFG IN edge. - */ - def fieldIdentifierViaCfgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCfgIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via ARGUMENT OUT edge. - */ - def identifierViaArgumentOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaArgumentOut) - - /** Traverse to IDENTIFIER via AST OUT edge. - */ - def identifierViaAstOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaAstOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgOut) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefIn) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to IDENTIFIER via RECEIVER OUT edge. - */ - def identifierViaReceiverOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReceiverOut) - - /** Traverse to IMPORT via IS_CALL_FOR_IMPORT OUT edge. - */ - def importViaIsCallForImportOut: Iterator[nodes.Import] = traversal.flatMap(_.importViaIsCallForImportOut) - - /** Traverse to JUMP_TARGET via ARGUMENT OUT edge. - */ - def jumpTargetViaArgumentOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaArgumentOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgOut) - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateIn) - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateOut) - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via ARGUMENT OUT edge. - */ - def literalViaArgumentOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaArgumentOut) - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaAstOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgOut) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefIn) - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefOut) - - /** Traverse to LITERAL via RECEIVER OUT edge. - */ - def literalViaReceiverOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReceiverOut) - - /** Traverse to METHOD via CALL OUT edge. - */ - def methodViaCallOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaCallOut) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaDominateIn) - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaPostDominateOut) - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefOut) - - /** Traverse to METHOD_REF via ARGUMENT OUT edge. - */ - def methodRefViaArgumentOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaArgumentOut) - - /** Traverse to METHOD_REF via AST OUT edge. - */ - def methodRefViaAstOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaAstOut) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgOut) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefIn) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to METHOD_REF via RECEIVER OUT edge. - */ - def methodRefViaReceiverOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReceiverOut) - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCdgOut) - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaDominateOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaArgumentIn) - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstIn) - - /** Traverse to RETURN via AST OUT edge. - */ - def returnViaAstOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstOut) - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaCdgOut) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - /** Traverse to TYPE_REF via ARGUMENT OUT edge. - */ - def typeRefViaArgumentOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaArgumentOut) - - /** Traverse to TYPE_REF via AST OUT edge. - */ - def typeRefViaAstOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaAstOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgOut) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefIn) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to TYPE_REF via RECEIVER OUT edge. - */ - def typeRefViaReceiverOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReceiverOut) - - /** Traverse to UNKNOWN via ARGUMENT OUT edge. - */ - def unknownViaArgumentOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaArgumentOut) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgOut) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaReachingDefIn) - - /** Traverse to UNKNOWN via RECEIVER OUT edge. - */ - def unknownViaReceiverOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaReceiverOut) - - /** Traverse to referenced members Traverse to MEMBER via REF OUT edge. - */ - def referencedMember: Iterator[nodes.Member] = traversal.flatMap(_.referencedMember) - - /** Traverse to referenced members Traverse to MEMBER via REF OUT edge. - */ - @deprecated("please use referencedMember instead") - def memberViaRefOut: Iterator[nodes.Member] = traversal.flatMap(_.memberViaRefOut) - - def argumentIn: Iterator[nodes.Expression] = traversal.flatMap(_.argumentIn) - - def argumentOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.argumentOut) - - def astIn: Iterator[nodes.Expression] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.Expression] = traversal.flatMap(_.astOut) - - def callOut: Iterator[nodes.Method] = traversal.flatMap(_.callOut) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cdgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgOut) - - def cfgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.cfgIn) - - def cfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgOut) - - def conditionIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.conditionIn) - - def containsIn: Iterator[nodes.Method] = traversal.flatMap(_.containsIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def isCallForImportOut: Iterator[nodes.Import] = traversal.flatMap(_.isCallForImportOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def reachingDefIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefIn) - - def reachingDefOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefOut) - - def receiverIn: Iterator[nodes.Call] = traversal.flatMap(_.receiverIn) - - def receiverOut: Iterator[nodes.Expression] = traversal.flatMap(_.receiverOut) - - def refOut: Iterator[nodes.Member] = traversal.flatMap(_.refOut) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/CfgNode.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/CfgNode.scala deleted file mode 100644 index 4480242c..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/CfgNode.scala +++ /dev/null @@ -1,102 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForCfgNode(val node: nodes.CfgNode) extends AnyVal { - - /** Traverse to BLOCK via CFG IN edge. - */ - def blockViaCfgIn: Iterator[nodes.Block] = cfgIn.collectAll[nodes.Block] - - /** Traverse to CALL via CFG IN edge. - */ - def callViaCfgIn: Iterator[nodes.Call] = cfgIn.collectAll[nodes.Call] - - /** Traverse to CONTROL_STRUCTURE via CFG IN edge. - */ - def controlStructureViaCfgIn: Iterator[nodes.ControlStructure] = cfgIn.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CFG IN edge. - */ - def fieldIdentifierViaCfgIn: Iterator[nodes.FieldIdentifier] = cfgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via CFG IN edge. - */ - def identifierViaCfgIn: Iterator[nodes.Identifier] = cfgIn.collectAll[nodes.Identifier] - - /** Traverse to JUMP_TARGET via CFG IN edge. - */ - def jumpTargetViaCfgIn: Iterator[nodes.JumpTarget] = cfgIn.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via CFG IN edge. - */ - def literalViaCfgIn: Iterator[nodes.Literal] = cfgIn.collectAll[nodes.Literal] - - /** Traverse to METHOD via CFG IN edge. - */ - def methodViaCfgIn: Iterator[nodes.Method] = cfgIn.collectAll[nodes.Method] - - /** Traverse to METHOD_REF via CFG IN edge. - */ - def methodRefViaCfgIn: Iterator[nodes.MethodRef] = cfgIn.collectAll[nodes.MethodRef] - - /** Traverse to TYPE_REF via CFG IN edge. - */ - def typeRefViaCfgIn: Iterator[nodes.TypeRef] = cfgIn.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via CFG IN edge. - */ - def unknownViaCfgIn: Iterator[nodes.Unknown] = cfgIn.collectAll[nodes.Unknown] - - def cfgIn: Iterator[nodes.CfgNode] = node._cfgIn.cast[nodes.CfgNode] -} - -final class AccessNeighborsForCfgNodeTraversal(val traversal: Iterator[nodes.CfgNode]) extends AnyVal { - - /** Traverse to BLOCK via CFG IN edge. - */ - def blockViaCfgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCfgIn) - - /** Traverse to CALL via CFG IN edge. - */ - def callViaCfgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCfgIn) - - /** Traverse to CONTROL_STRUCTURE via CFG IN edge. - */ - def controlStructureViaCfgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCfgIn) - - /** Traverse to FIELD_IDENTIFIER via CFG IN edge. - */ - def fieldIdentifierViaCfgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCfgIn) - - /** Traverse to IDENTIFIER via CFG IN edge. - */ - def identifierViaCfgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCfgIn) - - /** Traverse to JUMP_TARGET via CFG IN edge. - */ - def jumpTargetViaCfgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCfgIn) - - /** Traverse to LITERAL via CFG IN edge. - */ - def literalViaCfgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCfgIn) - - /** Traverse to METHOD via CFG IN edge. - */ - def methodViaCfgIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaCfgIn) - - /** Traverse to METHOD_REF via CFG IN edge. - */ - def methodRefViaCfgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCfgIn) - - /** Traverse to TYPE_REF via CFG IN edge. - */ - def typeRefViaCfgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCfgIn) - - /** Traverse to UNKNOWN via CFG IN edge. - */ - def unknownViaCfgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCfgIn) - - def cfgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgIn) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ClosureBinding.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ClosureBinding.scala deleted file mode 100644 index 52edab3c..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ClosureBinding.scala +++ /dev/null @@ -1,73 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForClosureBinding(val node: nodes.ClosureBinding) extends AnyVal { - - /** Traverse to LOCAL via CAPTURED_BY IN edge. - */ - def localViaCapturedByIn: Iterator[nodes.Local] = capturedByIn.collectAll[nodes.Local] - - /** Traverse to LOCAL via REF OUT edge. - */ - def localViaRefOut: Option[nodes.Local] = refOut.collectAll[nodes.Local].nextOption() - - /** Traverse to METHOD_PARAMETER_IN via CAPTURED_BY IN edge. - */ - def methodParameterInViaCapturedByIn: Iterator[nodes.MethodParameterIn] = - capturedByIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_IN via REF OUT edge. - */ - def methodParameterInViaRefOut: Option[nodes.MethodParameterIn] = - refOut.collectAll[nodes.MethodParameterIn].nextOption() - - /** Traverse to METHOD_REF via CAPTURE IN edge. - */ - def methodRefViaCaptureIn: Iterator[nodes.MethodRef] = captureIn.collectAll[nodes.MethodRef] - - /** Traverse to TYPE_REF via CAPTURE IN edge. - */ - def typeRefViaCaptureIn: Iterator[nodes.TypeRef] = captureIn.collectAll[nodes.TypeRef] - - def captureIn: Iterator[nodes.Expression] = node._captureIn.cast[nodes.Expression] - - def capturedByIn: Iterator[nodes.AstNode] = node._capturedByIn.cast[nodes.AstNode] - - def refOut: Iterator[nodes.AstNode] = node._refOut.cast[nodes.AstNode] -} - -final class AccessNeighborsForClosureBindingTraversal(val traversal: Iterator[nodes.ClosureBinding]) extends AnyVal { - - /** Traverse to LOCAL via CAPTURED_BY IN edge. - */ - def localViaCapturedByIn: Iterator[nodes.Local] = traversal.flatMap(_.localViaCapturedByIn) - - /** Traverse to LOCAL via REF OUT edge. - */ - def localViaRefOut: Iterator[nodes.Local] = traversal.flatMap(_.localViaRefOut) - - /** Traverse to METHOD_PARAMETER_IN via CAPTURED_BY IN edge. - */ - def methodParameterInViaCapturedByIn: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaCapturedByIn) - - /** Traverse to METHOD_PARAMETER_IN via REF OUT edge. - */ - def methodParameterInViaRefOut: Iterator[nodes.MethodParameterIn] = traversal.flatMap(_.methodParameterInViaRefOut) - - /** Traverse to METHOD_REF via CAPTURE IN edge. - */ - def methodRefViaCaptureIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCaptureIn) - - /** Traverse to TYPE_REF via CAPTURE IN edge. - */ - def typeRefViaCaptureIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCaptureIn) - - def captureIn: Iterator[nodes.Expression] = traversal.flatMap(_.captureIn) - - def capturedByIn: Iterator[nodes.AstNode] = traversal.flatMap(_.capturedByIn) - - def refOut: Iterator[nodes.AstNode] = traversal.flatMap(_.refOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Comment.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Comment.scala deleted file mode 100644 index 36218b8c..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Comment.scala +++ /dev/null @@ -1,56 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForComment(val node: nodes.Comment) extends AnyVal { - - /** Traverse to COMMENT via SOURCE_FILE IN edge. - */ - def commentViaSourceFileIn: Iterator[nodes.Comment] = sourceFileIn.collectAll[nodes.Comment] - - /** Traverse to COMMENT via SOURCE_FILE OUT edge. - */ - @deprecated("please use file instead") - def commentViaSourceFileOut: Iterator[nodes.Comment] = file - - /** Traverse to COMMENT via SOURCE_FILE OUT edge. - */ - def file: Iterator[nodes.Comment] = sourceFileOut.collectAll[nodes.Comment] - - /** Traverse to FILE via AST IN edge. - */ - def fileViaAstIn: Iterator[nodes.File] = astIn.collectAll[nodes.File] - - def astIn: Iterator[nodes.File] = node._astIn.cast[nodes.File] - - def sourceFileIn: Iterator[nodes.Comment] = node._sourceFileIn.cast[nodes.Comment] - - def sourceFileOut: Iterator[nodes.Comment] = node._sourceFileOut.cast[nodes.Comment] -} - -final class AccessNeighborsForCommentTraversal(val traversal: Iterator[nodes.Comment]) extends AnyVal { - - /** Traverse to COMMENT via SOURCE_FILE IN edge. - */ - def commentViaSourceFileIn: Iterator[nodes.Comment] = traversal.flatMap(_.commentViaSourceFileIn) - - /** Traverse to COMMENT via SOURCE_FILE OUT edge. - */ - def file: Iterator[nodes.Comment] = traversal.flatMap(_.file) - - /** Traverse to COMMENT via SOURCE_FILE OUT edge. - */ - @deprecated("please use file instead") - def commentViaSourceFileOut: Iterator[nodes.Comment] = traversal.flatMap(_.commentViaSourceFileOut) - - /** Traverse to FILE via AST IN edge. - */ - def fileViaAstIn: Iterator[nodes.File] = traversal.flatMap(_.fileViaAstIn) - - def astIn: Iterator[nodes.File] = traversal.flatMap(_.astIn) - - def sourceFileIn: Iterator[nodes.Comment] = traversal.flatMap(_.sourceFileIn) - - def sourceFileOut: Iterator[nodes.Comment] = traversal.flatMap(_.sourceFileOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ControlStructure.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ControlStructure.scala deleted file mode 100644 index 35b56963..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/ControlStructure.scala +++ /dev/null @@ -1,991 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForControlStructure(val node: nodes.ControlStructure) extends AnyVal { - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = astIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via AST OUT edge. - */ - def blockViaAstOut: Iterator[nodes.Block] = astOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = cdgOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via CONDITION OUT edge. - */ - def blockViaConditionOut: Iterator[nodes.Block] = conditionOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = argumentIn.collectAll[nodes.Call] - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = astIn.collectAll[nodes.Call] - - /** Traverse to CALL via AST OUT edge. - */ - def callViaAstOut: Iterator[nodes.Call] = astOut.collectAll[nodes.Call] - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = cdgOut.collectAll[nodes.Call] - - /** Traverse to CALL via CONDITION OUT edge. - */ - def callViaConditionOut: Iterator[nodes.Call] = conditionOut.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = reachingDefOut.collectAll[nodes.Call] - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Iterator[nodes.Call] = receiverIn.collectAll[nodes.Call] - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = cfgOut.collectAll[nodes.CfgNode] - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = astIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via AST OUT edge. - */ - def controlStructureViaAstOut: Iterator[nodes.ControlStructure] = astOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = cdgOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = conditionIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CONDITION OUT edge. - */ - def controlStructureViaConditionOut: Iterator[nodes.ControlStructure] = - conditionOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = dominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = cdgOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via AST OUT edge. - */ - def identifierViaAstOut: Iterator[nodes.Identifier] = astOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = cdgOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CONDITION OUT edge. - */ - def identifierViaConditionOut: Iterator[nodes.Identifier] = conditionOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to JUMP_LABEL via AST OUT edge. - */ - def jumpLabelViaAstOut: Iterator[nodes.JumpLabel] = astOut.collectAll[nodes.JumpLabel] - - /** Traverse to JUMP_TARGET via AST OUT edge. - */ - def jumpTargetViaAstOut: Iterator[nodes.JumpTarget] = astOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = cdgOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CONDITION OUT edge. - */ - def jumpTargetViaConditionOut: Iterator[nodes.JumpTarget] = conditionOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = dominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = dominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = postDominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = astOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = cdgOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CONDITION OUT edge. - */ - def literalViaConditionOut: Iterator[nodes.Literal] = conditionOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = reachingDefOut.collectAll[nodes.Literal] - - /** Traverse to LOCAL via AST OUT edge. - */ - def localViaAstOut: Iterator[nodes.Local] = astOut.collectAll[nodes.Local] - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = postDominateOut.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - reachingDefOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via AST OUT edge. - */ - def methodRefViaAstOut: Iterator[nodes.MethodRef] = astOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = cdgOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CONDITION OUT edge. - */ - def methodRefViaConditionOut: Iterator[nodes.MethodRef] = conditionOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = cdgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = dominateOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to MODIFIER via AST OUT edge. - */ - def modifierViaAstOut: Iterator[nodes.Modifier] = astOut.collectAll[nodes.Modifier] - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = argumentIn.collectAll[nodes.Return] - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = astIn.collectAll[nodes.Return] - - /** Traverse to RETURN via AST OUT edge. - */ - def returnViaAstOut: Iterator[nodes.Return] = astOut.collectAll[nodes.Return] - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = cdgOut.collectAll[nodes.Return] - - /** Traverse to RETURN via CONDITION OUT edge. - */ - def returnViaConditionOut: Iterator[nodes.Return] = conditionOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = reachingDefOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - /** Traverse to TYPE_REF via AST OUT edge. - */ - def typeRefViaAstOut: Iterator[nodes.TypeRef] = astOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = cdgOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CONDITION OUT edge. - */ - def typeRefViaConditionOut: Iterator[nodes.TypeRef] = conditionOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via AST OUT edge. - */ - def unknownViaAstOut: Iterator[nodes.Unknown] = astOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = cdgOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CONDITION OUT edge. - */ - def unknownViaConditionOut: Iterator[nodes.Unknown] = conditionOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - def argumentIn: Iterator[nodes.Expression] = node._argumentIn.cast[nodes.Expression] - - def astIn: Iterator[nodes.Expression] = node._astIn.cast[nodes.Expression] - - def astOut: Iterator[nodes.AstNode] = node._astOut.cast[nodes.AstNode] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cdgOut: Iterator[nodes.CfgNode] = node._cdgOut.cast[nodes.CfgNode] - - def cfgOut: Iterator[nodes.CfgNode] = node._cfgOut.cast[nodes.CfgNode] - - def conditionIn: Iterator[nodes.ControlStructure] = node._conditionIn.cast[nodes.ControlStructure] - - def conditionOut: Iterator[nodes.CfgNode] = node._conditionOut.cast[nodes.CfgNode] - - def containsIn: Iterator[nodes.Method] = node._containsIn.cast[nodes.Method] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def reachingDefOut: Iterator[nodes.CfgNode] = node._reachingDefOut.cast[nodes.CfgNode] - - def receiverIn: Iterator[nodes.Call] = node._receiverIn.cast[nodes.Call] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForControlStructureTraversal(val traversal: Iterator[nodes.ControlStructure]) - extends AnyVal { - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstIn) - - /** Traverse to BLOCK via AST OUT edge. - */ - def blockViaAstOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstOut) - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgOut) - - /** Traverse to BLOCK via CONDITION OUT edge. - */ - def blockViaConditionOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaConditionOut) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaArgumentIn) - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstIn) - - /** Traverse to CALL via AST OUT edge. - */ - def callViaAstOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstOut) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgOut) - - /** Traverse to CALL via CONDITION OUT edge. - */ - def callViaConditionOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaConditionOut) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefOut) - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReceiverIn) - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgNodeViaCfgOut) - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstIn) - - /** Traverse to CONTROL_STRUCTURE via AST OUT edge. - */ - def controlStructureViaAstOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstOut) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgOut) - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaConditionIn) - - /** Traverse to CONTROL_STRUCTURE via CONDITION OUT edge. - */ - def controlStructureViaConditionOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaConditionOut) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgOut) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via AST OUT edge. - */ - def identifierViaAstOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaAstOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgOut) - - /** Traverse to IDENTIFIER via CONDITION OUT edge. - */ - def identifierViaConditionOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaConditionOut) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to JUMP_LABEL via AST OUT edge. - */ - def jumpLabelViaAstOut: Iterator[nodes.JumpLabel] = traversal.flatMap(_.jumpLabelViaAstOut) - - /** Traverse to JUMP_TARGET via AST OUT edge. - */ - def jumpTargetViaAstOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaAstOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgOut) - - /** Traverse to JUMP_TARGET via CONDITION OUT edge. - */ - def jumpTargetViaConditionOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaConditionOut) - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateIn) - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateOut) - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaAstOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgOut) - - /** Traverse to LITERAL via CONDITION OUT edge. - */ - def literalViaConditionOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaConditionOut) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefOut) - - /** Traverse to LOCAL via AST OUT edge. - */ - def localViaAstOut: Iterator[nodes.Local] = traversal.flatMap(_.localViaAstOut) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaPostDominateOut) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefOut) - - /** Traverse to METHOD_REF via AST OUT edge. - */ - def methodRefViaAstOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaAstOut) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgOut) - - /** Traverse to METHOD_REF via CONDITION OUT edge. - */ - def methodRefViaConditionOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaConditionOut) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCdgOut) - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaDominateOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to MODIFIER via AST OUT edge. - */ - def modifierViaAstOut: Iterator[nodes.Modifier] = traversal.flatMap(_.modifierViaAstOut) - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaArgumentIn) - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstIn) - - /** Traverse to RETURN via AST OUT edge. - */ - def returnViaAstOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstOut) - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaCdgOut) - - /** Traverse to RETURN via CONDITION OUT edge. - */ - def returnViaConditionOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaConditionOut) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - /** Traverse to TYPE_REF via AST OUT edge. - */ - def typeRefViaAstOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaAstOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgOut) - - /** Traverse to TYPE_REF via CONDITION OUT edge. - */ - def typeRefViaConditionOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaConditionOut) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - /** Traverse to UNKNOWN via AST OUT edge. - */ - def unknownViaAstOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstOut) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgOut) - - /** Traverse to UNKNOWN via CONDITION OUT edge. - */ - def unknownViaConditionOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaConditionOut) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - def argumentIn: Iterator[nodes.Expression] = traversal.flatMap(_.argumentIn) - - def astIn: Iterator[nodes.Expression] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.AstNode] = traversal.flatMap(_.astOut) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cdgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgOut) - - def cfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgOut) - - def conditionIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.conditionIn) - - def conditionOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.conditionOut) - - def containsIn: Iterator[nodes.Method] = traversal.flatMap(_.containsIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def reachingDefOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefOut) - - def receiverIn: Iterator[nodes.Call] = traversal.flatMap(_.receiverIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Dependency.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Dependency.scala deleted file mode 100644 index 6eadec0b..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Dependency.scala +++ /dev/null @@ -1,22 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForDependency(val node: nodes.Dependency) extends AnyVal { - - /** Traverse to IMPORT via IMPORTS IN edge. - */ - def importViaImportsIn: Iterator[nodes.Import] = importsIn.collectAll[nodes.Import] - - def importsIn: Iterator[nodes.Import] = node._importsIn.cast[nodes.Import] -} - -final class AccessNeighborsForDependencyTraversal(val traversal: Iterator[nodes.Dependency]) extends AnyVal { - - /** Traverse to IMPORT via IMPORTS IN edge. - */ - def importViaImportsIn: Iterator[nodes.Import] = traversal.flatMap(_.importViaImportsIn) - - def importsIn: Iterator[nodes.Import] = traversal.flatMap(_.importsIn) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Expression.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Expression.scala deleted file mode 100644 index d519d0b9..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Expression.scala +++ /dev/null @@ -1,46 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForExpression(val node: nodes.Expression) extends AnyVal { - - /** Traverse to TEMPLATE_DOM via ARGUMENT OUT edge. - */ - def templateDomViaArgumentOut: Iterator[nodes.TemplateDom] = argumentOut.collectAll[nodes.TemplateDom] - - /** Traverse to TEMPLATE_DOM via AST IN edge. - */ - def templateDomViaAstIn: Iterator[nodes.TemplateDom] = astIn.collectAll[nodes.TemplateDom] - - /** Traverse to TEMPLATE_DOM via REACHING_DEF IN edge. - */ - def templateDomViaReachingDefIn: Iterator[nodes.TemplateDom] = reachingDefIn.collectAll[nodes.TemplateDom] - - def argumentOut: Iterator[nodes.TemplateDom] = node._argumentOut.cast[nodes.TemplateDom] - - def astIn: Iterator[nodes.TemplateDom] = node._astIn.cast[nodes.TemplateDom] - - def reachingDefIn: Iterator[nodes.TemplateDom] = node._reachingDefIn.cast[nodes.TemplateDom] -} - -final class AccessNeighborsForExpressionTraversal(val traversal: Iterator[nodes.Expression]) extends AnyVal { - - /** Traverse to TEMPLATE_DOM via ARGUMENT OUT edge. - */ - def templateDomViaArgumentOut: Iterator[nodes.TemplateDom] = traversal.flatMap(_.templateDomViaArgumentOut) - - /** Traverse to TEMPLATE_DOM via AST IN edge. - */ - def templateDomViaAstIn: Iterator[nodes.TemplateDom] = traversal.flatMap(_.templateDomViaAstIn) - - /** Traverse to TEMPLATE_DOM via REACHING_DEF IN edge. - */ - def templateDomViaReachingDefIn: Iterator[nodes.TemplateDom] = traversal.flatMap(_.templateDomViaReachingDefIn) - - def argumentOut: Iterator[nodes.TemplateDom] = traversal.flatMap(_.argumentOut) - - def astIn: Iterator[nodes.TemplateDom] = traversal.flatMap(_.astIn) - - def reachingDefIn: Iterator[nodes.TemplateDom] = traversal.flatMap(_.reachingDefIn) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/FieldIdentifier.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/FieldIdentifier.scala deleted file mode 100644 index 544efda8..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/FieldIdentifier.scala +++ /dev/null @@ -1,708 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForFieldIdentifier(val node: nodes.FieldIdentifier) extends AnyVal { - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = cdgOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: nodes.Call = { - try { argumentIn.collectAll[nodes.Call].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label ARGUMENT to an adjacent CALL is mandatory, but not defined for this FIELD_IDENTIFIER node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: nodes.Call = { - try { astIn.collectAll[nodes.Call].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent CALL is mandatory, but not defined for this FIELD_IDENTIFIER node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = cdgOut.collectAll[nodes.Call] - - /** Traverse to CALL via CFG OUT edge. - */ - def callViaCfgOut: nodes.Call = { - try { cfgOut.collectAll[nodes.Call].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "OUT edge with label CFG to an adjacent CALL is mandatory, but not defined for this FIELD_IDENTIFIER node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = cfgOut.collectAll[nodes.CfgNode] - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = cdgOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = dominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = cdgOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = cdgOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = cdgOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = dominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = dominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = postDominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = cdgOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = dominateIn.collectAll[nodes.Method] - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = postDominateOut.collectAll[nodes.Method] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = cdgOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = cdgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = dominateOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = cdgOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = cdgOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = cdgOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - def argumentIn: Iterator[nodes.Call] = node._argumentIn.cast[nodes.Call] - - def astIn: Iterator[nodes.Expression] = node._astIn.cast[nodes.Expression] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cdgOut: Iterator[nodes.CfgNode] = node._cdgOut.cast[nodes.CfgNode] - - def cfgOut: Iterator[nodes.AstNode] = node._cfgOut.cast[nodes.AstNode] - - def containsIn: Iterator[nodes.Method] = node._containsIn.cast[nodes.Method] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForFieldIdentifierTraversal(val traversal: Iterator[nodes.FieldIdentifier]) extends AnyVal { - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgOut) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = traversal.map(_.callViaArgumentIn) - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = traversal.map(_.callViaAstIn) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgOut) - - /** Traverse to CALL via CFG OUT edge. - */ - def callViaCfgOut: Iterator[nodes.Call] = traversal.map(_.callViaCfgOut) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgNodeViaCfgOut) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgOut) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgOut) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgOut) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgOut) - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateIn) - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateOut) - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgOut) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaDominateIn) - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaPostDominateOut) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgOut) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCdgOut) - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaDominateOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaCdgOut) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgOut) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgOut) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - def argumentIn: Iterator[nodes.Call] = traversal.flatMap(_.argumentIn) - - def astIn: Iterator[nodes.Expression] = traversal.flatMap(_.astIn) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cdgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgOut) - - def cfgOut: Iterator[nodes.AstNode] = traversal.flatMap(_.cfgOut) - - def containsIn: Iterator[nodes.Method] = traversal.flatMap(_.containsIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/File.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/File.scala deleted file mode 100644 index cac6a14e..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/File.scala +++ /dev/null @@ -1,146 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForFile(val node: nodes.File) extends AnyVal { - - /** Traverse to COMMENT via AST OUT edge. - */ - @deprecated("please use comment instead") - def commentViaAstOut: Iterator[nodes.Comment] = comment - - /** Traverse to COMMENT via AST OUT edge. - */ - def comment: Iterator[nodes.Comment] = astOut.collectAll[nodes.Comment] - - /** Traverse to IMPORT via AST OUT edge. - */ - def importViaAstOut: Iterator[nodes.Import] = astOut.collectAll[nodes.Import] - - /** Traverse to METHOD via CONTAINS OUT edge. - */ - def methodViaContainsOut: Iterator[nodes.Method] = containsOut.collectAll[nodes.Method] - - /** Traverse to METHOD via SOURCE_FILE IN edge. - */ - @deprecated("please use method instead") - def methodViaSourceFileIn: Iterator[nodes.Method] = method - - /** Traverse to METHOD via SOURCE_FILE IN edge. - */ - def method: Iterator[nodes.Method] = sourceFileIn.collectAll[nodes.Method] - - /** Traverse to NAMESPACE_BLOCK via AST OUT edge. - */ - def namespaceBlockViaAstOut: Iterator[nodes.NamespaceBlock] = astOut.collectAll[nodes.NamespaceBlock] - - /** Traverse to NAMESPACE_BLOCK via SOURCE_FILE IN edge. - */ - @deprecated("please use namespaceBlock instead") - def namespaceBlockViaSourceFileIn: Iterator[nodes.NamespaceBlock] = namespaceBlock - - /** Traverse to NAMESPACE_BLOCK via SOURCE_FILE IN edge. - */ - def namespaceBlock: Iterator[nodes.NamespaceBlock] = sourceFileIn.collectAll[nodes.NamespaceBlock] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TEMPLATE_DOM via CONTAINS OUT edge. - */ - def templateDomViaContainsOut: Iterator[nodes.TemplateDom] = containsOut.collectAll[nodes.TemplateDom] - - /** Traverse to TYPE_DECL via CONTAINS OUT edge. - */ - def typeDeclViaContainsOut: Iterator[nodes.TypeDecl] = containsOut.collectAll[nodes.TypeDecl] - - /** Traverse to TYPE_DECL via SOURCE_FILE IN edge. - */ - @deprecated("please use typeDecl instead") - def typeDeclViaSourceFileIn: Iterator[nodes.TypeDecl] = typeDecl - - /** Traverse to TYPE_DECL via SOURCE_FILE IN edge. - */ - def typeDecl: Iterator[nodes.TypeDecl] = sourceFileIn.collectAll[nodes.TypeDecl] - - def astOut: Iterator[nodes.AstNode] = node._astOut.cast[nodes.AstNode] - - def containsOut: Iterator[nodes.AstNode] = node._containsOut.cast[nodes.AstNode] - - def sourceFileIn: Iterator[nodes.AstNode] = node._sourceFileIn.cast[nodes.AstNode] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForFileTraversal(val traversal: Iterator[nodes.File]) extends AnyVal { - - /** Traverse to COMMENT via AST OUT edge. - */ - def comment: Iterator[nodes.Comment] = traversal.flatMap(_.comment) - - /** Traverse to COMMENT via AST OUT edge. - */ - @deprecated("please use comment instead") - def commentViaAstOut: Iterator[nodes.Comment] = traversal.flatMap(_.commentViaAstOut) - - /** Traverse to IMPORT via AST OUT edge. - */ - def importViaAstOut: Iterator[nodes.Import] = traversal.flatMap(_.importViaAstOut) - - /** Traverse to METHOD via CONTAINS OUT edge. - */ - def methodViaContainsOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsOut) - - /** Traverse to METHOD via SOURCE_FILE IN edge. - */ - def method: Iterator[nodes.Method] = traversal.flatMap(_.method) - - /** Traverse to METHOD via SOURCE_FILE IN edge. - */ - @deprecated("please use method instead") - def methodViaSourceFileIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaSourceFileIn) - - /** Traverse to NAMESPACE_BLOCK via AST OUT edge. - */ - def namespaceBlockViaAstOut: Iterator[nodes.NamespaceBlock] = traversal.flatMap(_.namespaceBlockViaAstOut) - - /** Traverse to NAMESPACE_BLOCK via SOURCE_FILE IN edge. - */ - def namespaceBlock: Iterator[nodes.NamespaceBlock] = traversal.flatMap(_.namespaceBlock) - - /** Traverse to NAMESPACE_BLOCK via SOURCE_FILE IN edge. - */ - @deprecated("please use namespaceBlock instead") - def namespaceBlockViaSourceFileIn: Iterator[nodes.NamespaceBlock] = traversal.flatMap(_.namespaceBlockViaSourceFileIn) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TEMPLATE_DOM via CONTAINS OUT edge. - */ - def templateDomViaContainsOut: Iterator[nodes.TemplateDom] = traversal.flatMap(_.templateDomViaContainsOut) - - /** Traverse to TYPE_DECL via CONTAINS OUT edge. - */ - def typeDeclViaContainsOut: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaContainsOut) - - /** Traverse to TYPE_DECL via SOURCE_FILE IN edge. - */ - def typeDecl: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDecl) - - /** Traverse to TYPE_DECL via SOURCE_FILE IN edge. - */ - @deprecated("please use typeDecl instead") - def typeDeclViaSourceFileIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaSourceFileIn) - - def astOut: Iterator[nodes.AstNode] = traversal.flatMap(_.astOut) - - def containsOut: Iterator[nodes.AstNode] = traversal.flatMap(_.containsOut) - - def sourceFileIn: Iterator[nodes.AstNode] = traversal.flatMap(_.sourceFileIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Identifier.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Identifier.scala deleted file mode 100644 index e64aed83..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Identifier.scala +++ /dev/null @@ -1,943 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForIdentifier(val node: nodes.Identifier) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = astOut.collectAll[nodes.Annotation] - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = astIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = cdgOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = reachingDefIn.collectAll[nodes.Block] - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Option[nodes.Call] = argumentIn.collectAll[nodes.Call].nextOption() - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = astIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = cdgOut.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = reachingDefIn.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = reachingDefOut.collectAll[nodes.Call] - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Option[nodes.Call] = receiverIn.collectAll[nodes.Call].nextOption() - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = cfgOut.collectAll[nodes.CfgNode] - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Option[nodes.ControlStructure] = astIn.collectAll[nodes.ControlStructure].nextOption() - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = cdgOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = conditionIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = dominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - reachingDefIn.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = cdgOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = cdgOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = reachingDefIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = cdgOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = dominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = dominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = postDominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = cdgOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = reachingDefIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = reachingDefOut.collectAll[nodes.Literal] - - /** Traverse to LOCAL via REF OUT edge. - */ - def localViaRefOut: Option[nodes.Local] = refOut.collectAll[nodes.Local].nextOption() - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = dominateIn.collectAll[nodes.Method] - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = postDominateOut.collectAll[nodes.Method] - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = reachingDefIn.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - reachingDefIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_IN via REF OUT edge. - */ - def methodParameterInViaRefOut: Option[nodes.MethodParameterIn] = - refOut.collectAll[nodes.MethodParameterIn].nextOption() - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - reachingDefIn.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - reachingDefOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = cdgOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = reachingDefIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = cdgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = dominateOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Option[nodes.Return] = argumentIn.collectAll[nodes.Return].nextOption() - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = astIn.collectAll[nodes.Return] - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = cdgOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF IN edge. - */ - def returnViaReachingDefIn: Iterator[nodes.Return] = reachingDefIn.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = reachingDefOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = cdgOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = reachingDefIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = cdgOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = reachingDefIn.collectAll[nodes.Unknown] - - def argumentIn: Iterator[nodes.Expression] = node._argumentIn.cast[nodes.Expression] - - def astIn: Iterator[nodes.Expression] = node._astIn.cast[nodes.Expression] - - def astOut: Iterator[nodes.Annotation] = node._astOut.cast[nodes.Annotation] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cdgOut: Iterator[nodes.CfgNode] = node._cdgOut.cast[nodes.CfgNode] - - def cfgOut: Iterator[nodes.CfgNode] = node._cfgOut.cast[nodes.CfgNode] - - def conditionIn: Iterator[nodes.ControlStructure] = node._conditionIn.cast[nodes.ControlStructure] - - def containsIn: Iterator[nodes.Method] = node._containsIn.cast[nodes.Method] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def reachingDefIn: Iterator[nodes.CfgNode] = node._reachingDefIn.cast[nodes.CfgNode] - - def reachingDefOut: Iterator[nodes.CfgNode] = node._reachingDefOut.cast[nodes.CfgNode] - - def receiverIn: Iterator[nodes.Call] = node._receiverIn.cast[nodes.Call] - - def refOut: Iterator[nodes.AstNode] = node._refOut.cast[nodes.AstNode] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForIdentifierTraversal(val traversal: Iterator[nodes.Identifier]) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = traversal.flatMap(_.annotationViaAstOut) - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstIn) - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgOut) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaReachingDefIn) - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaArgumentIn) - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstIn) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgOut) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefIn) - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefOut) - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReceiverIn) - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgNodeViaCfgOut) - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstIn) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgOut) - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaConditionIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaReachingDefIn) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgOut) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgOut) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefIn) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgOut) - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateIn) - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateOut) - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgOut) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefIn) - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefOut) - - /** Traverse to LOCAL via REF OUT edge. - */ - def localViaRefOut: Iterator[nodes.Local] = traversal.flatMap(_.localViaRefOut) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaDominateIn) - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaPostDominateOut) - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_IN via REF OUT edge. - */ - def methodParameterInViaRefOut: Iterator[nodes.MethodParameterIn] = traversal.flatMap(_.methodParameterInViaRefOut) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefOut) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgOut) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefIn) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCdgOut) - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaDominateOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaArgumentIn) - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstIn) - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaCdgOut) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to RETURN via REACHING_DEF IN edge. - */ - def returnViaReachingDefIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefIn) - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgOut) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefIn) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgOut) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaReachingDefIn) - - def argumentIn: Iterator[nodes.Expression] = traversal.flatMap(_.argumentIn) - - def astIn: Iterator[nodes.Expression] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.Annotation] = traversal.flatMap(_.astOut) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cdgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgOut) - - def cfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgOut) - - def conditionIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.conditionIn) - - def containsIn: Iterator[nodes.Method] = traversal.flatMap(_.containsIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def reachingDefIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefIn) - - def reachingDefOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefOut) - - def receiverIn: Iterator[nodes.Call] = traversal.flatMap(_.receiverIn) - - def refOut: Iterator[nodes.AstNode] = traversal.flatMap(_.refOut) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Import.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Import.scala deleted file mode 100644 index c2fedb27..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Import.scala +++ /dev/null @@ -1,74 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForImport(val node: nodes.Import) extends AnyVal { - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = astIn.collectAll[nodes.Block] - - /** Traverse to CALL via IS_CALL_FOR_IMPORT IN edge. - */ - def callViaIsCallForImportIn: Iterator[nodes.Call] = isCallForImportIn.collectAll[nodes.Call] - - /** Traverse to DEPENDENCY via IMPORTS OUT edge. - */ - def dependencyViaImportsOut: Iterator[nodes.Dependency] = importsOut.collectAll[nodes.Dependency] - - /** Traverse to FILE via AST IN edge. - */ - def fileViaAstIn: Iterator[nodes.File] = astIn.collectAll[nodes.File] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: Iterator[nodes.TypeDecl] = astIn.collectAll[nodes.TypeDecl] - - def astIn: Iterator[nodes.AstNode] = node._astIn.cast[nodes.AstNode] - - def importsOut: Iterator[nodes.Dependency] = node._importsOut.cast[nodes.Dependency] - - def isCallForImportIn: Iterator[nodes.Call] = node._isCallForImportIn.cast[nodes.Call] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForImportTraversal(val traversal: Iterator[nodes.Import]) extends AnyVal { - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstIn) - - /** Traverse to CALL via IS_CALL_FOR_IMPORT IN edge. - */ - def callViaIsCallForImportIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaIsCallForImportIn) - - /** Traverse to DEPENDENCY via IMPORTS OUT edge. - */ - def dependencyViaImportsOut: Iterator[nodes.Dependency] = traversal.flatMap(_.dependencyViaImportsOut) - - /** Traverse to FILE via AST IN edge. - */ - def fileViaAstIn: Iterator[nodes.File] = traversal.flatMap(_.fileViaAstIn) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaAstIn) - - def astIn: Iterator[nodes.AstNode] = traversal.flatMap(_.astIn) - - def importsOut: Iterator[nodes.Dependency] = traversal.flatMap(_.importsOut) - - def isCallForImportIn: Iterator[nodes.Call] = traversal.flatMap(_.isCallForImportIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/JumpLabel.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/JumpLabel.scala deleted file mode 100644 index bcc322c4..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/JumpLabel.scala +++ /dev/null @@ -1,22 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForJumpLabel(val node: nodes.JumpLabel) extends AnyVal { - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = astIn.collectAll[nodes.ControlStructure] - - def astIn: Iterator[nodes.ControlStructure] = node._astIn.cast[nodes.ControlStructure] -} - -final class AccessNeighborsForJumpLabelTraversal(val traversal: Iterator[nodes.JumpLabel]) extends AnyVal { - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstIn) - - def astIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.astIn) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/JumpTarget.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/JumpTarget.scala deleted file mode 100644 index ad44f222..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/JumpTarget.scala +++ /dev/null @@ -1,686 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForJumpTarget(val node: nodes.JumpTarget) extends AnyVal { - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = astIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = cdgOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = argumentIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = cdgOut.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = cfgOut.collectAll[nodes.CfgNode] - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = astIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = cdgOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = conditionIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = dominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = cdgOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = cdgOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = cdgOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = dominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = dominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = postDominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = cdgOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = cdgOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = cdgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = argumentIn.collectAll[nodes.Return] - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = astIn.collectAll[nodes.Return] - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = cdgOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = cdgOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = cdgOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - def argumentIn: Iterator[nodes.Expression] = node._argumentIn.cast[nodes.Expression] - - def astIn: Iterator[nodes.Expression] = node._astIn.cast[nodes.Expression] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cdgOut: Iterator[nodes.CfgNode] = node._cdgOut.cast[nodes.CfgNode] - - def cfgOut: Iterator[nodes.CfgNode] = node._cfgOut.cast[nodes.CfgNode] - - def conditionIn: Iterator[nodes.ControlStructure] = node._conditionIn.cast[nodes.ControlStructure] - - def containsIn: Iterator[nodes.Method] = node._containsIn.cast[nodes.Method] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForJumpTargetTraversal(val traversal: Iterator[nodes.JumpTarget]) extends AnyVal { - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstIn) - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgOut) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaArgumentIn) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgOut) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgNodeViaCfgOut) - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstIn) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgOut) - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaConditionIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgOut) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgOut) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgOut) - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateIn) - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateOut) - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgOut) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgOut) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCdgOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaArgumentIn) - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstIn) - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaCdgOut) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgOut) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgOut) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - def argumentIn: Iterator[nodes.Expression] = traversal.flatMap(_.argumentIn) - - def astIn: Iterator[nodes.Expression] = traversal.flatMap(_.astIn) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cdgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgOut) - - def cfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgOut) - - def conditionIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.conditionIn) - - def containsIn: Iterator[nodes.Method] = traversal.flatMap(_.containsIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Literal.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Literal.scala deleted file mode 100644 index 0b44fddf..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Literal.scala +++ /dev/null @@ -1,931 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForLiteral(val node: nodes.Literal) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = astOut.collectAll[nodes.Annotation] - - /** Traverse to ARRAY_INITIALIZER via AST IN edge. - */ - def arrayInitializerViaAstIn: Iterator[nodes.ArrayInitializer] = astIn.collectAll[nodes.ArrayInitializer] - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = astIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = cdgOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = reachingDefIn.collectAll[nodes.Block] - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Option[nodes.Call] = argumentIn.collectAll[nodes.Call].nextOption() - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = astIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = cdgOut.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = reachingDefIn.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = reachingDefOut.collectAll[nodes.Call] - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Option[nodes.Call] = receiverIn.collectAll[nodes.Call].nextOption() - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = cfgOut.collectAll[nodes.CfgNode] - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: nodes.ControlStructure = { - try { astIn.collectAll[nodes.ControlStructure].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent CONTROL_STRUCTURE is mandatory, but not defined for this LITERAL node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = cdgOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = conditionIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = dominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - reachingDefIn.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = cdgOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = cdgOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = reachingDefIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = cdgOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = dominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = dominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = postDominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = cdgOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = reachingDefIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = reachingDefOut.collectAll[nodes.Literal] - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = dominateIn.collectAll[nodes.Method] - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = postDominateOut.collectAll[nodes.Method] - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = reachingDefIn.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - reachingDefIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - reachingDefIn.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - reachingDefOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = cdgOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = reachingDefIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = cdgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = dominateOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Option[nodes.Return] = argumentIn.collectAll[nodes.Return].nextOption() - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = astIn.collectAll[nodes.Return] - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = cdgOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = reachingDefOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = cdgOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = reachingDefIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = cdgOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = reachingDefIn.collectAll[nodes.Unknown] - - def argumentIn: Iterator[nodes.Expression] = node._argumentIn.cast[nodes.Expression] - - def astIn: Iterator[nodes.Expression] = node._astIn.cast[nodes.Expression] - - def astOut: Iterator[nodes.Annotation] = node._astOut.cast[nodes.Annotation] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cdgOut: Iterator[nodes.CfgNode] = node._cdgOut.cast[nodes.CfgNode] - - def cfgOut: Iterator[nodes.CfgNode] = node._cfgOut.cast[nodes.CfgNode] - - def conditionIn: Iterator[nodes.ControlStructure] = node._conditionIn.cast[nodes.ControlStructure] - - def containsIn: Iterator[nodes.Method] = node._containsIn.cast[nodes.Method] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def reachingDefIn: Iterator[nodes.CfgNode] = node._reachingDefIn.cast[nodes.CfgNode] - - def reachingDefOut: Iterator[nodes.CfgNode] = node._reachingDefOut.cast[nodes.CfgNode] - - def receiverIn: Iterator[nodes.Call] = node._receiverIn.cast[nodes.Call] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForLiteralTraversal(val traversal: Iterator[nodes.Literal]) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = traversal.flatMap(_.annotationViaAstOut) - - /** Traverse to ARRAY_INITIALIZER via AST IN edge. - */ - def arrayInitializerViaAstIn: Iterator[nodes.ArrayInitializer] = traversal.flatMap(_.arrayInitializerViaAstIn) - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstIn) - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgOut) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaReachingDefIn) - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaArgumentIn) - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstIn) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgOut) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefIn) - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefOut) - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReceiverIn) - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgNodeViaCfgOut) - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.map(_.controlStructureViaAstIn) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgOut) - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaConditionIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaReachingDefIn) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgOut) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgOut) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefIn) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgOut) - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateIn) - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateOut) - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgOut) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefIn) - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefOut) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaDominateIn) - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaPostDominateOut) - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefOut) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgOut) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefIn) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCdgOut) - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaDominateOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaArgumentIn) - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstIn) - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaCdgOut) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgOut) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefIn) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgOut) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaReachingDefIn) - - def argumentIn: Iterator[nodes.Expression] = traversal.flatMap(_.argumentIn) - - def astIn: Iterator[nodes.Expression] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.Annotation] = traversal.flatMap(_.astOut) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cdgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgOut) - - def cfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgOut) - - def conditionIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.conditionIn) - - def containsIn: Iterator[nodes.Method] = traversal.flatMap(_.containsIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def reachingDefIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefIn) - - def reachingDefOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefOut) - - def receiverIn: Iterator[nodes.Call] = traversal.flatMap(_.receiverIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Local.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Local.scala deleted file mode 100644 index a73d450f..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Local.scala +++ /dev/null @@ -1,125 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForLocal(val node: nodes.Local) extends AnyVal { - - /** Traverse to CLOSURE_BINDING via CAPTURED_BY OUT edge. - */ - def closureBindingViaCapturedByOut: Iterator[nodes.ClosureBinding] = capturedByOut.collectAll[nodes.ClosureBinding] - - /** Traverse to CLOSURE_BINDING via REF IN edge. - */ - def closureBindingViaRefIn: Iterator[nodes.ClosureBinding] = refIn.collectAll[nodes.ClosureBinding] - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = astIn.collectAll[nodes.ControlStructure] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - /** Places (identifier) where this local is being referenced Traverse to IDENTIFIER via REF IN edge. - */ - @deprecated("please use referencingIdentifiers instead") - def identifierViaRefIn: Iterator[nodes.Identifier] = referencingIdentifiers - - /** Places (identifier) where this local is being referenced Traverse to IDENTIFIER via REF IN edge. - */ - def referencingIdentifiers: Iterator[nodes.Identifier] = refIn.collectAll[nodes.Identifier] - - /** The block in which local is declared. Traverse to BLOCK via AST IN edge. - */ - @deprecated("please use definingBlock instead") - def blockViaAstIn: Iterator[nodes.Block] = definingBlock - - /** The block in which local is declared. Traverse to BLOCK via AST IN edge. - */ - def definingBlock: Iterator[nodes.Block] = astIn.collectAll[nodes.Block] - - /** The type of the local. Traverse to TYPE via EVAL_TYPE OUT edge. - */ - @deprecated("please use typ instead") - def typeViaEvalTypeOut: Iterator[nodes.Type] = typ - - /** The type of the local. Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typ: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - def astIn: Iterator[nodes.Expression] = node._astIn.cast[nodes.Expression] - - def capturedByOut: Iterator[nodes.ClosureBinding] = node._capturedByOut.cast[nodes.ClosureBinding] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def refIn: Iterator[nodes.StoredNode] = node._refIn.cast[nodes.StoredNode] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForLocalTraversal(val traversal: Iterator[nodes.Local]) extends AnyVal { - - /** Traverse to CLOSURE_BINDING via CAPTURED_BY OUT edge. - */ - def closureBindingViaCapturedByOut: Iterator[nodes.ClosureBinding] = - traversal.flatMap(_.closureBindingViaCapturedByOut) - - /** Traverse to CLOSURE_BINDING via REF IN edge. - */ - def closureBindingViaRefIn: Iterator[nodes.ClosureBinding] = traversal.flatMap(_.closureBindingViaRefIn) - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstIn) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - /** Places (identifier) where this local is being referenced Traverse to IDENTIFIER via REF IN edge. - */ - def referencingIdentifiers: Iterator[nodes.Identifier] = traversal.flatMap(_.referencingIdentifiers) - - /** Places (identifier) where this local is being referenced Traverse to IDENTIFIER via REF IN edge. - */ - @deprecated("please use referencingIdentifiers instead") - def identifierViaRefIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaRefIn) - - /** The block in which local is declared. Traverse to BLOCK via AST IN edge. - */ - def definingBlock: Iterator[nodes.Block] = traversal.flatMap(_.definingBlock) - - /** The block in which local is declared. Traverse to BLOCK via AST IN edge. - */ - @deprecated("please use definingBlock instead") - def blockViaAstIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstIn) - - /** The type of the local. Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typ: Iterator[nodes.Type] = traversal.flatMap(_.typ) - - /** The type of the local. Traverse to TYPE via EVAL_TYPE OUT edge. - */ - @deprecated("please use typ instead") - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - def astIn: Iterator[nodes.Expression] = traversal.flatMap(_.astIn) - - def capturedByOut: Iterator[nodes.ClosureBinding] = traversal.flatMap(_.capturedByOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def refIn: Iterator[nodes.StoredNode] = traversal.flatMap(_.refIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Member.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Member.scala deleted file mode 100644 index 20e4cd69..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Member.scala +++ /dev/null @@ -1,115 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForMember(val node: nodes.Member) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = astOut.collectAll[nodes.Annotation] - - /** Traverse to CALL via REF IN edge. - */ - def callViaRefIn: Iterator[nodes.Call] = refIn.collectAll[nodes.Call] - - /** Traverse to MODIFIER via AST OUT edge. - */ - def modifierViaAstOut: Iterator[nodes.Modifier] = astOut.collectAll[nodes.Modifier] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - /** The type declaration this member is defined in Traverse to TYPE_DECL via AST IN edge. - */ - @deprecated("please use typeDecl instead") - def typeDeclViaAstIn: nodes.TypeDecl = typeDecl - - /** The type declaration this member is defined in Traverse to TYPE_DECL via AST IN edge. - */ - def typeDecl: nodes.TypeDecl = { - try { astIn.collectAll[nodes.TypeDecl].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent TYPE_DECL is mandatory, but not defined for this MEMBER node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to member type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - @deprecated("please use typ instead") - def typeViaEvalTypeOut: Iterator[nodes.Type] = typ - - /** Traverse to member type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typ: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - def astIn: Iterator[nodes.AstNode] = node._astIn.cast[nodes.AstNode] - - def astOut: Iterator[nodes.AstNode] = node._astOut.cast[nodes.AstNode] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def refIn: Iterator[nodes.Call] = node._refIn.cast[nodes.Call] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForMemberTraversal(val traversal: Iterator[nodes.Member]) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = traversal.flatMap(_.annotationViaAstOut) - - /** Traverse to CALL via REF IN edge. - */ - def callViaRefIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaRefIn) - - /** Traverse to MODIFIER via AST OUT edge. - */ - def modifierViaAstOut: Iterator[nodes.Modifier] = traversal.flatMap(_.modifierViaAstOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - /** The type declaration this member is defined in Traverse to TYPE_DECL via AST IN edge. - */ - def typeDecl: Iterator[nodes.TypeDecl] = traversal.map(_.typeDecl) - - /** The type declaration this member is defined in Traverse to TYPE_DECL via AST IN edge. - */ - @deprecated("please use typeDecl instead") - def typeDeclViaAstIn: Iterator[nodes.TypeDecl] = traversal.map(_.typeDeclViaAstIn) - - /** Traverse to member type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typ: Iterator[nodes.Type] = traversal.flatMap(_.typ) - - /** Traverse to member type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - @deprecated("please use typ instead") - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - def astIn: Iterator[nodes.AstNode] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.AstNode] = traversal.flatMap(_.astOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def refIn: Iterator[nodes.Call] = traversal.flatMap(_.refIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Method.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Method.scala deleted file mode 100644 index b2b9d59e..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Method.scala +++ /dev/null @@ -1,633 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForMethod(val node: nodes.Method) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = astOut.collectAll[nodes.Annotation] - - /** Traverse to BINDING via REF IN edge. - */ - def bindingViaRefIn: Iterator[nodes.Binding] = refIn.collectAll[nodes.Binding] - - /** Traverse to BLOCK via CONTAINS OUT edge. - */ - def blockViaContainsOut: Iterator[nodes.Block] = containsOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to CALL via CALL IN edge. - */ - def callViaCallIn: Iterator[nodes.Call] = callIn.collectAll[nodes.Call] - - /** Traverse to CALL via CONTAINS OUT edge. - */ - def callViaContainsOut: Iterator[nodes.Call] = containsOut.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = reachingDefOut.collectAll[nodes.Call] - - /** Traverse to CONTROL_STRUCTURE via CONTAINS OUT edge. - */ - def controlStructureViaContainsOut: Iterator[nodes.ControlStructure] = containsOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CONTAINS OUT edge. - */ - def fieldIdentifierViaContainsOut: Iterator[nodes.FieldIdentifier] = containsOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FILE via CONTAINS IN edge. - */ - def fileViaContainsIn: Iterator[nodes.File] = containsIn.collectAll[nodes.File] - - /** Traverse to FILE via SOURCE_FILE OUT edge. - */ - def fileViaSourceFileOut: Iterator[nodes.File] = sourceFileOut.collectAll[nodes.File] - - /** Traverse to IDENTIFIER via CONTAINS OUT edge. - */ - def identifierViaContainsOut: Iterator[nodes.Identifier] = containsOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to JUMP_TARGET via CONTAINS OUT edge. - */ - def jumpTargetViaContainsOut: Iterator[nodes.JumpTarget] = containsOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = reachingDefOut.collectAll[nodes.Literal] - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: Option[nodes.Method] = astIn.collectAll[nodes.Method].nextOption() - - /** Traverse to METHOD via AST OUT edge. - */ - def methodViaAstOut: Iterator[nodes.Method] = astOut.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF OUT edge. - */ - def methodParameterInViaReachingDefOut: Iterator[nodes.MethodParameterIn] = - reachingDefOut.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_OUT via AST OUT edge. - */ - def methodParameterOutViaAstOut: Iterator[nodes.MethodParameterOut] = astOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - reachingDefOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via CONTAINS OUT edge. - */ - def methodRefViaContainsOut: Iterator[nodes.MethodRef] = containsOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REF IN edge. - */ - def methodRefViaRefIn: Iterator[nodes.MethodRef] = refIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via CFG OUT edge. - */ - def methodReturnViaCfgOut: Option[nodes.MethodReturn] = cfgOut.collectAll[nodes.MethodReturn].nextOption() - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = dominateOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to MODIFIER via AST OUT edge. - */ - def modifierViaAstOut: Iterator[nodes.Modifier] = astOut.collectAll[nodes.Modifier] - - /** Traverse to NAMESPACE_BLOCK via AST IN edge. - */ - def namespaceBlockViaAstIn: Option[nodes.NamespaceBlock] = astIn.collectAll[nodes.NamespaceBlock].nextOption() - - /** Traverse to RETURN via CONTAINS OUT edge. - */ - def returnViaContainsOut: Iterator[nodes.Return] = containsOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = reachingDefOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TEMPLATE_DOM via CONTAINS OUT edge. - */ - def templateDomViaContainsOut: Iterator[nodes.TemplateDom] = containsOut.collectAll[nodes.TemplateDom] - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: Option[nodes.TypeDecl] = astIn.collectAll[nodes.TypeDecl].nextOption() - - /** Traverse to TYPE_DECL via AST OUT edge. - */ - def typeDeclViaAstOut: Iterator[nodes.TypeDecl] = astOut.collectAll[nodes.TypeDecl] - - /** Traverse to TYPE_DECL via CONTAINS IN edge. - */ - def typeDeclViaContainsIn: Iterator[nodes.TypeDecl] = containsIn.collectAll[nodes.TypeDecl] - - /** Traverse to TYPE_PARAMETER via AST OUT edge. - */ - def typeParameterViaAstOut: Iterator[nodes.TypeParameter] = astOut.collectAll[nodes.TypeParameter] - - /** Traverse to TYPE_REF via CONTAINS OUT edge. - */ - def typeRefViaContainsOut: Iterator[nodes.TypeRef] = containsOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via CONTAINS OUT edge. - */ - def unknownViaContainsOut: Iterator[nodes.Unknown] = containsOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** First control flow graph node Traverse to CFG_NODE via CFG OUT edge. - */ - @deprecated("please use cfgFirst instead") - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = cfgFirst - - /** First control flow graph node Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgFirst: Iterator[nodes.CfgNode] = cfgOut.collectAll[nodes.CfgNode] - - /** Formal return parameters Traverse to METHOD_RETURN via AST OUT edge. - */ - @deprecated("please use methodReturn instead") - def methodReturnViaAstOut: nodes.MethodReturn = methodReturn - - /** Formal return parameters Traverse to METHOD_RETURN via AST OUT edge. - */ - def methodReturn: nodes.MethodReturn = { - try { astOut.collectAll[nodes.MethodReturn].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "OUT edge with label AST to an adjacent METHOD_RETURN is mandatory, but not defined for this METHOD node with seq=" + node.seq, - e - ) - } - } - - /** Literals used in the method Traverse to LITERAL via CONTAINS OUT edge. - */ - @deprecated("please use literal instead") - def literalViaContainsOut: Iterator[nodes.Literal] = literal - - /** Literals used in the method Traverse to LITERAL via CONTAINS OUT edge. - */ - def literal: Iterator[nodes.Literal] = containsOut.collectAll[nodes.Literal] - - /** Parameters of the method Traverse to METHOD_PARAMETER_IN via AST OUT edge. - */ - @deprecated("please use parameter instead") - def methodParameterInViaAstOut: Iterator[nodes.MethodParameterIn] = parameter - - /** Parameters of the method Traverse to METHOD_PARAMETER_IN via AST OUT edge. - */ - def parameter: Iterator[nodes.MethodParameterIn] = astOut.collectAll[nodes.MethodParameterIn] - - /** Root of the abstract syntax tree Traverse to BLOCK via AST OUT edge. - */ - @deprecated("please use block instead") - def blockViaAstOut: nodes.Block = block - - /** Root of the abstract syntax tree Traverse to BLOCK via AST OUT edge. - */ - def block: nodes.Block = { - try { astOut.collectAll[nodes.Block].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "OUT edge with label AST to an adjacent BLOCK is mandatory, but not defined for this METHOD node with seq=" + node.seq, - e - ) - } - } - - def astIn: Iterator[nodes.AstNode] = node._astIn.cast[nodes.AstNode] - - def astOut: Iterator[nodes.AstNode] = node._astOut.cast[nodes.AstNode] - - def callIn: Iterator[nodes.Call] = node._callIn.cast[nodes.Call] - - def cfgOut: Iterator[nodes.AstNode] = node._cfgOut.cast[nodes.AstNode] - - def containsIn: Iterator[nodes.AstNode] = node._containsIn.cast[nodes.AstNode] - - def containsOut: Iterator[nodes.CfgNode] = node._containsOut.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def reachingDefOut: Iterator[nodes.CfgNode] = node._reachingDefOut.cast[nodes.CfgNode] - - def refIn: Iterator[nodes.StoredNode] = node._refIn.cast[nodes.StoredNode] - - def sourceFileOut: Iterator[nodes.File] = node._sourceFileOut.cast[nodes.File] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForMethodTraversal(val traversal: Iterator[nodes.Method]) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = traversal.flatMap(_.annotationViaAstOut) - - /** Traverse to BINDING via REF IN edge. - */ - def bindingViaRefIn: Iterator[nodes.Binding] = traversal.flatMap(_.bindingViaRefIn) - - /** Traverse to BLOCK via CONTAINS OUT edge. - */ - def blockViaContainsOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaContainsOut) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to CALL via CALL IN edge. - */ - def callViaCallIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCallIn) - - /** Traverse to CALL via CONTAINS OUT edge. - */ - def callViaContainsOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaContainsOut) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefOut) - - /** Traverse to CONTROL_STRUCTURE via CONTAINS OUT edge. - */ - def controlStructureViaContainsOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaContainsOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via CONTAINS OUT edge. - */ - def fieldIdentifierViaContainsOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaContainsOut) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FILE via CONTAINS IN edge. - */ - def fileViaContainsIn: Iterator[nodes.File] = traversal.flatMap(_.fileViaContainsIn) - - /** Traverse to FILE via SOURCE_FILE OUT edge. - */ - def fileViaSourceFileOut: Iterator[nodes.File] = traversal.flatMap(_.fileViaSourceFileOut) - - /** Traverse to IDENTIFIER via CONTAINS OUT edge. - */ - def identifierViaContainsOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaContainsOut) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to JUMP_TARGET via CONTAINS OUT edge. - */ - def jumpTargetViaContainsOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaContainsOut) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefOut) - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaAstIn) - - /** Traverse to METHOD via AST OUT edge. - */ - def methodViaAstOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaAstOut) - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF OUT edge. - */ - def methodParameterInViaReachingDefOut: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaReachingDefOut) - - /** Traverse to METHOD_PARAMETER_OUT via AST OUT edge. - */ - def methodParameterOutViaAstOut: Iterator[nodes.MethodParameterOut] = traversal.flatMap(_.methodParameterOutViaAstOut) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefOut) - - /** Traverse to METHOD_REF via CONTAINS OUT edge. - */ - def methodRefViaContainsOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaContainsOut) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to METHOD_REF via REF IN edge. - */ - def methodRefViaRefIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaRefIn) - - /** Traverse to METHOD_RETURN via CFG OUT edge. - */ - def methodReturnViaCfgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCfgOut) - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaDominateOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to MODIFIER via AST OUT edge. - */ - def modifierViaAstOut: Iterator[nodes.Modifier] = traversal.flatMap(_.modifierViaAstOut) - - /** Traverse to NAMESPACE_BLOCK via AST IN edge. - */ - def namespaceBlockViaAstIn: Iterator[nodes.NamespaceBlock] = traversal.flatMap(_.namespaceBlockViaAstIn) - - /** Traverse to RETURN via CONTAINS OUT edge. - */ - def returnViaContainsOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaContainsOut) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TEMPLATE_DOM via CONTAINS OUT edge. - */ - def templateDomViaContainsOut: Iterator[nodes.TemplateDom] = traversal.flatMap(_.templateDomViaContainsOut) - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaAstIn) - - /** Traverse to TYPE_DECL via AST OUT edge. - */ - def typeDeclViaAstOut: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaAstOut) - - /** Traverse to TYPE_DECL via CONTAINS IN edge. - */ - def typeDeclViaContainsIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaContainsIn) - - /** Traverse to TYPE_PARAMETER via AST OUT edge. - */ - def typeParameterViaAstOut: Iterator[nodes.TypeParameter] = traversal.flatMap(_.typeParameterViaAstOut) - - /** Traverse to TYPE_REF via CONTAINS OUT edge. - */ - def typeRefViaContainsOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaContainsOut) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to UNKNOWN via CONTAINS OUT edge. - */ - def unknownViaContainsOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaContainsOut) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** First control flow graph node Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgFirst: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgFirst) - - /** First control flow graph node Traverse to CFG_NODE via CFG OUT edge. - */ - @deprecated("please use cfgFirst instead") - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgNodeViaCfgOut) - - /** Formal return parameters Traverse to METHOD_RETURN via AST OUT edge. - */ - def methodReturn: Iterator[nodes.MethodReturn] = traversal.map(_.methodReturn) - - /** Formal return parameters Traverse to METHOD_RETURN via AST OUT edge. - */ - @deprecated("please use methodReturn instead") - def methodReturnViaAstOut: Iterator[nodes.MethodReturn] = traversal.map(_.methodReturnViaAstOut) - - /** Literals used in the method Traverse to LITERAL via CONTAINS OUT edge. - */ - def literal: Iterator[nodes.Literal] = traversal.flatMap(_.literal) - - /** Literals used in the method Traverse to LITERAL via CONTAINS OUT edge. - */ - @deprecated("please use literal instead") - def literalViaContainsOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaContainsOut) - - /** Parameters of the method Traverse to METHOD_PARAMETER_IN via AST OUT edge. - */ - def parameter: Iterator[nodes.MethodParameterIn] = traversal.flatMap(_.parameter) - - /** Parameters of the method Traverse to METHOD_PARAMETER_IN via AST OUT edge. - */ - @deprecated("please use parameter instead") - def methodParameterInViaAstOut: Iterator[nodes.MethodParameterIn] = traversal.flatMap(_.methodParameterInViaAstOut) - - /** Root of the abstract syntax tree Traverse to BLOCK via AST OUT edge. - */ - def block: Iterator[nodes.Block] = traversal.map(_.block) - - /** Root of the abstract syntax tree Traverse to BLOCK via AST OUT edge. - */ - @deprecated("please use block instead") - def blockViaAstOut: Iterator[nodes.Block] = traversal.map(_.blockViaAstOut) - - def astIn: Iterator[nodes.AstNode] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.AstNode] = traversal.flatMap(_.astOut) - - def callIn: Iterator[nodes.Call] = traversal.flatMap(_.callIn) - - def cfgOut: Iterator[nodes.AstNode] = traversal.flatMap(_.cfgOut) - - def containsIn: Iterator[nodes.AstNode] = traversal.flatMap(_.containsIn) - - def containsOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.containsOut) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def reachingDefOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefOut) - - def refIn: Iterator[nodes.StoredNode] = traversal.flatMap(_.refIn) - - def sourceFileOut: Iterator[nodes.File] = traversal.flatMap(_.sourceFileOut) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodParameterIn.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodParameterIn.scala deleted file mode 100644 index b7978f7e..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodParameterIn.scala +++ /dev/null @@ -1,245 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForMethodParameterIn(val node: nodes.MethodParameterIn) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = astOut.collectAll[nodes.Annotation] - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = reachingDefOut.collectAll[nodes.Call] - - /** Traverse to CLOSURE_BINDING via CAPTURED_BY OUT edge. - */ - def closureBindingViaCapturedByOut: Iterator[nodes.ClosureBinding] = capturedByOut.collectAll[nodes.ClosureBinding] - - /** Traverse to CLOSURE_BINDING via REF IN edge. - */ - def closureBindingViaRefIn: Iterator[nodes.ClosureBinding] = refIn.collectAll[nodes.ClosureBinding] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = reachingDefOut.collectAll[nodes.Literal] - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = reachingDefIn.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - reachingDefOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = reachingDefOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via AST OUT edge. - */ - def unknownViaAstOut: Iterator[nodes.Unknown] = astOut.collectAll[nodes.Unknown] - - /** Places (identifier) where this parameter is being referenced Traverse to IDENTIFIER via REF IN edge. - */ - @deprecated("please use referencingIdentifiers instead") - def identifierViaRefIn: Iterator[nodes.Identifier] = referencingIdentifiers - - /** Places (identifier) where this parameter is being referenced Traverse to IDENTIFIER via REF IN edge. - */ - def referencingIdentifiers: Iterator[nodes.Identifier] = refIn.collectAll[nodes.Identifier] - - /** Traverse to corresponding formal output parameter Traverse to METHOD_PARAMETER_OUT via PARAMETER_LINK OUT edge. - */ - @deprecated("please use asOutput instead") - def methodParameterOutViaParameterLinkOut: Iterator[nodes.MethodParameterOut] = asOutput - - /** Traverse to corresponding formal output parameter Traverse to METHOD_PARAMETER_OUT via PARAMETER_LINK OUT edge. - */ - def asOutput: Iterator[nodes.MethodParameterOut] = parameterLinkOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to method associated with this formal parameter Traverse to METHOD via AST IN edge. - */ - @deprecated("please use method instead") - def methodViaAstIn: nodes.Method = method - - /** Traverse to method associated with this formal parameter Traverse to METHOD via AST IN edge. - */ - def method: nodes.Method = { - try { astIn.collectAll[nodes.Method].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent METHOD is mandatory, but not defined for this METHOD_PARAMETER_IN node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to parameter type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - @deprecated("please use typ instead") - def typeViaEvalTypeOut: nodes.Type = typ - - /** Traverse to parameter type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typ: nodes.Type = { - try { evalTypeOut.collectAll[nodes.Type].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "OUT edge with label EVAL_TYPE to an adjacent TYPE is mandatory, but not defined for this METHOD_PARAMETER_IN node with seq=" + node.seq, - e - ) - } - } - - def astIn: Iterator[nodes.Method] = node._astIn.cast[nodes.Method] - - def astOut: Iterator[nodes.Expression] = node._astOut.cast[nodes.Expression] - - def capturedByOut: Iterator[nodes.ClosureBinding] = node._capturedByOut.cast[nodes.ClosureBinding] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def parameterLinkOut: Iterator[nodes.MethodParameterOut] = node._parameterLinkOut.cast[nodes.MethodParameterOut] - - def reachingDefIn: Iterator[nodes.Method] = node._reachingDefIn.cast[nodes.Method] - - def reachingDefOut: Iterator[nodes.CfgNode] = node._reachingDefOut.cast[nodes.CfgNode] - - def refIn: Iterator[nodes.StoredNode] = node._refIn.cast[nodes.StoredNode] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForMethodParameterInTraversal(val traversal: Iterator[nodes.MethodParameterIn]) - extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = traversal.flatMap(_.annotationViaAstOut) - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefOut) - - /** Traverse to CLOSURE_BINDING via CAPTURED_BY OUT edge. - */ - def closureBindingViaCapturedByOut: Iterator[nodes.ClosureBinding] = - traversal.flatMap(_.closureBindingViaCapturedByOut) - - /** Traverse to CLOSURE_BINDING via REF IN edge. - */ - def closureBindingViaRefIn: Iterator[nodes.ClosureBinding] = traversal.flatMap(_.closureBindingViaRefIn) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefOut) - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefOut) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to UNKNOWN via AST OUT edge. - */ - def unknownViaAstOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstOut) - - /** Places (identifier) where this parameter is being referenced Traverse to IDENTIFIER via REF IN edge. - */ - def referencingIdentifiers: Iterator[nodes.Identifier] = traversal.flatMap(_.referencingIdentifiers) - - /** Places (identifier) where this parameter is being referenced Traverse to IDENTIFIER via REF IN edge. - */ - @deprecated("please use referencingIdentifiers instead") - def identifierViaRefIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaRefIn) - - /** Traverse to corresponding formal output parameter Traverse to METHOD_PARAMETER_OUT via PARAMETER_LINK OUT edge. - */ - def asOutput: Iterator[nodes.MethodParameterOut] = traversal.flatMap(_.asOutput) - - /** Traverse to corresponding formal output parameter Traverse to METHOD_PARAMETER_OUT via PARAMETER_LINK OUT edge. - */ - @deprecated("please use asOutput instead") - def methodParameterOutViaParameterLinkOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaParameterLinkOut) - - /** Traverse to method associated with this formal parameter Traverse to METHOD via AST IN edge. - */ - def method: Iterator[nodes.Method] = traversal.map(_.method) - - /** Traverse to method associated with this formal parameter Traverse to METHOD via AST IN edge. - */ - @deprecated("please use method instead") - def methodViaAstIn: Iterator[nodes.Method] = traversal.map(_.methodViaAstIn) - - /** Traverse to parameter type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typ: Iterator[nodes.Type] = traversal.map(_.typ) - - /** Traverse to parameter type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - @deprecated("please use typ instead") - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.map(_.typeViaEvalTypeOut) - - def astIn: Iterator[nodes.Method] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.Expression] = traversal.flatMap(_.astOut) - - def capturedByOut: Iterator[nodes.ClosureBinding] = traversal.flatMap(_.capturedByOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def parameterLinkOut: Iterator[nodes.MethodParameterOut] = traversal.flatMap(_.parameterLinkOut) - - def reachingDefIn: Iterator[nodes.Method] = traversal.flatMap(_.reachingDefIn) - - def reachingDefOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefOut) - - def refIn: Iterator[nodes.StoredNode] = traversal.flatMap(_.refIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodParameterOut.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodParameterOut.scala deleted file mode 100644 index a3a0db1b..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodParameterOut.scala +++ /dev/null @@ -1,247 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForMethodParameterOut(val node: nodes.MethodParameterOut) extends AnyVal { - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = reachingDefIn.collectAll[nodes.Block] - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = reachingDefIn.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = reachingDefOut.collectAll[nodes.Call] - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - reachingDefIn.collectAll[nodes.ControlStructure] - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = reachingDefIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = reachingDefIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = reachingDefOut.collectAll[nodes.Literal] - - /** Traverse to METHOD via AST IN edge. - */ - @deprecated("please use method instead") - def methodViaAstIn: nodes.Method = method - - /** Traverse to METHOD via AST IN edge. - */ - def method: nodes.Method = { - try { astIn.collectAll[nodes.Method].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent METHOD is mandatory, but not defined for this METHOD_PARAMETER_OUT node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = reachingDefIn.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_IN via PARAMETER_LINK IN edge. - */ - @deprecated("please use asInput instead") - def methodParameterInViaParameterLinkIn: Iterator[nodes.MethodParameterIn] = asInput - - /** Traverse to METHOD_PARAMETER_IN via PARAMETER_LINK IN edge. - */ - def asInput: Iterator[nodes.MethodParameterIn] = parameterLinkIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - reachingDefIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = reachingDefIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to RETURN via REACHING_DEF IN edge. - */ - def returnViaReachingDefIn: Iterator[nodes.Return] = reachingDefIn.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = reachingDefOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = reachingDefIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = reachingDefIn.collectAll[nodes.Unknown] - - /** Traverse to parameter type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - @deprecated("please use typ instead") - def typeViaEvalTypeOut: Iterator[nodes.Type] = typ - - /** Traverse to parameter type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typ: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - def astIn: Iterator[nodes.Method] = node._astIn.cast[nodes.Method] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def parameterLinkIn: Iterator[nodes.MethodParameterIn] = node._parameterLinkIn.cast[nodes.MethodParameterIn] - - def reachingDefIn: Iterator[nodes.CfgNode] = node._reachingDefIn.cast[nodes.CfgNode] - - def reachingDefOut: Iterator[nodes.Expression] = node._reachingDefOut.cast[nodes.Expression] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForMethodParameterOutTraversal(val traversal: Iterator[nodes.MethodParameterOut]) - extends AnyVal { - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaReachingDefIn) - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefIn) - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefOut) - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaReachingDefIn) - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefIn) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefIn) - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefOut) - - /** Traverse to METHOD via AST IN edge. - */ - def method: Iterator[nodes.Method] = traversal.map(_.method) - - /** Traverse to METHOD via AST IN edge. - */ - @deprecated("please use method instead") - def methodViaAstIn: Iterator[nodes.Method] = traversal.map(_.methodViaAstIn) - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_IN via PARAMETER_LINK IN edge. - */ - def asInput: Iterator[nodes.MethodParameterIn] = traversal.flatMap(_.asInput) - - /** Traverse to METHOD_PARAMETER_IN via PARAMETER_LINK IN edge. - */ - @deprecated("please use asInput instead") - def methodParameterInViaParameterLinkIn: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaParameterLinkIn) - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaReachingDefIn) - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefIn) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to RETURN via REACHING_DEF IN edge. - */ - def returnViaReachingDefIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefIn) - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefIn) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaReachingDefIn) - - /** Traverse to parameter type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typ: Iterator[nodes.Type] = traversal.flatMap(_.typ) - - /** Traverse to parameter type Traverse to TYPE via EVAL_TYPE OUT edge. - */ - @deprecated("please use typ instead") - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - def astIn: Iterator[nodes.Method] = traversal.flatMap(_.astIn) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def parameterLinkIn: Iterator[nodes.MethodParameterIn] = traversal.flatMap(_.parameterLinkIn) - - def reachingDefIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefIn) - - def reachingDefOut: Iterator[nodes.Expression] = traversal.flatMap(_.reachingDefOut) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodRef.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodRef.scala deleted file mode 100644 index 324f9e36..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodRef.scala +++ /dev/null @@ -1,974 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForMethodRef(val node: nodes.MethodRef) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = astOut.collectAll[nodes.Annotation] - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = astIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = cdgOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = reachingDefIn.collectAll[nodes.Block] - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Option[nodes.Call] = argumentIn.collectAll[nodes.Call].nextOption() - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = astIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = cdgOut.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = reachingDefIn.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = reachingDefOut.collectAll[nodes.Call] - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Option[nodes.Call] = receiverIn.collectAll[nodes.Call].nextOption() - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = cfgOut.collectAll[nodes.CfgNode] - - /** Traverse to CLOSURE_BINDING via CAPTURE OUT edge. - */ - def closureBindingViaCaptureOut: Iterator[nodes.ClosureBinding] = captureOut.collectAll[nodes.ClosureBinding] - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: nodes.ControlStructure = { - try { astIn.collectAll[nodes.ControlStructure].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent CONTROL_STRUCTURE is mandatory, but not defined for this METHOD_REF node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = cdgOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = conditionIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = dominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - reachingDefIn.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = cdgOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = cdgOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = reachingDefIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = cdgOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = dominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = dominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = postDominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = cdgOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = reachingDefIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = reachingDefOut.collectAll[nodes.Literal] - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = dominateIn.collectAll[nodes.Method] - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = postDominateOut.collectAll[nodes.Method] - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = reachingDefIn.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - reachingDefIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - reachingDefIn.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - reachingDefOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = cdgOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = reachingDefIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = cdgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via CFG OUT edge. - */ - def methodReturnViaCfgOut: Iterator[nodes.MethodReturn] = cfgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = dominateOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Option[nodes.Return] = argumentIn.collectAll[nodes.Return].nextOption() - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = astIn.collectAll[nodes.Return] - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = cdgOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF IN edge. - */ - def returnViaReachingDefIn: Iterator[nodes.Return] = reachingDefIn.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = reachingDefOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = cdgOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = reachingDefIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = cdgOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = reachingDefIn.collectAll[nodes.Unknown] - - /** Traverse to referenced method. Traverse to METHOD via REF OUT edge. - */ - @deprecated("please use referencedMethod instead") - def methodViaRefOut: nodes.Method = referencedMethod - - /** Traverse to referenced method. Traverse to METHOD via REF OUT edge. - */ - def referencedMethod: nodes.Method = { - try { refOut.collectAll[nodes.Method].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "OUT edge with label REF to an adjacent METHOD is mandatory, but not defined for this METHOD_REF node with seq=" + node.seq, - e - ) - } - } - - def argumentIn: Iterator[nodes.Expression] = node._argumentIn.cast[nodes.Expression] - - def astIn: Iterator[nodes.Expression] = node._astIn.cast[nodes.Expression] - - def astOut: Iterator[nodes.Annotation] = node._astOut.cast[nodes.Annotation] - - def captureOut: Iterator[nodes.ClosureBinding] = node._captureOut.cast[nodes.ClosureBinding] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cdgOut: Iterator[nodes.CfgNode] = node._cdgOut.cast[nodes.CfgNode] - - def cfgOut: Iterator[nodes.AstNode] = node._cfgOut.cast[nodes.AstNode] - - def conditionIn: Iterator[nodes.ControlStructure] = node._conditionIn.cast[nodes.ControlStructure] - - def containsIn: Iterator[nodes.Method] = node._containsIn.cast[nodes.Method] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def reachingDefIn: Iterator[nodes.CfgNode] = node._reachingDefIn.cast[nodes.CfgNode] - - def reachingDefOut: Iterator[nodes.CfgNode] = node._reachingDefOut.cast[nodes.CfgNode] - - def receiverIn: Iterator[nodes.Call] = node._receiverIn.cast[nodes.Call] - - def refOut: Iterator[nodes.Method] = node._refOut.cast[nodes.Method] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForMethodRefTraversal(val traversal: Iterator[nodes.MethodRef]) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = traversal.flatMap(_.annotationViaAstOut) - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstIn) - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgOut) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaReachingDefIn) - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaArgumentIn) - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstIn) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgOut) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefIn) - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefOut) - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReceiverIn) - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgNodeViaCfgOut) - - /** Traverse to CLOSURE_BINDING via CAPTURE OUT edge. - */ - def closureBindingViaCaptureOut: Iterator[nodes.ClosureBinding] = traversal.flatMap(_.closureBindingViaCaptureOut) - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.map(_.controlStructureViaAstIn) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgOut) - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaConditionIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaReachingDefIn) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgOut) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgOut) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefIn) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgOut) - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateIn) - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateOut) - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgOut) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefIn) - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefOut) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaDominateIn) - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaPostDominateOut) - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefOut) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgOut) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefIn) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCdgOut) - - /** Traverse to METHOD_RETURN via CFG OUT edge. - */ - def methodReturnViaCfgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCfgOut) - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaDominateOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaArgumentIn) - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstIn) - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaCdgOut) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to RETURN via REACHING_DEF IN edge. - */ - def returnViaReachingDefIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefIn) - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgOut) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefIn) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgOut) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaReachingDefIn) - - /** Traverse to referenced method. Traverse to METHOD via REF OUT edge. - */ - def referencedMethod: Iterator[nodes.Method] = traversal.map(_.referencedMethod) - - /** Traverse to referenced method. Traverse to METHOD via REF OUT edge. - */ - @deprecated("please use referencedMethod instead") - def methodViaRefOut: Iterator[nodes.Method] = traversal.map(_.methodViaRefOut) - - def argumentIn: Iterator[nodes.Expression] = traversal.flatMap(_.argumentIn) - - def astIn: Iterator[nodes.Expression] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.Annotation] = traversal.flatMap(_.astOut) - - def captureOut: Iterator[nodes.ClosureBinding] = traversal.flatMap(_.captureOut) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cdgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgOut) - - def cfgOut: Iterator[nodes.AstNode] = traversal.flatMap(_.cfgOut) - - def conditionIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.conditionIn) - - def containsIn: Iterator[nodes.Method] = traversal.flatMap(_.containsIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def reachingDefIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefIn) - - def reachingDefOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefOut) - - def receiverIn: Iterator[nodes.Call] = traversal.flatMap(_.receiverIn) - - def refOut: Iterator[nodes.Method] = traversal.flatMap(_.refOut) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodReturn.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodReturn.scala deleted file mode 100644 index ec2ddec2..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/MethodReturn.scala +++ /dev/null @@ -1,394 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForMethodReturn(val node: nodes.MethodReturn) extends AnyVal { - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: nodes.Method = { - try { astIn.collectAll[nodes.Method].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent METHOD is mandatory, but not defined for this METHOD_RETURN node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to METHOD via CFG IN edge. - */ - def methodViaCfgIn: Option[nodes.Method] = cfgIn.collectAll[nodes.Method].nextOption() - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = dominateIn.collectAll[nodes.Method] - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = postDominateOut.collectAll[nodes.Method] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CFG IN edge. - */ - def methodRefViaCfgIn: Iterator[nodes.MethodRef] = cfgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to RETURN via CFG IN edge. - */ - @deprecated("please use toReturn instead") - def returnViaCfgIn: Iterator[nodes.Return] = toReturn - - /** Traverse to RETURN via CFG IN edge. - */ - def toReturn: Iterator[nodes.Return] = cfgIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF IN edge. - */ - def returnViaReachingDefIn: Iterator[nodes.Return] = reachingDefIn.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CFG IN edge. - */ - def typeRefViaCfgIn: Iterator[nodes.TypeRef] = cfgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - def astIn: Iterator[nodes.Method] = node._astIn.cast[nodes.Method] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cfgIn: Iterator[nodes.CfgNode] = node._cfgIn.cast[nodes.CfgNode] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def reachingDefIn: Iterator[nodes.Return] = node._reachingDefIn.cast[nodes.Return] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForMethodReturnTraversal(val traversal: Iterator[nodes.MethodReturn]) extends AnyVal { - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: Iterator[nodes.Method] = traversal.map(_.methodViaAstIn) - - /** Traverse to METHOD via CFG IN edge. - */ - def methodViaCfgIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaCfgIn) - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaDominateIn) - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaPostDominateOut) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via CFG IN edge. - */ - def methodRefViaCfgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCfgIn) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to RETURN via CFG IN edge. - */ - def toReturn: Iterator[nodes.Return] = traversal.flatMap(_.toReturn) - - /** Traverse to RETURN via CFG IN edge. - */ - @deprecated("please use toReturn instead") - def returnViaCfgIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaCfgIn) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to RETURN via REACHING_DEF IN edge. - */ - def returnViaReachingDefIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefIn) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via CFG IN edge. - */ - def typeRefViaCfgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCfgIn) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - def astIn: Iterator[nodes.Method] = traversal.flatMap(_.astIn) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cfgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def reachingDefIn: Iterator[nodes.Return] = traversal.flatMap(_.reachingDefIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Modifier.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Modifier.scala deleted file mode 100644 index 9da932be..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Modifier.scala +++ /dev/null @@ -1,72 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForModifier(val node: nodes.Modifier) extends AnyVal { - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = astIn.collectAll[nodes.ControlStructure] - - /** Traverse to MEMBER via AST IN edge. - */ - def memberViaAstIn: Iterator[nodes.Member] = astIn.collectAll[nodes.Member] - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: nodes.Method = { - try { astIn.collectAll[nodes.Method].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent METHOD is mandatory, but not defined for this MODIFIER node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: nodes.TypeDecl = { - try { astIn.collectAll[nodes.TypeDecl].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent TYPE_DECL is mandatory, but not defined for this MODIFIER node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - def astIn: Iterator[nodes.AstNode] = node._astIn.cast[nodes.AstNode] -} - -final class AccessNeighborsForModifierTraversal(val traversal: Iterator[nodes.Modifier]) extends AnyVal { - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstIn) - - /** Traverse to MEMBER via AST IN edge. - */ - def memberViaAstIn: Iterator[nodes.Member] = traversal.flatMap(_.memberViaAstIn) - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: Iterator[nodes.Method] = traversal.map(_.methodViaAstIn) - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: Iterator[nodes.TypeDecl] = traversal.map(_.typeDeclViaAstIn) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - def astIn: Iterator[nodes.AstNode] = traversal.flatMap(_.astIn) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Namespace.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Namespace.scala deleted file mode 100644 index 7b1a75d4..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Namespace.scala +++ /dev/null @@ -1,22 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForNamespace(val node: nodes.Namespace) extends AnyVal { - - /** Traverse to NAMESPACE_BLOCK via REF IN edge. - */ - def namespaceBlockViaRefIn: Iterator[nodes.NamespaceBlock] = refIn.collectAll[nodes.NamespaceBlock] - - def refIn: Iterator[nodes.NamespaceBlock] = node._refIn.cast[nodes.NamespaceBlock] -} - -final class AccessNeighborsForNamespaceTraversal(val traversal: Iterator[nodes.Namespace]) extends AnyVal { - - /** Traverse to NAMESPACE_BLOCK via REF IN edge. - */ - def namespaceBlockViaRefIn: Iterator[nodes.NamespaceBlock] = traversal.flatMap(_.namespaceBlockViaRefIn) - - def refIn: Iterator[nodes.NamespaceBlock] = traversal.flatMap(_.refIn) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/NamespaceBlock.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/NamespaceBlock.scala deleted file mode 100644 index 39d148ed..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/NamespaceBlock.scala +++ /dev/null @@ -1,66 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForNamespaceBlock(val node: nodes.NamespaceBlock) extends AnyVal { - - /** Traverse to FILE via AST IN edge. - */ - def fileViaAstIn: Option[nodes.File] = astIn.collectAll[nodes.File].nextOption() - - /** Traverse to FILE via SOURCE_FILE OUT edge. - */ - def fileViaSourceFileOut: Iterator[nodes.File] = sourceFileOut.collectAll[nodes.File] - - /** Traverse to METHOD via AST OUT edge. - */ - def methodViaAstOut: Iterator[nodes.Method] = astOut.collectAll[nodes.Method] - - /** Traverse to NAMESPACE via REF OUT edge. - */ - def namespaceViaRefOut: Iterator[nodes.Namespace] = refOut.collectAll[nodes.Namespace] - - /** Traverse to TYPE_DECL via AST OUT edge. - */ - def typeDeclViaAstOut: Iterator[nodes.TypeDecl] = astOut.collectAll[nodes.TypeDecl] - - def astIn: Iterator[nodes.File] = node._astIn.cast[nodes.File] - - def astOut: Iterator[nodes.AstNode] = node._astOut.cast[nodes.AstNode] - - def refOut: Iterator[nodes.Namespace] = node._refOut.cast[nodes.Namespace] - - def sourceFileOut: Iterator[nodes.File] = node._sourceFileOut.cast[nodes.File] -} - -final class AccessNeighborsForNamespaceBlockTraversal(val traversal: Iterator[nodes.NamespaceBlock]) extends AnyVal { - - /** Traverse to FILE via AST IN edge. - */ - def fileViaAstIn: Iterator[nodes.File] = traversal.flatMap(_.fileViaAstIn) - - /** Traverse to FILE via SOURCE_FILE OUT edge. - */ - def fileViaSourceFileOut: Iterator[nodes.File] = traversal.flatMap(_.fileViaSourceFileOut) - - /** Traverse to METHOD via AST OUT edge. - */ - def methodViaAstOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaAstOut) - - /** Traverse to NAMESPACE via REF OUT edge. - */ - def namespaceViaRefOut: Iterator[nodes.Namespace] = traversal.flatMap(_.namespaceViaRefOut) - - /** Traverse to TYPE_DECL via AST OUT edge. - */ - def typeDeclViaAstOut: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaAstOut) - - def astIn: Iterator[nodes.File] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.AstNode] = traversal.flatMap(_.astOut) - - def refOut: Iterator[nodes.Namespace] = traversal.flatMap(_.refOut) - - def sourceFileOut: Iterator[nodes.File] = traversal.flatMap(_.sourceFileOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Return.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Return.scala deleted file mode 100644 index b35d37ee..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Return.scala +++ /dev/null @@ -1,932 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForReturn(val node: nodes.Return) extends AnyVal { - - /** Traverse to BLOCK via ARGUMENT OUT edge. - */ - def blockViaArgumentOut: Option[nodes.Block] = argumentOut.collectAll[nodes.Block].nextOption() - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = astIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via AST OUT edge. - */ - def blockViaAstOut: Iterator[nodes.Block] = astOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = reachingDefIn.collectAll[nodes.Block] - - /** Traverse to CALL via ARGUMENT OUT edge. - */ - def callViaArgumentOut: Option[nodes.Call] = argumentOut.collectAll[nodes.Call].nextOption() - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = astIn.collectAll[nodes.Call] - - /** Traverse to CALL via AST OUT edge. - */ - def callViaAstOut: Iterator[nodes.Call] = astOut.collectAll[nodes.Call] - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = reachingDefIn.collectAll[nodes.Call] - - /** Traverse to CONTROL_STRUCTURE via ARGUMENT OUT edge. - */ - def controlStructureViaArgumentOut: Iterator[nodes.ControlStructure] = argumentOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Option[nodes.ControlStructure] = astIn.collectAll[nodes.ControlStructure].nextOption() - - /** Traverse to CONTROL_STRUCTURE via AST OUT edge. - */ - def controlStructureViaAstOut: Iterator[nodes.ControlStructure] = astOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = conditionIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = dominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - reachingDefIn.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via ARGUMENT OUT edge. - */ - def identifierViaArgumentOut: Option[nodes.Identifier] = argumentOut.collectAll[nodes.Identifier].nextOption() - - /** Traverse to IDENTIFIER via AST OUT edge. - */ - def identifierViaAstOut: Iterator[nodes.Identifier] = astOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = reachingDefIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to JUMP_TARGET via ARGUMENT OUT edge. - */ - def jumpTargetViaArgumentOut: Iterator[nodes.JumpTarget] = argumentOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via AST OUT edge. - */ - def jumpTargetViaAstOut: Iterator[nodes.JumpTarget] = astOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = dominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = dominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = postDominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via ARGUMENT OUT edge. - */ - def literalViaArgumentOut: Option[nodes.Literal] = argumentOut.collectAll[nodes.Literal].nextOption() - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = astOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = reachingDefIn.collectAll[nodes.Literal] - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = dominateIn.collectAll[nodes.Method] - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = postDominateOut.collectAll[nodes.Method] - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = reachingDefIn.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - reachingDefIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - reachingDefIn.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - reachingDefOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via ARGUMENT OUT edge. - */ - def methodRefViaArgumentOut: Option[nodes.MethodRef] = argumentOut.collectAll[nodes.MethodRef].nextOption() - - /** Traverse to METHOD_REF via AST OUT edge. - */ - def methodRefViaAstOut: Iterator[nodes.MethodRef] = astOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = reachingDefIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via CFG OUT edge. - */ - def methodReturnViaCfgOut: nodes.MethodReturn = { - try { cfgOut.collectAll[nodes.MethodReturn].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "OUT edge with label CFG to an adjacent METHOD_RETURN is mandatory, but not defined for this RETURN node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = dominateOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via REACHING_DEF OUT edge. - */ - def methodReturnViaReachingDefOut: Iterator[nodes.MethodReturn] = reachingDefOut.collectAll[nodes.MethodReturn] - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Option[nodes.Return] = argumentIn.collectAll[nodes.Return].nextOption() - - /** Traverse to RETURN via ARGUMENT OUT edge. - */ - def returnViaArgumentOut: Option[nodes.Return] = argumentOut.collectAll[nodes.Return].nextOption() - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = astIn.collectAll[nodes.Return] - - /** Traverse to RETURN via AST OUT edge. - */ - def returnViaAstOut: Iterator[nodes.Return] = astOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE_REF via ARGUMENT OUT edge. - */ - def typeRefViaArgumentOut: Iterator[nodes.TypeRef] = argumentOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via AST OUT edge. - */ - def typeRefViaAstOut: Iterator[nodes.TypeRef] = astOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = reachingDefIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via ARGUMENT OUT edge. - */ - def unknownViaArgumentOut: Iterator[nodes.Unknown] = argumentOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via AST OUT edge. - */ - def unknownViaAstOut: Iterator[nodes.Unknown] = astOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = reachingDefIn.collectAll[nodes.Unknown] - - def argumentIn: Iterator[nodes.Return] = node._argumentIn.cast[nodes.Return] - - def argumentOut: Iterator[nodes.CfgNode] = node._argumentOut.cast[nodes.CfgNode] - - def astIn: Iterator[nodes.Expression] = node._astIn.cast[nodes.Expression] - - def astOut: Iterator[nodes.CfgNode] = node._astOut.cast[nodes.CfgNode] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cfgOut: Iterator[nodes.MethodReturn] = node._cfgOut.cast[nodes.MethodReturn] - - def conditionIn: Iterator[nodes.ControlStructure] = node._conditionIn.cast[nodes.ControlStructure] - - def containsIn: Iterator[nodes.Method] = node._containsIn.cast[nodes.Method] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def reachingDefIn: Iterator[nodes.CfgNode] = node._reachingDefIn.cast[nodes.CfgNode] - - def reachingDefOut: Iterator[nodes.CfgNode] = node._reachingDefOut.cast[nodes.CfgNode] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForReturnTraversal(val traversal: Iterator[nodes.Return]) extends AnyVal { - - /** Traverse to BLOCK via ARGUMENT OUT edge. - */ - def blockViaArgumentOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaArgumentOut) - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstIn) - - /** Traverse to BLOCK via AST OUT edge. - */ - def blockViaAstOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstOut) - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaReachingDefIn) - - /** Traverse to CALL via ARGUMENT OUT edge. - */ - def callViaArgumentOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaArgumentOut) - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstIn) - - /** Traverse to CALL via AST OUT edge. - */ - def callViaAstOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstOut) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefIn) - - /** Traverse to CONTROL_STRUCTURE via ARGUMENT OUT edge. - */ - def controlStructureViaArgumentOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaArgumentOut) - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstIn) - - /** Traverse to CONTROL_STRUCTURE via AST OUT edge. - */ - def controlStructureViaAstOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstOut) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaConditionIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaReachingDefIn) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via ARGUMENT OUT edge. - */ - def identifierViaArgumentOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaArgumentOut) - - /** Traverse to IDENTIFIER via AST OUT edge. - */ - def identifierViaAstOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaAstOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefIn) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to JUMP_TARGET via ARGUMENT OUT edge. - */ - def jumpTargetViaArgumentOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaArgumentOut) - - /** Traverse to JUMP_TARGET via AST OUT edge. - */ - def jumpTargetViaAstOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaAstOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateIn) - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateOut) - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via ARGUMENT OUT edge. - */ - def literalViaArgumentOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaArgumentOut) - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaAstOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefIn) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaDominateIn) - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaPostDominateOut) - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefOut) - - /** Traverse to METHOD_REF via ARGUMENT OUT edge. - */ - def methodRefViaArgumentOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaArgumentOut) - - /** Traverse to METHOD_REF via AST OUT edge. - */ - def methodRefViaAstOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaAstOut) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefIn) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to METHOD_RETURN via CFG OUT edge. - */ - def methodReturnViaCfgOut: Iterator[nodes.MethodReturn] = traversal.map(_.methodReturnViaCfgOut) - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaDominateOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to METHOD_RETURN via REACHING_DEF OUT edge. - */ - def methodReturnViaReachingDefOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaReachingDefOut) - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaArgumentIn) - - /** Traverse to RETURN via ARGUMENT OUT edge. - */ - def returnViaArgumentOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaArgumentOut) - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstIn) - - /** Traverse to RETURN via AST OUT edge. - */ - def returnViaAstOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstOut) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE_REF via ARGUMENT OUT edge. - */ - def typeRefViaArgumentOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaArgumentOut) - - /** Traverse to TYPE_REF via AST OUT edge. - */ - def typeRefViaAstOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaAstOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefIn) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to UNKNOWN via ARGUMENT OUT edge. - */ - def unknownViaArgumentOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaArgumentOut) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - /** Traverse to UNKNOWN via AST OUT edge. - */ - def unknownViaAstOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstOut) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaReachingDefIn) - - def argumentIn: Iterator[nodes.Return] = traversal.flatMap(_.argumentIn) - - def argumentOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.argumentOut) - - def astIn: Iterator[nodes.Expression] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.astOut) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cfgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.cfgOut) - - def conditionIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.conditionIn) - - def containsIn: Iterator[nodes.Method] = traversal.flatMap(_.containsIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def reachingDefIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefIn) - - def reachingDefOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefOut) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Tag.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Tag.scala deleted file mode 100644 index c562c472..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Tag.scala +++ /dev/null @@ -1,206 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForTag(val node: nodes.Tag) extends AnyVal { - - /** Traverse to BLOCK via TAGGED_BY IN edge. - */ - def blockViaTaggedByIn: Iterator[nodes.Block] = taggedByIn.collectAll[nodes.Block] - - /** Traverse to CALL via TAGGED_BY IN edge. - */ - def callViaTaggedByIn: Iterator[nodes.Call] = taggedByIn.collectAll[nodes.Call] - - /** Traverse to CONTROL_STRUCTURE via TAGGED_BY IN edge. - */ - def controlStructureViaTaggedByIn: Iterator[nodes.ControlStructure] = taggedByIn.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via TAGGED_BY IN edge. - */ - def fieldIdentifierViaTaggedByIn: Iterator[nodes.FieldIdentifier] = taggedByIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FILE via TAGGED_BY IN edge. - */ - def fileViaTaggedByIn: Iterator[nodes.File] = taggedByIn.collectAll[nodes.File] - - /** Traverse to IDENTIFIER via TAGGED_BY IN edge. - */ - def identifierViaTaggedByIn: Iterator[nodes.Identifier] = taggedByIn.collectAll[nodes.Identifier] - - /** Traverse to IMPORT via TAGGED_BY IN edge. - */ - def importViaTaggedByIn: Iterator[nodes.Import] = taggedByIn.collectAll[nodes.Import] - - /** Traverse to JUMP_TARGET via TAGGED_BY IN edge. - */ - def jumpTargetViaTaggedByIn: Iterator[nodes.JumpTarget] = taggedByIn.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via TAGGED_BY IN edge. - */ - def literalViaTaggedByIn: Iterator[nodes.Literal] = taggedByIn.collectAll[nodes.Literal] - - /** Traverse to LOCAL via TAGGED_BY IN edge. - */ - def localViaTaggedByIn: Iterator[nodes.Local] = taggedByIn.collectAll[nodes.Local] - - /** Traverse to MEMBER via TAGGED_BY IN edge. - */ - def memberViaTaggedByIn: Iterator[nodes.Member] = taggedByIn.collectAll[nodes.Member] - - /** Traverse to METHOD via TAGGED_BY IN edge. - */ - def methodViaTaggedByIn: Iterator[nodes.Method] = taggedByIn.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_IN via TAGGED_BY IN edge. - */ - def methodParameterInViaTaggedByIn: Iterator[nodes.MethodParameterIn] = taggedByIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_OUT via TAGGED_BY IN edge. - */ - def methodParameterOutViaTaggedByIn: Iterator[nodes.MethodParameterOut] = - taggedByIn.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via TAGGED_BY IN edge. - */ - def methodRefViaTaggedByIn: Iterator[nodes.MethodRef] = taggedByIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via TAGGED_BY IN edge. - */ - def methodReturnViaTaggedByIn: Iterator[nodes.MethodReturn] = taggedByIn.collectAll[nodes.MethodReturn] - - /** Traverse to RETURN via TAGGED_BY IN edge. - */ - def returnViaTaggedByIn: Iterator[nodes.Return] = taggedByIn.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY IN edge. - */ - def tagViaTaggedByIn: Iterator[nodes.Tag] = taggedByIn.collectAll[nodes.Tag] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TEMPLATE_DOM via TAGGED_BY IN edge. - */ - def templateDomViaTaggedByIn: Iterator[nodes.TemplateDom] = taggedByIn.collectAll[nodes.TemplateDom] - - /** Traverse to TYPE_DECL via TAGGED_BY IN edge. - */ - def typeDeclViaTaggedByIn: Iterator[nodes.TypeDecl] = taggedByIn.collectAll[nodes.TypeDecl] - - /** Traverse to TYPE_REF via TAGGED_BY IN edge. - */ - def typeRefViaTaggedByIn: Iterator[nodes.TypeRef] = taggedByIn.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via TAGGED_BY IN edge. - */ - def unknownViaTaggedByIn: Iterator[nodes.Unknown] = taggedByIn.collectAll[nodes.Unknown] - - def taggedByIn: Iterator[nodes.StoredNode] = node._taggedByIn.cast[nodes.StoredNode] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForTagTraversal(val traversal: Iterator[nodes.Tag]) extends AnyVal { - - /** Traverse to BLOCK via TAGGED_BY IN edge. - */ - def blockViaTaggedByIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaTaggedByIn) - - /** Traverse to CALL via TAGGED_BY IN edge. - */ - def callViaTaggedByIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaTaggedByIn) - - /** Traverse to CONTROL_STRUCTURE via TAGGED_BY IN edge. - */ - def controlStructureViaTaggedByIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaTaggedByIn) - - /** Traverse to FIELD_IDENTIFIER via TAGGED_BY IN edge. - */ - def fieldIdentifierViaTaggedByIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaTaggedByIn) - - /** Traverse to FILE via TAGGED_BY IN edge. - */ - def fileViaTaggedByIn: Iterator[nodes.File] = traversal.flatMap(_.fileViaTaggedByIn) - - /** Traverse to IDENTIFIER via TAGGED_BY IN edge. - */ - def identifierViaTaggedByIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaTaggedByIn) - - /** Traverse to IMPORT via TAGGED_BY IN edge. - */ - def importViaTaggedByIn: Iterator[nodes.Import] = traversal.flatMap(_.importViaTaggedByIn) - - /** Traverse to JUMP_TARGET via TAGGED_BY IN edge. - */ - def jumpTargetViaTaggedByIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaTaggedByIn) - - /** Traverse to LITERAL via TAGGED_BY IN edge. - */ - def literalViaTaggedByIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaTaggedByIn) - - /** Traverse to LOCAL via TAGGED_BY IN edge. - */ - def localViaTaggedByIn: Iterator[nodes.Local] = traversal.flatMap(_.localViaTaggedByIn) - - /** Traverse to MEMBER via TAGGED_BY IN edge. - */ - def memberViaTaggedByIn: Iterator[nodes.Member] = traversal.flatMap(_.memberViaTaggedByIn) - - /** Traverse to METHOD via TAGGED_BY IN edge. - */ - def methodViaTaggedByIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaTaggedByIn) - - /** Traverse to METHOD_PARAMETER_IN via TAGGED_BY IN edge. - */ - def methodParameterInViaTaggedByIn: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaTaggedByIn) - - /** Traverse to METHOD_PARAMETER_OUT via TAGGED_BY IN edge. - */ - def methodParameterOutViaTaggedByIn: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaTaggedByIn) - - /** Traverse to METHOD_REF via TAGGED_BY IN edge. - */ - def methodRefViaTaggedByIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaTaggedByIn) - - /** Traverse to METHOD_RETURN via TAGGED_BY IN edge. - */ - def methodReturnViaTaggedByIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaTaggedByIn) - - /** Traverse to RETURN via TAGGED_BY IN edge. - */ - def returnViaTaggedByIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaTaggedByIn) - - /** Traverse to TAG via TAGGED_BY IN edge. - */ - def tagViaTaggedByIn: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByIn) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TEMPLATE_DOM via TAGGED_BY IN edge. - */ - def templateDomViaTaggedByIn: Iterator[nodes.TemplateDom] = traversal.flatMap(_.templateDomViaTaggedByIn) - - /** Traverse to TYPE_DECL via TAGGED_BY IN edge. - */ - def typeDeclViaTaggedByIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaTaggedByIn) - - /** Traverse to TYPE_REF via TAGGED_BY IN edge. - */ - def typeRefViaTaggedByIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaTaggedByIn) - - /** Traverse to UNKNOWN via TAGGED_BY IN edge. - */ - def unknownViaTaggedByIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaTaggedByIn) - - def taggedByIn: Iterator[nodes.StoredNode] = traversal.flatMap(_.taggedByIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TemplateDom.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TemplateDom.scala deleted file mode 100644 index 08e926e9..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TemplateDom.scala +++ /dev/null @@ -1,78 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForTemplateDom(val node: nodes.TemplateDom) extends AnyVal { - - /** Traverse to EXPRESSION via ARGUMENT IN edge. - */ - def expressionViaArgumentIn: Iterator[nodes.Expression] = argumentIn.collectAll[nodes.Expression] - - /** Traverse to EXPRESSION via AST OUT edge. - */ - def expressionViaAstOut: Iterator[nodes.Expression] = astOut.collectAll[nodes.Expression] - - /** Traverse to EXPRESSION via REACHING_DEF OUT edge. - */ - def expressionViaReachingDefOut: Iterator[nodes.Expression] = reachingDefOut.collectAll[nodes.Expression] - - /** Traverse to FILE via CONTAINS IN edge. - */ - def fileViaContainsIn: Iterator[nodes.File] = containsIn.collectAll[nodes.File] - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - def argumentIn: Iterator[nodes.Expression] = node._argumentIn.cast[nodes.Expression] - - def astOut: Iterator[nodes.Expression] = node._astOut.cast[nodes.Expression] - - def containsIn: Iterator[nodes.AstNode] = node._containsIn.cast[nodes.AstNode] - - def reachingDefOut: Iterator[nodes.Expression] = node._reachingDefOut.cast[nodes.Expression] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForTemplateDomTraversal(val traversal: Iterator[nodes.TemplateDom]) extends AnyVal { - - /** Traverse to EXPRESSION via ARGUMENT IN edge. - */ - def expressionViaArgumentIn: Iterator[nodes.Expression] = traversal.flatMap(_.expressionViaArgumentIn) - - /** Traverse to EXPRESSION via AST OUT edge. - */ - def expressionViaAstOut: Iterator[nodes.Expression] = traversal.flatMap(_.expressionViaAstOut) - - /** Traverse to EXPRESSION via REACHING_DEF OUT edge. - */ - def expressionViaReachingDefOut: Iterator[nodes.Expression] = traversal.flatMap(_.expressionViaReachingDefOut) - - /** Traverse to FILE via CONTAINS IN edge. - */ - def fileViaContainsIn: Iterator[nodes.File] = traversal.flatMap(_.fileViaContainsIn) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - def argumentIn: Iterator[nodes.Expression] = traversal.flatMap(_.argumentIn) - - def astOut: Iterator[nodes.Expression] = traversal.flatMap(_.astOut) - - def containsIn: Iterator[nodes.AstNode] = traversal.flatMap(_.containsIn) - - def reachingDefOut: Iterator[nodes.Expression] = traversal.flatMap(_.reachingDefOut) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Type.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Type.scala deleted file mode 100644 index 367aa83e..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Type.scala +++ /dev/null @@ -1,211 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForType(val node: nodes.Type) extends AnyVal { - - /** Traverse to ARRAY_INITIALIZER via EVAL_TYPE IN edge. - */ - def arrayInitializerViaEvalTypeIn: Iterator[nodes.ArrayInitializer] = evalTypeIn.collectAll[nodes.ArrayInitializer] - - /** Traverse to BLOCK via EVAL_TYPE IN edge. - */ - def blockViaEvalTypeIn: Iterator[nodes.Block] = evalTypeIn.collectAll[nodes.Block] - - /** Traverse to CALL via EVAL_TYPE IN edge. - */ - def callViaEvalTypeIn: Iterator[nodes.Call] = evalTypeIn.collectAll[nodes.Call] - - /** Traverse to CONTROL_STRUCTURE via EVAL_TYPE IN edge. - */ - def controlStructureViaEvalTypeIn: Iterator[nodes.ControlStructure] = evalTypeIn.collectAll[nodes.ControlStructure] - - /** Traverse to IDENTIFIER via EVAL_TYPE IN edge. - */ - def identifierViaEvalTypeIn: Iterator[nodes.Identifier] = evalTypeIn.collectAll[nodes.Identifier] - - /** Traverse to LITERAL via EVAL_TYPE IN edge. - */ - def literalViaEvalTypeIn: Iterator[nodes.Literal] = evalTypeIn.collectAll[nodes.Literal] - - /** Traverse to LOCAL via EVAL_TYPE IN edge. - */ - def localViaEvalTypeIn: Iterator[nodes.Local] = evalTypeIn.collectAll[nodes.Local] - - /** Traverse to MEMBER via EVAL_TYPE IN edge. - */ - def memberViaEvalTypeIn: Iterator[nodes.Member] = evalTypeIn.collectAll[nodes.Member] - - /** Traverse to METHOD_PARAMETER_IN via EVAL_TYPE IN edge. - */ - def methodParameterInViaEvalTypeIn: Iterator[nodes.MethodParameterIn] = evalTypeIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_OUT via EVAL_TYPE IN edge. - */ - def methodParameterOutViaEvalTypeIn: Iterator[nodes.MethodParameterOut] = - evalTypeIn.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via EVAL_TYPE IN edge. - */ - def methodRefViaEvalTypeIn: Iterator[nodes.MethodRef] = evalTypeIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via EVAL_TYPE IN edge. - */ - def methodReturnViaEvalTypeIn: Iterator[nodes.MethodReturn] = evalTypeIn.collectAll[nodes.MethodReturn] - - /** Traverse to TYPE_ARGUMENT via AST OUT edge. - */ - def typeArgumentViaAstOut: Iterator[nodes.TypeArgument] = astOut.collectAll[nodes.TypeArgument] - - /** Traverse to TYPE_ARGUMENT via REF IN edge. - */ - def typeArgumentViaRefIn: Iterator[nodes.TypeArgument] = refIn.collectAll[nodes.TypeArgument] - - /** Traverse to TYPE_DECL via INHERITS_FROM IN edge. - */ - def typeDeclViaInheritsFromIn: Iterator[nodes.TypeDecl] = inheritsFromIn.collectAll[nodes.TypeDecl] - - /** Traverse to TYPE_REF via EVAL_TYPE IN edge. - */ - def typeRefViaEvalTypeIn: Iterator[nodes.TypeRef] = evalTypeIn.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via EVAL_TYPE IN edge. - */ - def unknownViaEvalTypeIn: Iterator[nodes.Unknown] = evalTypeIn.collectAll[nodes.Unknown] - - /** Direct alias type declarations. Traverse to TYPE_DECL via ALIAS_OF IN edge. - */ - @deprecated("please use aliasTypeDecl instead") - def typeDeclViaAliasOfIn: Iterator[nodes.TypeDecl] = aliasTypeDecl - - /** Direct alias type declarations. Traverse to TYPE_DECL via ALIAS_OF IN edge. - */ - def aliasTypeDecl: Iterator[nodes.TypeDecl] = aliasOfIn.collectAll[nodes.TypeDecl] - - /** Type declaration which is referenced by this type. Traverse to TYPE_DECL via REF OUT edge. - */ - @deprecated("please use referencedTypeDecl instead") - def typeDeclViaRefOut: Iterator[nodes.TypeDecl] = referencedTypeDecl - - /** Type declaration which is referenced by this type. Traverse to TYPE_DECL via REF OUT edge. - */ - def referencedTypeDecl: Iterator[nodes.TypeDecl] = refOut.collectAll[nodes.TypeDecl] - - def aliasOfIn: Iterator[nodes.TypeDecl] = node._aliasOfIn.cast[nodes.TypeDecl] - - def astOut: Iterator[nodes.TypeArgument] = node._astOut.cast[nodes.TypeArgument] - - def evalTypeIn: Iterator[nodes.AstNode] = node._evalTypeIn.cast[nodes.AstNode] - - def inheritsFromIn: Iterator[nodes.TypeDecl] = node._inheritsFromIn.cast[nodes.TypeDecl] - - def refIn: Iterator[nodes.TypeArgument] = node._refIn.cast[nodes.TypeArgument] - - def refOut: Iterator[nodes.TypeDecl] = node._refOut.cast[nodes.TypeDecl] -} - -final class AccessNeighborsForTypeTraversal(val traversal: Iterator[nodes.Type]) extends AnyVal { - - /** Traverse to ARRAY_INITIALIZER via EVAL_TYPE IN edge. - */ - def arrayInitializerViaEvalTypeIn: Iterator[nodes.ArrayInitializer] = - traversal.flatMap(_.arrayInitializerViaEvalTypeIn) - - /** Traverse to BLOCK via EVAL_TYPE IN edge. - */ - def blockViaEvalTypeIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaEvalTypeIn) - - /** Traverse to CALL via EVAL_TYPE IN edge. - */ - def callViaEvalTypeIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaEvalTypeIn) - - /** Traverse to CONTROL_STRUCTURE via EVAL_TYPE IN edge. - */ - def controlStructureViaEvalTypeIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaEvalTypeIn) - - /** Traverse to IDENTIFIER via EVAL_TYPE IN edge. - */ - def identifierViaEvalTypeIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaEvalTypeIn) - - /** Traverse to LITERAL via EVAL_TYPE IN edge. - */ - def literalViaEvalTypeIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaEvalTypeIn) - - /** Traverse to LOCAL via EVAL_TYPE IN edge. - */ - def localViaEvalTypeIn: Iterator[nodes.Local] = traversal.flatMap(_.localViaEvalTypeIn) - - /** Traverse to MEMBER via EVAL_TYPE IN edge. - */ - def memberViaEvalTypeIn: Iterator[nodes.Member] = traversal.flatMap(_.memberViaEvalTypeIn) - - /** Traverse to METHOD_PARAMETER_IN via EVAL_TYPE IN edge. - */ - def methodParameterInViaEvalTypeIn: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaEvalTypeIn) - - /** Traverse to METHOD_PARAMETER_OUT via EVAL_TYPE IN edge. - */ - def methodParameterOutViaEvalTypeIn: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaEvalTypeIn) - - /** Traverse to METHOD_REF via EVAL_TYPE IN edge. - */ - def methodRefViaEvalTypeIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaEvalTypeIn) - - /** Traverse to METHOD_RETURN via EVAL_TYPE IN edge. - */ - def methodReturnViaEvalTypeIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaEvalTypeIn) - - /** Traverse to TYPE_ARGUMENT via AST OUT edge. - */ - def typeArgumentViaAstOut: Iterator[nodes.TypeArgument] = traversal.flatMap(_.typeArgumentViaAstOut) - - /** Traverse to TYPE_ARGUMENT via REF IN edge. - */ - def typeArgumentViaRefIn: Iterator[nodes.TypeArgument] = traversal.flatMap(_.typeArgumentViaRefIn) - - /** Traverse to TYPE_DECL via INHERITS_FROM IN edge. - */ - def typeDeclViaInheritsFromIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaInheritsFromIn) - - /** Traverse to TYPE_REF via EVAL_TYPE IN edge. - */ - def typeRefViaEvalTypeIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaEvalTypeIn) - - /** Traverse to UNKNOWN via EVAL_TYPE IN edge. - */ - def unknownViaEvalTypeIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaEvalTypeIn) - - /** Direct alias type declarations. Traverse to TYPE_DECL via ALIAS_OF IN edge. - */ - def aliasTypeDecl: Iterator[nodes.TypeDecl] = traversal.flatMap(_.aliasTypeDecl) - - /** Direct alias type declarations. Traverse to TYPE_DECL via ALIAS_OF IN edge. - */ - @deprecated("please use aliasTypeDecl instead") - def typeDeclViaAliasOfIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaAliasOfIn) - - /** Type declaration which is referenced by this type. Traverse to TYPE_DECL via REF OUT edge. - */ - def referencedTypeDecl: Iterator[nodes.TypeDecl] = traversal.flatMap(_.referencedTypeDecl) - - /** Type declaration which is referenced by this type. Traverse to TYPE_DECL via REF OUT edge. - */ - @deprecated("please use referencedTypeDecl instead") - def typeDeclViaRefOut: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaRefOut) - - def aliasOfIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.aliasOfIn) - - def astOut: Iterator[nodes.TypeArgument] = traversal.flatMap(_.astOut) - - def evalTypeIn: Iterator[nodes.AstNode] = traversal.flatMap(_.evalTypeIn) - - def inheritsFromIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.inheritsFromIn) - - def refIn: Iterator[nodes.TypeArgument] = traversal.flatMap(_.refIn) - - def refOut: Iterator[nodes.TypeDecl] = traversal.flatMap(_.refOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeArgument.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeArgument.scala deleted file mode 100644 index 7038fdeb..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeArgument.scala +++ /dev/null @@ -1,46 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForTypeArgument(val node: nodes.TypeArgument) extends AnyVal { - - /** Traverse to TYPE via AST IN edge. - */ - def typeViaAstIn: Iterator[nodes.Type] = astIn.collectAll[nodes.Type] - - /** Traverse to TYPE via REF OUT edge. - */ - def typeViaRefOut: Iterator[nodes.Type] = refOut.collectAll[nodes.Type] - - /** Traverse to TYPE_PARAMETER via BINDS_TO OUT edge. - */ - def typeParameterViaBindsToOut: Iterator[nodes.TypeParameter] = bindsToOut.collectAll[nodes.TypeParameter] - - def astIn: Iterator[nodes.Type] = node._astIn.cast[nodes.Type] - - def bindsToOut: Iterator[nodes.TypeParameter] = node._bindsToOut.cast[nodes.TypeParameter] - - def refOut: Iterator[nodes.Type] = node._refOut.cast[nodes.Type] -} - -final class AccessNeighborsForTypeArgumentTraversal(val traversal: Iterator[nodes.TypeArgument]) extends AnyVal { - - /** Traverse to TYPE via AST IN edge. - */ - def typeViaAstIn: Iterator[nodes.Type] = traversal.flatMap(_.typeViaAstIn) - - /** Traverse to TYPE via REF OUT edge. - */ - def typeViaRefOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaRefOut) - - /** Traverse to TYPE_PARAMETER via BINDS_TO OUT edge. - */ - def typeParameterViaBindsToOut: Iterator[nodes.TypeParameter] = traversal.flatMap(_.typeParameterViaBindsToOut) - - def astIn: Iterator[nodes.Type] = traversal.flatMap(_.astIn) - - def bindsToOut: Iterator[nodes.TypeParameter] = traversal.flatMap(_.bindsToOut) - - def refOut: Iterator[nodes.Type] = traversal.flatMap(_.refOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeDecl.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeDecl.scala deleted file mode 100644 index 61de04b2..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeDecl.scala +++ /dev/null @@ -1,214 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForTypeDecl(val node: nodes.TypeDecl) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = astOut.collectAll[nodes.Annotation] - - /** Traverse to BINDING via BINDS OUT edge. - */ - def bindingViaBindsOut: Iterator[nodes.Binding] = bindsOut.collectAll[nodes.Binding] - - /** Traverse to FILE via CONTAINS IN edge. - */ - def fileViaContainsIn: Iterator[nodes.File] = containsIn.collectAll[nodes.File] - - /** Traverse to FILE via SOURCE_FILE OUT edge. - */ - def fileViaSourceFileOut: Iterator[nodes.File] = sourceFileOut.collectAll[nodes.File] - - /** Traverse to IMPORT via AST OUT edge. - */ - def importViaAstOut: Iterator[nodes.Import] = astOut.collectAll[nodes.Import] - - /** Traverse to MEMBER via AST OUT edge. - */ - def memberViaAstOut: Iterator[nodes.Member] = astOut.collectAll[nodes.Member] - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: Option[nodes.Method] = astIn.collectAll[nodes.Method].nextOption() - - /** Traverse to METHOD via AST OUT edge. - */ - def methodViaAstOut: Iterator[nodes.Method] = astOut.collectAll[nodes.Method] - - /** Traverse to METHOD via CONTAINS OUT edge. - */ - def methodViaContainsOut: Iterator[nodes.Method] = containsOut.collectAll[nodes.Method] - - /** Traverse to MODIFIER via AST OUT edge. - */ - def modifierViaAstOut: Iterator[nodes.Modifier] = astOut.collectAll[nodes.Modifier] - - /** Traverse to NAMESPACE_BLOCK via AST IN edge. - */ - @deprecated("please use namespaceBlock instead") - def namespaceBlockViaAstIn: Option[nodes.NamespaceBlock] = namespaceBlock - - /** Traverse to NAMESPACE_BLOCK via AST IN edge. - */ - def namespaceBlock: Option[nodes.NamespaceBlock] = astIn.collectAll[nodes.NamespaceBlock].nextOption() - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE via ALIAS_OF OUT edge. - */ - @deprecated("please use aliasedType instead") - def typeViaAliasOfOut: Iterator[nodes.Type] = aliasedType - - /** Traverse to TYPE via ALIAS_OF OUT edge. - */ - def aliasedType: Iterator[nodes.Type] = aliasOfOut.collectAll[nodes.Type] - - /** Traverse to TYPE via INHERITS_FROM OUT edge. - */ - def typeViaInheritsFromOut: Iterator[nodes.Type] = inheritsFromOut.collectAll[nodes.Type] - - /** Traverse to TYPE via REF IN edge. - */ - def typeViaRefIn: Iterator[nodes.Type] = refIn.collectAll[nodes.Type] - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: Option[nodes.TypeDecl] = astIn.collectAll[nodes.TypeDecl].nextOption() - - /** Traverse to TYPE_DECL via AST OUT edge. - */ - def typeDeclViaAstOut: Iterator[nodes.TypeDecl] = astOut.collectAll[nodes.TypeDecl] - - /** Traverse to TYPE_PARAMETER via AST OUT edge. - */ - def typeParameterViaAstOut: Iterator[nodes.TypeParameter] = astOut.collectAll[nodes.TypeParameter] - - def aliasOfOut: Iterator[nodes.Type] = node._aliasOfOut.cast[nodes.Type] - - def astIn: Iterator[nodes.AstNode] = node._astIn.cast[nodes.AstNode] - - def astOut: Iterator[nodes.AstNode] = node._astOut.cast[nodes.AstNode] - - def bindsOut: Iterator[nodes.Binding] = node._bindsOut.cast[nodes.Binding] - - def containsIn: Iterator[nodes.File] = node._containsIn.cast[nodes.File] - - def containsOut: Iterator[nodes.Method] = node._containsOut.cast[nodes.Method] - - def inheritsFromOut: Iterator[nodes.Type] = node._inheritsFromOut.cast[nodes.Type] - - def refIn: Iterator[nodes.Type] = node._refIn.cast[nodes.Type] - - def sourceFileOut: Iterator[nodes.File] = node._sourceFileOut.cast[nodes.File] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForTypeDeclTraversal(val traversal: Iterator[nodes.TypeDecl]) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = traversal.flatMap(_.annotationViaAstOut) - - /** Traverse to BINDING via BINDS OUT edge. - */ - def bindingViaBindsOut: Iterator[nodes.Binding] = traversal.flatMap(_.bindingViaBindsOut) - - /** Traverse to FILE via CONTAINS IN edge. - */ - def fileViaContainsIn: Iterator[nodes.File] = traversal.flatMap(_.fileViaContainsIn) - - /** Traverse to FILE via SOURCE_FILE OUT edge. - */ - def fileViaSourceFileOut: Iterator[nodes.File] = traversal.flatMap(_.fileViaSourceFileOut) - - /** Traverse to IMPORT via AST OUT edge. - */ - def importViaAstOut: Iterator[nodes.Import] = traversal.flatMap(_.importViaAstOut) - - /** Traverse to MEMBER via AST OUT edge. - */ - def memberViaAstOut: Iterator[nodes.Member] = traversal.flatMap(_.memberViaAstOut) - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaAstIn) - - /** Traverse to METHOD via AST OUT edge. - */ - def methodViaAstOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaAstOut) - - /** Traverse to METHOD via CONTAINS OUT edge. - */ - def methodViaContainsOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsOut) - - /** Traverse to MODIFIER via AST OUT edge. - */ - def modifierViaAstOut: Iterator[nodes.Modifier] = traversal.flatMap(_.modifierViaAstOut) - - /** Traverse to NAMESPACE_BLOCK via AST IN edge. - */ - def namespaceBlock: Iterator[nodes.NamespaceBlock] = traversal.flatMap(_.namespaceBlock) - - /** Traverse to NAMESPACE_BLOCK via AST IN edge. - */ - @deprecated("please use namespaceBlock instead") - def namespaceBlockViaAstIn: Iterator[nodes.NamespaceBlock] = traversal.flatMap(_.namespaceBlockViaAstIn) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE via ALIAS_OF OUT edge. - */ - def aliasedType: Iterator[nodes.Type] = traversal.flatMap(_.aliasedType) - - /** Traverse to TYPE via ALIAS_OF OUT edge. - */ - @deprecated("please use aliasedType instead") - def typeViaAliasOfOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaAliasOfOut) - - /** Traverse to TYPE via INHERITS_FROM OUT edge. - */ - def typeViaInheritsFromOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaInheritsFromOut) - - /** Traverse to TYPE via REF IN edge. - */ - def typeViaRefIn: Iterator[nodes.Type] = traversal.flatMap(_.typeViaRefIn) - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaAstIn) - - /** Traverse to TYPE_DECL via AST OUT edge. - */ - def typeDeclViaAstOut: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaAstOut) - - /** Traverse to TYPE_PARAMETER via AST OUT edge. - */ - def typeParameterViaAstOut: Iterator[nodes.TypeParameter] = traversal.flatMap(_.typeParameterViaAstOut) - - def aliasOfOut: Iterator[nodes.Type] = traversal.flatMap(_.aliasOfOut) - - def astIn: Iterator[nodes.AstNode] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.AstNode] = traversal.flatMap(_.astOut) - - def bindsOut: Iterator[nodes.Binding] = traversal.flatMap(_.bindsOut) - - def containsIn: Iterator[nodes.File] = traversal.flatMap(_.containsIn) - - def containsOut: Iterator[nodes.Method] = traversal.flatMap(_.containsOut) - - def inheritsFromOut: Iterator[nodes.Type] = traversal.flatMap(_.inheritsFromOut) - - def refIn: Iterator[nodes.Type] = traversal.flatMap(_.refIn) - - def sourceFileOut: Iterator[nodes.File] = traversal.flatMap(_.sourceFileOut) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeParameter.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeParameter.scala deleted file mode 100644 index 27d55f74..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeParameter.scala +++ /dev/null @@ -1,51 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForTypeParameter(val node: nodes.TypeParameter) extends AnyVal { - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: nodes.Method = { - try { astIn.collectAll[nodes.Method].next() } - catch { - case e: java.util.NoSuchElementException => - throw new flatgraph.SchemaViolationException( - "IN edge with label AST to an adjacent METHOD is mandatory, but not defined for this TYPE_PARAMETER node with seq=" + node.seq, - e - ) - } - } - - /** Traverse to TYPE_ARGUMENT via BINDS_TO IN edge. - */ - def typeArgumentViaBindsToIn: Iterator[nodes.TypeArgument] = bindsToIn.collectAll[nodes.TypeArgument] - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: Iterator[nodes.TypeDecl] = astIn.collectAll[nodes.TypeDecl] - - def astIn: Iterator[nodes.AstNode] = node._astIn.cast[nodes.AstNode] - - def bindsToIn: Iterator[nodes.TypeArgument] = node._bindsToIn.cast[nodes.TypeArgument] -} - -final class AccessNeighborsForTypeParameterTraversal(val traversal: Iterator[nodes.TypeParameter]) extends AnyVal { - - /** Traverse to METHOD via AST IN edge. - */ - def methodViaAstIn: Iterator[nodes.Method] = traversal.map(_.methodViaAstIn) - - /** Traverse to TYPE_ARGUMENT via BINDS_TO IN edge. - */ - def typeArgumentViaBindsToIn: Iterator[nodes.TypeArgument] = traversal.flatMap(_.typeArgumentViaBindsToIn) - - /** Traverse to TYPE_DECL via AST IN edge. - */ - def typeDeclViaAstIn: Iterator[nodes.TypeDecl] = traversal.flatMap(_.typeDeclViaAstIn) - - def astIn: Iterator[nodes.AstNode] = traversal.flatMap(_.astIn) - - def bindsToIn: Iterator[nodes.TypeArgument] = traversal.flatMap(_.bindsToIn) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeRef.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeRef.scala deleted file mode 100644 index 1340da6d..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/TypeRef.scala +++ /dev/null @@ -1,922 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForTypeRef(val node: nodes.TypeRef) extends AnyVal { - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = astIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = cdgOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = reachingDefIn.collectAll[nodes.Block] - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = argumentIn.collectAll[nodes.Call] - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = astIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = cdgOut.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = reachingDefIn.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = reachingDefOut.collectAll[nodes.Call] - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Iterator[nodes.Call] = receiverIn.collectAll[nodes.Call] - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = cfgOut.collectAll[nodes.CfgNode] - - /** Traverse to CLOSURE_BINDING via CAPTURE OUT edge. - */ - def closureBindingViaCaptureOut: Iterator[nodes.ClosureBinding] = captureOut.collectAll[nodes.ClosureBinding] - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = astIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = cdgOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = conditionIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = dominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - reachingDefIn.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = cdgOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = cdgOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = reachingDefIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = cdgOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = dominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = dominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = postDominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = cdgOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = reachingDefIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = reachingDefOut.collectAll[nodes.Literal] - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = dominateIn.collectAll[nodes.Method] - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = postDominateOut.collectAll[nodes.Method] - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = reachingDefIn.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - reachingDefIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - reachingDefIn.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - reachingDefOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = cdgOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = reachingDefIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = cdgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via CFG OUT edge. - */ - def methodReturnViaCfgOut: Iterator[nodes.MethodReturn] = cfgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = dominateOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = argumentIn.collectAll[nodes.Return] - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = astIn.collectAll[nodes.Return] - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = cdgOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF IN edge. - */ - def returnViaReachingDefIn: Iterator[nodes.Return] = reachingDefIn.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = reachingDefOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = cdgOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = reachingDefIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = cdgOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = reachingDefIn.collectAll[nodes.Unknown] - - def argumentIn: Iterator[nodes.Expression] = node._argumentIn.cast[nodes.Expression] - - def astIn: Iterator[nodes.Expression] = node._astIn.cast[nodes.Expression] - - def captureOut: Iterator[nodes.ClosureBinding] = node._captureOut.cast[nodes.ClosureBinding] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cdgOut: Iterator[nodes.CfgNode] = node._cdgOut.cast[nodes.CfgNode] - - def cfgOut: Iterator[nodes.AstNode] = node._cfgOut.cast[nodes.AstNode] - - def conditionIn: Iterator[nodes.ControlStructure] = node._conditionIn.cast[nodes.ControlStructure] - - def containsIn: Iterator[nodes.Method] = node._containsIn.cast[nodes.Method] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def reachingDefIn: Iterator[nodes.CfgNode] = node._reachingDefIn.cast[nodes.CfgNode] - - def reachingDefOut: Iterator[nodes.CfgNode] = node._reachingDefOut.cast[nodes.CfgNode] - - def receiverIn: Iterator[nodes.Call] = node._receiverIn.cast[nodes.Call] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForTypeRefTraversal(val traversal: Iterator[nodes.TypeRef]) extends AnyVal { - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstIn) - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgOut) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to BLOCK via REACHING_DEF IN edge. - */ - def blockViaReachingDefIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaReachingDefIn) - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaArgumentIn) - - /** Traverse to CALL via AST IN edge. - */ - def callViaAstIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstIn) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgOut) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CALL via REACHING_DEF IN edge. - */ - def callViaReachingDefIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefIn) - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefOut) - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReceiverIn) - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgNodeViaCfgOut) - - /** Traverse to CLOSURE_BINDING via CAPTURE OUT edge. - */ - def closureBindingViaCaptureOut: Iterator[nodes.ClosureBinding] = traversal.flatMap(_.closureBindingViaCaptureOut) - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstIn) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgOut) - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaConditionIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to CONTROL_STRUCTURE via REACHING_DEF IN edge. - */ - def controlStructureViaReachingDefIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaReachingDefIn) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgOut) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgOut) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via REACHING_DEF IN edge. - */ - def identifierViaReachingDefIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefIn) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgOut) - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateIn) - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateOut) - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgOut) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to LITERAL via REACHING_DEF IN edge. - */ - def literalViaReachingDefIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefIn) - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefOut) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaDominateIn) - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaPostDominateOut) - - /** Traverse to METHOD via REACHING_DEF IN edge. - */ - def methodViaReachingDefIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_IN via REACHING_DEF IN edge. - */ - def methodParameterInViaReachingDefIn: Iterator[nodes.MethodParameterIn] = - traversal.flatMap(_.methodParameterInViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF IN edge. - */ - def methodParameterOutViaReachingDefIn: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefOut) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgOut) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to METHOD_REF via REACHING_DEF IN edge. - */ - def methodRefViaReachingDefIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefIn) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCdgOut) - - /** Traverse to METHOD_RETURN via CFG OUT edge. - */ - def methodReturnViaCfgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCfgOut) - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaDominateOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaArgumentIn) - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstIn) - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaCdgOut) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to RETURN via REACHING_DEF IN edge. - */ - def returnViaReachingDefIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefIn) - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgOut) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to TYPE_REF via REACHING_DEF IN edge. - */ - def typeRefViaReachingDefIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefIn) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgOut) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - /** Traverse to UNKNOWN via REACHING_DEF IN edge. - */ - def unknownViaReachingDefIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaReachingDefIn) - - def argumentIn: Iterator[nodes.Expression] = traversal.flatMap(_.argumentIn) - - def astIn: Iterator[nodes.Expression] = traversal.flatMap(_.astIn) - - def captureOut: Iterator[nodes.ClosureBinding] = traversal.flatMap(_.captureOut) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cdgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgOut) - - def cfgOut: Iterator[nodes.AstNode] = traversal.flatMap(_.cfgOut) - - def conditionIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.conditionIn) - - def containsIn: Iterator[nodes.Method] = traversal.flatMap(_.containsIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def reachingDefIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefIn) - - def reachingDefOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefOut) - - def receiverIn: Iterator[nodes.Call] = traversal.flatMap(_.receiverIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Unknown.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Unknown.scala deleted file mode 100644 index 8335972a..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/Unknown.scala +++ /dev/null @@ -1,912 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.neighboraccessors - -import io.shiftleft.codepropertygraph.generated.nodes -import io.shiftleft.codepropertygraph.generated.Language.* - -final class AccessNeighborsForUnknown(val node: nodes.Unknown) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = astOut.collectAll[nodes.Annotation] - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = astIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via AST OUT edge. - */ - def blockViaAstOut: Iterator[nodes.Block] = astOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = cdgIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = cdgOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = dominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = dominateOut.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = postDominateIn.collectAll[nodes.Block] - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = postDominateOut.collectAll[nodes.Block] - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = argumentIn.collectAll[nodes.Call] - - /** Traverse to CALL via AST OUT edge. - */ - def callViaAstOut: Iterator[nodes.Call] = astOut.collectAll[nodes.Call] - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = cdgIn.collectAll[nodes.Call] - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = cdgOut.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = dominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = dominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = postDominateIn.collectAll[nodes.Call] - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = postDominateOut.collectAll[nodes.Call] - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = reachingDefOut.collectAll[nodes.Call] - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Iterator[nodes.Call] = receiverIn.collectAll[nodes.Call] - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = cfgOut.collectAll[nodes.CfgNode] - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = astIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via AST OUT edge. - */ - def controlStructureViaAstOut: Iterator[nodes.ControlStructure] = astOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = cdgIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = cdgOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = conditionIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = dominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = dominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - postDominateIn.collectAll[nodes.ControlStructure] - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - postDominateOut.collectAll[nodes.ControlStructure] - - /** Traverse to FIELD_IDENTIFIER via AST OUT edge. - */ - def fieldIdentifierViaAstOut: Iterator[nodes.FieldIdentifier] = astOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = cdgIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = cdgOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = dominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = dominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - postDominateIn.collectAll[nodes.FieldIdentifier] - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - postDominateOut.collectAll[nodes.FieldIdentifier] - - /** Traverse to IDENTIFIER via AST OUT edge. - */ - def identifierViaAstOut: Iterator[nodes.Identifier] = astOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = cdgIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = cdgOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = dominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = dominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = postDominateIn.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = postDominateOut.collectAll[nodes.Identifier] - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = reachingDefOut.collectAll[nodes.Identifier] - - /** Traverse to JUMP_TARGET via AST OUT edge. - */ - def jumpTargetViaAstOut: Iterator[nodes.JumpTarget] = astOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = cdgIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = cdgOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = dominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = dominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = postDominateIn.collectAll[nodes.JumpTarget] - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = postDominateOut.collectAll[nodes.JumpTarget] - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = astOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = cdgIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = cdgOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = dominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = dominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = postDominateIn.collectAll[nodes.Literal] - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = postDominateOut.collectAll[nodes.Literal] - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = reachingDefOut.collectAll[nodes.Literal] - - /** Traverse to LOCAL via AST OUT edge. - */ - def localViaAstOut: Iterator[nodes.Local] = astOut.collectAll[nodes.Local] - - /** Traverse to MEMBER via AST OUT edge. - */ - def memberViaAstOut: Iterator[nodes.Member] = astOut.collectAll[nodes.Member] - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = containsIn.collectAll[nodes.Method] - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = dominateIn.collectAll[nodes.Method] - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = postDominateOut.collectAll[nodes.Method] - - /** Traverse to METHOD_PARAMETER_IN via AST IN edge. - */ - def methodParameterInViaAstIn: Iterator[nodes.MethodParameterIn] = astIn.collectAll[nodes.MethodParameterIn] - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - reachingDefOut.collectAll[nodes.MethodParameterOut] - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = cdgIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = cdgOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = dominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = dominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = postDominateIn.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = postDominateOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = reachingDefOut.collectAll[nodes.MethodRef] - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = cdgOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = dominateOut.collectAll[nodes.MethodReturn] - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = postDominateIn.collectAll[nodes.MethodReturn] - - /** Traverse to MODIFIER via AST OUT edge. - */ - def modifierViaAstOut: Iterator[nodes.Modifier] = astOut.collectAll[nodes.Modifier] - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = argumentIn.collectAll[nodes.Return] - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = astIn.collectAll[nodes.Return] - - /** Traverse to RETURN via AST OUT edge. - */ - def returnViaAstOut: Iterator[nodes.Return] = astOut.collectAll[nodes.Return] - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = cdgOut.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = dominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = dominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = postDominateIn.collectAll[nodes.Return] - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = postDominateOut.collectAll[nodes.Return] - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = reachingDefOut.collectAll[nodes.Return] - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = taggedByOut.collectAll[nodes.Tag] - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = evalTypeOut.collectAll[nodes.Type] - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = cdgIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = cdgOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = dominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = dominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = postDominateIn.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = postDominateOut.collectAll[nodes.TypeRef] - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = reachingDefOut.collectAll[nodes.TypeRef] - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = astIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via AST OUT edge. - */ - def unknownViaAstOut: Iterator[nodes.Unknown] = astOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = cdgIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = cdgOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = dominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = dominateOut.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = postDominateIn.collectAll[nodes.Unknown] - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = postDominateOut.collectAll[nodes.Unknown] - - def argumentIn: Iterator[nodes.Expression] = node._argumentIn.cast[nodes.Expression] - - def astIn: Iterator[nodes.CfgNode] = node._astIn.cast[nodes.CfgNode] - - def astOut: Iterator[nodes.AstNode] = node._astOut.cast[nodes.AstNode] - - def cdgIn: Iterator[nodes.CfgNode] = node._cdgIn.cast[nodes.CfgNode] - - def cdgOut: Iterator[nodes.CfgNode] = node._cdgOut.cast[nodes.CfgNode] - - def cfgOut: Iterator[nodes.CfgNode] = node._cfgOut.cast[nodes.CfgNode] - - def conditionIn: Iterator[nodes.ControlStructure] = node._conditionIn.cast[nodes.ControlStructure] - - def containsIn: Iterator[nodes.Method] = node._containsIn.cast[nodes.Method] - - def dominateIn: Iterator[nodes.CfgNode] = node._dominateIn.cast[nodes.CfgNode] - - def dominateOut: Iterator[nodes.CfgNode] = node._dominateOut.cast[nodes.CfgNode] - - def evalTypeOut: Iterator[nodes.Type] = node._evalTypeOut.cast[nodes.Type] - - def postDominateIn: Iterator[nodes.CfgNode] = node._postDominateIn.cast[nodes.CfgNode] - - def postDominateOut: Iterator[nodes.CfgNode] = node._postDominateOut.cast[nodes.CfgNode] - - def reachingDefOut: Iterator[nodes.CfgNode] = node._reachingDefOut.cast[nodes.CfgNode] - - def receiverIn: Iterator[nodes.Call] = node._receiverIn.cast[nodes.Call] - - def taggedByOut: Iterator[nodes.Tag] = node._taggedByOut.cast[nodes.Tag] -} - -final class AccessNeighborsForUnknownTraversal(val traversal: Iterator[nodes.Unknown]) extends AnyVal { - - /** Traverse to ANNOTATION via AST OUT edge. - */ - def annotationViaAstOut: Iterator[nodes.Annotation] = traversal.flatMap(_.annotationViaAstOut) - - /** Traverse to BLOCK via AST IN edge. - */ - def blockViaAstIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstIn) - - /** Traverse to BLOCK via AST OUT edge. - */ - def blockViaAstOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaAstOut) - - /** Traverse to BLOCK via CDG IN edge. - */ - def blockViaCdgIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgIn) - - /** Traverse to BLOCK via CDG OUT edge. - */ - def blockViaCdgOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaCdgOut) - - /** Traverse to BLOCK via DOMINATE IN edge. - */ - def blockViaDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateIn) - - /** Traverse to BLOCK via DOMINATE OUT edge. - */ - def blockViaDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaDominateOut) - - /** Traverse to BLOCK via POST_DOMINATE IN edge. - */ - def blockViaPostDominateIn: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateIn) - - /** Traverse to BLOCK via POST_DOMINATE OUT edge. - */ - def blockViaPostDominateOut: Iterator[nodes.Block] = traversal.flatMap(_.blockViaPostDominateOut) - - /** Traverse to CALL via ARGUMENT IN edge. - */ - def callViaArgumentIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaArgumentIn) - - /** Traverse to CALL via AST OUT edge. - */ - def callViaAstOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaAstOut) - - /** Traverse to CALL via CDG IN edge. - */ - def callViaCdgIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgIn) - - /** Traverse to CALL via CDG OUT edge. - */ - def callViaCdgOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaCdgOut) - - /** Traverse to CALL via DOMINATE IN edge. - */ - def callViaDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateIn) - - /** Traverse to CALL via DOMINATE OUT edge. - */ - def callViaDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaDominateOut) - - /** Traverse to CALL via POST_DOMINATE IN edge. - */ - def callViaPostDominateIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateIn) - - /** Traverse to CALL via POST_DOMINATE OUT edge. - */ - def callViaPostDominateOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaPostDominateOut) - - /** Traverse to CALL via REACHING_DEF OUT edge. - */ - def callViaReachingDefOut: Iterator[nodes.Call] = traversal.flatMap(_.callViaReachingDefOut) - - /** Traverse to CALL via RECEIVER IN edge. - */ - def callViaReceiverIn: Iterator[nodes.Call] = traversal.flatMap(_.callViaReceiverIn) - - /** Traverse to CFG_NODE via CFG OUT edge. - */ - def cfgNodeViaCfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgNodeViaCfgOut) - - /** Traverse to CONTROL_STRUCTURE via AST IN edge. - */ - def controlStructureViaAstIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstIn) - - /** Traverse to CONTROL_STRUCTURE via AST OUT edge. - */ - def controlStructureViaAstOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaAstOut) - - /** Traverse to CONTROL_STRUCTURE via CDG IN edge. - */ - def controlStructureViaCdgIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgIn) - - /** Traverse to CONTROL_STRUCTURE via CDG OUT edge. - */ - def controlStructureViaCdgOut: Iterator[nodes.ControlStructure] = traversal.flatMap(_.controlStructureViaCdgOut) - - /** Traverse to CONTROL_STRUCTURE via CONDITION IN edge. - */ - def controlStructureViaConditionIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaConditionIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE IN edge. - */ - def controlStructureViaDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateIn) - - /** Traverse to CONTROL_STRUCTURE via DOMINATE OUT edge. - */ - def controlStructureViaDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaDominateOut) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE IN edge. - */ - def controlStructureViaPostDominateIn: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateIn) - - /** Traverse to CONTROL_STRUCTURE via POST_DOMINATE OUT edge. - */ - def controlStructureViaPostDominateOut: Iterator[nodes.ControlStructure] = - traversal.flatMap(_.controlStructureViaPostDominateOut) - - /** Traverse to FIELD_IDENTIFIER via AST OUT edge. - */ - def fieldIdentifierViaAstOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaAstOut) - - /** Traverse to FIELD_IDENTIFIER via CDG IN edge. - */ - def fieldIdentifierViaCdgIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgIn) - - /** Traverse to FIELD_IDENTIFIER via CDG OUT edge. - */ - def fieldIdentifierViaCdgOut: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaCdgOut) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE IN edge. - */ - def fieldIdentifierViaDominateIn: Iterator[nodes.FieldIdentifier] = traversal.flatMap(_.fieldIdentifierViaDominateIn) - - /** Traverse to FIELD_IDENTIFIER via DOMINATE OUT edge. - */ - def fieldIdentifierViaDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaDominateOut) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE IN edge. - */ - def fieldIdentifierViaPostDominateIn: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateIn) - - /** Traverse to FIELD_IDENTIFIER via POST_DOMINATE OUT edge. - */ - def fieldIdentifierViaPostDominateOut: Iterator[nodes.FieldIdentifier] = - traversal.flatMap(_.fieldIdentifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via AST OUT edge. - */ - def identifierViaAstOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaAstOut) - - /** Traverse to IDENTIFIER via CDG IN edge. - */ - def identifierViaCdgIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgIn) - - /** Traverse to IDENTIFIER via CDG OUT edge. - */ - def identifierViaCdgOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaCdgOut) - - /** Traverse to IDENTIFIER via DOMINATE IN edge. - */ - def identifierViaDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateIn) - - /** Traverse to IDENTIFIER via DOMINATE OUT edge. - */ - def identifierViaDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaDominateOut) - - /** Traverse to IDENTIFIER via POST_DOMINATE IN edge. - */ - def identifierViaPostDominateIn: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateIn) - - /** Traverse to IDENTIFIER via POST_DOMINATE OUT edge. - */ - def identifierViaPostDominateOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaPostDominateOut) - - /** Traverse to IDENTIFIER via REACHING_DEF OUT edge. - */ - def identifierViaReachingDefOut: Iterator[nodes.Identifier] = traversal.flatMap(_.identifierViaReachingDefOut) - - /** Traverse to JUMP_TARGET via AST OUT edge. - */ - def jumpTargetViaAstOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaAstOut) - - /** Traverse to JUMP_TARGET via CDG IN edge. - */ - def jumpTargetViaCdgIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgIn) - - /** Traverse to JUMP_TARGET via CDG OUT edge. - */ - def jumpTargetViaCdgOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaCdgOut) - - /** Traverse to JUMP_TARGET via DOMINATE IN edge. - */ - def jumpTargetViaDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateIn) - - /** Traverse to JUMP_TARGET via DOMINATE OUT edge. - */ - def jumpTargetViaDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaDominateOut) - - /** Traverse to JUMP_TARGET via POST_DOMINATE IN edge. - */ - def jumpTargetViaPostDominateIn: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateIn) - - /** Traverse to JUMP_TARGET via POST_DOMINATE OUT edge. - */ - def jumpTargetViaPostDominateOut: Iterator[nodes.JumpTarget] = traversal.flatMap(_.jumpTargetViaPostDominateOut) - - /** Traverse to LITERAL via AST OUT edge. - */ - def literalViaAstOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaAstOut) - - /** Traverse to LITERAL via CDG IN edge. - */ - def literalViaCdgIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgIn) - - /** Traverse to LITERAL via CDG OUT edge. - */ - def literalViaCdgOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaCdgOut) - - /** Traverse to LITERAL via DOMINATE IN edge. - */ - def literalViaDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateIn) - - /** Traverse to LITERAL via DOMINATE OUT edge. - */ - def literalViaDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaDominateOut) - - /** Traverse to LITERAL via POST_DOMINATE IN edge. - */ - def literalViaPostDominateIn: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateIn) - - /** Traverse to LITERAL via POST_DOMINATE OUT edge. - */ - def literalViaPostDominateOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaPostDominateOut) - - /** Traverse to LITERAL via REACHING_DEF OUT edge. - */ - def literalViaReachingDefOut: Iterator[nodes.Literal] = traversal.flatMap(_.literalViaReachingDefOut) - - /** Traverse to LOCAL via AST OUT edge. - */ - def localViaAstOut: Iterator[nodes.Local] = traversal.flatMap(_.localViaAstOut) - - /** Traverse to MEMBER via AST OUT edge. - */ - def memberViaAstOut: Iterator[nodes.Member] = traversal.flatMap(_.memberViaAstOut) - - /** Traverse to METHOD via CONTAINS IN edge. - */ - def methodViaContainsIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaContainsIn) - - /** Traverse to METHOD via DOMINATE IN edge. - */ - def methodViaDominateIn: Iterator[nodes.Method] = traversal.flatMap(_.methodViaDominateIn) - - /** Traverse to METHOD via POST_DOMINATE OUT edge. - */ - def methodViaPostDominateOut: Iterator[nodes.Method] = traversal.flatMap(_.methodViaPostDominateOut) - - /** Traverse to METHOD_PARAMETER_IN via AST IN edge. - */ - def methodParameterInViaAstIn: Iterator[nodes.MethodParameterIn] = traversal.flatMap(_.methodParameterInViaAstIn) - - /** Traverse to METHOD_PARAMETER_OUT via REACHING_DEF OUT edge. - */ - def methodParameterOutViaReachingDefOut: Iterator[nodes.MethodParameterOut] = - traversal.flatMap(_.methodParameterOutViaReachingDefOut) - - /** Traverse to METHOD_REF via CDG IN edge. - */ - def methodRefViaCdgIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgIn) - - /** Traverse to METHOD_REF via CDG OUT edge. - */ - def methodRefViaCdgOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaCdgOut) - - /** Traverse to METHOD_REF via DOMINATE IN edge. - */ - def methodRefViaDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateIn) - - /** Traverse to METHOD_REF via DOMINATE OUT edge. - */ - def methodRefViaDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaDominateOut) - - /** Traverse to METHOD_REF via POST_DOMINATE IN edge. - */ - def methodRefViaPostDominateIn: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateIn) - - /** Traverse to METHOD_REF via POST_DOMINATE OUT edge. - */ - def methodRefViaPostDominateOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaPostDominateOut) - - /** Traverse to METHOD_REF via REACHING_DEF OUT edge. - */ - def methodRefViaReachingDefOut: Iterator[nodes.MethodRef] = traversal.flatMap(_.methodRefViaReachingDefOut) - - /** Traverse to METHOD_RETURN via CDG OUT edge. - */ - def methodReturnViaCdgOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaCdgOut) - - /** Traverse to METHOD_RETURN via DOMINATE OUT edge. - */ - def methodReturnViaDominateOut: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaDominateOut) - - /** Traverse to METHOD_RETURN via POST_DOMINATE IN edge. - */ - def methodReturnViaPostDominateIn: Iterator[nodes.MethodReturn] = traversal.flatMap(_.methodReturnViaPostDominateIn) - - /** Traverse to MODIFIER via AST OUT edge. - */ - def modifierViaAstOut: Iterator[nodes.Modifier] = traversal.flatMap(_.modifierViaAstOut) - - /** Traverse to RETURN via ARGUMENT IN edge. - */ - def returnViaArgumentIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaArgumentIn) - - /** Traverse to RETURN via AST IN edge. - */ - def returnViaAstIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstIn) - - /** Traverse to RETURN via AST OUT edge. - */ - def returnViaAstOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaAstOut) - - /** Traverse to RETURN via CDG OUT edge. - */ - def returnViaCdgOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaCdgOut) - - /** Traverse to RETURN via DOMINATE IN edge. - */ - def returnViaDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateIn) - - /** Traverse to RETURN via DOMINATE OUT edge. - */ - def returnViaDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaDominateOut) - - /** Traverse to RETURN via POST_DOMINATE IN edge. - */ - def returnViaPostDominateIn: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateIn) - - /** Traverse to RETURN via POST_DOMINATE OUT edge. - */ - def returnViaPostDominateOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaPostDominateOut) - - /** Traverse to RETURN via REACHING_DEF OUT edge. - */ - def returnViaReachingDefOut: Iterator[nodes.Return] = traversal.flatMap(_.returnViaReachingDefOut) - - /** Traverse to TAG via TAGGED_BY OUT edge. - */ - def tagViaTaggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.tagViaTaggedByOut) - - /** Traverse to TYPE via EVAL_TYPE OUT edge. - */ - def typeViaEvalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.typeViaEvalTypeOut) - - /** Traverse to TYPE_REF via CDG IN edge. - */ - def typeRefViaCdgIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgIn) - - /** Traverse to TYPE_REF via CDG OUT edge. - */ - def typeRefViaCdgOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaCdgOut) - - /** Traverse to TYPE_REF via DOMINATE IN edge. - */ - def typeRefViaDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateIn) - - /** Traverse to TYPE_REF via DOMINATE OUT edge. - */ - def typeRefViaDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaDominateOut) - - /** Traverse to TYPE_REF via POST_DOMINATE IN edge. - */ - def typeRefViaPostDominateIn: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateIn) - - /** Traverse to TYPE_REF via POST_DOMINATE OUT edge. - */ - def typeRefViaPostDominateOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaPostDominateOut) - - /** Traverse to TYPE_REF via REACHING_DEF OUT edge. - */ - def typeRefViaReachingDefOut: Iterator[nodes.TypeRef] = traversal.flatMap(_.typeRefViaReachingDefOut) - - /** Traverse to UNKNOWN via AST IN edge. - */ - def unknownViaAstIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstIn) - - /** Traverse to UNKNOWN via AST OUT edge. - */ - def unknownViaAstOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaAstOut) - - /** Traverse to UNKNOWN via CDG IN edge. - */ - def unknownViaCdgIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgIn) - - /** Traverse to UNKNOWN via CDG OUT edge. - */ - def unknownViaCdgOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaCdgOut) - - /** Traverse to UNKNOWN via DOMINATE IN edge. - */ - def unknownViaDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateIn) - - /** Traverse to UNKNOWN via DOMINATE OUT edge. - */ - def unknownViaDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaDominateOut) - - /** Traverse to UNKNOWN via POST_DOMINATE IN edge. - */ - def unknownViaPostDominateIn: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateIn) - - /** Traverse to UNKNOWN via POST_DOMINATE OUT edge. - */ - def unknownViaPostDominateOut: Iterator[nodes.Unknown] = traversal.flatMap(_.unknownViaPostDominateOut) - - def argumentIn: Iterator[nodes.Expression] = traversal.flatMap(_.argumentIn) - - def astIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.astIn) - - def astOut: Iterator[nodes.AstNode] = traversal.flatMap(_.astOut) - - def cdgIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgIn) - - def cdgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cdgOut) - - def cfgOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.cfgOut) - - def conditionIn: Iterator[nodes.ControlStructure] = traversal.flatMap(_.conditionIn) - - def containsIn: Iterator[nodes.Method] = traversal.flatMap(_.containsIn) - - def dominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateIn) - - def dominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.dominateOut) - - def evalTypeOut: Iterator[nodes.Type] = traversal.flatMap(_.evalTypeOut) - - def postDominateIn: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateIn) - - def postDominateOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.postDominateOut) - - def reachingDefOut: Iterator[nodes.CfgNode] = traversal.flatMap(_.reachingDefOut) - - def receiverIn: Iterator[nodes.Call] = traversal.flatMap(_.receiverIn) - - def taggedByOut: Iterator[nodes.Tag] = traversal.flatMap(_.taggedByOut) -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/package.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/package.scala deleted file mode 100644 index 2a6054a6..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/neighboraccessors/package.scala +++ /dev/null @@ -1,332 +0,0 @@ -package io.shiftleft.codepropertygraph.generated - -import flatgraph.traversal.Language.* -import io.shiftleft.codepropertygraph.generated.nodes - -package object neighboraccessors { - object Lang extends Conversions - - trait Conversions { - implicit def accessNeighborsForAnnotation(node: nodes.Annotation): AccessNeighborsForAnnotation = - new AccessNeighborsForAnnotation(node) - - implicit def accessNeighborsForAnnotationTraversal( - traversal: IterableOnce[nodes.Annotation] - ): AccessNeighborsForAnnotationTraversal = - new AccessNeighborsForAnnotationTraversal(traversal.iterator) - - implicit def accessNeighborsForAnnotationLiteral( - node: nodes.AnnotationLiteral - ): AccessNeighborsForAnnotationLiteral = - new AccessNeighborsForAnnotationLiteral(node) - - implicit def accessNeighborsForAnnotationLiteralTraversal( - traversal: IterableOnce[nodes.AnnotationLiteral] - ): AccessNeighborsForAnnotationLiteralTraversal = - new AccessNeighborsForAnnotationLiteralTraversal(traversal.iterator) - - implicit def accessNeighborsForAnnotationParameter( - node: nodes.AnnotationParameter - ): AccessNeighborsForAnnotationParameter = - new AccessNeighborsForAnnotationParameter(node) - - implicit def accessNeighborsForAnnotationParameterTraversal( - traversal: IterableOnce[nodes.AnnotationParameter] - ): AccessNeighborsForAnnotationParameterTraversal = - new AccessNeighborsForAnnotationParameterTraversal(traversal.iterator) - - implicit def accessNeighborsForAnnotationParameterAssign( - node: nodes.AnnotationParameterAssign - ): AccessNeighborsForAnnotationParameterAssign = - new AccessNeighborsForAnnotationParameterAssign(node) - - implicit def accessNeighborsForAnnotationParameterAssignTraversal( - traversal: IterableOnce[nodes.AnnotationParameterAssign] - ): AccessNeighborsForAnnotationParameterAssignTraversal = - new AccessNeighborsForAnnotationParameterAssignTraversal(traversal.iterator) - - implicit def accessNeighborsForArrayInitializer(node: nodes.ArrayInitializer): AccessNeighborsForArrayInitializer = - new AccessNeighborsForArrayInitializer(node) - - implicit def accessNeighborsForArrayInitializerTraversal( - traversal: IterableOnce[nodes.ArrayInitializer] - ): AccessNeighborsForArrayInitializerTraversal = - new AccessNeighborsForArrayInitializerTraversal(traversal.iterator) - - implicit def accessNeighborsForBinding(node: nodes.Binding): AccessNeighborsForBinding = - new AccessNeighborsForBinding(node) - - implicit def accessNeighborsForBindingTraversal( - traversal: IterableOnce[nodes.Binding] - ): AccessNeighborsForBindingTraversal = - new AccessNeighborsForBindingTraversal(traversal.iterator) - - implicit def accessNeighborsForBlock(node: nodes.Block): AccessNeighborsForBlock = - new AccessNeighborsForBlock(node) - - implicit def accessNeighborsForBlockTraversal( - traversal: IterableOnce[nodes.Block] - ): AccessNeighborsForBlockTraversal = - new AccessNeighborsForBlockTraversal(traversal.iterator) - - implicit def accessNeighborsForCall(node: nodes.Call): AccessNeighborsForCall = - new AccessNeighborsForCall(node) - - implicit def accessNeighborsForCallTraversal(traversal: IterableOnce[nodes.Call]): AccessNeighborsForCallTraversal = - new AccessNeighborsForCallTraversal(traversal.iterator) - - implicit def accessNeighborsForClosureBinding(node: nodes.ClosureBinding): AccessNeighborsForClosureBinding = - new AccessNeighborsForClosureBinding(node) - - implicit def accessNeighborsForClosureBindingTraversal( - traversal: IterableOnce[nodes.ClosureBinding] - ): AccessNeighborsForClosureBindingTraversal = - new AccessNeighborsForClosureBindingTraversal(traversal.iterator) - - implicit def accessNeighborsForComment(node: nodes.Comment): AccessNeighborsForComment = - new AccessNeighborsForComment(node) - - implicit def accessNeighborsForCommentTraversal( - traversal: IterableOnce[nodes.Comment] - ): AccessNeighborsForCommentTraversal = - new AccessNeighborsForCommentTraversal(traversal.iterator) - - implicit def accessNeighborsForControlStructure(node: nodes.ControlStructure): AccessNeighborsForControlStructure = - new AccessNeighborsForControlStructure(node) - - implicit def accessNeighborsForControlStructureTraversal( - traversal: IterableOnce[nodes.ControlStructure] - ): AccessNeighborsForControlStructureTraversal = - new AccessNeighborsForControlStructureTraversal(traversal.iterator) - - implicit def accessNeighborsForDependency(node: nodes.Dependency): AccessNeighborsForDependency = - new AccessNeighborsForDependency(node) - - implicit def accessNeighborsForDependencyTraversal( - traversal: IterableOnce[nodes.Dependency] - ): AccessNeighborsForDependencyTraversal = - new AccessNeighborsForDependencyTraversal(traversal.iterator) - - implicit def accessNeighborsForFieldIdentifier(node: nodes.FieldIdentifier): AccessNeighborsForFieldIdentifier = - new AccessNeighborsForFieldIdentifier(node) - - implicit def accessNeighborsForFieldIdentifierTraversal( - traversal: IterableOnce[nodes.FieldIdentifier] - ): AccessNeighborsForFieldIdentifierTraversal = - new AccessNeighborsForFieldIdentifierTraversal(traversal.iterator) - - implicit def accessNeighborsForFile(node: nodes.File): AccessNeighborsForFile = - new AccessNeighborsForFile(node) - - implicit def accessNeighborsForFileTraversal(traversal: IterableOnce[nodes.File]): AccessNeighborsForFileTraversal = - new AccessNeighborsForFileTraversal(traversal.iterator) - - implicit def accessNeighborsForIdentifier(node: nodes.Identifier): AccessNeighborsForIdentifier = - new AccessNeighborsForIdentifier(node) - - implicit def accessNeighborsForIdentifierTraversal( - traversal: IterableOnce[nodes.Identifier] - ): AccessNeighborsForIdentifierTraversal = - new AccessNeighborsForIdentifierTraversal(traversal.iterator) - - implicit def accessNeighborsForImport(node: nodes.Import): AccessNeighborsForImport = - new AccessNeighborsForImport(node) - - implicit def accessNeighborsForImportTraversal( - traversal: IterableOnce[nodes.Import] - ): AccessNeighborsForImportTraversal = - new AccessNeighborsForImportTraversal(traversal.iterator) - - implicit def accessNeighborsForJumpLabel(node: nodes.JumpLabel): AccessNeighborsForJumpLabel = - new AccessNeighborsForJumpLabel(node) - - implicit def accessNeighborsForJumpLabelTraversal( - traversal: IterableOnce[nodes.JumpLabel] - ): AccessNeighborsForJumpLabelTraversal = - new AccessNeighborsForJumpLabelTraversal(traversal.iterator) - - implicit def accessNeighborsForJumpTarget(node: nodes.JumpTarget): AccessNeighborsForJumpTarget = - new AccessNeighborsForJumpTarget(node) - - implicit def accessNeighborsForJumpTargetTraversal( - traversal: IterableOnce[nodes.JumpTarget] - ): AccessNeighborsForJumpTargetTraversal = - new AccessNeighborsForJumpTargetTraversal(traversal.iterator) - - implicit def accessNeighborsForLiteral(node: nodes.Literal): AccessNeighborsForLiteral = - new AccessNeighborsForLiteral(node) - - implicit def accessNeighborsForLiteralTraversal( - traversal: IterableOnce[nodes.Literal] - ): AccessNeighborsForLiteralTraversal = - new AccessNeighborsForLiteralTraversal(traversal.iterator) - - implicit def accessNeighborsForLocal(node: nodes.Local): AccessNeighborsForLocal = - new AccessNeighborsForLocal(node) - - implicit def accessNeighborsForLocalTraversal( - traversal: IterableOnce[nodes.Local] - ): AccessNeighborsForLocalTraversal = - new AccessNeighborsForLocalTraversal(traversal.iterator) - - implicit def accessNeighborsForMember(node: nodes.Member): AccessNeighborsForMember = - new AccessNeighborsForMember(node) - - implicit def accessNeighborsForMemberTraversal( - traversal: IterableOnce[nodes.Member] - ): AccessNeighborsForMemberTraversal = - new AccessNeighborsForMemberTraversal(traversal.iterator) - - implicit def accessNeighborsForMethod(node: nodes.Method): AccessNeighborsForMethod = - new AccessNeighborsForMethod(node) - - implicit def accessNeighborsForMethodTraversal( - traversal: IterableOnce[nodes.Method] - ): AccessNeighborsForMethodTraversal = - new AccessNeighborsForMethodTraversal(traversal.iterator) - - implicit def accessNeighborsForMethodParameterIn( - node: nodes.MethodParameterIn - ): AccessNeighborsForMethodParameterIn = - new AccessNeighborsForMethodParameterIn(node) - - implicit def accessNeighborsForMethodParameterInTraversal( - traversal: IterableOnce[nodes.MethodParameterIn] - ): AccessNeighborsForMethodParameterInTraversal = - new AccessNeighborsForMethodParameterInTraversal(traversal.iterator) - - implicit def accessNeighborsForMethodParameterOut( - node: nodes.MethodParameterOut - ): AccessNeighborsForMethodParameterOut = - new AccessNeighborsForMethodParameterOut(node) - - implicit def accessNeighborsForMethodParameterOutTraversal( - traversal: IterableOnce[nodes.MethodParameterOut] - ): AccessNeighborsForMethodParameterOutTraversal = - new AccessNeighborsForMethodParameterOutTraversal(traversal.iterator) - - implicit def accessNeighborsForMethodRef(node: nodes.MethodRef): AccessNeighborsForMethodRef = - new AccessNeighborsForMethodRef(node) - - implicit def accessNeighborsForMethodRefTraversal( - traversal: IterableOnce[nodes.MethodRef] - ): AccessNeighborsForMethodRefTraversal = - new AccessNeighborsForMethodRefTraversal(traversal.iterator) - - implicit def accessNeighborsForMethodReturn(node: nodes.MethodReturn): AccessNeighborsForMethodReturn = - new AccessNeighborsForMethodReturn(node) - - implicit def accessNeighborsForMethodReturnTraversal( - traversal: IterableOnce[nodes.MethodReturn] - ): AccessNeighborsForMethodReturnTraversal = - new AccessNeighborsForMethodReturnTraversal(traversal.iterator) - - implicit def accessNeighborsForModifier(node: nodes.Modifier): AccessNeighborsForModifier = - new AccessNeighborsForModifier(node) - - implicit def accessNeighborsForModifierTraversal( - traversal: IterableOnce[nodes.Modifier] - ): AccessNeighborsForModifierTraversal = - new AccessNeighborsForModifierTraversal(traversal.iterator) - - implicit def accessNeighborsForNamespace(node: nodes.Namespace): AccessNeighborsForNamespace = - new AccessNeighborsForNamespace(node) - - implicit def accessNeighborsForNamespaceTraversal( - traversal: IterableOnce[nodes.Namespace] - ): AccessNeighborsForNamespaceTraversal = - new AccessNeighborsForNamespaceTraversal(traversal.iterator) - - implicit def accessNeighborsForNamespaceBlock(node: nodes.NamespaceBlock): AccessNeighborsForNamespaceBlock = - new AccessNeighborsForNamespaceBlock(node) - - implicit def accessNeighborsForNamespaceBlockTraversal( - traversal: IterableOnce[nodes.NamespaceBlock] - ): AccessNeighborsForNamespaceBlockTraversal = - new AccessNeighborsForNamespaceBlockTraversal(traversal.iterator) - - implicit def accessNeighborsForReturn(node: nodes.Return): AccessNeighborsForReturn = - new AccessNeighborsForReturn(node) - - implicit def accessNeighborsForReturnTraversal( - traversal: IterableOnce[nodes.Return] - ): AccessNeighborsForReturnTraversal = - new AccessNeighborsForReturnTraversal(traversal.iterator) - - implicit def accessNeighborsForTag(node: nodes.Tag): AccessNeighborsForTag = - new AccessNeighborsForTag(node) - - implicit def accessNeighborsForTagTraversal(traversal: IterableOnce[nodes.Tag]): AccessNeighborsForTagTraversal = - new AccessNeighborsForTagTraversal(traversal.iterator) - - implicit def accessNeighborsForTemplateDom(node: nodes.TemplateDom): AccessNeighborsForTemplateDom = - new AccessNeighborsForTemplateDom(node) - - implicit def accessNeighborsForTemplateDomTraversal( - traversal: IterableOnce[nodes.TemplateDom] - ): AccessNeighborsForTemplateDomTraversal = - new AccessNeighborsForTemplateDomTraversal(traversal.iterator) - - implicit def accessNeighborsForType(node: nodes.Type): AccessNeighborsForType = - new AccessNeighborsForType(node) - - implicit def accessNeighborsForTypeTraversal(traversal: IterableOnce[nodes.Type]): AccessNeighborsForTypeTraversal = - new AccessNeighborsForTypeTraversal(traversal.iterator) - - implicit def accessNeighborsForTypeArgument(node: nodes.TypeArgument): AccessNeighborsForTypeArgument = - new AccessNeighborsForTypeArgument(node) - - implicit def accessNeighborsForTypeArgumentTraversal( - traversal: IterableOnce[nodes.TypeArgument] - ): AccessNeighborsForTypeArgumentTraversal = - new AccessNeighborsForTypeArgumentTraversal(traversal.iterator) - - implicit def accessNeighborsForTypeDecl(node: nodes.TypeDecl): AccessNeighborsForTypeDecl = - new AccessNeighborsForTypeDecl(node) - - implicit def accessNeighborsForTypeDeclTraversal( - traversal: IterableOnce[nodes.TypeDecl] - ): AccessNeighborsForTypeDeclTraversal = - new AccessNeighborsForTypeDeclTraversal(traversal.iterator) - - implicit def accessNeighborsForTypeParameter(node: nodes.TypeParameter): AccessNeighborsForTypeParameter = - new AccessNeighborsForTypeParameter(node) - - implicit def accessNeighborsForTypeParameterTraversal( - traversal: IterableOnce[nodes.TypeParameter] - ): AccessNeighborsForTypeParameterTraversal = - new AccessNeighborsForTypeParameterTraversal(traversal.iterator) - - implicit def accessNeighborsForTypeRef(node: nodes.TypeRef): AccessNeighborsForTypeRef = - new AccessNeighborsForTypeRef(node) - - implicit def accessNeighborsForTypeRefTraversal( - traversal: IterableOnce[nodes.TypeRef] - ): AccessNeighborsForTypeRefTraversal = - new AccessNeighborsForTypeRefTraversal(traversal.iterator) - - implicit def accessNeighborsForUnknown(node: nodes.Unknown): AccessNeighborsForUnknown = - new AccessNeighborsForUnknown(node) - - implicit def accessNeighborsForUnknownTraversal( - traversal: IterableOnce[nodes.Unknown] - ): AccessNeighborsForUnknownTraversal = - new AccessNeighborsForUnknownTraversal(traversal.iterator) - - implicit def accessNeighborsForCfgNode(node: nodes.CfgNode): AccessNeighborsForCfgNode = - new AccessNeighborsForCfgNode(node) - - implicit def accessNeighborsForCfgNodeTraversal( - traversal: IterableOnce[nodes.CfgNode] - ): AccessNeighborsForCfgNodeTraversal = - new AccessNeighborsForCfgNodeTraversal(traversal.iterator) - - implicit def accessNeighborsForExpression(node: nodes.Expression): AccessNeighborsForExpression = - new AccessNeighborsForExpression(node) - - implicit def accessNeighborsForExpressionTraversal( - traversal: IterableOnce[nodes.Expression] - ): AccessNeighborsForExpressionTraversal = - new AccessNeighborsForExpressionTraversal(traversal.iterator) - } -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Annotation.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Annotation.scala deleted file mode 100644 index 405df551..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Annotation.scala +++ /dev/null @@ -1,1403 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait AnnotationEMT extends AnyRef with ExpressionEMT with HasFullNameEMT with HasNameEMT - -trait AnnotationBase extends AbstractNode with ExpressionBase with StaticType[AnnotationEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - if (("": String) != this.fullName) res.put("FULL_NAME", this.fullName) - 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) - res - } -} - -object Annotation { - val Label = "ANNOTATION" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val FullName = io.shiftleft.codepropertygraph.generated.PropertyNames.FULL_NAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val FullName = "" - val Name = "" - val Order = -1: Int - } -} - -class Annotation(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 0.toShort, seq_4762) - with AnnotationBase - with Expression - with StaticType[AnnotationEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "fullName" - case 5 => "lineNumber" - case 6 => "name" - case 7 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.fullName - case 5 => this.lineNumber - case 6 => this.name - case 7 => this.order - case _ => null - } - - override def productPrefix = "Annotation" - override def productArity = 8 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Annotation] -} - -object NewAnnotation { - def apply(): NewAnnotation = new NewAnnotation - 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" - ) - ) -} -class NewAnnotation extends NewNode(0.toShort) with AnnotationBase with ExpressionNew { - override type StoredNodeType = Annotation - override def label: String = "ANNOTATION" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewAnnotation.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewAnnotation.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var fullName: String = "": String - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 fullName(value: String): this.type = { this.fullName = 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 } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - interface.insertProperty(this, 22, Iterator(this.fullName)) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewAnnotation - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.fullName = this.fullName - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "fullName" - case 5 => "lineNumber" - case 6 => "name" - case 7 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.fullName - case 5 => this.lineNumber - case 6 => this.name - case 7 => this.order - case _ => null - } - - override def productPrefix = "NewAnnotation" - override def productArity = 8 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewAnnotation] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationLiteral.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationLiteral.scala deleted file mode 100644 index be312c60..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationLiteral.scala +++ /dev/null @@ -1,1392 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait AnnotationLiteralEMT extends AnyRef with ExpressionEMT with HasNameEMT - -trait AnnotationLiteralBase extends AbstractNode with ExpressionBase with StaticType[AnnotationLiteralEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - 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) - res - } -} - -object AnnotationLiteral { - val Label = "ANNOTATION_LITERAL" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val Name = "" - val Order = -1: Int - } -} - -class AnnotationLiteral(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 1.toShort, seq_4762) - with AnnotationLiteralBase - with Expression - with StaticType[AnnotationLiteralEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case _ => null - } - - override def productPrefix = "AnnotationLiteral" - override def productArity = 7 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[AnnotationLiteral] -} - -object NewAnnotationLiteral { - def apply(): NewAnnotationLiteral = new NewAnnotationLiteral - 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" - ) - ) -} -class NewAnnotationLiteral extends NewNode(1.toShort) with AnnotationLiteralBase with ExpressionNew { - override type StoredNodeType = AnnotationLiteral - override def label: String = "ANNOTATION_LITERAL" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewAnnotationLiteral.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewAnnotationLiteral.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewAnnotationLiteral - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case _ => null - } - - override def productPrefix = "NewAnnotationLiteral" - override def productArity = 7 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewAnnotationLiteral] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameter.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameter.scala deleted file mode 100644 index 24a1370c..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameter.scala +++ /dev/null @@ -1,1359 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait AnnotationParameterEMT extends AnyRef with AstNodeEMT - -trait AnnotationParameterBase extends AbstractNode with AstNodeBase with StaticType[AnnotationParameterEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - 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 ((-1: Int) != this.order) res.put("ORDER", this.order) - res - } -} - -object AnnotationParameter { - val Label = "ANNOTATION_PARAMETER" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val Code = "" - val Order = -1: Int - } -} - -class AnnotationParameter(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 2.toShort, seq_4762) - with AnnotationParameterBase - with AstNode - with StaticType[AnnotationParameterEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.order - case _ => null - } - - override def productPrefix = "AnnotationParameter" - override def productArity = 4 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[AnnotationParameter] -} - -object NewAnnotationParameter { - def apply(): NewAnnotationParameter = new NewAnnotationParameter - 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" - ) - ) -} -class NewAnnotationParameter extends NewNode(2.toShort) with AnnotationParameterBase with AstNodeNew { - override type StoredNodeType = AnnotationParameter - override def label: String = "ANNOTATION_PARAMETER" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewAnnotationParameter.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewAnnotationParameter.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var lineNumber: Option[Int] = None - var order: Int = -1: Int - 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 order(value: Int): this.type = { this.order = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewAnnotationParameter - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.order - case _ => null - } - - override def productPrefix = "NewAnnotationParameter" - override def productArity = 4 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewAnnotationParameter] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameterAssign.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameterAssign.scala deleted file mode 100644 index 7d7b9b6f..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/AnnotationParameterAssign.scala +++ /dev/null @@ -1,1362 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait AnnotationParameterAssignEMT extends AnyRef with AstNodeEMT - -trait AnnotationParameterAssignBase - extends AbstractNode - with AstNodeBase - with StaticType[AnnotationParameterAssignEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - 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 ((-1: Int) != this.order) res.put("ORDER", this.order) - res - } -} - -object AnnotationParameterAssign { - val Label = "ANNOTATION_PARAMETER_ASSIGN" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val Code = "" - val Order = -1: Int - } -} - -class AnnotationParameterAssign(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 3.toShort, seq_4762) - with AnnotationParameterAssignBase - with AstNode - with StaticType[AnnotationParameterAssignEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.order - case _ => null - } - - override def productPrefix = "AnnotationParameterAssign" - override def productArity = 4 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[AnnotationParameterAssign] -} - -object NewAnnotationParameterAssign { - def apply(): NewAnnotationParameterAssign = new NewAnnotationParameterAssign - 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" - ) - ) -} -class NewAnnotationParameterAssign extends NewNode(3.toShort) with AnnotationParameterAssignBase with AstNodeNew { - override type StoredNodeType = AnnotationParameterAssign - override def label: String = "ANNOTATION_PARAMETER_ASSIGN" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewAnnotationParameterAssign.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewAnnotationParameterAssign.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var lineNumber: Option[Int] = None - var order: Int = -1: Int - 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 order(value: Int): this.type = { this.order = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewAnnotationParameterAssign - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.order - case _ => null - } - - override def productPrefix = "NewAnnotationParameterAssign" - override def productArity = 4 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewAnnotationParameterAssign] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ArrayInitializer.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ArrayInitializer.scala deleted file mode 100644 index 58d3f05f..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ArrayInitializer.scala +++ /dev/null @@ -1,1381 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait ArrayInitializerEMT extends AnyRef with ExpressionEMT - -trait ArrayInitializerBase extends AbstractNode with ExpressionBase with StaticType[ArrayInitializerEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - 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 ((-1: Int) != this.order) res.put("ORDER", this.order) - res - } -} - -object ArrayInitializer { - val Label = "ARRAY_INITIALIZER" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val Order = -1: Int - } -} - -class ArrayInitializer(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 4.toShort, seq_4762) - with ArrayInitializerBase - with Expression - with StaticType[ArrayInitializerEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "lineNumber" - case 5 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.lineNumber - case 5 => this.order - case _ => null - } - - override def productPrefix = "ArrayInitializer" - override def productArity = 6 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[ArrayInitializer] -} - -object NewArrayInitializer { - def apply(): NewArrayInitializer = new NewArrayInitializer - 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" - ) - ) -} -class NewArrayInitializer extends NewNode(4.toShort) with ArrayInitializerBase with AstNodeNew with ExpressionNew { - override type StoredNodeType = ArrayInitializer - override def label: String = "ARRAY_INITIALIZER" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewArrayInitializer.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewArrayInitializer.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var lineNumber: Option[Int] = None - var order: Int = -1: Int - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 order(value: Int): this.type = { this.order = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewArrayInitializer - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "lineNumber" - case 5 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.lineNumber - case 5 => this.order - case _ => null - } - - override def productPrefix = "NewArrayInitializer" - override def productArity = 6 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewArrayInitializer] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Binding.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Binding.scala deleted file mode 100644 index 34db3be5..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Binding.scala +++ /dev/null @@ -1,116 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait BindingEMT extends AnyRef with HasMethodFullNameEMT with HasNameEMT with HasSignatureEMT - -trait BindingBase extends AbstractNode with StaticType[BindingEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.methodFullName) res.put("METHOD_FULL_NAME", this.methodFullName) - if (("": String) != this.name) res.put("NAME", this.name) - if (("": String) != this.signature) res.put("SIGNATURE", this.signature) - res - } -} - -object Binding { - val Label = "BINDING" - object PropertyNames { - val MethodFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.METHOD_FULL_NAME - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Signature = io.shiftleft.codepropertygraph.generated.PropertyNames.SIGNATURE - } - object PropertyDefaults { - val MethodFullName = "" - val Name = "" - val Signature = "" - } -} - -class Binding(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 5.toShort, seq_4762) - with BindingBase - with StaticType[BindingEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "methodFullName" - case 1 => "name" - case 2 => "signature" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.methodFullName - case 1 => this.name - case 2 => this.signature - case _ => null - } - - override def productPrefix = "Binding" - override def productArity = 3 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Binding] -} - -object NewBinding { - def apply(): NewBinding = new NewBinding - private val outNeighbors: Map[String, Set[String]] = Map("REF" -> Set("METHOD")) - private val inNeighbors: Map[String, Set[String]] = Map("BINDS" -> Set("TYPE_DECL")) -} -class NewBinding extends NewNode(5.toShort) with BindingBase { - override type StoredNodeType = Binding - override def label: String = "BINDING" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewBinding.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewBinding.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var methodFullName: String = "": String - var name: String = "": String - var signature: String = "": String - def methodFullName(value: String): this.type = { this.methodFullName = value; this } - def name(value: String): this.type = { this.name = value; this } - def signature(value: String): this.type = { this.signature = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 36, Iterator(this.methodFullName)) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 49, Iterator(this.signature)) - } - - override def copy(): this.type = { - val newInstance = new NewBinding - newInstance.methodFullName = this.methodFullName - newInstance.name = this.name - newInstance.signature = this.signature - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "methodFullName" - case 1 => "name" - case 2 => "signature" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.methodFullName - case 1 => this.name - case 2 => this.signature - case _ => null - } - - override def productPrefix = "NewBinding" - override def productArity = 3 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewBinding] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Block.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Block.scala deleted file mode 100644 index ee8899cf..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Block.scala +++ /dev/null @@ -1,1421 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait BlockEMT - extends AnyRef - with ExpressionEMT - with HasDynamicTypeHintFullNameEMT - with HasPossibleTypesEMT - with HasTypeFullNameEMT - -trait BlockBase extends AbstractNode with ExpressionBase with StaticType[BlockEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; - if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if ((-1: Int) != this.order) res.put("ORDER", this.order) - val tmpPossibleTypes = this.possibleTypes; - if (tmpPossibleTypes.nonEmpty) res.put("POSSIBLE_TYPES", tmpPossibleTypes) - if (("": String) != this.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object Block { - val Label = "BLOCK" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val DynamicTypeHintFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.DYNAMIC_TYPE_HINT_FULL_NAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val PossibleTypes = io.shiftleft.codepropertygraph.generated.PropertyNames.POSSIBLE_TYPES - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val Order = -1: Int - val TypeFullName = "" - } -} - -class Block(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 6.toShort, seq_4762) - with BlockBase - with Expression - with StaticType[BlockEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "order" - case 7 => "possibleTypes" - case 8 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.order - case 7 => this.possibleTypes - case 8 => this.typeFullName - case _ => null - } - - override def productPrefix = "Block" - override def productArity = 9 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Block] -} - -object NewBlock { - def apply(): NewBlock = new NewBlock - 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" - ) - ) -} -class NewBlock extends NewNode(6.toShort) with BlockBase with ExpressionNew { - override type StoredNodeType = Block - override def label: String = "BLOCK" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewBlock.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewBlock.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty - var lineNumber: Option[Int] = None - var order: Int = -1: Int - var possibleTypes: IndexedSeq[String] = ArraySeq.empty - var typeFullName: String = "": String - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { - this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); this - } - def lineNumber(value: Int): this.type = { this.lineNumber = Option(value); this } - def lineNumber(value: Option[Int]): this.type = { this.lineNumber = value; this } - def order(value: Int): this.type = { this.order = value; this } - def possibleTypes(value: IterableOnce[String]): this.type = { this.possibleTypes = value.iterator.to(ArraySeq); this } - def typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (dynamicTypeHintFullName.nonEmpty) interface.insertProperty(this, 18, this.dynamicTypeHintFullName) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - if (possibleTypes.nonEmpty) interface.insertProperty(this, 47, this.possibleTypes) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewBlock - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.possibleTypes = this.possibleTypes - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "order" - case 7 => "possibleTypes" - case 8 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.order - case 7 => this.possibleTypes - case 8 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewBlock" - override def productArity = 9 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewBlock] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Call.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Call.scala deleted file mode 100644 index 5b742130..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Call.scala +++ /dev/null @@ -1,1469 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait CallEMT - extends AnyRef - with CallReprEMT - with ExpressionEMT - with HasDispatchTypeEMT - with HasDynamicTypeHintFullNameEMT - with HasMethodFullNameEMT - with HasPossibleTypesEMT - with HasTypeFullNameEMT - -trait CallBase extends AbstractNode with CallReprBase with ExpressionBase with StaticType[CallEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - if (("": String) != this.dispatchType) res.put("DISPATCH_TYPE", this.dispatchType) - val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; - if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if (("": String) != this.methodFullName) res.put("METHOD_FULL_NAME", this.methodFullName) - if (("": String) != this.name) res.put("NAME", this.name) - if ((-1: Int) != this.order) res.put("ORDER", this.order) - val tmpPossibleTypes = this.possibleTypes; - if (tmpPossibleTypes.nonEmpty) res.put("POSSIBLE_TYPES", tmpPossibleTypes) - if (("": String) != this.signature) res.put("SIGNATURE", this.signature) - if (("": String) != this.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object Call { - val Label = "CALL" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val DispatchType = io.shiftleft.codepropertygraph.generated.PropertyNames.DISPATCH_TYPE - val DynamicTypeHintFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.DYNAMIC_TYPE_HINT_FULL_NAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val MethodFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.METHOD_FULL_NAME - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val PossibleTypes = io.shiftleft.codepropertygraph.generated.PropertyNames.POSSIBLE_TYPES - val Signature = io.shiftleft.codepropertygraph.generated.PropertyNames.SIGNATURE - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val DispatchType = "" - val MethodFullName = "" - val Name = "" - val Order = -1: Int - val Signature = "" - val TypeFullName = "" - } -} - -class Call(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 7.toShort, seq_4762) - with CallBase - with CallRepr - with Expression - with StaticType[CallEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dispatchType" - case 5 => "dynamicTypeHintFullName" - case 6 => "lineNumber" - case 7 => "methodFullName" - case 8 => "name" - case 9 => "order" - case 10 => "possibleTypes" - case 11 => "signature" - case 12 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dispatchType - case 5 => this.dynamicTypeHintFullName - case 6 => this.lineNumber - case 7 => this.methodFullName - case 8 => this.name - case 9 => this.order - case 10 => this.possibleTypes - case 11 => this.signature - case 12 => this.typeFullName - case _ => null - } - - override def productPrefix = "Call" - override def productArity = 13 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Call] -} - -object NewCall { - def apply(): NewCall = new NewCall - 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" - ) - ) -} -class NewCall extends NewNode(7.toShort) with CallBase with CallReprNew with ExpressionNew { - override type StoredNodeType = Call - override def label: String = "CALL" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewCall.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewCall.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var dispatchType: String = "": String - var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty - var lineNumber: Option[Int] = None - var methodFullName: String = "": String - var name: String = "": String - var order: Int = -1: Int - var possibleTypes: IndexedSeq[String] = ArraySeq.empty - var signature: String = "": String - var typeFullName: String = "": String - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 dispatchType(value: String): this.type = { this.dispatchType = value; this } - def dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { - this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); this - } - def lineNumber(value: Int): this.type = { this.lineNumber = Option(value); this } - def lineNumber(value: Option[Int]): this.type = { this.lineNumber = value; this } - def methodFullName(value: String): this.type = { this.methodFullName = value; this } - def name(value: String): this.type = { this.name = value; this } - def order(value: Int): this.type = { this.order = value; this } - def possibleTypes(value: IterableOnce[String]): this.type = { this.possibleTypes = value.iterator.to(ArraySeq); this } - def signature(value: String): this.type = { this.signature = value; this } - def typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - interface.insertProperty(this, 17, Iterator(this.dispatchType)) - if (dynamicTypeHintFullName.nonEmpty) interface.insertProperty(this, 18, this.dynamicTypeHintFullName) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 36, Iterator(this.methodFullName)) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - if (possibleTypes.nonEmpty) interface.insertProperty(this, 47, this.possibleTypes) - interface.insertProperty(this, 49, Iterator(this.signature)) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewCall - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.dispatchType = this.dispatchType - newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName - newInstance.lineNumber = this.lineNumber - newInstance.methodFullName = this.methodFullName - newInstance.name = this.name - newInstance.order = this.order - newInstance.possibleTypes = this.possibleTypes - newInstance.signature = this.signature - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dispatchType" - case 5 => "dynamicTypeHintFullName" - case 6 => "lineNumber" - case 7 => "methodFullName" - case 8 => "name" - case 9 => "order" - case 10 => "possibleTypes" - case 11 => "signature" - case 12 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dispatchType - case 5 => this.dynamicTypeHintFullName - case 6 => this.lineNumber - case 7 => this.methodFullName - case 8 => this.name - case 9 => this.order - case 10 => this.possibleTypes - case 11 => this.signature - case 12 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewCall" - override def productArity = 13 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewCall] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ClosureBinding.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ClosureBinding.scala deleted file mode 100644 index c66c6569..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ClosureBinding.scala +++ /dev/null @@ -1,121 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait ClosureBindingEMT - extends AnyRef - with HasClosureBindingIdEMT - with HasClosureOriginalNameEMT - with HasEvaluationStrategyEMT - -trait ClosureBindingBase extends AbstractNode with StaticType[ClosureBindingEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - this.closureBindingId.foreach { p => res.put("CLOSURE_BINDING_ID", p) } - this.closureOriginalName.foreach { p => res.put("CLOSURE_ORIGINAL_NAME", p) } - if (("": String) != this.evaluationStrategy) res.put("EVALUATION_STRATEGY", this.evaluationStrategy) - res - } -} - -object ClosureBinding { - val Label = "CLOSURE_BINDING" - object PropertyNames { - val ClosureBindingId = io.shiftleft.codepropertygraph.generated.PropertyNames.CLOSURE_BINDING_ID - val ClosureOriginalName = io.shiftleft.codepropertygraph.generated.PropertyNames.CLOSURE_ORIGINAL_NAME - val EvaluationStrategy = io.shiftleft.codepropertygraph.generated.PropertyNames.EVALUATION_STRATEGY - } - object PropertyDefaults { - val EvaluationStrategy = "" - } -} - -class ClosureBinding(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 8.toShort, seq_4762) - with ClosureBindingBase - with StaticType[ClosureBindingEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "closureBindingId" - case 1 => "closureOriginalName" - case 2 => "evaluationStrategy" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.closureBindingId - case 1 => this.closureOriginalName - case 2 => this.evaluationStrategy - case _ => null - } - - override def productPrefix = "ClosureBinding" - override def productArity = 3 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[ClosureBinding] -} - -object NewClosureBinding { - def apply(): NewClosureBinding = new NewClosureBinding - private val outNeighbors: Map[String, Set[String]] = Map("REF" -> Set("LOCAL", "METHOD_PARAMETER_IN")) - private val inNeighbors: Map[String, Set[String]] = - Map("CAPTURE" -> Set("METHOD_REF", "TYPE_REF"), "CAPTURED_BY" -> Set("LOCAL", "METHOD_PARAMETER_IN")) -} -class NewClosureBinding extends NewNode(8.toShort) with ClosureBindingBase { - override type StoredNodeType = ClosureBinding - override def label: String = "CLOSURE_BINDING" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewClosureBinding.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewClosureBinding.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var closureBindingId: Option[String] = None - var closureOriginalName: Option[String] = None - var evaluationStrategy: String = "": String - def closureBindingId(value: Option[String]): this.type = { this.closureBindingId = value; this } - def closureBindingId(value: String): this.type = { this.closureBindingId = Option(value); this } - def closureOriginalName(value: Option[String]): this.type = { this.closureOriginalName = value; this } - def closureOriginalName(value: String): this.type = { this.closureOriginalName = Option(value); this } - def evaluationStrategy(value: String): this.type = { this.evaluationStrategy = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - if (closureBindingId.nonEmpty) interface.insertProperty(this, 8, this.closureBindingId) - if (closureOriginalName.nonEmpty) interface.insertProperty(this, 9, this.closureOriginalName) - interface.insertProperty(this, 19, Iterator(this.evaluationStrategy)) - } - - override def copy(): this.type = { - val newInstance = new NewClosureBinding - newInstance.closureBindingId = this.closureBindingId - newInstance.closureOriginalName = this.closureOriginalName - newInstance.evaluationStrategy = this.evaluationStrategy - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "closureBindingId" - case 1 => "closureOriginalName" - case 2 => "evaluationStrategy" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.closureBindingId - case 1 => this.closureOriginalName - case 2 => this.evaluationStrategy - case _ => null - } - - override def productPrefix = "NewClosureBinding" - override def productArity = 3 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewClosureBinding] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Comment.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Comment.scala deleted file mode 100644 index d8de66a1..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Comment.scala +++ /dev/null @@ -1,1370 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait CommentEMT extends AnyRef with AstNodeEMT with HasFilenameEMT - -trait CommentBase extends AbstractNode with AstNodeBase with StaticType[CommentEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - if (("": String) != this.filename) res.put("FILENAME", this.filename) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if ((-1: Int) != this.order) res.put("ORDER", this.order) - res - } -} - -object Comment { - val Label = "COMMENT" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val Filename = io.shiftleft.codepropertygraph.generated.PropertyNames.FILENAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val Code = "" - val Filename = "" - val Order = -1: Int - } -} - -class Comment(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 9.toShort, seq_4762) - with CommentBase - with AstNode - with StaticType[CommentEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "filename" - case 3 => "lineNumber" - case 4 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.filename - case 3 => this.lineNumber - case 4 => this.order - case _ => null - } - - override def productPrefix = "Comment" - override def productArity = 5 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Comment] -} - -object NewComment { - def apply(): NewComment = new NewComment - 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" - ) - ) -} -class NewComment extends NewNode(9.toShort) with CommentBase with AstNodeNew { - override type StoredNodeType = Comment - override def label: String = "COMMENT" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewComment.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewComment.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var filename: String = "": String - var lineNumber: Option[Int] = None - var order: Int = -1: Int - 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 filename(value: String): this.type = { this.filename = 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 order(value: Int): this.type = { this.order = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - interface.insertProperty(this, 21, Iterator(this.filename)) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewComment - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.filename = this.filename - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "filename" - case 3 => "lineNumber" - case 4 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.filename - case 3 => this.lineNumber - case 4 => this.order - case _ => null - } - - override def productPrefix = "NewComment" - override def productArity = 5 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewComment] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ConfigFile.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ConfigFile.scala deleted file mode 100644 index fd01d899..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ConfigFile.scala +++ /dev/null @@ -1,105 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait ConfigFileEMT extends AnyRef with HasContentEMT with HasNameEMT - -trait ConfigFileBase extends AbstractNode with StaticType[ConfigFileEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.content) res.put("CONTENT", this.content) - if (("": String) != this.name) res.put("NAME", this.name) - res - } -} - -object ConfigFile { - val Label = "CONFIG_FILE" - object PropertyNames { - val Content = io.shiftleft.codepropertygraph.generated.PropertyNames.CONTENT - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - } - object PropertyDefaults { - val Content = "" - val Name = "" - } -} - -class ConfigFile(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 10.toShort, seq_4762) - with ConfigFileBase - with StaticType[ConfigFileEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "content" - case 1 => "name" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.content - case 1 => this.name - case _ => null - } - - override def productPrefix = "ConfigFile" - override def productArity = 2 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[ConfigFile] -} - -object NewConfigFile { - def apply(): NewConfigFile = new NewConfigFile - private val outNeighbors: Map[String, Set[String]] = Map() - private val inNeighbors: Map[String, Set[String]] = Map() -} -class NewConfigFile extends NewNode(10.toShort) with ConfigFileBase { - override type StoredNodeType = ConfigFile - override def label: String = "CONFIG_FILE" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewConfigFile.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewConfigFile.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var content: String = "": String - var name: String = "": String - def content(value: String): this.type = { this.content = value; this } - def name(value: String): this.type = { this.name = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 14, Iterator(this.content)) - interface.insertProperty(this, 39, Iterator(this.name)) - } - - override def copy(): this.type = { - val newInstance = new NewConfigFile - newInstance.content = this.content - newInstance.name = this.name - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "content" - case 1 => "name" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.content - case 1 => this.name - case _ => null - } - - override def productPrefix = "NewConfigFile" - override def productArity = 2 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewConfigFile] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ControlStructure.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ControlStructure.scala deleted file mode 100644 index 8862cff1..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/ControlStructure.scala +++ /dev/null @@ -1,1403 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait ControlStructureEMT extends AnyRef with ExpressionEMT with HasControlStructureTypeEMT with HasParserTypeNameEMT - -trait ControlStructureBase extends AbstractNode with ExpressionBase with StaticType[ControlStructureEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - if (("": String) != this.controlStructureType) res.put("CONTROL_STRUCTURE_TYPE", this.controlStructureType) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if ((-1: Int) != this.order) res.put("ORDER", this.order) - if (("": String) != this.parserTypeName) res.put("PARSER_TYPE_NAME", this.parserTypeName) - res - } -} - -object ControlStructure { - val Label = "CONTROL_STRUCTURE" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val ControlStructureType = io.shiftleft.codepropertygraph.generated.PropertyNames.CONTROL_STRUCTURE_TYPE - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val ParserTypeName = io.shiftleft.codepropertygraph.generated.PropertyNames.PARSER_TYPE_NAME - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val ControlStructureType = "" - val Order = -1: Int - val ParserTypeName = "" - } -} - -class ControlStructure(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 11.toShort, seq_4762) - with ControlStructureBase - with Expression - with StaticType[ControlStructureEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "controlStructureType" - case 5 => "lineNumber" - case 6 => "order" - case 7 => "parserTypeName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.controlStructureType - case 5 => this.lineNumber - case 6 => this.order - case 7 => this.parserTypeName - case _ => null - } - - override def productPrefix = "ControlStructure" - override def productArity = 8 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[ControlStructure] -} - -object NewControlStructure { - def apply(): NewControlStructure = new NewControlStructure - 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" - ) - ) -} -class NewControlStructure extends NewNode(11.toShort) with ControlStructureBase with ExpressionNew { - override type StoredNodeType = ControlStructure - override def label: String = "CONTROL_STRUCTURE" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewControlStructure.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewControlStructure.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var controlStructureType: String = "": String - var lineNumber: Option[Int] = None - var order: Int = -1: Int - var parserTypeName: String = "": String - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 controlStructureType(value: String): this.type = { this.controlStructureType = 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 order(value: Int): this.type = { this.order = value; this } - def parserTypeName(value: String): this.type = { this.parserTypeName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - interface.insertProperty(this, 15, Iterator(this.controlStructureType)) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - interface.insertProperty(this, 46, Iterator(this.parserTypeName)) - } - - override def copy(): this.type = { - val newInstance = new NewControlStructure - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.controlStructureType = this.controlStructureType - newInstance.lineNumber = this.lineNumber - 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 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "controlStructureType" - case 5 => "lineNumber" - case 6 => "order" - case 7 => "parserTypeName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.controlStructureType - case 5 => this.lineNumber - case 6 => this.order - case 7 => this.parserTypeName - case _ => null - } - - override def productPrefix = "NewControlStructure" - override def productArity = 8 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewControlStructure] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Dependency.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Dependency.scala deleted file mode 100644 index ce4b3db4..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Dependency.scala +++ /dev/null @@ -1,116 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait DependencyEMT extends AnyRef with HasDependencyGroupIdEMT with HasNameEMT with HasVersionEMT - -trait DependencyBase extends AbstractNode with StaticType[DependencyEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - this.dependencyGroupId.foreach { p => res.put("DEPENDENCY_GROUP_ID", p) } - if (("": String) != this.name) res.put("NAME", this.name) - if (("": String) != this.version) res.put("VERSION", this.version) - res - } -} - -object Dependency { - val Label = "DEPENDENCY" - object PropertyNames { - val DependencyGroupId = io.shiftleft.codepropertygraph.generated.PropertyNames.DEPENDENCY_GROUP_ID - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Version = io.shiftleft.codepropertygraph.generated.PropertyNames.VERSION - } - object PropertyDefaults { - val Name = "" - val Version = "" - } -} - -class Dependency(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 12.toShort, seq_4762) - with DependencyBase - with StaticType[DependencyEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "dependencyGroupId" - case 1 => "name" - case 2 => "version" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.dependencyGroupId - case 1 => this.name - case 2 => this.version - case _ => null - } - - override def productPrefix = "Dependency" - override def productArity = 3 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Dependency] -} - -object NewDependency { - def apply(): NewDependency = new NewDependency - private val outNeighbors: Map[String, Set[String]] = Map() - private val inNeighbors: Map[String, Set[String]] = Map("IMPORTS" -> Set("IMPORT")) -} -class NewDependency extends NewNode(12.toShort) with DependencyBase { - override type StoredNodeType = Dependency - override def label: String = "DEPENDENCY" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewDependency.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewDependency.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var dependencyGroupId: Option[String] = None - var name: String = "": String - var version: String = "": String - def dependencyGroupId(value: Option[String]): this.type = { this.dependencyGroupId = value; this } - def dependencyGroupId(value: String): this.type = { this.dependencyGroupId = Option(value); this } - def name(value: String): this.type = { this.name = value; this } - def version(value: String): this.type = { this.version = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - if (dependencyGroupId.nonEmpty) interface.insertProperty(this, 16, this.dependencyGroupId) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 54, Iterator(this.version)) - } - - override def copy(): this.type = { - val newInstance = new NewDependency - newInstance.dependencyGroupId = this.dependencyGroupId - newInstance.name = this.name - newInstance.version = this.version - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "dependencyGroupId" - case 1 => "name" - case 2 => "version" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.dependencyGroupId - case 1 => this.name - case 2 => this.version - case _ => null - } - - override def productPrefix = "NewDependency" - override def productArity = 3 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewDependency] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/FieldIdentifier.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/FieldIdentifier.scala deleted file mode 100644 index eb1f6277..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/FieldIdentifier.scala +++ /dev/null @@ -1,1392 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait FieldIdentifierEMT extends AnyRef with ExpressionEMT with HasCanonicalNameEMT - -trait FieldIdentifierBase extends AbstractNode with ExpressionBase with StaticType[FieldIdentifierEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - if (("": String) != this.canonicalName) res.put("CANONICAL_NAME", this.canonicalName) - 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 ((-1: Int) != this.order) res.put("ORDER", this.order) - res - } -} - -object FieldIdentifier { - val Label = "FIELD_IDENTIFIER" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val CanonicalName = io.shiftleft.codepropertygraph.generated.PropertyNames.CANONICAL_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val CanonicalName = "" - val Code = "" - val Order = -1: Int - } -} - -class FieldIdentifier(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 13.toShort, seq_4762) - with FieldIdentifierBase - with Expression - with StaticType[FieldIdentifierEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "canonicalName" - case 3 => "code" - case 4 => "columnNumber" - case 5 => "lineNumber" - case 6 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.canonicalName - case 3 => this.code - case 4 => this.columnNumber - case 5 => this.lineNumber - case 6 => this.order - case _ => null - } - - override def productPrefix = "FieldIdentifier" - override def productArity = 7 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[FieldIdentifier] -} - -object NewFieldIdentifier { - def apply(): NewFieldIdentifier = new NewFieldIdentifier - 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" - ) - ) -} -class NewFieldIdentifier extends NewNode(13.toShort) with FieldIdentifierBase with ExpressionNew { - override type StoredNodeType = FieldIdentifier - override def label: String = "FIELD_IDENTIFIER" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewFieldIdentifier.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewFieldIdentifier.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var canonicalName: String = "": String - var code: String = "": String - var columnNumber: Option[Int] = None - var lineNumber: Option[Int] = None - var order: Int = -1: Int - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(value); this } - def canonicalName(value: String): this.type = { this.canonicalName = 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 order(value: Int): this.type = { this.order = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 5, Iterator(this.canonicalName)) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewFieldIdentifier - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.canonicalName = this.canonicalName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "canonicalName" - case 3 => "code" - case 4 => "columnNumber" - case 5 => "lineNumber" - case 6 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.canonicalName - case 3 => this.code - case 4 => this.columnNumber - case 5 => this.lineNumber - case 6 => this.order - case _ => null - } - - override def productPrefix = "NewFieldIdentifier" - override def productArity = 7 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewFieldIdentifier] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/File.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/File.scala deleted file mode 100644 index 2db5557f..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/File.scala +++ /dev/null @@ -1,1392 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait FileEMT extends AnyRef with AstNodeEMT with HasContentEMT with HasHashEMT with HasNameEMT - -trait FileBase extends AbstractNode with AstNodeBase with StaticType[FileEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - if (("": String) != this.content) res.put("CONTENT", this.content) - this.hash.foreach { p => res.put("HASH", 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) - res - } -} - -object File { - val Label = "FILE" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val Content = io.shiftleft.codepropertygraph.generated.PropertyNames.CONTENT - val Hash = io.shiftleft.codepropertygraph.generated.PropertyNames.HASH - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val Code = "" - val Content = "" - val Name = "" - val Order = -1: Int - } -} - -class File(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 14.toShort, seq_4762) - with FileBase - with AstNode - with StaticType[FileEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "content" - case 3 => "hash" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.content - case 3 => this.hash - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case _ => null - } - - override def productPrefix = "File" - override def productArity = 7 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[File] -} - -object NewFile { - def apply(): NewFile = new NewFile - 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" - ) - ) -} -class NewFile extends NewNode(14.toShort) with FileBase with AstNodeNew { - override type StoredNodeType = File - override def label: String = "FILE" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewFile.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewFile.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var content: String = "": String - var hash: Option[String] = None - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - 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 content(value: String): this.type = { this.content = value; this } - def hash(value: Option[String]): this.type = { this.hash = value; this } - def hash(value: String): this.type = { this.hash = Option(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 } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - interface.insertProperty(this, 14, Iterator(this.content)) - if (hash.nonEmpty) interface.insertProperty(this, 23, this.hash) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewFile - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.content = this.content - newInstance.hash = this.hash - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "content" - case 3 => "hash" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.content - case 3 => this.hash - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case _ => null - } - - override def productPrefix = "NewFile" - override def productArity = 7 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewFile] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Finding.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Finding.scala deleted file mode 100644 index c6368dc7..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Finding.scala +++ /dev/null @@ -1,105 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait FindingEMT extends AnyRef - -trait FindingBase extends AbstractNode with StaticType[FindingEMT] { - def evidence: IndexedSeq[AbstractNode] - def keyValuePairs: IndexedSeq[KeyValuePairBase] - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - val tmpevidence = this.evidence; if (tmpevidence.nonEmpty) res.put("evidence", tmpevidence) - val tmpkeyValuePairs = this.keyValuePairs; if (tmpkeyValuePairs.nonEmpty) res.put("keyValuePairs", tmpkeyValuePairs) - res - } -} - -object Finding { - val Label = "FINDING" - object PropertyNames {} - object PropertyDefaults {} -} - -class Finding(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 15.toShort, seq_4762) - with FindingBase - with StaticType[FindingEMT] { - def evidence: IndexedSeq[StoredNode] = flatgraph.Accessors.getNodePropertyMulti[StoredNode](graph, nodeKind, 55, seq) - def keyValuePairs: IndexedSeq[KeyValuePair] = - flatgraph.Accessors.getNodePropertyMulti[KeyValuePair](graph, nodeKind, 56, seq) - - override def productElementName(n: Int): String = - n match { - case 0 => "evidence" - case 1 => "keyValuePairs" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.evidence - case 1 => this.keyValuePairs - case _ => null - } - - override def productPrefix = "Finding" - override def productArity = 2 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Finding] -} - -object NewFinding { - def apply(): NewFinding = new NewFinding - private val outNeighbors: Map[String, Set[String]] = Map() - private val inNeighbors: Map[String, Set[String]] = Map() -} -class NewFinding extends NewNode(15.toShort) with FindingBase { - override type StoredNodeType = Finding - override def label: String = "FINDING" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewFinding.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewFinding.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var evidence: IndexedSeq[AbstractNode] = ArraySeq.empty - var keyValuePairs: IndexedSeq[KeyValuePairBase] = ArraySeq.empty - def evidence(value: IterableOnce[AbstractNode]): this.type = { this.evidence = value.iterator.to(ArraySeq); this } - def keyValuePairs(value: IterableOnce[KeyValuePairBase]): this.type = { - this.keyValuePairs = value.iterator.to(ArraySeq); this - } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - if (evidence.nonEmpty) interface.insertProperty(this, 55, this.evidence) - if (keyValuePairs.nonEmpty) interface.insertProperty(this, 56, this.keyValuePairs) - } - - override def copy(): this.type = { - val newInstance = new NewFinding - newInstance.evidence = this.evidence - newInstance.keyValuePairs = this.keyValuePairs - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "evidence" - case 1 => "keyValuePairs" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.evidence - case 1 => this.keyValuePairs - case _ => null - } - - override def productPrefix = "NewFinding" - override def productArity = 2 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewFinding] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Identifier.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Identifier.scala deleted file mode 100644 index aa083b96..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Identifier.scala +++ /dev/null @@ -1,1433 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait IdentifierEMT - extends AnyRef - with ExpressionEMT - with HasDynamicTypeHintFullNameEMT - with HasNameEMT - with HasPossibleTypesEMT - with HasTypeFullNameEMT - -trait IdentifierBase extends AbstractNode with ExpressionBase with StaticType[IdentifierEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; - if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) - 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) - val tmpPossibleTypes = this.possibleTypes; - if (tmpPossibleTypes.nonEmpty) res.put("POSSIBLE_TYPES", tmpPossibleTypes) - if (("": String) != this.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object Identifier { - val Label = "IDENTIFIER" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val DynamicTypeHintFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.DYNAMIC_TYPE_HINT_FULL_NAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val PossibleTypes = io.shiftleft.codepropertygraph.generated.PropertyNames.POSSIBLE_TYPES - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val Name = "" - val Order = -1: Int - val TypeFullName = "" - } -} - -class Identifier(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 16.toShort, seq_4762) - with IdentifierBase - with Expression - with StaticType[IdentifierEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "name" - case 7 => "order" - case 8 => "possibleTypes" - case 9 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.name - case 7 => this.order - case 8 => this.possibleTypes - case 9 => this.typeFullName - case _ => null - } - - override def productPrefix = "Identifier" - override def productArity = 10 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Identifier] -} - -object NewIdentifier { - def apply(): NewIdentifier = new NewIdentifier - 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" - ) - ) -} -class NewIdentifier extends NewNode(16.toShort) with IdentifierBase with ExpressionNew { - override type StoredNodeType = Identifier - override def label: String = "IDENTIFIER" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewIdentifier.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewIdentifier.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - var possibleTypes: IndexedSeq[String] = ArraySeq.empty - var typeFullName: String = "": String - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { - this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); 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 possibleTypes(value: IterableOnce[String]): this.type = { this.possibleTypes = value.iterator.to(ArraySeq); this } - def typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (dynamicTypeHintFullName.nonEmpty) interface.insertProperty(this, 18, this.dynamicTypeHintFullName) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - if (possibleTypes.nonEmpty) interface.insertProperty(this, 47, this.possibleTypes) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewIdentifier - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.possibleTypes = this.possibleTypes - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "name" - case 7 => "order" - case 8 => "possibleTypes" - case 9 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.name - case 7 => this.order - case 8 => this.possibleTypes - case 9 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewIdentifier" - override def productArity = 10 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewIdentifier] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Import.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Import.scala deleted file mode 100644 index 41dd168f..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Import.scala +++ /dev/null @@ -1,1421 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait ImportEMT - extends AnyRef - with AstNodeEMT - with HasExplicitAsEMT - with HasImportedAsEMT - with HasImportedEntityEMT - with HasIsExplicitEMT - with HasIsWildcardEMT - -trait ImportBase extends AbstractNode with AstNodeBase with StaticType[ImportEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - this.explicitAs.foreach { p => res.put("EXPLICIT_AS", p) } - this.importedAs.foreach { p => res.put("IMPORTED_AS", p) } - this.importedEntity.foreach { p => res.put("IMPORTED_ENTITY", p) } - this.isExplicit.foreach { p => res.put("IS_EXPLICIT", p) } - this.isWildcard.foreach { p => res.put("IS_WILDCARD", p) } - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if ((-1: Int) != this.order) res.put("ORDER", this.order) - res - } -} - -object Import { - val Label = "IMPORT" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val ExplicitAs = io.shiftleft.codepropertygraph.generated.PropertyNames.EXPLICIT_AS - val ImportedAs = io.shiftleft.codepropertygraph.generated.PropertyNames.IMPORTED_AS - val ImportedEntity = io.shiftleft.codepropertygraph.generated.PropertyNames.IMPORTED_ENTITY - val IsExplicit = io.shiftleft.codepropertygraph.generated.PropertyNames.IS_EXPLICIT - val IsWildcard = io.shiftleft.codepropertygraph.generated.PropertyNames.IS_WILDCARD - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val Code = "" - val Order = -1: Int - } -} - -class Import(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 17.toShort, seq_4762) - with ImportBase - with AstNode - with StaticType[ImportEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "explicitAs" - case 3 => "importedAs" - case 4 => "importedEntity" - case 5 => "isExplicit" - case 6 => "isWildcard" - case 7 => "lineNumber" - case 8 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.explicitAs - case 3 => this.importedAs - case 4 => this.importedEntity - case 5 => this.isExplicit - case 6 => this.isWildcard - case 7 => this.lineNumber - case 8 => this.order - case _ => null - } - - override def productPrefix = "Import" - override def productArity = 9 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Import] -} - -object NewImport { - def apply(): NewImport = new NewImport - 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" - ) - ) -} -class NewImport extends NewNode(17.toShort) with ImportBase with AstNodeNew { - override type StoredNodeType = Import - override def label: String = "IMPORT" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewImport.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewImport.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var explicitAs: Option[Boolean] = None - var importedAs: Option[String] = None - var importedEntity: Option[String] = None - var isExplicit: Option[Boolean] = None - var isWildcard: Option[Boolean] = None - var lineNumber: Option[Int] = None - var order: Int = -1: Int - 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 explicitAs(value: Boolean): this.type = { this.explicitAs = Option(value); this } - def explicitAs(value: Option[Boolean]): this.type = { this.explicitAs = value; this } - def importedAs(value: Option[String]): this.type = { this.importedAs = value; this } - def importedAs(value: String): this.type = { this.importedAs = Option(value); this } - def importedEntity(value: Option[String]): this.type = { this.importedEntity = value; this } - def importedEntity(value: String): this.type = { this.importedEntity = Option(value); this } - def isExplicit(value: Boolean): this.type = { this.isExplicit = Option(value); this } - def isExplicit(value: Option[Boolean]): this.type = { this.isExplicit = value; this } - def isWildcard(value: Boolean): this.type = { this.isWildcard = Option(value); this } - def isWildcard(value: Option[Boolean]): this.type = { this.isWildcard = 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 order(value: Int): this.type = { this.order = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (explicitAs.nonEmpty) interface.insertProperty(this, 20, this.explicitAs) - if (importedAs.nonEmpty) interface.insertProperty(this, 24, this.importedAs) - if (importedEntity.nonEmpty) interface.insertProperty(this, 25, this.importedEntity) - if (isExplicit.nonEmpty) interface.insertProperty(this, 28, this.isExplicit) - if (isWildcard.nonEmpty) interface.insertProperty(this, 31, this.isWildcard) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewImport - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.explicitAs = this.explicitAs - newInstance.importedAs = this.importedAs - newInstance.importedEntity = this.importedEntity - newInstance.isExplicit = this.isExplicit - newInstance.isWildcard = this.isWildcard - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "explicitAs" - case 3 => "importedAs" - case 4 => "importedEntity" - case 5 => "isExplicit" - case 6 => "isWildcard" - case 7 => "lineNumber" - case 8 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.explicitAs - case 3 => this.importedAs - case 4 => this.importedEntity - case 5 => this.isExplicit - case 6 => this.isWildcard - case 7 => this.lineNumber - case 8 => this.order - case _ => null - } - - override def productPrefix = "NewImport" - override def productArity = 9 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewImport] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/JumpLabel.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/JumpLabel.scala deleted file mode 100644 index 8935a453..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/JumpLabel.scala +++ /dev/null @@ -1,1381 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait JumpLabelEMT extends AnyRef with AstNodeEMT with HasNameEMT with HasParserTypeNameEMT - -trait JumpLabelBase extends AbstractNode with AstNodeBase with StaticType[JumpLabelEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - 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 JumpLabel { - val Label = "JUMP_LABEL" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val ParserTypeName = io.shiftleft.codepropertygraph.generated.PropertyNames.PARSER_TYPE_NAME - } - object PropertyDefaults { - val Code = "" - val Name = "" - val Order = -1: Int - val ParserTypeName = "" - } -} - -class JumpLabel(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 18.toShort, seq_4762) - with JumpLabelBase - with AstNode - with StaticType[JumpLabelEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "name" - case 4 => "order" - case 5 => "parserTypeName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.name - case 4 => this.order - case 5 => this.parserTypeName - case _ => null - } - - override def productPrefix = "JumpLabel" - override def productArity = 6 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[JumpLabel] -} - -object NewJumpLabel { - def apply(): NewJumpLabel = new NewJumpLabel - 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" - ) - ) -} -class NewJumpLabel extends NewNode(18.toShort) with JumpLabelBase with AstNodeNew { - override type StoredNodeType = JumpLabel - override def label: String = "JUMP_LABEL" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewJumpLabel.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewJumpLabel.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - 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 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 flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - interface.insertProperty(this, 46, Iterator(this.parserTypeName)) - } - - override def copy(): this.type = { - val newInstance = new NewJumpLabel - 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 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "name" - case 4 => "order" - case 5 => "parserTypeName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.name - case 4 => this.order - case 5 => this.parserTypeName - case _ => null - } - - override def productPrefix = "NewJumpLabel" - override def productArity = 6 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewJumpLabel] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/JumpTarget.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/JumpTarget.scala deleted file mode 100644 index 29601ad2..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/JumpTarget.scala +++ /dev/null @@ -1,1392 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -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.Lang.* - 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 { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val ParserTypeName = io.shiftleft.codepropertygraph.generated.PropertyNames.PARSER_TYPE_NAME - } - 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" - ) - ) -} -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 flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - interface.insertProperty(this, 46, Iterator(this.parserTypeName)) - } - - 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] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/KeyValuePair.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/KeyValuePair.scala deleted file mode 100644 index 8bdc216e..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/KeyValuePair.scala +++ /dev/null @@ -1,105 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait KeyValuePairEMT extends AnyRef with HasKeyEMT with HasValueEMT - -trait KeyValuePairBase extends AbstractNode with StaticType[KeyValuePairEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.key) res.put("KEY", this.key) - if (("": String) != this.value) res.put("VALUE", this.value) - res - } -} - -object KeyValuePair { - val Label = "KEY_VALUE_PAIR" - object PropertyNames { - val Key = io.shiftleft.codepropertygraph.generated.PropertyNames.KEY - val Value = io.shiftleft.codepropertygraph.generated.PropertyNames.VALUE - } - object PropertyDefaults { - val Key = "" - val Value = "" - } -} - -class KeyValuePair(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 20.toShort, seq_4762) - with KeyValuePairBase - with StaticType[KeyValuePairEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "key" - case 1 => "value" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.key - case 1 => this.value - case _ => null - } - - override def productPrefix = "KeyValuePair" - override def productArity = 2 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[KeyValuePair] -} - -object NewKeyValuePair { - def apply(): NewKeyValuePair = new NewKeyValuePair - private val outNeighbors: Map[String, Set[String]] = Map() - private val inNeighbors: Map[String, Set[String]] = Map() -} -class NewKeyValuePair extends NewNode(20.toShort) with KeyValuePairBase { - override type StoredNodeType = KeyValuePair - override def label: String = "KEY_VALUE_PAIR" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewKeyValuePair.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewKeyValuePair.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var key: String = "": String - var value: String = "": String - def key(value: String): this.type = { this.key = value; this } - def value(value: String): this.type = { this.value = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 32, Iterator(this.key)) - interface.insertProperty(this, 53, Iterator(this.value)) - } - - override def copy(): this.type = { - val newInstance = new NewKeyValuePair - newInstance.key = this.key - newInstance.value = this.value - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "key" - case 1 => "value" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.key - case 1 => this.value - case _ => null - } - - override def productPrefix = "NewKeyValuePair" - override def productArity = 2 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewKeyValuePair] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Literal.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Literal.scala deleted file mode 100644 index 65d5dcf8..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Literal.scala +++ /dev/null @@ -1,1421 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait LiteralEMT - extends AnyRef - with ExpressionEMT - with HasDynamicTypeHintFullNameEMT - with HasPossibleTypesEMT - with HasTypeFullNameEMT - -trait LiteralBase extends AbstractNode with ExpressionBase with StaticType[LiteralEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; - if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if ((-1: Int) != this.order) res.put("ORDER", this.order) - val tmpPossibleTypes = this.possibleTypes; - if (tmpPossibleTypes.nonEmpty) res.put("POSSIBLE_TYPES", tmpPossibleTypes) - if (("": String) != this.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object Literal { - val Label = "LITERAL" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val DynamicTypeHintFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.DYNAMIC_TYPE_HINT_FULL_NAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val PossibleTypes = io.shiftleft.codepropertygraph.generated.PropertyNames.POSSIBLE_TYPES - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val Order = -1: Int - val TypeFullName = "" - } -} - -class Literal(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 21.toShort, seq_4762) - with LiteralBase - with Expression - with StaticType[LiteralEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "order" - case 7 => "possibleTypes" - case 8 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.order - case 7 => this.possibleTypes - case 8 => this.typeFullName - case _ => null - } - - override def productPrefix = "Literal" - override def productArity = 9 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Literal] -} - -object NewLiteral { - def apply(): NewLiteral = new NewLiteral - 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" - ) - ) -} -class NewLiteral extends NewNode(21.toShort) with LiteralBase with ExpressionNew { - override type StoredNodeType = Literal - override def label: String = "LITERAL" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewLiteral.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewLiteral.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty - var lineNumber: Option[Int] = None - var order: Int = -1: Int - var possibleTypes: IndexedSeq[String] = ArraySeq.empty - var typeFullName: String = "": String - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { - this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); this - } - def lineNumber(value: Int): this.type = { this.lineNumber = Option(value); this } - def lineNumber(value: Option[Int]): this.type = { this.lineNumber = value; this } - def order(value: Int): this.type = { this.order = value; this } - def possibleTypes(value: IterableOnce[String]): this.type = { this.possibleTypes = value.iterator.to(ArraySeq); this } - def typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (dynamicTypeHintFullName.nonEmpty) interface.insertProperty(this, 18, this.dynamicTypeHintFullName) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - if (possibleTypes.nonEmpty) interface.insertProperty(this, 47, this.possibleTypes) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewLiteral - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.possibleTypes = this.possibleTypes - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "order" - case 7 => "possibleTypes" - case 8 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.order - case 7 => this.possibleTypes - case 8 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewLiteral" - override def productArity = 9 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewLiteral] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Local.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Local.scala deleted file mode 100644 index a4ce410e..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Local.scala +++ /dev/null @@ -1,1424 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait LocalEMT - extends AnyRef - with AstNodeEMT - with DeclarationEMT - with HasClosureBindingIdEMT - with HasDynamicTypeHintFullNameEMT - with HasPossibleTypesEMT - with HasTypeFullNameEMT - -trait LocalBase extends AbstractNode with AstNodeBase with DeclarationBase with StaticType[LocalEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - this.closureBindingId.foreach { p => res.put("CLOSURE_BINDING_ID", p) } - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; - if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) - 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) - val tmpPossibleTypes = this.possibleTypes; - if (tmpPossibleTypes.nonEmpty) res.put("POSSIBLE_TYPES", tmpPossibleTypes) - if (("": String) != this.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object Local { - val Label = "LOCAL" - object PropertyNames { - val ClosureBindingId = io.shiftleft.codepropertygraph.generated.PropertyNames.CLOSURE_BINDING_ID - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val DynamicTypeHintFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.DYNAMIC_TYPE_HINT_FULL_NAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val PossibleTypes = io.shiftleft.codepropertygraph.generated.PropertyNames.POSSIBLE_TYPES - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val Code = "" - val Name = "" - val Order = -1: Int - val TypeFullName = "" - } -} - -class Local(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 22.toShort, seq_4762) - with LocalBase - with AstNode - with Declaration - with StaticType[LocalEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "closureBindingId" - case 1 => "code" - case 2 => "columnNumber" - case 3 => "dynamicTypeHintFullName" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case 7 => "possibleTypes" - case 8 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.closureBindingId - case 1 => this.code - case 2 => this.columnNumber - case 3 => this.dynamicTypeHintFullName - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case 7 => this.possibleTypes - case 8 => this.typeFullName - case _ => null - } - - override def productPrefix = "Local" - override def productArity = 9 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Local] -} - -object NewLocal { - def apply(): NewLocal = new NewLocal - 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" - ) - ) -} -class NewLocal extends NewNode(22.toShort) with LocalBase with AstNodeNew with DeclarationNew { - override type StoredNodeType = Local - override def label: String = "LOCAL" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewLocal.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewLocal.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var closureBindingId: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - var possibleTypes: IndexedSeq[String] = ArraySeq.empty - var typeFullName: String = "": String - def closureBindingId(value: Option[String]): this.type = { this.closureBindingId = value; this } - def closureBindingId(value: String): this.type = { this.closureBindingId = Option(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 dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { - this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); 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 possibleTypes(value: IterableOnce[String]): this.type = { this.possibleTypes = value.iterator.to(ArraySeq); this } - def typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - if (closureBindingId.nonEmpty) interface.insertProperty(this, 8, this.closureBindingId) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (dynamicTypeHintFullName.nonEmpty) interface.insertProperty(this, 18, this.dynamicTypeHintFullName) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - if (possibleTypes.nonEmpty) interface.insertProperty(this, 47, this.possibleTypes) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewLocal - newInstance.closureBindingId = this.closureBindingId - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.possibleTypes = this.possibleTypes - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "closureBindingId" - case 1 => "code" - case 2 => "columnNumber" - case 3 => "dynamicTypeHintFullName" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case 7 => "possibleTypes" - case 8 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.closureBindingId - case 1 => this.code - case 2 => this.columnNumber - case 3 => this.dynamicTypeHintFullName - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case 7 => this.possibleTypes - case 8 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewLocal" - override def productArity = 9 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewLocal] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Location.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Location.scala deleted file mode 100644 index 18a63246..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Location.scala +++ /dev/null @@ -1,203 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait LocationEMT - extends AnyRef - with HasClassNameEMT - with HasClassShortNameEMT - with HasFilenameEMT - with HasLineNumberEMT - with HasMethodFullNameEMT - with HasMethodShortNameEMT - with HasNodeLabelEMT - with HasPackageNameEMT - with HasSymbolEMT - -trait LocationBase extends AbstractNode with StaticType[LocationEMT] { - def node: Option[AbstractNode] - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.className) res.put("CLASS_NAME", this.className) - if (("": String) != this.classShortName) res.put("CLASS_SHORT_NAME", this.classShortName) - if (("": String) != this.filename) res.put("FILENAME", this.filename) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if (("": String) != this.methodFullName) res.put("METHOD_FULL_NAME", this.methodFullName) - if (("": String) != this.methodShortName) res.put("METHOD_SHORT_NAME", this.methodShortName) - if (("": String) != this.nodeLabel) res.put("NODE_LABEL", this.nodeLabel) - if (("": String) != this.packageName) res.put("PACKAGE_NAME", this.packageName) - if (("": String) != this.symbol) res.put("SYMBOL", this.symbol) - this.node.foreach { p => res.put("node", p) } - res - } -} - -object Location { - val Label = "LOCATION" - object PropertyNames { - val ClassName = io.shiftleft.codepropertygraph.generated.PropertyNames.CLASS_NAME - val ClassShortName = io.shiftleft.codepropertygraph.generated.PropertyNames.CLASS_SHORT_NAME - val Filename = io.shiftleft.codepropertygraph.generated.PropertyNames.FILENAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val MethodFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.METHOD_FULL_NAME - val MethodShortName = io.shiftleft.codepropertygraph.generated.PropertyNames.METHOD_SHORT_NAME - val NodeLabel = io.shiftleft.codepropertygraph.generated.PropertyNames.NODE_LABEL - val PackageName = io.shiftleft.codepropertygraph.generated.PropertyNames.PACKAGE_NAME - val Symbol = io.shiftleft.codepropertygraph.generated.PropertyNames.SYMBOL - } - object PropertyDefaults { - val ClassName = "" - val ClassShortName = "" - val Filename = "" - val MethodFullName = "" - val MethodShortName = "" - val NodeLabel = "" - val PackageName = "" - val Symbol = "" - } -} - -class Location(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 23.toShort, seq_4762) - with LocationBase - with StaticType[LocationEMT] { - def node: Option[StoredNode] = flatgraph.Accessors.getNodePropertyOption[StoredNode](graph, nodeKind, 57, seq) - - override def productElementName(n: Int): String = - n match { - case 0 => "className" - case 1 => "classShortName" - case 2 => "filename" - case 3 => "lineNumber" - case 4 => "methodFullName" - case 5 => "methodShortName" - case 6 => "nodeLabel" - case 7 => "packageName" - case 8 => "symbol" - case 9 => "node" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.className - case 1 => this.classShortName - case 2 => this.filename - case 3 => this.lineNumber - case 4 => this.methodFullName - case 5 => this.methodShortName - case 6 => this.nodeLabel - case 7 => this.packageName - case 8 => this.symbol - case 9 => this.node - case _ => null - } - - override def productPrefix = "Location" - override def productArity = 10 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Location] -} - -object NewLocation { - def apply(): NewLocation = new NewLocation - private val outNeighbors: Map[String, Set[String]] = Map() - private val inNeighbors: Map[String, Set[String]] = Map() -} -class NewLocation extends NewNode(23.toShort) with LocationBase { - override type StoredNodeType = Location - override def label: String = "LOCATION" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewLocation.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewLocation.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var className: String = "": String - var classShortName: String = "": String - var filename: String = "": String - var lineNumber: Option[Int] = None - var methodFullName: String = "": String - var methodShortName: String = "": String - var node: Option[AbstractNode] = None - var nodeLabel: String = "": String - var packageName: String = "": String - var symbol: String = "": String - def className(value: String): this.type = { this.className = value; this } - def classShortName(value: String): this.type = { this.classShortName = value; this } - def filename(value: String): this.type = { this.filename = 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 methodFullName(value: String): this.type = { this.methodFullName = value; this } - def methodShortName(value: String): this.type = { this.methodShortName = value; this } - def node(value: AbstractNode): this.type = { this.node = Option(value); this } - def node(value: Option[AbstractNode]): this.type = { this.node = value; this } - def nodeLabel(value: String): this.type = { this.nodeLabel = value; this } - def packageName(value: String): this.type = { this.packageName = value; this } - def symbol(value: String): this.type = { this.symbol = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 6, Iterator(this.className)) - interface.insertProperty(this, 7, Iterator(this.classShortName)) - interface.insertProperty(this, 21, Iterator(this.filename)) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 36, Iterator(this.methodFullName)) - interface.insertProperty(this, 37, Iterator(this.methodShortName)) - interface.insertProperty(this, 40, Iterator(this.nodeLabel)) - interface.insertProperty(this, 45, Iterator(this.packageName)) - interface.insertProperty(this, 50, Iterator(this.symbol)) - if (node.nonEmpty) interface.insertProperty(this, 57, this.node) - } - - override def copy(): this.type = { - val newInstance = new NewLocation - newInstance.className = this.className - newInstance.classShortName = this.classShortName - newInstance.filename = this.filename - newInstance.lineNumber = this.lineNumber - newInstance.methodFullName = this.methodFullName - newInstance.methodShortName = this.methodShortName - newInstance.nodeLabel = this.nodeLabel - newInstance.packageName = this.packageName - newInstance.symbol = this.symbol - newInstance.node = this.node - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "className" - case 1 => "classShortName" - case 2 => "filename" - case 3 => "lineNumber" - case 4 => "methodFullName" - case 5 => "methodShortName" - case 6 => "nodeLabel" - case 7 => "packageName" - case 8 => "symbol" - case 9 => "node" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.className - case 1 => this.classShortName - case 2 => this.filename - case 3 => this.lineNumber - case 4 => this.methodFullName - case 5 => this.methodShortName - case 6 => this.nodeLabel - case 7 => this.packageName - case 8 => this.symbol - case 9 => this.node - case _ => null - } - - override def productPrefix = "NewLocation" - override def productArity = 10 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewLocation] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Member.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Member.scala deleted file mode 100644 index 119da7e4..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Member.scala +++ /dev/null @@ -1,1436 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait MemberEMT - extends AnyRef - with AstNodeEMT - with DeclarationEMT - with HasAstParentFullNameEMT - with HasAstParentTypeEMT - with HasDynamicTypeHintFullNameEMT - with HasPossibleTypesEMT - with HasTypeFullNameEMT - -trait MemberBase extends AbstractNode with AstNodeBase with DeclarationBase with StaticType[MemberEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.astParentFullName) res.put("AST_PARENT_FULL_NAME", this.astParentFullName) - if (("": String) != this.astParentType) res.put("AST_PARENT_TYPE", this.astParentType) - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; - if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) - 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) - val tmpPossibleTypes = this.possibleTypes; - if (tmpPossibleTypes.nonEmpty) res.put("POSSIBLE_TYPES", tmpPossibleTypes) - if (("": String) != this.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object Member { - val Label = "MEMBER" - object PropertyNames { - val AstParentFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.AST_PARENT_FULL_NAME - val AstParentType = io.shiftleft.codepropertygraph.generated.PropertyNames.AST_PARENT_TYPE - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val DynamicTypeHintFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.DYNAMIC_TYPE_HINT_FULL_NAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val PossibleTypes = io.shiftleft.codepropertygraph.generated.PropertyNames.POSSIBLE_TYPES - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val AstParentFullName = "" - val AstParentType = "" - val Code = "" - val Name = "" - val Order = -1: Int - val TypeFullName = "" - } -} - -class Member(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 24.toShort, seq_4762) - with MemberBase - with AstNode - with Declaration - with StaticType[MemberEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "astParentFullName" - case 1 => "astParentType" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "name" - case 7 => "order" - case 8 => "possibleTypes" - case 9 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.astParentFullName - case 1 => this.astParentType - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.name - case 7 => this.order - case 8 => this.possibleTypes - case 9 => this.typeFullName - case _ => null - } - - override def productPrefix = "Member" - override def productArity = 10 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Member] -} - -object NewMember { - def apply(): NewMember = new NewMember - 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" - ) - ) -} -class NewMember extends NewNode(24.toShort) with MemberBase with AstNodeNew with DeclarationNew { - override type StoredNodeType = Member - override def label: String = "MEMBER" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMember.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMember.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var astParentFullName: String = "": String - var astParentType: String = "": String - var code: String = "": String - var columnNumber: Option[Int] = None - var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - var possibleTypes: IndexedSeq[String] = ArraySeq.empty - var typeFullName: String = "": String - def astParentFullName(value: String): this.type = { this.astParentFullName = value; this } - def astParentType(value: String): this.type = { this.astParentType = 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 dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { - this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); 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 possibleTypes(value: IterableOnce[String]): this.type = { this.possibleTypes = value.iterator.to(ArraySeq); this } - def typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 3, Iterator(this.astParentFullName)) - interface.insertProperty(this, 4, Iterator(this.astParentType)) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (dynamicTypeHintFullName.nonEmpty) interface.insertProperty(this, 18, this.dynamicTypeHintFullName) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - if (possibleTypes.nonEmpty) interface.insertProperty(this, 47, this.possibleTypes) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewMember - newInstance.astParentFullName = this.astParentFullName - newInstance.astParentType = this.astParentType - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.possibleTypes = this.possibleTypes - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "astParentFullName" - case 1 => "astParentType" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "name" - case 7 => "order" - case 8 => "possibleTypes" - case 9 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.astParentFullName - case 1 => this.astParentType - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.name - case 7 => this.order - case 8 => this.possibleTypes - case 9 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewMember" - override def productArity = 10 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewMember] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MetaData.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MetaData.scala deleted file mode 100644 index 51259731..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MetaData.scala +++ /dev/null @@ -1,143 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait MetaDataEMT - extends AnyRef - with HasHashEMT - with HasLanguageEMT - with HasOverlaysEMT - with HasRootEMT - with HasVersionEMT - -trait MetaDataBase extends AbstractNode with StaticType[MetaDataEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - this.hash.foreach { p => res.put("HASH", p) } - if (("": String) != this.language) res.put("LANGUAGE", this.language) - val tmpOverlays = this.overlays; if (tmpOverlays.nonEmpty) res.put("OVERLAYS", tmpOverlays) - if (("": String) != this.root) res.put("ROOT", this.root) - if (("": String) != this.version) res.put("VERSION", this.version) - res - } -} - -object MetaData { - val Label = "META_DATA" - object PropertyNames { - val Hash = io.shiftleft.codepropertygraph.generated.PropertyNames.HASH - val Language = io.shiftleft.codepropertygraph.generated.PropertyNames.LANGUAGE - val Overlays = io.shiftleft.codepropertygraph.generated.PropertyNames.OVERLAYS - val Root = io.shiftleft.codepropertygraph.generated.PropertyNames.ROOT - val Version = io.shiftleft.codepropertygraph.generated.PropertyNames.VERSION - } - object PropertyDefaults { - val Language = "" - val Root = "" - val Version = "" - } -} - -class MetaData(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 25.toShort, seq_4762) - with MetaDataBase - with StaticType[MetaDataEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "hash" - case 1 => "language" - case 2 => "overlays" - case 3 => "root" - case 4 => "version" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.hash - case 1 => this.language - case 2 => this.overlays - case 3 => this.root - case 4 => this.version - case _ => null - } - - override def productPrefix = "MetaData" - override def productArity = 5 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[MetaData] -} - -object NewMetaData { - def apply(): NewMetaData = new NewMetaData - private val outNeighbors: Map[String, Set[String]] = Map() - private val inNeighbors: Map[String, Set[String]] = Map() -} -class NewMetaData extends NewNode(25.toShort) with MetaDataBase { - override type StoredNodeType = MetaData - override def label: String = "META_DATA" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMetaData.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMetaData.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var hash: Option[String] = None - var language: String = "": String - var overlays: IndexedSeq[String] = ArraySeq.empty - var root: String = "": String - var version: String = "": String - def hash(value: Option[String]): this.type = { this.hash = value; this } - def hash(value: String): this.type = { this.hash = Option(value); this } - def language(value: String): this.type = { this.language = value; this } - def overlays(value: IterableOnce[String]): this.type = { this.overlays = value.iterator.to(ArraySeq); this } - def root(value: String): this.type = { this.root = value; this } - def version(value: String): this.type = { this.version = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - if (hash.nonEmpty) interface.insertProperty(this, 23, this.hash) - interface.insertProperty(this, 33, Iterator(this.language)) - if (overlays.nonEmpty) interface.insertProperty(this, 44, this.overlays) - interface.insertProperty(this, 48, Iterator(this.root)) - interface.insertProperty(this, 54, Iterator(this.version)) - } - - override def copy(): this.type = { - val newInstance = new NewMetaData - newInstance.hash = this.hash - newInstance.language = this.language - newInstance.overlays = this.overlays - newInstance.root = this.root - newInstance.version = this.version - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "hash" - case 1 => "language" - case 2 => "overlays" - case 3 => "root" - case 4 => "version" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.hash - case 1 => this.language - case 2 => this.overlays - case 3 => this.root - case 4 => this.version - case _ => null - } - - override def productPrefix = "NewMetaData" - override def productArity = 5 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewMetaData] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Method.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Method.scala deleted file mode 100644 index 4769a1e2..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Method.scala +++ /dev/null @@ -1,1506 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait MethodEMT - extends AnyRef - with CfgNodeEMT - with DeclarationEMT - with HasAstParentFullNameEMT - with HasAstParentTypeEMT - with HasColumnNumberEndEMT - with HasFilenameEMT - with HasFullNameEMT - with HasHashEMT - with HasIsExternalEMT - with HasLineNumberEndEMT - with HasOffsetEMT - with HasOffsetEndEMT - with HasSignatureEMT - -trait MethodBase extends AbstractNode with CfgNodeBase with DeclarationBase with StaticType[MethodEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.astParentFullName) res.put("AST_PARENT_FULL_NAME", this.astParentFullName) - if (("": String) != this.astParentType) res.put("AST_PARENT_TYPE", this.astParentType) - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - this.columnNumberEnd.foreach { p => res.put("COLUMN_NUMBER_END", p) } - if (("": String) != this.filename) res.put("FILENAME", this.filename) - if (("": String) != this.fullName) res.put("FULL_NAME", this.fullName) - this.hash.foreach { p => res.put("HASH", p) } - if ((false: Boolean) != this.isExternal) res.put("IS_EXTERNAL", this.isExternal) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - this.lineNumberEnd.foreach { p => res.put("LINE_NUMBER_END", p) } - if (("": String) != this.name) res.put("NAME", this.name) - this.offset.foreach { p => res.put("OFFSET", p) } - this.offsetEnd.foreach { p => res.put("OFFSET_END", p) } - if ((-1: Int) != this.order) res.put("ORDER", this.order) - if (("": String) != this.signature) res.put("SIGNATURE", this.signature) - res - } -} - -object Method { - val Label = "METHOD" - object PropertyNames { - val AstParentFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.AST_PARENT_FULL_NAME - val AstParentType = io.shiftleft.codepropertygraph.generated.PropertyNames.AST_PARENT_TYPE - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val ColumnNumberEnd = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER_END - val Filename = io.shiftleft.codepropertygraph.generated.PropertyNames.FILENAME - val FullName = io.shiftleft.codepropertygraph.generated.PropertyNames.FULL_NAME - val Hash = io.shiftleft.codepropertygraph.generated.PropertyNames.HASH - val IsExternal = io.shiftleft.codepropertygraph.generated.PropertyNames.IS_EXTERNAL - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val LineNumberEnd = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER_END - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Offset = io.shiftleft.codepropertygraph.generated.PropertyNames.OFFSET - val OffsetEnd = io.shiftleft.codepropertygraph.generated.PropertyNames.OFFSET_END - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val Signature = io.shiftleft.codepropertygraph.generated.PropertyNames.SIGNATURE - } - object PropertyDefaults { - val AstParentFullName = "" - val AstParentType = "" - val Code = "" - val Filename = "" - val FullName = "" - val IsExternal = false - val Name = "" - val Order = -1: Int - val Signature = "" - } -} - -class Method(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 26.toShort, seq_4762) - with MethodBase - with CfgNode - with Declaration - with StaticType[MethodEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "astParentFullName" - case 1 => "astParentType" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "columnNumberEnd" - case 5 => "filename" - case 6 => "fullName" - case 7 => "hash" - case 8 => "isExternal" - case 9 => "lineNumber" - case 10 => "lineNumberEnd" - case 11 => "name" - case 12 => "offset" - case 13 => "offsetEnd" - case 14 => "order" - case 15 => "signature" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.astParentFullName - case 1 => this.astParentType - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.columnNumberEnd - case 5 => this.filename - case 6 => this.fullName - case 7 => this.hash - case 8 => this.isExternal - case 9 => this.lineNumber - case 10 => this.lineNumberEnd - case 11 => this.name - case 12 => this.offset - case 13 => this.offsetEnd - case 14 => this.order - case 15 => this.signature - case _ => null - } - - override def productPrefix = "Method" - override def productArity = 16 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Method] -} - -object NewMethod { - def apply(): NewMethod = new NewMethod - 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" - ) - ) -} -class NewMethod extends NewNode(26.toShort) with MethodBase with AstNodeNew with CfgNodeNew with DeclarationNew { - override type StoredNodeType = Method - override def label: String = "METHOD" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMethod.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMethod.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var astParentFullName: String = "": String - var astParentType: String = "": String - var code: String = "": String - var columnNumber: Option[Int] = None - var columnNumberEnd: Option[Int] = None - var filename: String = "": String - var fullName: String = "": String - var hash: Option[String] = None - var isExternal: Boolean = false: Boolean - var lineNumber: Option[Int] = None - var lineNumberEnd: Option[Int] = None - var name: String = "": String - var offset: Option[Int] = None - var offsetEnd: Option[Int] = None - var order: Int = -1: Int - var signature: String = "": String - def astParentFullName(value: String): this.type = { this.astParentFullName = value; this } - def astParentType(value: String): this.type = { this.astParentType = 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 columnNumberEnd(value: Int): this.type = { this.columnNumberEnd = Option(value); this } - def columnNumberEnd(value: Option[Int]): this.type = { this.columnNumberEnd = value; this } - def filename(value: String): this.type = { this.filename = value; this } - def fullName(value: String): this.type = { this.fullName = value; this } - def hash(value: Option[String]): this.type = { this.hash = value; this } - def hash(value: String): this.type = { this.hash = Option(value); this } - def isExternal(value: Boolean): this.type = { this.isExternal = 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 lineNumberEnd(value: Int): this.type = { this.lineNumberEnd = Option(value); this } - def lineNumberEnd(value: Option[Int]): this.type = { this.lineNumberEnd = value; this } - def name(value: String): this.type = { this.name = value; this } - def offset(value: Int): this.type = { this.offset = Option(value); this } - def offset(value: Option[Int]): this.type = { this.offset = value; this } - def offsetEnd(value: Int): this.type = { this.offsetEnd = Option(value); this } - def offsetEnd(value: Option[Int]): this.type = { this.offsetEnd = value; this } - def order(value: Int): this.type = { this.order = value; this } - def signature(value: String): this.type = { this.signature = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 3, Iterator(this.astParentFullName)) - interface.insertProperty(this, 4, Iterator(this.astParentType)) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (columnNumberEnd.nonEmpty) interface.insertProperty(this, 12, this.columnNumberEnd) - interface.insertProperty(this, 21, Iterator(this.filename)) - interface.insertProperty(this, 22, Iterator(this.fullName)) - if (hash.nonEmpty) interface.insertProperty(this, 23, this.hash) - interface.insertProperty(this, 29, Iterator(this.isExternal)) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - if (lineNumberEnd.nonEmpty) interface.insertProperty(this, 35, this.lineNumberEnd) - interface.insertProperty(this, 39, Iterator(this.name)) - if (offset.nonEmpty) interface.insertProperty(this, 41, this.offset) - if (offsetEnd.nonEmpty) interface.insertProperty(this, 42, this.offsetEnd) - interface.insertProperty(this, 43, Iterator(this.order)) - interface.insertProperty(this, 49, Iterator(this.signature)) - } - - override def copy(): this.type = { - val newInstance = new NewMethod - newInstance.astParentFullName = this.astParentFullName - newInstance.astParentType = this.astParentType - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.columnNumberEnd = this.columnNumberEnd - newInstance.filename = this.filename - newInstance.fullName = this.fullName - newInstance.hash = this.hash - newInstance.isExternal = this.isExternal - newInstance.lineNumber = this.lineNumber - newInstance.lineNumberEnd = this.lineNumberEnd - newInstance.name = this.name - newInstance.offset = this.offset - newInstance.offsetEnd = this.offsetEnd - newInstance.order = this.order - newInstance.signature = this.signature - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "astParentFullName" - case 1 => "astParentType" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "columnNumberEnd" - case 5 => "filename" - case 6 => "fullName" - case 7 => "hash" - case 8 => "isExternal" - case 9 => "lineNumber" - case 10 => "lineNumberEnd" - case 11 => "name" - case 12 => "offset" - case 13 => "offsetEnd" - case 14 => "order" - case 15 => "signature" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.astParentFullName - case 1 => this.astParentType - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.columnNumberEnd - case 5 => this.filename - case 6 => this.fullName - case 7 => this.hash - case 8 => this.isExternal - case 9 => this.lineNumber - case 10 => this.lineNumberEnd - case 11 => this.name - case 12 => this.offset - case 13 => this.offsetEnd - case 14 => this.order - case 15 => this.signature - case _ => null - } - - override def productPrefix = "NewMethod" - override def productArity = 16 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewMethod] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterIn.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterIn.scala deleted file mode 100644 index 942023dc..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterIn.scala +++ /dev/null @@ -1,1469 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait MethodParameterInEMT - extends AnyRef - with CfgNodeEMT - with DeclarationEMT - with HasClosureBindingIdEMT - with HasDynamicTypeHintFullNameEMT - with HasEvaluationStrategyEMT - with HasIndexEMT - with HasIsVariadicEMT - with HasPossibleTypesEMT - with HasTypeFullNameEMT - -trait MethodParameterInBase - extends AbstractNode - with CfgNodeBase - with DeclarationBase - with StaticType[MethodParameterInEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - this.closureBindingId.foreach { p => res.put("CLOSURE_BINDING_ID", p) } - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; - if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) - if (("": String) != this.evaluationStrategy) res.put("EVALUATION_STRATEGY", this.evaluationStrategy) - if ((-1: Int) != this.index) res.put("INDEX", this.index) - if ((false: Boolean) != this.isVariadic) res.put("IS_VARIADIC", this.isVariadic) - 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) - val tmpPossibleTypes = this.possibleTypes; - if (tmpPossibleTypes.nonEmpty) res.put("POSSIBLE_TYPES", tmpPossibleTypes) - if (("": String) != this.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object MethodParameterIn { - val Label = "METHOD_PARAMETER_IN" - object PropertyNames { - val ClosureBindingId = io.shiftleft.codepropertygraph.generated.PropertyNames.CLOSURE_BINDING_ID - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val DynamicTypeHintFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.DYNAMIC_TYPE_HINT_FULL_NAME - val EvaluationStrategy = io.shiftleft.codepropertygraph.generated.PropertyNames.EVALUATION_STRATEGY - val Index = io.shiftleft.codepropertygraph.generated.PropertyNames.INDEX - val IsVariadic = io.shiftleft.codepropertygraph.generated.PropertyNames.IS_VARIADIC - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val PossibleTypes = io.shiftleft.codepropertygraph.generated.PropertyNames.POSSIBLE_TYPES - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val Code = "" - val EvaluationStrategy = "" - val Index = -1: Int - val IsVariadic = false - val Name = "" - val Order = -1: Int - val TypeFullName = "" - } -} - -class MethodParameterIn(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 27.toShort, seq_4762) - with MethodParameterInBase - with CfgNode - with Declaration - with StaticType[MethodParameterInEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "closureBindingId" - case 1 => "code" - case 2 => "columnNumber" - case 3 => "dynamicTypeHintFullName" - case 4 => "evaluationStrategy" - case 5 => "index" - case 6 => "isVariadic" - case 7 => "lineNumber" - case 8 => "name" - case 9 => "order" - case 10 => "possibleTypes" - case 11 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.closureBindingId - case 1 => this.code - case 2 => this.columnNumber - case 3 => this.dynamicTypeHintFullName - case 4 => this.evaluationStrategy - case 5 => this.index - case 6 => this.isVariadic - case 7 => this.lineNumber - case 8 => this.name - case 9 => this.order - case 10 => this.possibleTypes - case 11 => this.typeFullName - case _ => null - } - - override def productPrefix = "MethodParameterIn" - override def productArity = 12 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[MethodParameterIn] -} - -object NewMethodParameterIn { - def apply(): NewMethodParameterIn = new NewMethodParameterIn - 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" - ) - ) -} -class NewMethodParameterIn - extends NewNode(27.toShort) - with MethodParameterInBase - with AstNodeNew - with CfgNodeNew - with DeclarationNew { - override type StoredNodeType = MethodParameterIn - override def label: String = "METHOD_PARAMETER_IN" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMethodParameterIn.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMethodParameterIn.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var closureBindingId: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty - var evaluationStrategy: String = "": String - var index: Int = -1: Int - var isVariadic: Boolean = false: Boolean - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - var possibleTypes: IndexedSeq[String] = ArraySeq.empty - var typeFullName: String = "": String - def closureBindingId(value: Option[String]): this.type = { this.closureBindingId = value; this } - def closureBindingId(value: String): this.type = { this.closureBindingId = Option(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 dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { - this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); this - } - def evaluationStrategy(value: String): this.type = { this.evaluationStrategy = value; this } - def index(value: Int): this.type = { this.index = value; this } - def isVariadic(value: Boolean): this.type = { this.isVariadic = 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 possibleTypes(value: IterableOnce[String]): this.type = { this.possibleTypes = value.iterator.to(ArraySeq); this } - def typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - if (closureBindingId.nonEmpty) interface.insertProperty(this, 8, this.closureBindingId) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (dynamicTypeHintFullName.nonEmpty) interface.insertProperty(this, 18, this.dynamicTypeHintFullName) - interface.insertProperty(this, 19, Iterator(this.evaluationStrategy)) - interface.insertProperty(this, 26, Iterator(this.index)) - interface.insertProperty(this, 30, Iterator(this.isVariadic)) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - if (possibleTypes.nonEmpty) interface.insertProperty(this, 47, this.possibleTypes) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewMethodParameterIn - newInstance.closureBindingId = this.closureBindingId - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName - newInstance.evaluationStrategy = this.evaluationStrategy - newInstance.index = this.index - newInstance.isVariadic = this.isVariadic - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.possibleTypes = this.possibleTypes - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "closureBindingId" - case 1 => "code" - case 2 => "columnNumber" - case 3 => "dynamicTypeHintFullName" - case 4 => "evaluationStrategy" - case 5 => "index" - case 6 => "isVariadic" - case 7 => "lineNumber" - case 8 => "name" - case 9 => "order" - case 10 => "possibleTypes" - case 11 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.closureBindingId - case 1 => this.code - case 2 => this.columnNumber - case 3 => this.dynamicTypeHintFullName - case 4 => this.evaluationStrategy - case 5 => this.index - case 6 => this.isVariadic - case 7 => this.lineNumber - case 8 => this.name - case 9 => this.order - case 10 => this.possibleTypes - case 11 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewMethodParameterIn" - override def productArity = 12 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewMethodParameterIn] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterOut.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterOut.scala deleted file mode 100644 index 1ea09706..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodParameterOut.scala +++ /dev/null @@ -1,1431 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait MethodParameterOutEMT - extends AnyRef - with CfgNodeEMT - with DeclarationEMT - with HasEvaluationStrategyEMT - with HasIndexEMT - with HasIsVariadicEMT - with HasTypeFullNameEMT - -trait MethodParameterOutBase - extends AbstractNode - with CfgNodeBase - with DeclarationBase - with StaticType[MethodParameterOutEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - if (("": String) != this.evaluationStrategy) res.put("EVALUATION_STRATEGY", this.evaluationStrategy) - if ((-1: Int) != this.index) res.put("INDEX", this.index) - if ((false: Boolean) != this.isVariadic) res.put("IS_VARIADIC", this.isVariadic) - 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.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object MethodParameterOut { - val Label = "METHOD_PARAMETER_OUT" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val EvaluationStrategy = io.shiftleft.codepropertygraph.generated.PropertyNames.EVALUATION_STRATEGY - val Index = io.shiftleft.codepropertygraph.generated.PropertyNames.INDEX - val IsVariadic = io.shiftleft.codepropertygraph.generated.PropertyNames.IS_VARIADIC - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val Code = "" - val EvaluationStrategy = "" - val Index = -1: Int - val IsVariadic = false - val Name = "" - val Order = -1: Int - val TypeFullName = "" - } -} - -class MethodParameterOut(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 28.toShort, seq_4762) - with MethodParameterOutBase - with CfgNode - with Declaration - with StaticType[MethodParameterOutEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "evaluationStrategy" - case 3 => "index" - case 4 => "isVariadic" - case 5 => "lineNumber" - case 6 => "name" - case 7 => "order" - case 8 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.evaluationStrategy - case 3 => this.index - case 4 => this.isVariadic - case 5 => this.lineNumber - case 6 => this.name - case 7 => this.order - case 8 => this.typeFullName - case _ => null - } - - override def productPrefix = "MethodParameterOut" - override def productArity = 9 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[MethodParameterOut] -} - -object NewMethodParameterOut { - def apply(): NewMethodParameterOut = new NewMethodParameterOut - 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" - ) - ) -} -class NewMethodParameterOut - extends NewNode(28.toShort) - with MethodParameterOutBase - with AstNodeNew - with CfgNodeNew - with DeclarationNew { - override type StoredNodeType = MethodParameterOut - override def label: String = "METHOD_PARAMETER_OUT" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMethodParameterOut.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMethodParameterOut.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var evaluationStrategy: String = "": String - var index: Int = -1: Int - var isVariadic: Boolean = false: Boolean - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - var typeFullName: String = "": String - 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 evaluationStrategy(value: String): this.type = { this.evaluationStrategy = value; this } - def index(value: Int): this.type = { this.index = value; this } - def isVariadic(value: Boolean): this.type = { this.isVariadic = 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 typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - interface.insertProperty(this, 19, Iterator(this.evaluationStrategy)) - interface.insertProperty(this, 26, Iterator(this.index)) - interface.insertProperty(this, 30, Iterator(this.isVariadic)) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewMethodParameterOut - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.evaluationStrategy = this.evaluationStrategy - newInstance.index = this.index - newInstance.isVariadic = this.isVariadic - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "evaluationStrategy" - case 3 => "index" - case 4 => "isVariadic" - case 5 => "lineNumber" - case 6 => "name" - case 7 => "order" - case 8 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.evaluationStrategy - case 3 => this.index - case 4 => this.isVariadic - case 5 => this.lineNumber - case 6 => this.name - case 7 => this.order - case 8 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewMethodParameterOut" - override def productArity = 9 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewMethodParameterOut] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodRef.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodRef.scala deleted file mode 100644 index 7bc4fbc5..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodRef.scala +++ /dev/null @@ -1,1433 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait MethodRefEMT - extends AnyRef - with ExpressionEMT - with HasDynamicTypeHintFullNameEMT - with HasMethodFullNameEMT - with HasPossibleTypesEMT - with HasTypeFullNameEMT - -trait MethodRefBase extends AbstractNode with ExpressionBase with StaticType[MethodRefEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; - if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if (("": String) != this.methodFullName) res.put("METHOD_FULL_NAME", this.methodFullName) - if ((-1: Int) != this.order) res.put("ORDER", this.order) - val tmpPossibleTypes = this.possibleTypes; - if (tmpPossibleTypes.nonEmpty) res.put("POSSIBLE_TYPES", tmpPossibleTypes) - if (("": String) != this.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object MethodRef { - val Label = "METHOD_REF" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val DynamicTypeHintFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.DYNAMIC_TYPE_HINT_FULL_NAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val MethodFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.METHOD_FULL_NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val PossibleTypes = io.shiftleft.codepropertygraph.generated.PropertyNames.POSSIBLE_TYPES - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val MethodFullName = "" - val Order = -1: Int - val TypeFullName = "" - } -} - -class MethodRef(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 29.toShort, seq_4762) - with MethodRefBase - with Expression - with StaticType[MethodRefEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "methodFullName" - case 7 => "order" - case 8 => "possibleTypes" - case 9 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.methodFullName - case 7 => this.order - case 8 => this.possibleTypes - case 9 => this.typeFullName - case _ => null - } - - override def productPrefix = "MethodRef" - override def productArity = 10 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[MethodRef] -} - -object NewMethodRef { - def apply(): NewMethodRef = new NewMethodRef - 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" - ) - ) -} -class NewMethodRef extends NewNode(29.toShort) with MethodRefBase with ExpressionNew { - override type StoredNodeType = MethodRef - override def label: String = "METHOD_REF" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMethodRef.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMethodRef.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty - var lineNumber: Option[Int] = None - var methodFullName: String = "": String - var order: Int = -1: Int - var possibleTypes: IndexedSeq[String] = ArraySeq.empty - var typeFullName: String = "": String - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { - this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); this - } - def lineNumber(value: Int): this.type = { this.lineNumber = Option(value); this } - def lineNumber(value: Option[Int]): this.type = { this.lineNumber = value; this } - def methodFullName(value: String): this.type = { this.methodFullName = value; this } - def order(value: Int): this.type = { this.order = value; this } - def possibleTypes(value: IterableOnce[String]): this.type = { this.possibleTypes = value.iterator.to(ArraySeq); this } - def typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (dynamicTypeHintFullName.nonEmpty) interface.insertProperty(this, 18, this.dynamicTypeHintFullName) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 36, Iterator(this.methodFullName)) - interface.insertProperty(this, 43, Iterator(this.order)) - if (possibleTypes.nonEmpty) interface.insertProperty(this, 47, this.possibleTypes) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewMethodRef - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName - newInstance.lineNumber = this.lineNumber - newInstance.methodFullName = this.methodFullName - newInstance.order = this.order - newInstance.possibleTypes = this.possibleTypes - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "methodFullName" - case 7 => "order" - case 8 => "possibleTypes" - case 9 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.methodFullName - case 7 => this.order - case 8 => this.possibleTypes - case 9 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewMethodRef" - override def productArity = 10 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewMethodRef] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodReturn.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodReturn.scala deleted file mode 100644 index b0076189..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/MethodReturn.scala +++ /dev/null @@ -1,1411 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait MethodReturnEMT - extends AnyRef - with CfgNodeEMT - with HasDynamicTypeHintFullNameEMT - with HasEvaluationStrategyEMT - with HasPossibleTypesEMT - with HasTypeFullNameEMT - -trait MethodReturnBase extends AbstractNode with CfgNodeBase with StaticType[MethodReturnEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; - if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) - if (("": String) != this.evaluationStrategy) res.put("EVALUATION_STRATEGY", this.evaluationStrategy) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if ((-1: Int) != this.order) res.put("ORDER", this.order) - val tmpPossibleTypes = this.possibleTypes; - if (tmpPossibleTypes.nonEmpty) res.put("POSSIBLE_TYPES", tmpPossibleTypes) - if (("": String) != this.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object MethodReturn { - val Label = "METHOD_RETURN" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val DynamicTypeHintFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.DYNAMIC_TYPE_HINT_FULL_NAME - val EvaluationStrategy = io.shiftleft.codepropertygraph.generated.PropertyNames.EVALUATION_STRATEGY - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val PossibleTypes = io.shiftleft.codepropertygraph.generated.PropertyNames.POSSIBLE_TYPES - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val Code = "" - val EvaluationStrategy = "" - val Order = -1: Int - val TypeFullName = "" - } -} - -class MethodReturn(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 30.toShort, seq_4762) - with MethodReturnBase - with CfgNode - with StaticType[MethodReturnEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "dynamicTypeHintFullName" - case 3 => "evaluationStrategy" - case 4 => "lineNumber" - case 5 => "order" - case 6 => "possibleTypes" - case 7 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.dynamicTypeHintFullName - case 3 => this.evaluationStrategy - case 4 => this.lineNumber - case 5 => this.order - case 6 => this.possibleTypes - case 7 => this.typeFullName - case _ => null - } - - override def productPrefix = "MethodReturn" - override def productArity = 8 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[MethodReturn] -} - -object NewMethodReturn { - def apply(): NewMethodReturn = new NewMethodReturn - 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" - ) - ) -} -class NewMethodReturn extends NewNode(30.toShort) with MethodReturnBase with CfgNodeNew { - override type StoredNodeType = MethodReturn - override def label: String = "METHOD_RETURN" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMethodReturn.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewMethodReturn.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty - var evaluationStrategy: String = "": String - var lineNumber: Option[Int] = None - var order: Int = -1: Int - var possibleTypes: IndexedSeq[String] = ArraySeq.empty - var typeFullName: String = "": String - 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 dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { - this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); this - } - def evaluationStrategy(value: String): this.type = { this.evaluationStrategy = 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 order(value: Int): this.type = { this.order = value; this } - def possibleTypes(value: IterableOnce[String]): this.type = { this.possibleTypes = value.iterator.to(ArraySeq); this } - def typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (dynamicTypeHintFullName.nonEmpty) interface.insertProperty(this, 18, this.dynamicTypeHintFullName) - interface.insertProperty(this, 19, Iterator(this.evaluationStrategy)) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - if (possibleTypes.nonEmpty) interface.insertProperty(this, 47, this.possibleTypes) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewMethodReturn - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName - newInstance.evaluationStrategy = this.evaluationStrategy - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.possibleTypes = this.possibleTypes - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "dynamicTypeHintFullName" - case 3 => "evaluationStrategy" - case 4 => "lineNumber" - case 5 => "order" - case 6 => "possibleTypes" - case 7 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.dynamicTypeHintFullName - case 3 => this.evaluationStrategy - case 4 => this.lineNumber - case 5 => this.order - case 6 => this.possibleTypes - case 7 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewMethodReturn" - override def productArity = 8 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewMethodReturn] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Modifier.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Modifier.scala deleted file mode 100644 index be01bb86..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Modifier.scala +++ /dev/null @@ -1,1370 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait ModifierEMT extends AnyRef with AstNodeEMT with HasModifierTypeEMT - -trait ModifierBase extends AbstractNode with AstNodeBase with StaticType[ModifierEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - 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.modifierType) res.put("MODIFIER_TYPE", this.modifierType) - if ((-1: Int) != this.order) res.put("ORDER", this.order) - res - } -} - -object Modifier { - val Label = "MODIFIER" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val ModifierType = io.shiftleft.codepropertygraph.generated.PropertyNames.MODIFIER_TYPE - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val Code = "" - val ModifierType = "" - val Order = -1: Int - } -} - -class Modifier(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 31.toShort, seq_4762) - with ModifierBase - with AstNode - with StaticType[ModifierEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "modifierType" - case 4 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.modifierType - case 4 => this.order - case _ => null - } - - override def productPrefix = "Modifier" - override def productArity = 5 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Modifier] -} - -object NewModifier { - def apply(): NewModifier = new NewModifier - 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" - ) - ) -} -class NewModifier extends NewNode(31.toShort) with ModifierBase with AstNodeNew { - override type StoredNodeType = Modifier - override def label: String = "MODIFIER" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewModifier.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewModifier.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var lineNumber: Option[Int] = None - var modifierType: String = "": String - var order: Int = -1: Int - 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 modifierType(value: String): this.type = { this.modifierType = value; this } - def order(value: Int): this.type = { this.order = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 38, Iterator(this.modifierType)) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewModifier - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.lineNumber = this.lineNumber - newInstance.modifierType = this.modifierType - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "modifierType" - case 4 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.modifierType - case 4 => this.order - case _ => null - } - - override def productPrefix = "NewModifier" - override def productArity = 5 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewModifier] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Namespace.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Namespace.scala deleted file mode 100644 index 9bd81711..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Namespace.scala +++ /dev/null @@ -1,1370 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait NamespaceEMT extends AnyRef with AstNodeEMT with HasNameEMT - -trait NamespaceBase extends AbstractNode with AstNodeBase with StaticType[NamespaceEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - 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) - res - } -} - -object Namespace { - val Label = "NAMESPACE" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val Code = "" - val Name = "" - val Order = -1: Int - } -} - -class Namespace(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 32.toShort, seq_4762) - with NamespaceBase - with AstNode - with StaticType[NamespaceEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "name" - case 4 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.name - case 4 => this.order - case _ => null - } - - override def productPrefix = "Namespace" - override def productArity = 5 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Namespace] -} - -object NewNamespace { - def apply(): NewNamespace = new NewNamespace - 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" - ) - ) -} -class NewNamespace extends NewNode(32.toShort) with NamespaceBase with AstNodeNew { - override type StoredNodeType = Namespace - override def label: String = "NAMESPACE" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewNamespace.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewNamespace.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - 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 } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewNamespace - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "name" - case 4 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.name - case 4 => this.order - case _ => null - } - - override def productPrefix = "NewNamespace" - override def productArity = 5 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewNamespace] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/NamespaceBlock.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/NamespaceBlock.scala deleted file mode 100644 index 741b513c..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/NamespaceBlock.scala +++ /dev/null @@ -1,1392 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait NamespaceBlockEMT extends AnyRef with AstNodeEMT with HasFilenameEMT with HasFullNameEMT with HasNameEMT - -trait NamespaceBlockBase extends AbstractNode with AstNodeBase with StaticType[NamespaceBlockEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - if (("": String) != this.filename) res.put("FILENAME", this.filename) - if (("": String) != this.fullName) res.put("FULL_NAME", this.fullName) - 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) - res - } -} - -object NamespaceBlock { - val Label = "NAMESPACE_BLOCK" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val Filename = io.shiftleft.codepropertygraph.generated.PropertyNames.FILENAME - val FullName = io.shiftleft.codepropertygraph.generated.PropertyNames.FULL_NAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val Code = "" - val Filename = "" - val FullName = "" - val Name = "" - val Order = -1: Int - } -} - -class NamespaceBlock(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 33.toShort, seq_4762) - with NamespaceBlockBase - with AstNode - with StaticType[NamespaceBlockEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "filename" - case 3 => "fullName" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.filename - case 3 => this.fullName - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case _ => null - } - - override def productPrefix = "NamespaceBlock" - override def productArity = 7 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NamespaceBlock] -} - -object NewNamespaceBlock { - def apply(): NewNamespaceBlock = new NewNamespaceBlock - 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" - ) - ) -} -class NewNamespaceBlock extends NewNode(33.toShort) with NamespaceBlockBase with AstNodeNew { - override type StoredNodeType = NamespaceBlock - override def label: String = "NAMESPACE_BLOCK" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewNamespaceBlock.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewNamespaceBlock.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var filename: String = "": String - var fullName: String = "": String - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - 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 filename(value: String): this.type = { this.filename = value; this } - def fullName(value: String): this.type = { this.fullName = 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 } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - interface.insertProperty(this, 21, Iterator(this.filename)) - interface.insertProperty(this, 22, Iterator(this.fullName)) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewNamespaceBlock - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.filename = this.filename - newInstance.fullName = this.fullName - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "filename" - case 3 => "fullName" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.filename - case 3 => this.fullName - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case _ => null - } - - override def productPrefix = "NewNamespaceBlock" - override def productArity = 7 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewNamespaceBlock] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Return.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Return.scala deleted file mode 100644 index 7f4ce637..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Return.scala +++ /dev/null @@ -1,1381 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait ReturnEMT extends AnyRef with ExpressionEMT - -trait ReturnBase extends AbstractNode with ExpressionBase with StaticType[ReturnEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - 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 ((-1: Int) != this.order) res.put("ORDER", this.order) - res - } -} - -object Return { - val Label = "RETURN" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val Order = -1: Int - } -} - -class Return(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 34.toShort, seq_4762) - with ReturnBase - with Expression - with StaticType[ReturnEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "lineNumber" - case 5 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.lineNumber - case 5 => this.order - case _ => null - } - - override def productPrefix = "Return" - override def productArity = 6 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Return] -} - -object NewReturn { - def apply(): NewReturn = new NewReturn - 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" - ) - ) -} -class NewReturn extends NewNode(34.toShort) with ReturnBase with ExpressionNew { - override type StoredNodeType = Return - override def label: String = "RETURN" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewReturn.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewReturn.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var lineNumber: Option[Int] = None - var order: Int = -1: Int - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 order(value: Int): this.type = { this.order = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewReturn - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "lineNumber" - case 5 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.lineNumber - case 5 => this.order - case _ => null - } - - override def productPrefix = "NewReturn" - override def productArity = 6 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewReturn] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Tag.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Tag.scala deleted file mode 100644 index 46c40739..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Tag.scala +++ /dev/null @@ -1,130 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait TagEMT extends AnyRef with HasNameEMT with HasValueEMT - -trait TagBase extends AbstractNode with StaticType[TagEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.name) res.put("NAME", this.name) - if (("": String) != this.value) res.put("VALUE", this.value) - res - } -} - -object Tag { - val Label = "TAG" - object PropertyNames { - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Value = io.shiftleft.codepropertygraph.generated.PropertyNames.VALUE - } - object PropertyDefaults { - val Name = "" - val Value = "" - } -} - -class Tag(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 35.toShort, seq_4762) - with TagBase - with StaticType[TagEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "name" - case 1 => "value" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.name - case 1 => this.value - case _ => null - } - - override def productPrefix = "Tag" - override def productArity = 2 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Tag] -} - -object NewTag { - def apply(): NewTag = new NewTag - private val outNeighbors: Map[String, Set[String]] = Map("TAGGED_BY" -> Set("TAG")) - private val inNeighbors: Map[String, Set[String]] = Map( - "TAGGED_BY" -> Set( - "BLOCK", - "CALL", - "CONTROL_STRUCTURE", - "FIELD_IDENTIFIER", - "FILE", - "IDENTIFIER", - "IMPORT", - "JUMP_TARGET", - "LITERAL", - "LOCAL", - "MEMBER", - "METHOD", - "METHOD_PARAMETER_IN", - "METHOD_PARAMETER_OUT", - "METHOD_REF", - "METHOD_RETURN", - "RETURN", - "TAG", - "TEMPLATE_DOM", - "TYPE_DECL", - "TYPE_REF", - "UNKNOWN" - ) - ) -} -class NewTag extends NewNode(35.toShort) with TagBase { - override type StoredNodeType = Tag - override def label: String = "TAG" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTag.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTag.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var name: String = "": String - var value: String = "": String - def name(value: String): this.type = { this.name = value; this } - def value(value: String): this.type = { this.value = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 53, Iterator(this.value)) - } - - override def copy(): this.type = { - val newInstance = new NewTag - newInstance.name = this.name - newInstance.value = this.value - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "name" - case 1 => "value" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.name - case 1 => this.value - case _ => null - } - - override def productPrefix = "NewTag" - override def productArity = 2 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewTag] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TagNodePair.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TagNodePair.scala deleted file mode 100644 index 310e5296..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TagNodePair.scala +++ /dev/null @@ -1,102 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait TagNodePairEMT extends AnyRef - -trait TagNodePairBase extends AbstractNode with StaticType[TagNodePairEMT] { - def node: AbstractNode - def tag: TagBase - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - res.put("node", this.node) - res.put("tag", this.tag) - res - } -} - -object TagNodePair { - val Label = "TAG_NODE_PAIR" - object PropertyNames {} - object PropertyDefaults {} -} - -class TagNodePair(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 36.toShort, seq_4762) - with TagNodePairBase - with StaticType[TagNodePairEMT] { - def node: StoredNode = flatgraph.Accessors.getNodePropertySingle(graph, nodeKind, 57, seq, null: StoredNode) - def tag: Tag = flatgraph.Accessors.getNodePropertySingle(graph, nodeKind, 58, seq, null: Tag) - - override def productElementName(n: Int): String = - n match { - case 0 => "node" - case 1 => "tag" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.node - case 1 => this.tag - case _ => null - } - - override def productPrefix = "TagNodePair" - override def productArity = 2 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[TagNodePair] -} - -object NewTagNodePair { - def apply(): NewTagNodePair = new NewTagNodePair - private val outNeighbors: Map[String, Set[String]] = Map() - private val inNeighbors: Map[String, Set[String]] = Map() -} -class NewTagNodePair extends NewNode(36.toShort) with TagNodePairBase { - override type StoredNodeType = TagNodePair - override def label: String = "TAG_NODE_PAIR" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTagNodePair.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTagNodePair.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var node: AbstractNode = null - var tag: TagBase = null - def node(value: AbstractNode): this.type = { this.node = value; this } - def tag(value: TagBase): this.type = { this.tag = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 57, Iterator(this.node)) - interface.insertProperty(this, 58, Iterator(this.tag)) - } - - override def copy(): this.type = { - val newInstance = new NewTagNodePair - newInstance.node = this.node - newInstance.tag = this.tag - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "node" - case 1 => "tag" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.node - case 1 => this.tag - case _ => null - } - - override def productPrefix = "NewTagNodePair" - override def productArity = 2 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewTagNodePair] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TemplateDom.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TemplateDom.scala deleted file mode 100644 index 23f70039..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TemplateDom.scala +++ /dev/null @@ -1,1392 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait TemplateDomEMT extends AnyRef with ExpressionEMT with HasNameEMT - -trait TemplateDomBase extends AbstractNode with ExpressionBase with StaticType[TemplateDomEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - 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) - res - } -} - -object TemplateDom { - val Label = "TEMPLATE_DOM" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val Name = "" - val Order = -1: Int - } -} - -class TemplateDom(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 37.toShort, seq_4762) - with TemplateDomBase - with Expression - with StaticType[TemplateDomEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case _ => null - } - - override def productPrefix = "TemplateDom" - override def productArity = 7 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[TemplateDom] -} - -object NewTemplateDom { - def apply(): NewTemplateDom = new NewTemplateDom - 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" - ) - ) -} -class NewTemplateDom extends NewNode(37.toShort) with TemplateDomBase with ExpressionNew { - override type StoredNodeType = TemplateDom - override def label: String = "TEMPLATE_DOM" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTemplateDom.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTemplateDom.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewTemplateDom - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "lineNumber" - case 5 => "name" - case 6 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.lineNumber - case 5 => this.name - case 6 => this.order - case _ => null - } - - override def productPrefix = "NewTemplateDom" - override def productArity = 7 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewTemplateDom] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Type.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Type.scala deleted file mode 100644 index 51a2391d..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Type.scala +++ /dev/null @@ -1,136 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait TypeEMT extends AnyRef with HasFullNameEMT with HasNameEMT with HasTypeDeclFullNameEMT - -trait TypeBase extends AbstractNode with StaticType[TypeEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if (("": String) != this.fullName) res.put("FULL_NAME", this.fullName) - if (("": String) != this.name) res.put("NAME", this.name) - if (("": String) != this.typeDeclFullName) res.put("TYPE_DECL_FULL_NAME", this.typeDeclFullName) - res - } -} - -object Type { - val Label = "TYPE" - object PropertyNames { - val FullName = io.shiftleft.codepropertygraph.generated.PropertyNames.FULL_NAME - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val TypeDeclFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_DECL_FULL_NAME - } - object PropertyDefaults { - val FullName = "" - val Name = "" - val TypeDeclFullName = "" - } -} - -class Type(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 38.toShort, seq_4762) - with TypeBase - with StaticType[TypeEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "fullName" - case 1 => "name" - case 2 => "typeDeclFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.fullName - case 1 => this.name - case 2 => this.typeDeclFullName - case _ => null - } - - override def productPrefix = "Type" - override def productArity = 3 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Type] -} - -object NewType { - def apply(): NewType = new NewType - private val outNeighbors: Map[String, Set[String]] = Map("AST" -> Set("TYPE_ARGUMENT"), "REF" -> Set("TYPE_DECL")) - private val inNeighbors: Map[String, Set[String]] = Map( - "ALIAS_OF" -> Set("TYPE_DECL"), - "EVAL_TYPE" -> Set( - "ARRAY_INITIALIZER", - "BLOCK", - "CALL", - "CONTROL_STRUCTURE", - "IDENTIFIER", - "LITERAL", - "LOCAL", - "MEMBER", - "METHOD_PARAMETER_IN", - "METHOD_PARAMETER_OUT", - "METHOD_REF", - "METHOD_RETURN", - "TYPE_REF", - "UNKNOWN" - ), - "INHERITS_FROM" -> Set("TYPE_DECL"), - "REF" -> Set("TYPE_ARGUMENT") - ) -} -class NewType extends NewNode(38.toShort) with TypeBase { - override type StoredNodeType = Type - override def label: String = "TYPE" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewType.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewType.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var fullName: String = "": String - var name: String = "": String - var typeDeclFullName: String = "": String - def fullName(value: String): this.type = { this.fullName = value; this } - def name(value: String): this.type = { this.name = value; this } - def typeDeclFullName(value: String): this.type = { this.typeDeclFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 22, Iterator(this.fullName)) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 51, Iterator(this.typeDeclFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewType - newInstance.fullName = this.fullName - newInstance.name = this.name - newInstance.typeDeclFullName = this.typeDeclFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "fullName" - case 1 => "name" - case 2 => "typeDeclFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.fullName - case 1 => this.name - case 2 => this.typeDeclFullName - case _ => null - } - - override def productPrefix = "NewType" - override def productArity = 3 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewType] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeArgument.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeArgument.scala deleted file mode 100644 index 3f6d1846..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeArgument.scala +++ /dev/null @@ -1,1359 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait TypeArgumentEMT extends AnyRef with AstNodeEMT - -trait TypeArgumentBase extends AbstractNode with AstNodeBase with StaticType[TypeArgumentEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - 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 ((-1: Int) != this.order) res.put("ORDER", this.order) - res - } -} - -object TypeArgument { - val Label = "TYPE_ARGUMENT" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val Code = "" - val Order = -1: Int - } -} - -class TypeArgument(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 39.toShort, seq_4762) - with TypeArgumentBase - with AstNode - with StaticType[TypeArgumentEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.order - case _ => null - } - - override def productPrefix = "TypeArgument" - override def productArity = 4 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[TypeArgument] -} - -object NewTypeArgument { - def apply(): NewTypeArgument = new NewTypeArgument - 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" - ) - ) -} -class NewTypeArgument extends NewNode(39.toShort) with TypeArgumentBase with AstNodeNew { - override type StoredNodeType = TypeArgument - override def label: String = "TYPE_ARGUMENT" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTypeArgument.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTypeArgument.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var lineNumber: Option[Int] = None - var order: Int = -1: Int - 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 order(value: Int): this.type = { this.order = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewTypeArgument - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.order - case _ => null - } - - override def productPrefix = "NewTypeArgument" - override def productArity = 4 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewTypeArgument] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeDecl.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeDecl.scala deleted file mode 100644 index 01f11fbe..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeDecl.scala +++ /dev/null @@ -1,1483 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait TypeDeclEMT - extends AnyRef - with AstNodeEMT - with HasAliasTypeFullNameEMT - with HasAstParentFullNameEMT - with HasAstParentTypeEMT - with HasFilenameEMT - with HasFullNameEMT - with HasInheritsFromTypeFullNameEMT - with HasIsExternalEMT - with HasNameEMT - with HasOffsetEMT - with HasOffsetEndEMT - -trait TypeDeclBase extends AbstractNode with AstNodeBase with StaticType[TypeDeclEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - this.aliasTypeFullName.foreach { p => res.put("ALIAS_TYPE_FULL_NAME", p) } - if (("": String) != this.astParentFullName) res.put("AST_PARENT_FULL_NAME", this.astParentFullName) - if (("": String) != this.astParentType) res.put("AST_PARENT_TYPE", this.astParentType) - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - if (("": String) != this.filename) res.put("FILENAME", this.filename) - if (("": String) != this.fullName) res.put("FULL_NAME", this.fullName) - val tmpInheritsFromTypeFullName = this.inheritsFromTypeFullName; - if (tmpInheritsFromTypeFullName.nonEmpty) res.put("INHERITS_FROM_TYPE_FULL_NAME", tmpInheritsFromTypeFullName) - if ((false: Boolean) != this.isExternal) res.put("IS_EXTERNAL", this.isExternal) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if (("": String) != this.name) res.put("NAME", this.name) - this.offset.foreach { p => res.put("OFFSET", p) } - this.offsetEnd.foreach { p => res.put("OFFSET_END", p) } - if ((-1: Int) != this.order) res.put("ORDER", this.order) - res - } -} - -object TypeDecl { - val Label = "TYPE_DECL" - object PropertyNames { - val AliasTypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.ALIAS_TYPE_FULL_NAME - val AstParentFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.AST_PARENT_FULL_NAME - val AstParentType = io.shiftleft.codepropertygraph.generated.PropertyNames.AST_PARENT_TYPE - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val Filename = io.shiftleft.codepropertygraph.generated.PropertyNames.FILENAME - val FullName = io.shiftleft.codepropertygraph.generated.PropertyNames.FULL_NAME - val InheritsFromTypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.INHERITS_FROM_TYPE_FULL_NAME - val IsExternal = io.shiftleft.codepropertygraph.generated.PropertyNames.IS_EXTERNAL - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Offset = io.shiftleft.codepropertygraph.generated.PropertyNames.OFFSET - val OffsetEnd = io.shiftleft.codepropertygraph.generated.PropertyNames.OFFSET_END - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val AstParentFullName = "" - val AstParentType = "" - val Code = "" - val Filename = "" - val FullName = "" - val IsExternal = false - val Name = "" - val Order = -1: Int - } -} - -class TypeDecl(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 40.toShort, seq_4762) - with TypeDeclBase - with AstNode - with StaticType[TypeDeclEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "aliasTypeFullName" - case 1 => "astParentFullName" - case 2 => "astParentType" - case 3 => "code" - case 4 => "columnNumber" - case 5 => "filename" - case 6 => "fullName" - case 7 => "inheritsFromTypeFullName" - case 8 => "isExternal" - case 9 => "lineNumber" - case 10 => "name" - case 11 => "offset" - case 12 => "offsetEnd" - case 13 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.aliasTypeFullName - case 1 => this.astParentFullName - case 2 => this.astParentType - case 3 => this.code - case 4 => this.columnNumber - case 5 => this.filename - case 6 => this.fullName - case 7 => this.inheritsFromTypeFullName - case 8 => this.isExternal - case 9 => this.lineNumber - case 10 => this.name - case 11 => this.offset - case 12 => this.offsetEnd - case 13 => this.order - case _ => null - } - - override def productPrefix = "TypeDecl" - override def productArity = 14 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[TypeDecl] -} - -object NewTypeDecl { - def apply(): NewTypeDecl = new NewTypeDecl - 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" - ) - ) -} -class NewTypeDecl extends NewNode(40.toShort) with TypeDeclBase with AstNodeNew { - override type StoredNodeType = TypeDecl - override def label: String = "TYPE_DECL" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTypeDecl.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTypeDecl.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var aliasTypeFullName: Option[String] = None - var astParentFullName: String = "": String - var astParentType: String = "": String - var code: String = "": String - var columnNumber: Option[Int] = None - var filename: String = "": String - var fullName: String = "": String - var inheritsFromTypeFullName: IndexedSeq[String] = ArraySeq.empty - var isExternal: Boolean = false: Boolean - var lineNumber: Option[Int] = None - var name: String = "": String - var offset: Option[Int] = None - var offsetEnd: Option[Int] = None - var order: Int = -1: Int - def aliasTypeFullName(value: Option[String]): this.type = { this.aliasTypeFullName = value; this } - def aliasTypeFullName(value: String): this.type = { this.aliasTypeFullName = Option(value); this } - def astParentFullName(value: String): this.type = { this.astParentFullName = value; this } - def astParentType(value: String): this.type = { this.astParentType = 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 filename(value: String): this.type = { this.filename = value; this } - def fullName(value: String): this.type = { this.fullName = value; this } - def inheritsFromTypeFullName(value: IterableOnce[String]): this.type = { - this.inheritsFromTypeFullName = value.iterator.to(ArraySeq); this - } - def isExternal(value: Boolean): this.type = { this.isExternal = 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 offset(value: Int): this.type = { this.offset = Option(value); this } - def offset(value: Option[Int]): this.type = { this.offset = value; this } - def offsetEnd(value: Int): this.type = { this.offsetEnd = Option(value); this } - def offsetEnd(value: Option[Int]): this.type = { this.offsetEnd = value; this } - def order(value: Int): this.type = { this.order = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - if (aliasTypeFullName.nonEmpty) interface.insertProperty(this, 0, this.aliasTypeFullName) - interface.insertProperty(this, 3, Iterator(this.astParentFullName)) - interface.insertProperty(this, 4, Iterator(this.astParentType)) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - interface.insertProperty(this, 21, Iterator(this.filename)) - interface.insertProperty(this, 22, Iterator(this.fullName)) - if (inheritsFromTypeFullName.nonEmpty) interface.insertProperty(this, 27, this.inheritsFromTypeFullName) - interface.insertProperty(this, 29, Iterator(this.isExternal)) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - if (offset.nonEmpty) interface.insertProperty(this, 41, this.offset) - if (offsetEnd.nonEmpty) interface.insertProperty(this, 42, this.offsetEnd) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewTypeDecl - newInstance.aliasTypeFullName = this.aliasTypeFullName - newInstance.astParentFullName = this.astParentFullName - newInstance.astParentType = this.astParentType - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.filename = this.filename - newInstance.fullName = this.fullName - newInstance.inheritsFromTypeFullName = this.inheritsFromTypeFullName - newInstance.isExternal = this.isExternal - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.offset = this.offset - newInstance.offsetEnd = this.offsetEnd - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "aliasTypeFullName" - case 1 => "astParentFullName" - case 2 => "astParentType" - case 3 => "code" - case 4 => "columnNumber" - case 5 => "filename" - case 6 => "fullName" - case 7 => "inheritsFromTypeFullName" - case 8 => "isExternal" - case 9 => "lineNumber" - case 10 => "name" - case 11 => "offset" - case 12 => "offsetEnd" - case 13 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.aliasTypeFullName - case 1 => this.astParentFullName - case 2 => this.astParentType - case 3 => this.code - case 4 => this.columnNumber - case 5 => this.filename - case 6 => this.fullName - case 7 => this.inheritsFromTypeFullName - case 8 => this.isExternal - case 9 => this.lineNumber - case 10 => this.name - case 11 => this.offset - case 12 => this.offsetEnd - case 13 => this.order - case _ => null - } - - override def productPrefix = "NewTypeDecl" - override def productArity = 14 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewTypeDecl] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeParameter.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeParameter.scala deleted file mode 100644 index b6235116..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeParameter.scala +++ /dev/null @@ -1,1370 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait TypeParameterEMT extends AnyRef with AstNodeEMT with HasNameEMT - -trait TypeParameterBase extends AbstractNode with AstNodeBase with StaticType[TypeParameterEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - 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) - res - } -} - -object TypeParameter { - val Label = "TYPE_PARAMETER" - object PropertyNames { - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Name = io.shiftleft.codepropertygraph.generated.PropertyNames.NAME - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - } - object PropertyDefaults { - val Code = "" - val Name = "" - val Order = -1: Int - } -} - -class TypeParameter(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 41.toShort, seq_4762) - with TypeParameterBase - with AstNode - with StaticType[TypeParameterEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "name" - case 4 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.name - case 4 => this.order - case _ => null - } - - override def productPrefix = "TypeParameter" - override def productArity = 5 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[TypeParameter] -} - -object NewTypeParameter { - def apply(): NewTypeParameter = new NewTypeParameter - 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" - ) - ) -} -class NewTypeParameter extends NewNode(41.toShort) with TypeParameterBase with AstNodeNew { - override type StoredNodeType = TypeParameter - override def label: String = "TYPE_PARAMETER" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTypeParameter.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTypeParameter.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var code: String = "": String - var columnNumber: Option[Int] = None - var lineNumber: Option[Int] = None - var name: String = "": String - var order: Int = -1: Int - 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 } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 39, Iterator(this.name)) - interface.insertProperty(this, 43, Iterator(this.order)) - } - - override def copy(): this.type = { - val newInstance = new NewTypeParameter - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.lineNumber = this.lineNumber - newInstance.name = this.name - newInstance.order = this.order - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "code" - case 1 => "columnNumber" - case 2 => "lineNumber" - case 3 => "name" - case 4 => "order" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.code - case 1 => this.columnNumber - case 2 => this.lineNumber - case 3 => this.name - case 4 => this.order - case _ => null - } - - override def productPrefix = "NewTypeParameter" - override def productArity = 5 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewTypeParameter] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeRef.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeRef.scala deleted file mode 100644 index 124d0043..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/TypeRef.scala +++ /dev/null @@ -1,1421 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait TypeRefEMT - extends AnyRef - with ExpressionEMT - with HasDynamicTypeHintFullNameEMT - with HasPossibleTypesEMT - with HasTypeFullNameEMT - -trait TypeRefBase extends AbstractNode with ExpressionBase with StaticType[TypeRefEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; - if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if ((-1: Int) != this.order) res.put("ORDER", this.order) - val tmpPossibleTypes = this.possibleTypes; - if (tmpPossibleTypes.nonEmpty) res.put("POSSIBLE_TYPES", tmpPossibleTypes) - if (("": String) != this.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object TypeRef { - val Label = "TYPE_REF" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val DynamicTypeHintFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.DYNAMIC_TYPE_HINT_FULL_NAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val PossibleTypes = io.shiftleft.codepropertygraph.generated.PropertyNames.POSSIBLE_TYPES - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val Order = -1: Int - val TypeFullName = "" - } -} - -class TypeRef(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 42.toShort, seq_4762) - with TypeRefBase - with Expression - with StaticType[TypeRefEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "order" - case 7 => "possibleTypes" - case 8 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.order - case 7 => this.possibleTypes - case 8 => this.typeFullName - case _ => null - } - - override def productPrefix = "TypeRef" - override def productArity = 9 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[TypeRef] -} - -object NewTypeRef { - def apply(): NewTypeRef = new NewTypeRef - 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" - ) - ) -} -class NewTypeRef extends NewNode(42.toShort) with TypeRefBase with ExpressionNew { - override type StoredNodeType = TypeRef - override def label: String = "TYPE_REF" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTypeRef.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewTypeRef.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty - var lineNumber: Option[Int] = None - var order: Int = -1: Int - var possibleTypes: IndexedSeq[String] = ArraySeq.empty - var typeFullName: String = "": String - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { - this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); this - } - def lineNumber(value: Int): this.type = { this.lineNumber = Option(value); this } - def lineNumber(value: Option[Int]): this.type = { this.lineNumber = value; this } - def order(value: Int): this.type = { this.order = value; this } - def possibleTypes(value: IterableOnce[String]): this.type = { this.possibleTypes = value.iterator.to(ArraySeq); this } - def typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - if (dynamicTypeHintFullName.nonEmpty) interface.insertProperty(this, 18, this.dynamicTypeHintFullName) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - if (possibleTypes.nonEmpty) interface.insertProperty(this, 47, this.possibleTypes) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewTypeRef - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.possibleTypes = this.possibleTypes - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "dynamicTypeHintFullName" - case 5 => "lineNumber" - case 6 => "order" - case 7 => "possibleTypes" - case 8 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.dynamicTypeHintFullName - case 5 => this.lineNumber - case 6 => this.order - case 7 => this.possibleTypes - case 8 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewTypeRef" - override def productArity = 9 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewTypeRef] -} diff --git a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Unknown.scala b/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Unknown.scala deleted file mode 100644 index 80cd7dcb..00000000 --- a/joern-generated/src/main/scala/io/shiftleft/codepropertygraph/generated/nodes/Unknown.scala +++ /dev/null @@ -1,1445 +0,0 @@ -package io.shiftleft.codepropertygraph.generated.nodes - -import io.shiftleft.codepropertygraph.generated.Language.* -import scala.collection.immutable.{IndexedSeq, ArraySeq} - -trait UnknownEMT - extends AnyRef - with ExpressionEMT - with HasContainedRefEMT - with HasDynamicTypeHintFullNameEMT - with HasParserTypeNameEMT - with HasPossibleTypesEMT - with HasTypeFullNameEMT - -trait UnknownBase extends AbstractNode with ExpressionBase with StaticType[UnknownEMT] { - - override def propertiesMap: java.util.Map[String, Any] = { - import io.shiftleft.codepropertygraph.generated.accessors.Lang.* - val res = new java.util.HashMap[String, Any]() - if ((-1: Int) != this.argumentIndex) res.put("ARGUMENT_INDEX", this.argumentIndex) - this.argumentName.foreach { p => res.put("ARGUMENT_NAME", p) } - if (("": String) != this.code) res.put("CODE", this.code) - this.columnNumber.foreach { p => res.put("COLUMN_NUMBER", p) } - if (("": String) != this.containedRef) res.put("CONTAINED_REF", this.containedRef) - val tmpDynamicTypeHintFullName = this.dynamicTypeHintFullName; - if (tmpDynamicTypeHintFullName.nonEmpty) res.put("DYNAMIC_TYPE_HINT_FULL_NAME", tmpDynamicTypeHintFullName) - this.lineNumber.foreach { p => res.put("LINE_NUMBER", p) } - if ((-1: Int) != this.order) res.put("ORDER", this.order) - if (("": String) != this.parserTypeName) res.put("PARSER_TYPE_NAME", this.parserTypeName) - val tmpPossibleTypes = this.possibleTypes; - if (tmpPossibleTypes.nonEmpty) res.put("POSSIBLE_TYPES", tmpPossibleTypes) - if (("": String) != this.typeFullName) res.put("TYPE_FULL_NAME", this.typeFullName) - res - } -} - -object Unknown { - val Label = "UNKNOWN" - object PropertyNames { - val ArgumentIndex = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_INDEX - val ArgumentName = io.shiftleft.codepropertygraph.generated.PropertyNames.ARGUMENT_NAME - val Code = io.shiftleft.codepropertygraph.generated.PropertyNames.CODE - val ColumnNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.COLUMN_NUMBER - val ContainedRef = io.shiftleft.codepropertygraph.generated.PropertyNames.CONTAINED_REF - val DynamicTypeHintFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.DYNAMIC_TYPE_HINT_FULL_NAME - val LineNumber = io.shiftleft.codepropertygraph.generated.PropertyNames.LINE_NUMBER - val Order = io.shiftleft.codepropertygraph.generated.PropertyNames.ORDER - val ParserTypeName = io.shiftleft.codepropertygraph.generated.PropertyNames.PARSER_TYPE_NAME - val PossibleTypes = io.shiftleft.codepropertygraph.generated.PropertyNames.POSSIBLE_TYPES - val TypeFullName = io.shiftleft.codepropertygraph.generated.PropertyNames.TYPE_FULL_NAME - } - object PropertyDefaults { - val ArgumentIndex = -1: Int - val Code = "" - val ContainedRef = "" - val Order = -1: Int - val ParserTypeName = "" - val TypeFullName = "" - } -} - -class Unknown(graph_4762: flatgraph.Graph, seq_4762: Int) - extends StoredNode(graph_4762, 43.toShort, seq_4762) - with UnknownBase - with Expression - with StaticType[UnknownEMT] { - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "containedRef" - case 5 => "dynamicTypeHintFullName" - case 6 => "lineNumber" - case 7 => "order" - case 8 => "parserTypeName" - case 9 => "possibleTypes" - case 10 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.containedRef - case 5 => this.dynamicTypeHintFullName - case 6 => this.lineNumber - case 7 => this.order - case 8 => this.parserTypeName - case 9 => this.possibleTypes - case 10 => this.typeFullName - case _ => null - } - - override def productPrefix = "Unknown" - override def productArity = 11 - - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[Unknown] -} - -object NewUnknown { - def apply(): NewUnknown = new NewUnknown - 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" - ) - ) -} -class NewUnknown extends NewNode(43.toShort) with UnknownBase with ExpressionNew { - override type StoredNodeType = Unknown - override def label: String = "UNKNOWN" - - override def isValidOutNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewUnknown.outNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - override def isValidInNeighbor(edgeLabel: String, n: NewNode): Boolean = { - NewUnknown.inNeighbors.getOrElse(edgeLabel, Set.empty).contains(n.label) - } - - var argumentIndex: Int = -1: Int - var argumentName: Option[String] = None - var code: String = "": String - var columnNumber: Option[Int] = None - var containedRef: String = "": String - var dynamicTypeHintFullName: IndexedSeq[String] = ArraySeq.empty - var lineNumber: Option[Int] = None - var order: Int = -1: Int - var parserTypeName: String = "": String - var possibleTypes: IndexedSeq[String] = ArraySeq.empty - var typeFullName: String = "": String - def argumentIndex(value: Int): this.type = { this.argumentIndex = value; this } - def argumentName(value: Option[String]): this.type = { this.argumentName = value; this } - def argumentName(value: String): this.type = { this.argumentName = Option(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 containedRef(value: String): this.type = { this.containedRef = value; this } - def dynamicTypeHintFullName(value: IterableOnce[String]): this.type = { - this.dynamicTypeHintFullName = value.iterator.to(ArraySeq); this - } - def lineNumber(value: Int): this.type = { this.lineNumber = Option(value); this } - def lineNumber(value: Option[Int]): this.type = { this.lineNumber = value; this } - def order(value: Int): this.type = { this.order = value; this } - def parserTypeName(value: String): this.type = { this.parserTypeName = value; this } - def possibleTypes(value: IterableOnce[String]): this.type = { this.possibleTypes = value.iterator.to(ArraySeq); this } - def typeFullName(value: String): this.type = { this.typeFullName = value; this } - override def flattenProperties(interface: flatgraph.BatchedUpdateInterface): Unit = { - interface.insertProperty(this, 1, Iterator(this.argumentIndex)) - if (argumentName.nonEmpty) interface.insertProperty(this, 2, this.argumentName) - interface.insertProperty(this, 10, Iterator(this.code)) - if (columnNumber.nonEmpty) interface.insertProperty(this, 11, this.columnNumber) - interface.insertProperty(this, 13, Iterator(this.containedRef)) - if (dynamicTypeHintFullName.nonEmpty) interface.insertProperty(this, 18, this.dynamicTypeHintFullName) - if (lineNumber.nonEmpty) interface.insertProperty(this, 34, this.lineNumber) - interface.insertProperty(this, 43, Iterator(this.order)) - interface.insertProperty(this, 46, Iterator(this.parserTypeName)) - if (possibleTypes.nonEmpty) interface.insertProperty(this, 47, this.possibleTypes) - interface.insertProperty(this, 52, Iterator(this.typeFullName)) - } - - override def copy(): this.type = { - val newInstance = new NewUnknown - newInstance.argumentIndex = this.argumentIndex - newInstance.argumentName = this.argumentName - newInstance.code = this.code - newInstance.columnNumber = this.columnNumber - newInstance.containedRef = this.containedRef - newInstance.dynamicTypeHintFullName = this.dynamicTypeHintFullName - newInstance.lineNumber = this.lineNumber - newInstance.order = this.order - newInstance.parserTypeName = this.parserTypeName - newInstance.possibleTypes = this.possibleTypes - newInstance.typeFullName = this.typeFullName - newInstance.asInstanceOf[this.type] - } - - override def productElementName(n: Int): String = - n match { - case 0 => "argumentIndex" - case 1 => "argumentName" - case 2 => "code" - case 3 => "columnNumber" - case 4 => "containedRef" - case 5 => "dynamicTypeHintFullName" - case 6 => "lineNumber" - case 7 => "order" - case 8 => "parserTypeName" - case 9 => "possibleTypes" - case 10 => "typeFullName" - case _ => "" - } - - override def productElement(n: Int): Any = - n match { - case 0 => this.argumentIndex - case 1 => this.argumentName - case 2 => this.code - case 3 => this.columnNumber - case 4 => this.containedRef - case 5 => this.dynamicTypeHintFullName - case 6 => this.lineNumber - case 7 => this.order - case 8 => this.parserTypeName - case 9 => this.possibleTypes - case 10 => this.typeFullName - case _ => null - } - - override def productPrefix = "NewUnknown" - override def productArity = 11 - override def canEqual(that: Any): Boolean = that != null && that.isInstanceOf[NewUnknown] -}