public override BoundNode VisitBaseReference(BoundBaseReference node) { // TODO: fix up the type of the resulting node to be the base type CapturedSymbolReplacement proxy = proxies[this.originalMethod.ThisParameter]; Debug.Assert(proxy != null); return(proxy.Replacement(F.Syntax, frameType => F.This())); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { if (_inExpressionLambda) { Error(ErrorCode.ERR_ExpressionTreeContainsBaseAccess, node); } CheckReferenceToThisOrBase(node); return(base.VisitBaseReference(node)); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { if (inExpressionLambda) { Error(ErrorCode.ERR_ExpressionTreeContainsBaseAccess, node); } return base.VisitBaseReference(node); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { // TODO: fix up the type of the resulting node to be the base type // if "this" is cached, return it. if ((object)this.cachedThis != null) { return(F.Local(this.cachedThis)); } CapturedSymbolReplacement proxy = proxies[this.OriginalMethod.ThisParameter]; Debug.Assert(proxy != null); return(proxy.Replacement(F.Syntax, frameType => F.This())); }
private BoundExpression VisitBaseReference(BoundBaseReference node) { // should have been reported earlier. // Diagnostics.Add(ErrorCode.ERR_ExpressionTreeContainsBaseAccess, node.Syntax.Location); return new BoundBadExpression(node.Syntax, 0, ImmutableArray<Symbol>.Empty, ImmutableArray.Create<BoundNode>(node), ExpressionType); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { Capture(this.topLevelMethod.ThisParameter, node.Syntax); return(base.VisitBaseReference(node)); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { variablesCaptured.Add(topLevelMethod.ThisParameter, node.Syntax); return(base.VisitBaseReference(node)); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { Capture(_topLevelMethod.ThisParameter, node.Syntax); return base.VisitBaseReference(node); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { ReferenceVariable(node.Syntax, _topLevelMethod.ThisParameter); return(base.VisitBaseReference(node)); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { // TODO: fix up the type of the resulting node to be the base type CapturedSymbolReplacement proxy = proxies[this.originalMethod.ThisParameter]; Debug.Assert(proxy != null); return proxy.Replacement(F.Syntax, frameType => F.This()); }
private BoundExpression VisitBaseReference(BoundBaseReference node) { // should have been reported earlier. // Diagnostics.Add(ErrorCode.ERR_ExpressionTreeContainsBaseAccess, node.Syntax.Location); return(new BoundBadExpression(node.Syntax, 0, ImmutableArray <Symbol> .Empty, ImmutableArray.Create <BoundExpression>(node), ExpressionType)); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { ReferenceVariable(node.Syntax, _topLevelMethod.ThisParameter); return base.VisitBaseReference(node); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { AddIfCaptured(_analysis._topLevelMethod.ThisParameter); return(base.VisitBaseReference(node)); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { // TODO: fix up the type of the resulting node to be the base type // if "this" is cached, return it. if ((object)this.cachedThis != null) { return F.Local(this.cachedThis); } CapturedSymbolReplacement proxy = proxies[this.OriginalMethod.ThisParameter]; Debug.Assert(proxy != null); return proxy.Replacement(F.Syntax, frameType => F.This()); }
public override BoundNode VisitBaseReference(BoundBaseReference node) { return((currentMethod.ContainingType == topLevelMethod.ContainingType) ? node : FramePointer(node.Syntax, topLevelMethod.ContainingType)); // technically, not the correct static type }