Class AssemblyNumericMapTerminal
- java.lang.Object
-
- ghidra.app.plugin.assembler.sleigh.symbol.AssemblySymbol
-
- ghidra.app.plugin.assembler.sleigh.symbol.AssemblyTerminal
-
- ghidra.app.plugin.assembler.sleigh.symbol.AssemblyNumericTerminal
-
- ghidra.app.plugin.assembler.sleigh.symbol.AssemblyNumericMapTerminal
-
- All Implemented Interfaces:
java.lang.Comparable<AssemblySymbol>
public class AssemblyNumericMapTerminal extends AssemblyNumericTerminal
A terminal that accepts only a particular set of numeric values, mapping each to another value This often used for non-conventional numeric encodings.- See Also:
ValueMapSymbol
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.Long,java.lang.Integer>
map
-
Fields inherited from class ghidra.app.plugin.assembler.sleigh.symbol.AssemblyNumericTerminal
bitsize, MAX_LABEL_SUGGESTIONS, PREFIX_HEX, PREFIX_OCT, suggestions
-
Fields inherited from class ghidra.app.plugin.assembler.sleigh.symbol.AssemblySymbol
name
-
-
Constructor Summary
Constructors Constructor Description AssemblyNumericMapTerminal(java.lang.String name, java.util.Map<java.lang.Long,java.lang.Integer> map)
Construct a terminal with the given name, accepting only the keys of a given map
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Collection<java.lang.String>
getSuggestions(java.lang.String got, java.util.Map<java.lang.String,java.lang.Long> labels)
Provide a collection of strings that this terminal would have acceptedjava.util.Collection<AssemblyParseNumericToken>
match(java.lang.String buffer, int pos, AssemblyGrammar grammar, java.util.Map<java.lang.String,java.lang.Long> labels)
Attempt to match a token from the input buffer starting at a given position-
Methods inherited from class ghidra.app.plugin.assembler.sleigh.symbol.AssemblyNumericTerminal
getBitSize, makeToken, match, match, matchDec, matchHex, matchLiteral, matchOct, toString
-
Methods inherited from class ghidra.app.plugin.assembler.sleigh.symbol.AssemblySymbol
compareTo, equals, getName, hashCode, takesOperandIndex
-
-
-
-
Constructor Detail
-
AssemblyNumericMapTerminal
public AssemblyNumericMapTerminal(java.lang.String name, java.util.Map<java.lang.Long,java.lang.Integer> map)
Construct a terminal with the given name, accepting only the keys of a given map- Parameters:
name
- the namemap
- the map from display value to token value
-
-
Method Detail
-
match
public java.util.Collection<AssemblyParseNumericToken> match(java.lang.String buffer, int pos, AssemblyGrammar grammar, java.util.Map<java.lang.String,java.lang.Long> labels)
Description copied from class:AssemblyTerminal
Attempt to match a token from the input buffer starting at a given position- Overrides:
match
in classAssemblyNumericTerminal
- Parameters:
buffer
- the input bufferpos
- the cursor position in the buffergrammar
- the grammar containing this terminallabels
- the program labels, if applicable- Returns:
- the matched token, or null
-
getSuggestions
public java.util.Collection<java.lang.String> getSuggestions(java.lang.String got, java.util.Map<java.lang.String,java.lang.Long> labels)
Description copied from class:AssemblyTerminal
Provide a collection of strings that this terminal would have accepted- Overrides:
getSuggestions
in classAssemblyNumericTerminal
- Parameters:
got
- the remaining contents of the input bufferlabels
- the program labels, if applicable- Returns:
- a, possibly empty, collection of suggestions
-
-