io.joern.x2cpg.datastructures

Members list

Type members

Classlikes

class DefaultTypedScope[M <: MethodLike, F <: FieldLike, T <: TypeLike[M, F]](summary: ProgramSummary[T]) extends Scope[String, DeclarationNew, TypedScopeElement], TypedScope[M, F, T]

An implementation of combining the typed scoping structures to manage the available type information at namespace levels.

An implementation of combining the typed scoping structures to manage the available type information at namespace levels.

Type parameters

F

the field/object property meta data class.

M

the method/function meta data class.

T

the type/class meta data class.

Value parameters

summary

the program summary.

Attributes

Supertypes
trait TypedScope[M, F, T]
class Scope[String, DeclarationNew, TypedScopeElement]
class Object
trait Matchable
class Any
trait FieldLike extends MemberLike

A member that behaves like a field/property/module variabe.

A member that behaves like a field/property/module variabe.

Attributes

Supertypes
trait MemberLike
class Object
trait Matchable
class Any
class Global

Attributes

Supertypes
class Object
trait Matchable
class Any
trait MemberLike

An entity that is a member to some type or module.

An entity that is a member to some type or module.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait FieldLike
trait MethodLike
trait MethodLike extends MemberLike

A function or procedure.

A function or procedure.

Attributes

Supertypes
trait MemberLike
class Object
trait Matchable
class Any

A namespace scope to synchronise types entering and exiting scopes.

A namespace scope to synchronise types entering and exiting scopes.

Attributes

Supertypes
class Object
trait Matchable
class Any
trait ProgramSummary[T <: TypeLike[_, _]]

A hierarchical data-structure that stores the result of types and their respective members. These types can be sourced from pre-parsing the application, or pre-computed stubs of common libraries.

A hierarchical data-structure that stores the result of types and their respective members. These types can be sourced from pre-parsing the application, or pre-computed stubs of common libraries.

The utility of this object is in assisting resolving shorthand types during AST creation.

Type parameters

T

the type/class meta data class.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
class Scope[I, V, S]

Handles the scope stack for tracking identifier to variable relation.

Handles the scope stack for tracking identifier to variable relation.

Type parameters

I

Identifier type.

S

Scope type.

V

Variable type.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class DefaultTypedScope[M, F, T]
case class ScopeElement[I, V, S](scopeNode: S, variables: Map[I, V])

A single element of a scope stack.

A single element of a scope stack.

Type parameters

I

Identifier type.

S

Scope type.

V

Variable type.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Stack

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Stack.type
trait TypeLike[M <: MethodLike, F <: FieldLike]

A type declaration or module. Holds methods and field entities.

A type declaration or module. Holds methods and field entities.

Type parameters

F

the field/object property meta data class.

M

the method/function meta data class.

Attributes

Supertypes
class Object
trait Matchable
class Any
trait TypedScope[M <: MethodLike, F <: FieldLike, T <: TypeLike[M, F]](summary: ProgramSummary[T])

Extends the capability of the scope object to track types in scope as provide type resolution.

Extends the capability of the scope object to track types in scope as provide type resolution.

Type parameters

F

the field/object property meta data class.

M

the method/function meta data class.

T

the type/class meta data class.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class DefaultTypedScope[M, F, T]
Self type

A scope element designed for the TypedScope.

A scope element designed for the TypedScope.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes