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.StringtoString()-
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:AssemblyTerminalAttempt to match a token from the input buffer starting at a given position- Specified by:
matchin 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:AssemblyTerminalProvide a collection of strings that this terminal would have accepted- Specified by:
getSuggestionsin 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:
toStringin classAssemblySymbol
-
-