when<T> method
T
when<T>({
- required T isTable(),
- required T isSelect(),
- required T isJoin(),
- required T isTableFunction(),
Implementation
T when<T>({
required T Function(TableReference) isTable,
required T Function(SelectStatementAsSource) isSelect,
required T Function(JoinClause) isJoin,
required T Function(TableValuedFunction) isTableFunction,
}) {
if (this is TableReference) {
return isTable(this as TableReference);
} else if (this is SelectStatementAsSource) {
return isSelect(this as SelectStatementAsSource);
} else if (this is JoinClause) {
return isJoin(this as JoinClause);
} else if (this is TableValuedFunction) {
return isTableFunction(this as TableValuedFunction);
}
throw StateError('Unknown subclass');
}