public override void VisitCanCastExpression(CanCastExpression node)
 {
     TypesDependingOn.UnionWith(Utilities.GetTypeReferenceTypesDepedningOn(node.TargetType));
     base.VisitCanCastExpression(node);
 }
 public override void VisitMethodReferenceExpression(MethodReferenceExpression node)
 {
     TypesDependingOn.UnionWith(Utilities.GetTypeReferenceTypesDepedningOn(node.Method.DeclaringType));
     Visit(node.Target);
 }
 public override void VisitArrayCreationExpression(ArrayCreationExpression node)
 {
     TypesDependingOn.UnionWith(Utilities.GetTypeReferenceTypesDepedningOn(node.ElementType));
     base.VisitArrayCreationExpression(node);
 }
 public override void VisitAnonymousObjectCreationExpression(AnonymousObjectCreationExpression node)
 {
     TypesDependingOn.UnionWith(Utilities.GetTypeReferenceTypesDepedningOn(node.ExpressionType));
     base.VisitAnonymousObjectCreationExpression(node);
 }
 public override void VisitPropertyReferenceExpression(PropertyReferenceExpression node)
 {
     TypesDependingOn.UnionWith(Utilities.GetTypeReferenceTypesDepedningOn(node.Property.DeclaringType));
     base.VisitPropertyReferenceExpression(node);
 }
 public override void VisitEnumExpression(EnumExpression node)
 {
     TypesDependingOn.UnionWith(Utilities.GetTypeReferenceTypesDepedningOn(node.ExpressionType));
     base.VisitEnumExpression(node);
 }
 public override void VisitVariableDeclarationExpression(VariableDeclarationExpression node)
 {
     TypesDependingOn.UnionWith(Utilities.GetTypeReferenceTypesDepedningOn(node.Variable.VariableType));
     base.VisitVariableDeclarationExpression(node);
 }