ExpressionTraversal

io.shiftleft.semanticcpg.language.types.expressions.generalizations.ExpressionTraversal
final class ExpressionTraversal[NodeType <: Expression](val traversal: Iterator[NodeType]) extends AnyVal

An expression (base type)

Attributes

Graph
Supertypes
class AnyVal
trait Matchable
class Any

Members list

Value members

Concrete methods

def expressionDown: Iterator[Expression]

Traverse to sub expressions

Traverse to sub expressions

Attributes

def expressionUp: Iterator[Expression]

Traverse to enclosing expression

Traverse to enclosing expression

Attributes

def inCall: Iterator[Call]

Traverse to surrounding call

Traverse to surrounding call

Attributes

def isArgument: Iterator[Expression]

Only those expressions which are (direct) arguments of a call

Only those expressions which are (direct) arguments of a call

Attributes

def method: Iterator[Method]

Traverse to enclosing method

Traverse to enclosing method

Attributes

def parameter(implicit callResolver: ICallResolver): Iterator[MethodParameterIn]

Traverse to related parameter, if the expression is an argument to a call and the call can be resolved.

Traverse to related parameter, if the expression is an argument to a call and the call can be resolved.

Attributes

def parentExpression: Iterator[Expression]

Traverse to it's parent expression (e.g. call or return) by following the incoming AST It's continuing it's walk until it hits an expression that's not a generic "member access operation", e.g., " .memberAccess".

Traverse to it's parent expression (e.g. call or return) by following the incoming AST It's continuing it's walk until it hits an expression that's not a generic "member access operation", e.g., " .memberAccess".

Attributes

def receivedCall: Iterator[Call]

If the expression is used as receiver for a call, this traverses to the call.

If the expression is used as receiver for a call, this traverses to the call.

Attributes

def typ: Iterator[Type]

Traverse to expression evaluation type

Traverse to expression evaluation type

Attributes

Deprecated methods

def call: Iterator[Call]

Traverse to surrounding call

Traverse to surrounding call

Attributes

Deprecated
true
def toParameter(implicit callResolver: ICallResolver): Iterator[MethodParameterIn]

Traverse to related parameter

Traverse to related parameter

Attributes

Deprecated
true

Concrete fields

val traversal: Iterator[NodeType]