-------------------------------------------------------------------------------
-- Copyright (c) 2006-2013 Fabien Fleutot and others.
--
-- All rights reserved.
--
-- This program and the accompanying materials are made available
-- under the terms of the Eclipse Public License v1.0 which
-- accompanies this distribution, and is available at
-- http://www.eclipse.org/legal/epl-v10.html
--
-- This program and the accompanying materials are also made available
-- under the terms of the MIT public license which accompanies this
-- distribution, and is available at http://www.lua.org/license.html
--
-- Contributors:
--     Fabien Fleutot - API and implementation
--
-------------------------------------------------------------------------------

local foo

x = -{ `Stat{ { `Local{ { `Id "B" },
                        { `Stat{ { `Local{ { `Id "A" },
                                           { `Number 4 } },
                                   `Set{ { `Id "y" },
                                         { `Id "A" } } },
                                 `Id "A" } } },
                `Set{ { `Id "x" },
                      { `Id "B" } } },
              `Id "B" } }

assert(x==4)
print "Test passed."

