public override bool Equals(Expression other) { if (!(other is CanCastExpression)) { return(false); } CanCastExpression canCast = other as CanCastExpression; return(this.TargetType.FullName == canCast.TargetType.FullName && this.Expression.Equals(canCast.Expression)); }
public override void VisitCanCastExpression(CanCastExpression node) { if (KeyWordWriter.IsType != null) { WriteKeyword(KeyWordWriter.IsType); WriteSpace(); } Visit(node.Expression); WriteSpace(); WriteKeyword(KeyWordWriter.Is); WriteSpace(); WriteReferenceAndNamespaceIfInCollision(node.TargetType); }
public override Expression CloneExpressionOnly() { CanCastExpression result = new CanCastExpression(Expression.CloneExpressionOnly(), TargetType, null); return(result); }
public override Expression Clone() { CanCastExpression result = new CanCastExpression(Expression.Clone(), TargetType, instructions); return(result); }
public override Expression CloneExpressionOnly() { CanCastExpression result = new CanCastExpression(Expression.CloneExpressionOnly(), TargetType, null); return result; }
public override Expression Clone() { CanCastExpression result = new CanCastExpression(Expression.Clone(), TargetType, instructions); return result; }
public override void VisitCanCastExpression(CanCastExpression node) { TypesDependingOn.UnionWith(Utilities.GetTypeReferenceTypesDepedningOn(node.TargetType)); base.VisitCanCastExpression(node); }
private bool TryMatchCanCastPattern(BinaryExpression node, IEnumerable<Pattern.ICodePattern> patterns, out CanCastExpression result) { foreach (Pattern.ICodePattern pattern in patterns) { Pattern.MatchContext matchContext = Pattern.CodePattern.Match(pattern, node); if (matchContext.Success) { result = CreateCanCastExpression(matchContext, node); return true; } } result = null; return false; }
public virtual void VisitCanCastExpression(CanCastExpression node) { Visit(node.Expression); }