diff --git a/LINQ/LINQ/Interpreter/Expressions/MemberReference.vb b/LINQ/LINQ/Interpreter/Expressions/MemberReference.vb index 189393d..29db668 100644 --- a/LINQ/LINQ/Interpreter/Expressions/MemberReference.vb +++ b/LINQ/LINQ/Interpreter/Expressions/MemberReference.vb @@ -1,18 +1,29 @@ Imports LINQ.Runtime +Imports any = Microsoft.VisualBasic.Scripting Namespace Interpreter.Expressions Public Class MemberReference : Inherits Expression ReadOnly symbol As Expression - ReadOnly memberName As Expression + ReadOnly memberName As String Sub New(symbol As Expression, memberName As Expression) Me.symbol = symbol - Me.memberName = memberName + + If TypeOf memberName Is SymbolReference Then + Me.memberName = DirectCast(memberName, SymbolReference).symbolName + ElseIf TypeOf memberName Is Literals Then + Me.memberName = any.ToString(memberName.Exec(Nothing)) + Else + Throw New InvalidExpressionException(memberName.name) + End If End Sub Public Overrides Function Exec(env As Environment) As Object + Dim symbol As Object = Me.symbol.Exec(env) + + Throw New NotImplementedException() End Function