TokenCache class
A bounded least-recently-used cache from a tokenize key to its
List<List<ThemedToken>> result.
Eviction is dual-bounded: entries are dropped oldest-first until both maxEntries and maxChars (the summed length of cached source) are satisfied. The char bound keeps a few large files from dominating memory.
Constructors
- TokenCache({int maxEntries = 64, int maxChars = 4 * 1024 * 1024})
-
Creates a TokenCache bounded by
maxEntriesandmaxChars.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- length → int
-
The current number of cached entries.
no setter
- maxChars → int
-
The maximum summed source length (in characters) of cached entries
before oldest ones are evicted.
final
- maxEntries → int
-
The maximum number of cached entries before oldest ones are evicted.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
clear(
) → void - Removes all cached entries.
-
contains(
String key) → bool -
Whether
keyis currently cached. Does not affect recency ordering. -
get(
String key) → List< List< ?ThemedToken> > -
The cached tokens for
key, or null. A hit markskeymost-recently-used. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
put(
String key, List< List< tokens, int chars) → voidThemedToken> > -
Stores
tokensforkey, evicting oldest entries until within bounds.charsis the source length used for the maxChars budget. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
keyFor(
String code, TokenizeOptions options) → String - The tokenize inputs that affect the resulting tokens, as a single key.