public override object VisitIdentifierExpression(MonoDevelop.CSharp.Ast.IdentifierExpression identifierExpression, object data) { ExpressionResult expressionResult = new ExpressionResult(identifierExpression.Identifier); ResolveResult result = resolver.Resolve(expressionResult, position); MemberResolveResult mrr = result as MemberResolveResult; ReferencesMember |= mrr != null && mrr.ResolvedMember != null && !mrr.ResolvedMember.IsStatic; if (!(result is LocalVariableResolveResult || result is ParameterResolveResult)) { return(null); } if (!variables.ContainsKey(identifierExpression.Identifier)) { return(null); } var v = variables[identifierExpression.Identifier]; v.ReturnType = result.ResolvedType; if (CutRegion.Contains(identifierExpression.StartLocation)) { if (!v.IsChangedInsideCutRegion) { v.UsedInCutRegion = true; } } else if (identifierExpression.StartLocation < CutRegion.Start) { v.UsedBeforeCutRegion = true; } else { v.UsedAfterCutRegion = true; } return(null); }
public virtual S VisitIdentifierExpression(IdentifierExpression identifierExpression, T data) { return(VisitChildren(identifierExpression, data)); }