Class AssemblyStringMapTerminal
- java.lang.Object
-
- ghidra.app.plugin.assembler.sleigh.symbol.AssemblySymbol
-
- ghidra.app.plugin.assembler.sleigh.symbol.AssemblyTerminal
-
- ghidra.app.plugin.assembler.sleigh.symbol.AssemblyStringMapTerminal
-
- All Implemented Interfaces:
java.lang.Comparable<AssemblySymbol>
public class AssemblyStringMapTerminal extends AssemblyTerminal
A terminal that accepts only a particular set of strings, mapping each to a numeric value- See Also:
NameSymbol
,VarnodeListSymbol
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.commons.collections4.MultiValuedMap<java.lang.String,java.lang.Integer>
map
-
Fields inherited from class ghidra.app.plugin.assembler.sleigh.symbol.AssemblySymbol
name
-
-
Constructor Summary
Constructors Constructor Description AssemblyStringMapTerminal(java.lang.String name, org.apache.commons.collections4.MultiValuedMap<java.lang.String,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 string, 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 positionjava.lang.String
toString()
-
Methods inherited from class ghidra.app.plugin.assembler.sleigh.symbol.AssemblySymbol
compareTo, equals, getName, hashCode, takesOperandIndex
-
-
-
-
Constructor Detail
-
AssemblyStringMapTerminal
public AssemblyStringMapTerminal(java.lang.String name, org.apache.commons.collections4.MultiValuedMap<java.lang.String,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 text 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- Specified by:
match
in classAssemblyTerminal
- 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 string, 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- Specified by:
getSuggestions
in classAssemblyTerminal
- Parameters:
string
- the remaining contents of the input bufferlabels
- the program labels, if applicable- Returns:
- a, possibly empty, collection of suggestions
-
toString
public java.lang.String toString()
- Specified by:
toString
in classAssemblySymbol
-
-