Полагаю, альтернатива была бы где-то, определяющим подобные вещи ...
public class Reference {
public var value:*;
}
Затем используйте функции, которые принимают некоторое количество аргументов Reference, чтобы действовать как «указатели», если вы действительно просто ищете «out» параметры, и либо инициализируете их при входе, либо нет, и ваш своп станет:
function swap(Reference a, Reference b) {
var tmp:* = a.value;
a.value = b.value;
b.value = tmp;
}
И вы всегда можете сходить с ума и определять конкретные IntReference, StringReference и т. Д.