package org.shedlang.compiler.tokeniser; import org.zwobble.sourcetext.SourceRange; public record Token(SourceRange sourceRange, T tokenType) { public static Token token(SourceRange sourceRange, T tokenType) { return new Token(sourceRange, tokenType); } public String describe() { return tokenType + ": " + sourceRange.charSequence(); } public CharSequence value() { return this.sourceRange.charSequence(); } }