public override void VisitThisReferenceExpression(ThisReferenceExpression node) { WriteKeyword(KeyWordWriter.This); }
private void GenerateForeachStatement() { if (foreachVariable == null) { foreachVariable = new VariableDefinition(foreachVariableType); foreachVariableInstructions.Clear(); this.methodContext.VariablesToRename.Add(foreachVariable); } VariableDeclarationExpression vd = new VariableDeclarationExpression(foreachVariable, foreachVariableInstructions); Expression foreachCollectionExpression = foreachCollection.CloneAndAttachInstructions(foreachCollectionInstructions); if (foreachCollectionExpression is BaseReferenceExpression) { foreachCollectionExpression = new ThisReferenceExpression(this.methodContext.Method.DeclaringType, foreachCollectionExpression.UnderlyingSameMethodInstructions); } @foreach = new ForEachStatement(vd, foreachCollectionExpression, foreachBody, foreachConditionInstructions, theTry.Finally.UnderlyingSameMethodInstructions); GetCurrentFixer gcf = new GetCurrentFixer(theEnumerator, foreachVariable); gcf.Visit(@foreach); IsEnumeratorUsedVisitor enumeratorUsedVisitor = new IsEnumeratorUsedVisitor(theEnumerator); enumeratorUsedVisitor.Visit(@foreach); isEnumeratorUsedInsideForEach = enumeratorUsedVisitor.IsEnumeratorUsed; }
public override Expression CloneExpressionOnly() { ThisReferenceExpression result = new ThisReferenceExpression(TargetType, null); return result; }
public override Expression Clone() { ThisReferenceExpression result = new ThisReferenceExpression(TargetType, instructions); return result; }
public virtual void VisitThisReferenceExpression(ThisReferenceExpression node) { }
public override Expression CloneExpressionOnly() { ThisReferenceExpression result = new ThisReferenceExpression(TargetType, null); return(result); }
public override Expression Clone() { ThisReferenceExpression result = new ThisReferenceExpression(TargetType, instructions); return(result); }