Package ghidra.python

Class PythonCodeCompletionFactory


  • public class PythonCodeCompletionFactory
    extends java.lang.Object
    Generates CodeCompletions from Python objects.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void changeOptions​(Options options, java.lang.String name, java.lang.Object oldValue, java.lang.Object newValue)
      Handle an Option change.
      static java.lang.Object[] getCallMethods​(org.python.core.PyObject obj)
      Returns the Java __call__ methods declared for a Python object.
      static ghidra.app.plugin.core.console.CodeCompletion newCodeCompletion​(java.lang.String description, java.lang.String insertion, org.python.core.PyObject pyObj)
      Creates a new CodeCompletion from the given Python objects.
      static void setupOptions​(PythonPlugin plugin, Options options)
      Sets up Python code completion Options.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • COMPLETION_LABEL

        public static final java.lang.String COMPLETION_LABEL
        See Also:
        Constant Field Values
      • NULL_COLOR

        public static final java.awt.Color NULL_COLOR
      • FUNCTION_COLOR

        public static final java.awt.Color FUNCTION_COLOR
      • PACKAGE_COLOR

        public static final java.awt.Color PACKAGE_COLOR
      • CLASS_COLOR

        public static final java.awt.Color CLASS_COLOR
      • METHOD_COLOR

        public static final java.awt.Color METHOD_COLOR
      • CODE_COLOR

        public static final java.awt.Color CODE_COLOR
      • INSTANCE_COLOR

        public static final java.awt.Color INSTANCE_COLOR
      • SEQUENCE_COLOR

        public static final java.awt.Color SEQUENCE_COLOR
      • MAP_COLOR

        public static final java.awt.Color MAP_COLOR
      • NUMBER_COLOR

        public static final java.awt.Color NUMBER_COLOR
      • SPECIAL_COLOR

        public static final java.awt.Color SPECIAL_COLOR
    • Constructor Detail

      • PythonCodeCompletionFactory

        public PythonCodeCompletionFactory()
    • Method Detail

      • newCodeCompletion

        public static ghidra.app.plugin.core.console.CodeCompletion newCodeCompletion​(java.lang.String description,
                                                                                      java.lang.String insertion,
                                                                                      org.python.core.PyObject pyObj)
        Creates a new CodeCompletion from the given Python objects.
        Parameters:
        description - description of the new CodeCompletion
        insertion - what will be inserted to make the code complete
        pyObj - a Python Object
        Returns:
        A new CodeCompletion from the given Python objects.
      • setupOptions

        public static void setupOptions​(PythonPlugin plugin,
                                        Options options)
        Sets up Python code completion Options.
        Parameters:
        plugin - python plugin as options owner
        options - an Options handle
      • changeOptions

        public static void changeOptions​(Options options,
                                         java.lang.String name,
                                         java.lang.Object oldValue,
                                         java.lang.Object newValue)
        Handle an Option change. This is named slightly differently because it is a static method, not an instance method. By the time we get here, we assume that the Option changed is indeed ours.
        Parameters:
        options - the Options handle
        name - name of the Option changed
        oldValue - the old value
        newValue - the new value
      • getCallMethods

        public static java.lang.Object[] getCallMethods​(org.python.core.PyObject obj)
        Returns the Java __call__ methods declared for a Python object. Some Python "methods" in the new-style Python objects are actually classes in and of themselves, re-implementing __call__ methods to tell us how to call them. This returns an array of those Methods (for code completion help).
        Parameters:
        obj - a PyObject
        Returns:
        the Java __call__ methods declared for the Python object