package openmods.calc.parsing;
import com.google.common.base.Preconditions;
import com.google.common.collect.BiMap;
import com.google.common.collect.ImmutableBiMap;
public class TokenUtils {
private static final BiMap<String, String> BRACKETS = ImmutableBiMap.of("(", ")", "{", "}", "[", "]");
public static boolean isOpeningBracket(String bracket) {
return BRACKETS.containsKey(bracket);
}
public static boolean isClosingBracket(String bracket) {
return BRACKETS.containsValue(bracket);
}
public static String getClosingBracket(String bracket) {
return BRACKETS.get(bracket);
}
public static void checkIsValidBracketPair(String openingBracket, String closingBracket) {
final String expectedClosingBracket = getClosingBracket(openingBracket);
Preconditions.checkState(expectedClosingBracket != null, "Unknown bracket: %s", openingBracket);
Preconditions.checkState(expectedClosingBracket.equals(closingBracket), "Unmatched brackets: %s and %s, expected %s", openingBracket, closingBracket, expectedClosingBracket);
}
}