package me.august.lumen.compile.parser.components;
import me.august.lumen.compile.parser.TokenParser;
import me.august.lumen.compile.parser.ast.expr.CastExpr;
import me.august.lumen.compile.parser.ast.expr.Expression;
import me.august.lumen.compile.resolve.type.UnresolvedType;
import me.august.lumen.compile.scanner.Token;
public class CastParser implements InfixParser {
@Override
public Expression parse(TokenParser parser, Expression left, Token token) {
UnresolvedType type = parser.nextUnresolvedType();
return new CastExpr(left, type);
}
@Override
public int getPrecedence() {
return Precedence.CAST.getLevel();
}
}