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); }