abstract class
Focus::Expression
- Focus::Expression
- Reference
- Object
Direct Known Subclasses
- Focus::AggregateExpression
- Focus::AliasedExpression
- Focus::ArrayExpression(T)
- Focus::BinaryExpression
- Focus::BoolExpression
- Focus::CastExpression
- Focus::ColumnReferenceExpression
- Focus::ComplexExpression
- Focus::DateExpression
- Focus::FunctionExpression
- Focus::IntervalExpression
- Focus::JsonbExpression
- Focus::LiteralExpression(T)
- Focus::NullLiteral
- Focus::NumericExpression
- Focus::PostfixOperatorExpression
- Focus::PrefixOperatorExpression
- Focus::StatementExpression
- Focus::StringExpression
- Focus::TimeExpression
- Focus::TimestampExpression
- Focus::TimestampTzExpression
- Focus::Token
- Focus::ValueExpression
- Focus::WildcardExpression
Defined in:
focus/expression.crInstance Method Summary
-
#accept(visitor : SqlVisitor) : Nil
The visitor pattern seems to fail with generic types the {% @type %} here is to force the compiler to instantiate a separate def for each generic instance https://forum.crystal-lang.org/t/incorrect-overload-selected-with-freevar-and-generic-inheritance/3625
- #aliased(alias_str : String) : Focus::AliasedExpression
- #in_list(expressions : Array(Focus::Expression)) : Focus::BoolExpression
- #in_list(statement : Focus::SelectStatement) : Focus::BoolExpression
- #in_list(*expressions : Focus::Expression) : Focus::BoolExpression
- #is_not_null : Focus::BoolExpression
- #is_null : Focus::BoolExpression
- #not_in_list(expressions : Array(Focus::Expression)) : Focus::BoolExpression
- #not_in_list(statement : Focus::SelectStatement) : Focus::BoolExpression
- #not_in_list(*expressions : Focus::Expression) : Focus::BoolExpression
Instance Method Detail
def accept(visitor : SqlVisitor) : Nil
#
The visitor pattern seems to fail with generic types the {% @type %} here is to force the compiler to instantiate a separate def for each generic instance https://forum.crystal-lang.org/t/incorrect-overload-selected-with-freevar-and-generic-inheritance/3625