Пример #1
0
        Expression EnqueueLocal(Source src, MetaProperty mp, MetaLocation loc, Expression e)
        {
            // TODO: Bugs without if test.
            if (e is PlaceholderArray)
            {
                var var = new Variable(src, null, Generator.CreateLocalName(mp, loc, e), e.ReturnType, VariableType.Default, new PlaceholderValue(mp, loc, e, CurrentMetaPropertyStage));
                LocalQueue.Add(var);

                var result = new LoadLocal(e.Source, var);
                LoadHistory.Add(result);

                if (result.ReturnType is FixedArrayType)
                {
                    return(new AddressOf(result));
                }

                return(result);
            }

            return(e);
        }