make ExpressionContext public, add ResolveType function to ExpressionContext