void EmitIndirection(UnaryExpression node)
{
node.Operand.Accept(this);
if (node.Operand.NodeType != NodeType.ReferenceExpression
&& node.ParentNode.NodeType != NodeType.MemberReferenceExpression)
{
//pointer arithmetic, need to load the address
IType et = PeekTypeOnStack().ElementType;
OpCode code = GetLoadRefParamCode(et);
if (code == OpCodes.Ldobj)
_il.Emit(code, GetSystemType(et));
else
_il.Emit(code);
PopType();
PushType(et);
}
}