public override void PostWalk(MemberExpression node) {
     if (IsInRange(node) && IsValidTarget(node.Target)) {
         _expressions.Remove(node.Target);
         _expressions.Add(node, node.Target);
     }
 }
 public override bool Walk(MemberExpression node) {
     var fullname = GetFullName(node);
     if (fullname != null) {
         _head.Names.Add(Tuple.Create(fullname, Span.FromBounds(node.NameHeader, node.EndIndex)));
     }
     return base.Walk(node);
 }
Beispiel #3
0
 private MemberExpression MakeMember(Expression target, Name name) {
     var res = new MemberExpression(target, name.RealName);
     AddVerbatimName(name, res);
     return res;
 }
 private static string GetFullName(MemberExpression expr) {
     var ne = expr.Target as NameExpression;
     if (ne != null) {
         return ne.Name + "." + expr.Name ?? string.Empty;
     }
     var me = expr.Target as MemberExpression;
     if (me != null) {
         var baseName = GetFullName(me);
         if (baseName == null) {
             return null;
         }
         return baseName + "." + expr.Name ?? string.Empty;
     }
     return null;
 }
Beispiel #5
0
 public override bool Walk(MemberExpression node) {
     if (UpdateLineInfo(node, true)) {
         // make sure we get the name marked as well if we have a multiline
         // name expression...
         var nameSpan = node.GetNameSpan(_ast);
         MarkCoverage(
             true, 
             nameSpan.Start, 
             nameSpan.End, 
             IsCovered(node.GetStart(_ast).Line)
         );
         return true;
     }
     return false;
 }
Beispiel #6
0
 public override bool Walk(MemberExpression node) {
     node.Walk(_fc);
     return false;
 }
Beispiel #7
0
 public override void PostWalk(MemberExpression node) { PostWalkWorker(node); }
Beispiel #8
0
 // MemberExpression
 public override bool Walk(MemberExpression node) { return ShouldWalkWorker(node); }