package org.shedlang.compiler.tokeniser; import org.shedlang.compiler.errors.SourceError; import org.shedlang.compiler.sources.FileFragmentSource; public class UnexpectedTokenException extends SourceError { private final String expected; private final Token actual; public UnexpectedTokenException( String expected, Token actual ) { super( "Expected: " + expected + "\nBut got: " + actual.tokenType() + " \"" + actual.value() + "\"", new FileFragmentSource(actual.sourceRange()) ); this.expected = expected; this.actual = actual; } public String getExpected() { return expected; } public Token getActual() { return actual; } }