RubyIntermediateAst

io.joern.rubysrc2cpg.astcreation.RubyIntermediateAst

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

final case class AliasStatement(oldName: String, newName: String)(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class AnonymousClassDeclaration(name: RubyNode, baseClass: Option[RubyNode], body: RubyNode)(span: TextSpan) extends RubyNode, AnonymousTypeDeclaration

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class RubyNode
class Object
trait Matchable
class Any
Show all
Known subtypes
final case class ArrayLiteral(elements: List[RubyNode])(span: TextSpan) extends RubyNode, LiteralExpr

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait LiteralExpr
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class ArrayParameter(name: String)(span: TextSpan) extends RubyNode, CollectionParameter

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class Association(key: RubyNode, value: RubyNode)(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class AttributeAssignment(target: RubyNode, op: String, attributeName: String, rhs: RubyNode)(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class BinaryExpression(lhs: RubyNode, op: String, rhs: RubyNode)(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class Block(parameters: List[RubyNode], body: RubyNode)(span: TextSpan) extends RubyNode

Represents a do or { .. } (braces) block.

Represents a do or { .. } (braces) block.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class BreakStatement()(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class CaseExpression(expression: Option[RubyNode], whenClauses: List[RubyNode], elseClause: Option[RubyNode])(span: TextSpan) extends RubyNode, ControlFlowExpression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class ClassDeclaration(name: RubyNode, baseClass: Option[RubyNode], body: RubyNode, fields: List[RubyNode & RubyFieldIdentifier])(span: TextSpan) extends RubyNode, TypeDeclaration

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class ClassFieldIdentifier()(span: TextSpan) extends RubyNode, RubyFieldIdentifier

Represents a ClassFieldIdentifier e.g @@x

Represents a ClassFieldIdentifier e.g @@x

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
sealed trait CollectionParameter extends MethodParameter

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
sealed trait ControlFlowClause

A control structure's clause, which may contain an additional control structures.

A control structure's clause, which may contain an additional control structures.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
sealed trait ControlFlowExpression

Any structure that conditionally modifies the control flow of the program.

Any structure that conditionally modifies the control flow of the program.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class DummyNode(node: NewNode)(span: TextSpan) extends RubyNode

A dummy class for wrapping around NewNode and allowing it to integrate with RubyNode classes.

A dummy class for wrapping around NewNode and allowing it to integrate with RubyNode classes.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class DynamicLiteral(typeFullName: String, expressions: List[RubyNode])(span: TextSpan) extends RubyNode, LiteralExpr

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait LiteralExpr
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class ElsIfClause(condition: RubyNode, thenClause: RubyNode)(span: TextSpan) extends RubyNode, ControlFlowClause

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class ElseClause(thenClause: RubyNode)(span: TextSpan) extends RubyNode, ControlFlowClause

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class EnsureClause(thenClause: RubyNode)(span: TextSpan) extends RubyNode, ControlFlowClause

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class FieldsDeclaration(fieldNames: List[RubyNode])(span: TextSpan) extends RubyNode, AllowedTypeDeclarationChild

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class ForExpression(forVariable: RubyNode, iterableVariable: RubyNode, doBlock: RubyNode)(span: TextSpan) extends RubyNode, ControlFlowExpression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class HashLiteral(elements: List[RubyNode])(span: TextSpan) extends RubyNode, LiteralExpr

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait LiteralExpr
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class HashParameter(name: String)(span: TextSpan) extends RubyNode, CollectionParameter

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class HereDocNode(content: String)(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class IfExpression(condition: RubyNode, thenClause: RubyNode, elsifClauses: List[RubyNode], elseClause: Option[RubyNode])(span: TextSpan) extends RubyNode, ControlFlowExpression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class IncludeCall(target: RubyNode, argument: RubyNode)(span: TextSpan) extends RubyNode, RubyCall

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RubyCall
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class IndexAccess(target: RubyNode, indices: List[RubyNode])(span: TextSpan) extends RubyNode

Represents index accesses, e.g. x[0], self.x.y[1, 2]

Represents index accesses, e.g. x[0], self.x.y[1, 2]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class InstanceFieldIdentifier()(span: TextSpan) extends RubyNode, RubyFieldIdentifier

Represents a InstanceFieldIdentifier e.g @x

Represents a InstanceFieldIdentifier e.g @x

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
sealed trait LiteralExpr

Represents some kind of literal expression.

Represents some kind of literal expression.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class MandatoryParameter(name: String)(span: TextSpan) extends RubyNode, MethodParameter

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class MemberAccess(target: RubyNode, op: String, memberName: String)(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class MemberCall(target: RubyNode, op: String, methodName: String, arguments: List[RubyNode])(span: TextSpan) extends RubyNode, RubyCall

Represents member calls, e.g. x.y(z,w)

Represents member calls, e.g. x.y(z,w)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RubyCall
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class MemberCallWithBlock(target: RubyNode, op: String, methodName: String, arguments: List[RubyNode], block: Block)(span: TextSpan) extends RubyNode, RubyCallWithBlock[MemberCall]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RubyCall
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class MethodDeclaration(methodName: String, parameters: List[RubyNode], body: RubyNode)(span: TextSpan) extends RubyNode, AllowedTypeDeclarationChild

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
sealed trait MethodParameter

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class ModuleDeclaration(name: RubyNode, body: RubyNode)(span: TextSpan) extends RubyNode, TypeDeclaration

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class MultipleAssignment(assignments: List[SingleAssignment])(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
sealed trait ObjectInstantiation extends RubyCall

A Ruby node that instantiates objects.

A Ruby node that instantiates objects.

Attributes

Supertypes
trait RubyCall
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RubyCall
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class OptionalParameter(name: String, defaultExpression: RubyNode)(span: TextSpan) extends RubyNode, MethodParameter

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class ProcOrLambdaExpr(block: Block)(span: TextSpan) extends RubyNode

Represents standalone proc { ... } or lambda { ... } expressions

Represents standalone proc { ... } or lambda { ... } expressions

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class ProcParameter(name: String)(span: TextSpan) extends RubyNode, MethodParameter

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class RangeExpression(lowerBound: RubyNode, upperBound: RubyNode, rangeOperator: RangeOperator)(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class RangeOperator(exclusive: Boolean)(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class RequireCall(target: RubyNode, argument: RubyNode, isRelative: Boolean)(span: TextSpan) extends RubyNode, RubyCall

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RubyCall
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class RescueClause(exceptionClassList: Option[RubyNode], assignment: Option[RubyNode], thenClause: RubyNode)(span: TextSpan) extends RubyNode, ControlFlowClause

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class RescueExpression(body: RubyNode, rescueClauses: List[RubyNode], elseClause: Option[RubyNode], ensureClause: Option[RubyNode])(span: TextSpan) extends RubyNode, ControlFlowExpression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class ReturnExpression(expressions: List[RubyNode])(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
sealed trait RubyCall

Represents a call.

Represents a call.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
sealed trait RubyCallWithBlock[C <: RubyCall] extends RubyCall

Represents a call with a block argument.

Represents a call with a block argument.

Attributes

Supertypes
trait RubyCall
class Object
trait Matchable
class Any
Known subtypes
sealed trait RubyFieldIdentifier extends RubyIdentifier

Ruby Instance or Class Variable Identifiers: @a, @@a

Ruby Instance or Class Variable Identifiers: @a, @@a

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
sealed trait RubyIdentifier

Any structure that is an Identifier, except self. e.g. a, @a, @@a

Any structure that is an Identifier, except self. e.g. a, @a, @@a

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
implicit class RubyNodeHelper(node: RubyNode)

Attributes

Supertypes
class Object
trait Matchable
class Any
final case class SelfIdentifier()(span: TextSpan) extends RubyNode, SingletonMethodIdentifier

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class SimpleCall(target: RubyNode, arguments: List[RubyNode])(span: TextSpan) extends RubyNode, RubyCall

Represents traditional calls, e.g. foo, foo x, y, foo(x,y)

Represents traditional calls, e.g. foo, foo x, y, foo(x,y)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RubyCall
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class SimpleCallWithBlock(target: RubyNode, arguments: List[RubyNode], block: Block)(span: TextSpan) extends RubyNode, RubyCallWithBlock[SimpleCall]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RubyCall
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class SimpleIdentifier(typeFullName: Option[String])(span: TextSpan) extends RubyNode, RubyIdentifier, SingletonMethodIdentifier

Represents an unqualified identifier e.g. X, x, @@x, $x, $<, etc.

Represents an unqualified identifier e.g. X, x, @@x, $x, $<, etc.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class SimpleObjectInstantiation(target: RubyNode, arguments: List[RubyNode])(span: TextSpan) extends RubyNode, ObjectInstantiation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RubyCall
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class SingleAssignment(lhs: RubyNode, op: String, rhs: RubyNode)(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class SingletonClassDeclaration(name: RubyNode, baseClass: Option[RubyNode], body: RubyNode)(span: TextSpan) extends RubyNode, AnonymousTypeDeclaration

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class SingletonMethodDeclaration(target: RubyNode, methodName: String, parameters: List[RubyNode], body: RubyNode)(span: TextSpan) extends RubyNode, AllowedTypeDeclarationChild

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class SplattingRubyNode(name: RubyNode)(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class StatementList(statements: List[RubyNode])(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class StaticLiteral(typeFullName: String)(span: TextSpan) extends RubyNode, LiteralExpr

Represents a non-interpolated literal.

Represents a non-interpolated literal.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait LiteralExpr
class RubyNode
class Object
trait Matchable
class Any
Show all
case class TextSpan(line: Option[Integer], column: Option[Integer], lineEnd: Option[Integer], columnEnd: Option[Integer], text: String)

Attributes

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

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class UnaryExpression(op: String, expression: RubyNode)(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class Unknown()(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class UnlessExpression(condition: RubyNode, trueBranch: RubyNode, falseBranch: Option[RubyNode])(span: TextSpan) extends RubyNode, ControlFlowExpression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class UntilExpression(condition: RubyNode, body: RubyNode)(span: TextSpan) extends RubyNode, ControlFlowExpression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class WhenClause(matchExpressions: List[RubyNode], matchSplatExpression: Option[RubyNode], thenClause: RubyNode)(span: TextSpan) extends RubyNode, ControlFlowClause

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class WhileExpression(condition: RubyNode, body: RubyNode)(span: TextSpan) extends RubyNode, ControlFlowExpression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class YieldExpr(arguments: List[RubyNode])(span: TextSpan) extends RubyNode

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all

Implicits

Implicits

final implicit def RubyNodeHelper(node: RubyNode): RubyNodeHelper