From 2f6e1c1984486d5729655a8afcefdecd88f2f51c Mon Sep 17 00:00:00 2001 From: xieguigang Date: Thu, 25 Jun 2020 21:49:11 +0800 Subject: [PATCH] query expression and data source handler --- .../Interpreter/Query/AggregateExpression.vb | 2 +- LINQ/LINQ/Interpreter/Query/DataSoruce.vb | 25 +++++++++++++++++++ .../Interpreter/Query/ProjectionExpression.vb | 2 +- LINQ/LINQ/Interpreter/Query/Query.vb | 6 +++++ LINQ/LINQ/LINQ.vbproj | 2 ++ 5 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 LINQ/LINQ/Interpreter/Query/DataSoruce.vb create mode 100644 LINQ/LINQ/Interpreter/Query/Query.vb diff --git a/LINQ/LINQ/Interpreter/Query/AggregateExpression.vb b/LINQ/LINQ/Interpreter/Query/AggregateExpression.vb index ac67f26..f44450d 100644 --- a/LINQ/LINQ/Interpreter/Query/AggregateExpression.vb +++ b/LINQ/LINQ/Interpreter/Query/AggregateExpression.vb @@ -1,6 +1,6 @@ Namespace Interpreter.Query - Public Class AggregateExpression + Public Class AggregateExpression : Inherits QueryExpression End Class End Namespace \ No newline at end of file diff --git a/LINQ/LINQ/Interpreter/Query/DataSoruce.vb b/LINQ/LINQ/Interpreter/Query/DataSoruce.vb new file mode 100644 index 0000000..094ba73 --- /dev/null +++ b/LINQ/LINQ/Interpreter/Query/DataSoruce.vb @@ -0,0 +1,25 @@ +Imports LINQ.Interpreter.Expressions +Imports LINQ.Runtime + +Namespace Interpreter.Query + + Public MustInherit Class DataSet + + Public MustOverride Function PopulatesData(source As Object, driver As SymbolReference, env As Environment) As IEnumerable(Of Object) + + End Class + + Public Class SymbolIterator : Inherits DataSet + + Public Overrides Function PopulatesData(source As Object, driver As SymbolReference, env As Environment) As IEnumerable(Of Object) + Throw New NotImplementedException() + End Function + End Class + + Public Class URIIteratorDriver : Inherits DataSet + + Public Overrides Function PopulatesData(source As Object, driver As SymbolReference, env As Environment) As IEnumerable(Of Object) + Throw New NotImplementedException() + End Function + End Class +End Namespace \ No newline at end of file diff --git a/LINQ/LINQ/Interpreter/Query/ProjectionExpression.vb b/LINQ/LINQ/Interpreter/Query/ProjectionExpression.vb index 3b2da32..3768195 100644 --- a/LINQ/LINQ/Interpreter/Query/ProjectionExpression.vb +++ b/LINQ/LINQ/Interpreter/Query/ProjectionExpression.vb @@ -1,6 +1,6 @@ Namespace Interpreter.Query - Public Class ProjectionExpression + Public Class ProjectionExpression : Inherits QueryExpression End Class End Namespace \ No newline at end of file diff --git a/LINQ/LINQ/Interpreter/Query/Query.vb b/LINQ/LINQ/Interpreter/Query/Query.vb new file mode 100644 index 0000000..272cb4c --- /dev/null +++ b/LINQ/LINQ/Interpreter/Query/Query.vb @@ -0,0 +1,6 @@ +Namespace Interpreter.Query + + Public MustInherit Class QueryExpression + + End Class +End Namespace \ No newline at end of file diff --git a/LINQ/LINQ/LINQ.vbproj b/LINQ/LINQ/LINQ.vbproj index 0bb959a..8efec25 100644 --- a/LINQ/LINQ/LINQ.vbproj +++ b/LINQ/LINQ/LINQ.vbproj @@ -90,6 +90,8 @@ + +