Package ghidra.app.script
Class ResourceFileJavaFileManager
- java.lang.Object
-
- ghidra.app.script.ResourceFileJavaFileManager
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable,javax.tools.JavaFileManager,javax.tools.OptionChecker
public class ResourceFileJavaFileManager extends java.lang.Object implements javax.tools.JavaFileManagerAJavaFileManagerthat works with Ghidra'sResourceFile's.This class is used to dynamically compile Ghidra scripts.
-
-
Constructor Summary
Constructors Constructor Description ResourceFileJavaFileManager(java.util.List<ResourceFile> sourceDirs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidflush()java.lang.ClassLoadergetClassLoader(javax.tools.JavaFileManager.Location location)javax.tools.FileObjectgetFileForInput(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.lang.String relativeName)javax.tools.FileObjectgetFileForOutput(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.lang.String relativeName, javax.tools.FileObject sibling)javax.tools.JavaFileObjectgetJavaFileForInput(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind)javax.tools.JavaFileObjectgetJavaFileForOutput(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind, javax.tools.FileObject sibling)javax.tools.JavaFileManager.LocationgetLocationForModule(javax.tools.JavaFileManager.Location location, java.lang.String moduleName)javax.tools.JavaFileManager.LocationgetLocationForModule(javax.tools.JavaFileManager.Location location, javax.tools.JavaFileObject fo)booleanhandleOption(java.lang.String current, java.util.Iterator<java.lang.String> remaining)booleanhasLocation(javax.tools.JavaFileManager.Location location)java.lang.StringinferBinaryName(javax.tools.JavaFileManager.Location location, javax.tools.JavaFileObject file)java.lang.StringinferModuleName(javax.tools.JavaFileManager.Location location)booleanisSameFile(javax.tools.FileObject a, javax.tools.FileObject b)intisSupportedOption(java.lang.String option)java.lang.Iterable<javax.tools.JavaFileObject>list(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.util.Set<javax.tools.JavaFileObject.Kind> kinds, boolean recurse)java.lang.Iterable<java.util.Set<javax.tools.JavaFileManager.Location>>listLocationsForModules(javax.tools.JavaFileManager.Location location)
-
-
-
Constructor Detail
-
ResourceFileJavaFileManager
public ResourceFileJavaFileManager(java.util.List<ResourceFile> sourceDirs)
-
-
Method Detail
-
isSupportedOption
public int isSupportedOption(java.lang.String option)
- Specified by:
isSupportedOptionin interfacejavax.tools.OptionChecker
-
getClassLoader
public java.lang.ClassLoader getClassLoader(javax.tools.JavaFileManager.Location location)
- Specified by:
getClassLoaderin interfacejavax.tools.JavaFileManager
-
list
public java.lang.Iterable<javax.tools.JavaFileObject> list(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.util.Set<javax.tools.JavaFileObject.Kind> kinds, boolean recurse) throws java.io.IOException- Specified by:
listin interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
inferBinaryName
public java.lang.String inferBinaryName(javax.tools.JavaFileManager.Location location, javax.tools.JavaFileObject file)- Specified by:
inferBinaryNamein interfacejavax.tools.JavaFileManager
-
isSameFile
public boolean isSameFile(javax.tools.FileObject a, javax.tools.FileObject b)- Specified by:
isSameFilein interfacejavax.tools.JavaFileManager
-
handleOption
public boolean handleOption(java.lang.String current, java.util.Iterator<java.lang.String> remaining)- Specified by:
handleOptionin interfacejavax.tools.JavaFileManager
-
hasLocation
public boolean hasLocation(javax.tools.JavaFileManager.Location location)
- Specified by:
hasLocationin interfacejavax.tools.JavaFileManager
-
getJavaFileForInput
public javax.tools.JavaFileObject getJavaFileForInput(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind) throws java.io.IOException- Specified by:
getJavaFileForInputin interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
getJavaFileForOutput
public javax.tools.JavaFileObject getJavaFileForOutput(javax.tools.JavaFileManager.Location location, java.lang.String className, javax.tools.JavaFileObject.Kind kind, javax.tools.FileObject sibling) throws java.io.IOException- Specified by:
getJavaFileForOutputin interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
getFileForInput
public javax.tools.FileObject getFileForInput(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.lang.String relativeName) throws java.io.IOException- Specified by:
getFileForInputin interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
getFileForOutput
public javax.tools.FileObject getFileForOutput(javax.tools.JavaFileManager.Location location, java.lang.String packageName, java.lang.String relativeName, javax.tools.FileObject sibling) throws java.io.IOException- Specified by:
getFileForOutputin interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException- Specified by:
flushin interfacejava.io.Flushable- Specified by:
flushin interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
getLocationForModule
public javax.tools.JavaFileManager.Location getLocationForModule(javax.tools.JavaFileManager.Location location, java.lang.String moduleName) throws java.io.IOException- Specified by:
getLocationForModulein interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
getLocationForModule
public javax.tools.JavaFileManager.Location getLocationForModule(javax.tools.JavaFileManager.Location location, javax.tools.JavaFileObject fo) throws java.io.IOException- Specified by:
getLocationForModulein interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
inferModuleName
public java.lang.String inferModuleName(javax.tools.JavaFileManager.Location location) throws java.io.IOException- Specified by:
inferModuleNamein interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
listLocationsForModules
public java.lang.Iterable<java.util.Set<javax.tools.JavaFileManager.Location>> listLocationsForModules(javax.tools.JavaFileManager.Location location) throws java.io.IOException- Specified by:
listLocationsForModulesin interfacejavax.tools.JavaFileManager- Throws:
java.io.IOException
-
-