io.joern.console

Members list

Type members

Classlikes

Base class for ReplBridge, split by topic into multiple self types.

Base class for ReplBridge, split by topic into multiple self types.

Attributes

Supertypes
class Object
trait Matchable
class Any
Show all
object Commit

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Commit.type
class Commit(opts: CommitOptions) extends LayerCreator

Attributes

Companion
object
Supertypes
class LayerCreator
class Object
trait Matchable
class Any
class CommitOptions(var diffGraphBuilder: DiffGraphBuilder) extends LayerCreatorOptions

Attributes

Supertypes
class LayerCreatorOptions
class Object
trait Matchable
class Any
case class Config(scriptFile: Option[Path], command: Option[String], params: Map[String, String], additionalImports: Seq[Path], additionalClasspathEntries: Seq[String], addPlugin: Option[String], rmPlugin: Option[String], pluginToRun: Option[String], listPlugins: Boolean, src: Option[String], language: Option[String], overwrite: Boolean, store: Boolean, server: Boolean, serverHost: String, serverPort: Int, serverAuthUsername: Option[String], serverAuthPassword: Option[String], nocolors: Boolean, cpgToLoad: Option[File], forInputPath: Option[String], frontendArgs: Array[String], verbose: Boolean, dependencies: Seq[String], resolvers: Seq[String], maxHeight: Option[Int])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
class Console[T <: Project](loader: WorkspaceLoader[T], baseDir: File)(implicit availableWidthProvider: AvailableWidthProvider) extends Reporting

Attributes

Companion
object
Supertypes
trait Reporting
class Object
trait Matchable
class Any
object Console

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Console.type
class ConsoleConfig(val install: InstallConfig, val frontend: FrontendConfig, val tools: ToolsConfig)

Attributes

Supertypes
class Object
trait Matchable
class Any
class ConsoleException(message: String, cause: Option[Throwable]) extends RuntimeException, NoStackTrace

Attributes

Supertypes
trait NoStackTrace
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
object CpgConverter

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
class Error(message: String) extends RuntimeException, NoStackTrace

If you need to throw an Exception that renders ok-ish to the user. e.g. cpg.help when no cpg is loaded:

If you need to throw an Exception that renders ok-ish to the user. e.g. cpg.help when no cpg is loaded:

joern> cpg.help
io.joern.console.Error: No CPG loaded for project c - try e.g. `help|importCode|importCpg|open`

In comparison, with a regular Exception the user sees

joern> cpg.help
java.lang.RuntimeException: No CPG loaded for project console1665115232529348622
- try e.g. `help|importCode|importCpg|open`
 at io.joern.console.workspacehandling.WorkspaceManager.cpg(WorkspaceManager.scala:218)
 at io.joern.console.Console.cpg(Console.scala:137)
 ... 39 elided

Attributes

Supertypes
trait NoStackTrace
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
class FrontendConfig(var cmdLineParams: Iterable[String])

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type

A dirty hack to capture the reported output for the server-mode. Context: server mode is a bit tricky, because the reporting happens inside the repl, but we want to retrieve it from the context outside the repl, and the two have separate classloaders. There's probably a cleaner way, but for now this serves our needs.

A dirty hack to capture the reported output for the server-mode. Context: server mode is a bit tricky, because the reporting happens inside the repl, but we want to retrieve it from the context outside the repl, and the two have separate classloaders. There's probably a cleaner way, but for now this serves our needs.

Note that this convolutes the output from concurrently-running jobs - so we should not run UserRunnables concurrently.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object Help

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Help.type
class InstallConfig(environment: Map[String, String])

Installation configuration of Console

Installation configuration of Console

Value parameters

environment

A map of system environment variables.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object InstallConfig

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait BridgeBase
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait BridgeBase
Self type
class PluginManager(val installDir: File)

Plugin management component

Plugin management component

Joern allows plugins to be installed. A plugin at the very least consists of a class that inherits from LayerCreator, bundled in a jar file, packaged in a zip file. The zip file may furthermore contain any dependency jars that the plugin requires and that are not included on the joern class path by default.

Value parameters

installDir

the Joern/Ocular installation dir

Attributes

Supertypes
class Object
trait Matchable
class Any
trait Reporting

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ImportCode[T]
class WorkspaceManager[ProjectType]
class Console[T]
object Run

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Run.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait BridgeBase
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait BridgeBase
Self type
implicit class StringOps(value: String)

Attributes

Supertypes
class Object
trait Matchable
class Any
object ToolsConfig

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class ToolsConfig(var imageViewer: String)

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
implicit class UnixUtils[A](content: Iterable[A])

Attributes

Supertypes
class Object
trait Matchable
class Any

Implicits

Implicits

final implicit def StringOps(value: String): StringOps
final implicit def UnixUtils[A](content: Iterable[A]): UnixUtils[A]
implicit val defaultAvailableWidthProvider: AvailableWidthProvider