io.joern.rubysrc2cpg.passes

Members list

Type members

Classlikes

class AstCreationPass(cpg: Cpg, astCreators: List[AstCreator]) extends ConcurrentWriterCpgPass[AstCreator]

Attributes

Supertypes
class ConcurrentWriterCpgPass[AstCreator]
class NewStyleCpgPassBase[AstCreator]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all
class ConfigFileCreationPass(cpg: Cpg) extends XConfigFileCreationPass

Creates the CONFIGURATION layer from any existing Gemfile or Gemfile.lock files found at root level.

Creates the CONFIGURATION layer from any existing Gemfile or Gemfile.lock files found at root level.

Attributes

Supertypes
class XConfigFileCreationPass
class ConcurrentWriterCpgPass[File]
class NewStyleCpgPassBase[File]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all
object Defines

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Defines.type
class DependencyPass(cpg: Cpg) extends ForkJoinParallelCpgPass[ConfigFile]

Parses the dependencies from the Gemfile.lock and Gemfile files. This pass uses a dependency node to store the Ruby Gems resolver with the name as Defines.Resolver and version as the URL.

Parses the dependencies from the Gemfile.lock and Gemfile files. This pass uses a dependency node to store the Ruby Gems resolver with the name as Defines.Resolver and version as the URL.

Value parameters

cpg

the graph.

Attributes

Supertypes
class ForkJoinParallelCpgPass[ConfigFile]
class NewStyleCpgPassBase[ConfigFile]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all
class ImplicitRequirePass(cpg: Cpg, programSummary: RubyProgramSummary) extends ForkJoinParallelCpgPass[Method]

In some Ruby frameworks, it is common to have an autoloader library that implicitly loads requirements onto the stack. This pass makes these imports explicit. The most popular one is Zeitwerk which we check in Gemsfile.lock to enable this pass.

In some Ruby frameworks, it is common to have an autoloader library that implicitly loads requirements onto the stack. This pass makes these imports explicit. The most popular one is Zeitwerk which we check in Gemsfile.lock to enable this pass.

Attributes

Supertypes
class ForkJoinParallelCpgPass[Method]
class NewStyleCpgPassBase[Method]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all
class ImportsPass(cpg: Cpg) extends ForkJoinParallelCpgPass[Call]

Attributes

Supertypes
class ForkJoinParallelCpgPass[Call]
class NewStyleCpgPassBase[Call]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all
class RubyImportResolverPass(cpg: Cpg) extends XImportResolverPass

Attributes

Supertypes
class XImportResolverPass
class ConcurrentWriterCpgPass[Import]
class NewStyleCpgPassBase[Import]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all
class RubyTypeHintCallLinker(cpg: Cpg) extends XTypeHintCallLinker

Attributes

Supertypes
class XTypeHintCallLinker
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all
class RubyTypeRecoveryPassGenerator(cpg: Cpg, config: XTypeRecoveryConfig) extends XTypeRecoveryPassGenerator[File]

Attributes

Supertypes
class XTypeRecoveryPassGenerator[File]
class Object
trait Matchable
class Any