diff --git a/Upsilon/Binder/Binder.cs b/Upsilon/Binder/Binder.cs index 48ca93d..e76da57 100644 --- a/Upsilon/Binder/Binder.cs +++ b/Upsilon/Binder/Binder.cs @@ -251,8 +251,16 @@ namespace Upsilon.Binder { if (assignment.Type == Type.Table) { - var tableExpression = (BoundTableExpression) assignment; - variable = new TableVariableSymbol(name, isLocal, tableExpression.Expressions); + if (assignment.Kind == BoundKind.BoundTableExpression) + { + variable = new TableVariableSymbol(name, isLocal, ((BoundTableExpression)assignment).Expressions); + } + else if (assignment.Kind == BoundKind.VariableExpression) + { + variable = new TableVariableSymbol(name, isLocal, + ((TableVariableSymbol) ((BoundVariableExpression) assignment).Variable.VariableSymbol) + .Variables); + } } else {