public override CodePiece GenerateCodeAssignment(CodeGenEnvironment env, SourceCodePosition pos, Expression source, ExpressionValuePointer target, bool reversed) { CodePiece p = new CodePiece(); BTypeArray type = target.GetResultType() as BTypeArray; ExpressionDirectValuePointer vPointer = target as ExpressionDirectValuePointer; if (reversed) { p.AppendLeft(source.GenerateCode(env, reversed)); p.AppendLeft(CodePieceStore.WriteArrayFromStack(env, vPointer.Target.CodeDeclarationPos, reversed)); p.NormalizeX(); } else { p.AppendRight(source.GenerateCode(env, reversed)); p.AppendRight(CodePieceStore.WriteArrayFromStack(env, vPointer.Target.CodeDeclarationPos, reversed)); p.NormalizeX(); } return(p); }