io.joern.x2cpg.Defines.scala Maven / Gradle / Ivy
package io.joern.x2cpg
object Defines {
// Represents an unresolved type, or indicates that one cannot guarantee a single type
// for the given node.
val Any = "ANY"
// The following two defines should be used for type and method full names to
// indicate unresolved static type information. Using them enables
// the closed source backend to apply policies in a less strict fashion.
// The most notable case is the METHOD_FULL_NAME property of a CALL node.
// As example consider a call to a method `foo(someArg)` which cannot be
// resolved. The METHOD_FULL_NAME should be given as
// ".foo:(1)". If the namespace is known
// the METHOD_FULL_NAME should be given as
// "some.namespace.foo:(1)". Thereby the number in parenthesis
// is the number of call arguments.
// Note that this schema and thus the defines only makes sense for statically
// typed languages with a package/namespace structure like Java, CSharp, etc..
val UnresolvedNamespace = ""
val UnresolvedSignature = ""
// Name of the synthetic, static method that contains the initialization of member variables.
val StaticInitMethodName = ""
// Name of the constructor.
val ConstructorMethodName = ""
// In some languages like Javascript dynamic calls do not provide any statically known
// method/function interface information. In those cases please use this value.
val DynamicCallUnknownFullName = ""
// Anonymous functions, lambdas, and closures, follow the naming scheme of $LambdaPrefix$int
val ClosurePrefix = ""
val LeftAngularBracket = "<"
val Unknown = ""
}