QueryExpression.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using Ant.Query.QueryState;
  2. using System;
  3. namespace Ant.Query.QueryExpressions
  4. {
  5. abstract class QueryExpression
  6. {
  7. QueryExpression _prevExpression;
  8. QueryExpressionType _nodeType;
  9. Type _elementType;
  10. protected QueryExpression(QueryExpressionType nodeType, Type elementType, QueryExpression prevExpression)
  11. : base()
  12. {
  13. this._nodeType = nodeType;
  14. this._elementType = elementType;
  15. this._prevExpression = prevExpression;
  16. }
  17. public QueryExpression PrevExpression
  18. {
  19. get
  20. {
  21. return this._prevExpression;
  22. }
  23. }
  24. public virtual QueryExpressionType NodeType
  25. {
  26. get
  27. {
  28. return this._nodeType;
  29. }
  30. }
  31. public virtual Type ElementType
  32. {
  33. get
  34. {
  35. return this._elementType;
  36. }
  37. }
  38. public abstract T Accept<T>(QueryExpressionVisitor<T> visitor);
  39. }
  40. }