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 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
Known subtypes
final case class ArrayLiteral(elements: 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 ArrayParameter(name: Option[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 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 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)(span: TextSpan) extends RubyNode, TypeDeclaration

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
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

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
final case class HashParameter(name: Option[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 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 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, methodName: 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

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
final case class ObjectInstantiation(clazz: RubyNode, 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
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 ProcParameter(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 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 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
implicit class RubyNodeHelper(node: RubyNode)

Attributes

Supertypes
class Object
trait Matchable
class Any
final case class SelfIdentifier()(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 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

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

Represents an unqualified identifier e.g. X, 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 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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class RubyNode
class Object
trait Matchable
class Any
Show all
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

Represents a non-interpolated literal.

Represents a non-interpolated literal.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
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
sealed trait TypeDeclaration

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

Implicits

Implicits

final implicit def RubyNodeHelper(node: RubyNode): RubyNodeHelper