/// <summary> /// Compares two expressions. /// </summary> /// <param name="other">The other expression.</param> protected bool IsExpressionEqual(IAssertionTagExpression other) { Debug.Assert(other != null); bool Result = true; Result &= TagIdentifier.Text == other.TagIdentifier.Text; return(Result); }
/// <summary> /// Finds the matching nodes of a <see cref="IAssertionTagExpression"/>. /// </summary> /// <param name="node">The agent expression to check.</param> /// <param name="errorList">The list of errors found.</param> /// <param name="resolvedResult">The expression result types upon return.</param> /// <param name="resolvedException">Exceptions the expression can throw upon return.</param> /// <param name="constantSourceList">Sources of the constant expression upon return, if any.</param> /// <param name="expressionConstant">The constant value upon return, if any.</param> public static bool ResolveCompilerReferences(IAssertionTagExpression node, IErrorList errorList, out IResultType resolvedResult, out IResultException resolvedException, out ISealableList <IExpression> constantSourceList, out ILanguageConstant expressionConstant) { IExpression ResolvedBooleanExpression = node.ResolvedBooleanExpression.Item; resolvedResult = ResolvedBooleanExpression.ResolvedResult.Item; ResultException.Propagate(ResolvedBooleanExpression.ResolvedException, out resolvedException); expressionConstant = NeutralLanguageConstant.NotConstant; constantSourceList = new SealableList <IExpression>() { ResolvedBooleanExpression }; #if COVERAGE Debug.Assert(!node.IsComplex); #endif return(true); }
/// <summary> /// Initializes a new instance of the <see cref="CSharpAssertionTagExpression"/> class. /// </summary> /// <param name="context">The creation context.</param> /// <param name="source">The Easly expression from which the C# expression is created.</param> protected CSharpAssertionTagExpression(ICSharpContext context, IAssertionTagExpression source) : base(context, source) { BooleanExpression = Create(context, source.ResolvedBooleanExpression.Item); }
/// <summary> /// Creates a new C# expression. /// </summary> /// <param name="context">The creation context.</param> /// <param name="source">The Easly expression from which the C# expression is created.</param> public static ICSharpAssertionTagExpression Create(ICSharpContext context, IAssertionTagExpression source) { return(new CSharpAssertionTagExpression(context, source)); }