presto-main/src/main/java/io/prestosql/spi/expression/PartialTranslator.java/PartialTranslator/extractPartialTranslations
class PartialTranslator:    public static Map<NodeRef<Expression>, ConnectorExpression> extractPartialTranslations(
            Expression inputExpression,
            Session session,
            TypeAnalyzer typeAnalyzer,
            TypeProvider typeProvider)
    {
        requireNonNull(inputExpression, "expressions is null");
        requireNonNull(session, "session is null");
        requireNonNull(typeAnalyzer, "typeAnalyzer is null");
        requireNonNull(typeProvider, "typeProvider is null");

        Map<NodeRef<Expression>, ConnectorExpression> partialTranslations = new HashMap<>();
        new Visitor(typeAnalyzer.getTypes(session, typeProvider, inputExpression), partialTranslations).process(inputExpression);
        return ImmutableMap.copyOf(partialTranslations);
    }