Package ghidra.sleigh.grammar
Class SourceFileIndexer
java.lang.Object
ghidra.sleigh.grammar.SourceFileIndexer
This class is used to index source files in a SLEIGH language module.
The SLEIGH compiler records the index of the source file for a constructor rather
than the file name. This is an optimization to avoid repeating the file name in
the .sla files.
-
Constructor Summary
ConstructorDescriptionCreates a {code SourceFileIndexer} object with an empty index. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Decode an index from a streamvoid
Encode the index to a streamgetFileName
(Integer index) Returns the file name at a given indexReturns the index for a filenameAdds the filename of a location to the index if it is not already present.
-
Constructor Details
-
SourceFileIndexer
public SourceFileIndexer()Creates a {code SourceFileIndexer} object with an empty index.
-
-
Method Details
-
index
Adds the filename of a location to the index if it is not already present. -
getIndex
Returns the index for a filename- Parameters:
filename
- file- Returns:
- index or
null
iffilename
is not in the index.
-
getFileName
Returns the file name at a given index- Parameters:
index
- index- Returns:
- file name or
null
if there is no file with that index
-
encode
Encode the index to a stream- Parameters:
encoder
- stream to write to- Throws:
IOException
- for errors writing to the stream
-
decode
Decode an index from a stream- Parameters:
decoder
- is the stream- Throws:
DecoderException
- for errors in the encoding
-