public void VisitDereferenceUnaryOp(DereferenceUnaryOpNode node) { node.RHS.AcceptExpressionVisitor(_expressionVisitor); IType referencedType = _semanticModule.ExpressionResultTypes[node]; int size = _typeSizeManager.GetSize(referencedType); int startAddr = _builder.AddInstruction(OpCode.DEREF, size: size); _builder.AddDebugSymbol(startAddr, node); }
public void VisitDereferenceUnaryOp(DereferenceUnaryOpNode node) { node.RHS.AcceptExpressionVisitor(this); if (!(Type is IPointerType pointerType)) { _errors.AddError("Cannot dereference non-pointer type", node); SetAndCacheType(node, Type); return; } SetAndCacheType(node, pointerType.DestinationType); }
public void VisitDereferenceUnaryOp(DereferenceUnaryOpNode node) { VisitPreOrder(node); node.RHS.AcceptExpressionVisitor(this); VisitPostOrder(node); }
public void VisitDereferenceUnaryOp(DereferenceUnaryOpNode node) { }