Class KotlinScriptProvider

java.lang.Object
ghidra.app.script.GhidraScriptProvider
com.goatshriek.rubydragon.kotlin.KotlinScriptProvider
All Implemented Interfaces:
ghidra.util.classfinder.ExtensionPoint, Comparable<ghidra.app.script.GhidraScriptProvider>

public class KotlinScriptProvider extends ghidra.app.script.GhidraScriptProvider
Supports Kotlin scripts within Ghidra.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    createNewScript(generic.jar.ResourceFile newScript, String category)
    Creates a new script file for the given script and category.
    Returns a Pattern that matches block comment closings.
    Returns a Pattern that matches block comment openings.
    The comment character for Kotlin scripts.
    A short description of the type of scripts this provider supports.
    The extension of Kotlin scripts, including the period.
    ghidra.app.script.GhidraScript
    getScriptInstance(generic.jar.ResourceFile sourceFile, PrintWriter writer)
    Creates a new KotlinScript instance for the given file and returns it.

    Methods inherited from class ghidra.app.script.GhidraScriptProvider

    compareTo, deleteScript, equals, getRuntimeEnvironmentName, hashCode, toString

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • KotlinScriptProvider

      public KotlinScriptProvider()
  • Method Details

    • createNewScript

      public void createNewScript(generic.jar.ResourceFile newScript, String category) throws IOException
      Creates a new script file for the given script and category.
      Specified by:
      createNewScript in class ghidra.app.script.GhidraScriptProvider
      Throws:
      IOException
    • getBlockCommentStart

      public Pattern getBlockCommentStart()
      Returns a Pattern that matches block comment openings. For Kotlin this is "/*".
      Overrides:
      getBlockCommentStart in class ghidra.app.script.GhidraScriptProvider
      Returns:
      the Pattern for Kotlin block comment openings
    • getBlockCommentEnd

      public Pattern getBlockCommentEnd()
      Returns a Pattern that matches block comment closings. In Kotlin this is an asterisk followed by a forward slash.
      Overrides:
      getBlockCommentEnd in class ghidra.app.script.GhidraScriptProvider
      Returns:
      the Pattern for Kotlin block comment closings
    • getCommentCharacter

      public String getCommentCharacter()
      The comment character for Kotlin scripts.
      Specified by:
      getCommentCharacter in class ghidra.app.script.GhidraScriptProvider
    • getDescription

      public String getDescription()
      A short description of the type of scripts this provider supports.
      Specified by:
      getDescription in class ghidra.app.script.GhidraScriptProvider
    • getExtension

      public String getExtension()
      The extension of Kotlin scripts, including the period.
      Specified by:
      getExtension in class ghidra.app.script.GhidraScriptProvider
    • getScriptInstance

      public ghidra.app.script.GhidraScript getScriptInstance(generic.jar.ResourceFile sourceFile, PrintWriter writer) throws ghidra.app.script.GhidraScriptLoadException
      Creates a new KotlinScript instance for the given file and returns it.
      Specified by:
      getScriptInstance in class ghidra.app.script.GhidraScriptProvider
      Throws:
      ghidra.app.script.GhidraScriptLoadException