private Statement ProcessVariableDeclarationStatement(VariableDeclarationNode node) { VariableDeclarationStatement statement = new VariableDeclarationStatement(); TypeSymbol variableType = _symbolSet.ResolveType(node.Type, _symbolTable, _memberContext); foreach (VariableInitializerNode initializerNode in node.Initializers) { string name = initializerNode.Name.Name; VariableSymbol symbol = new VariableSymbol(name, _memberContext, variableType); if (initializerNode.Value != null) { Expression value = _expressionBuilder.BuildExpression(initializerNode.Value); if (value is MemberExpression) { value = _expressionBuilder.TransformMemberExpression((MemberExpression)value); } symbol.SetValue(value); } _symbolTable.AddSymbol(symbol); statement.AddVariable(symbol); } return(statement); }