internal MultiStatement GetValue(TextProcessingContext context, TextObject parent)
        {
            if (this._innerVariable == null)
            {
                return(context.GetVariableValue(this._identifierName, parent));
            }
            MultiStatement multiStatement = this._innerVariable.GetValue(context, parent);

            switch (multiStatement)
            {
            case null:
            case null:
                return((MultiStatement)null);

            default:
                using (IEnumerator <TextExpression> enumerator = multiStatement.SubStatements.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        if (enumerator.Current is FieldExpression current4 && current4.FieldName == this._identifierName)
                        {
                            if (current4.InnerExpression is MultiStatement)
                            {
                                return(current4.InnerExpression as MultiStatement);
                            }
                            return(new MultiStatement((IEnumerable <TextExpression>) new TextExpression[1]
                            {
                                current4.InnerExpression
                            }));
                        }
                    }
                    goto case null;
                }
            }
        }
        internal override string EvaluateString(TextProcessingContext context, TextObject parent)
        {
            MultiStatement multiStatement = this._innerVariable.GetValue(context, parent);

            if (multiStatement != null)
            {
                foreach (TextExpression subStatement in (IEnumerable <TextExpression>)multiStatement.SubStatements)
                {
                    if (subStatement.TokenType == TokenType.LanguageMarker && subStatement.RawValue.Substring(2, subStatement.RawValue.Length - 3) == this.IdentifierName)
                    {
                        return("1");
                    }
                }
            }
            return("0");
        }
        internal override string EvaluateString(TextProcessingContext context, TextObject parent)
        {
            int            asNumber    = this.EvaluateAsNumber(this._indexExp, context, parent);
            MultiStatement arrayAccess = context.GetArrayAccess(this.RawValue, asNumber);

            if (arrayAccess == null)
            {
                return("");
            }
            MBStringBuilder mbStringBuilder = new MBStringBuilder();

            mbStringBuilder.Initialize(callerMemberName: nameof(EvaluateString));
            foreach (TextExpression subStatement in (IEnumerable <TextExpression>)arrayAccess.SubStatements)
            {
                mbStringBuilder.Append <string>(subStatement.EvaluateString(context, parent));
            }
            return(mbStringBuilder.ToStringAndRelease());
        }
        internal override string EvaluateString(TextProcessingContext context, TextObject parent)
        {
            MultiStatement multiStatement = this.GetValue(context, parent);

            if (multiStatement == null)
            {
                return("");
            }
            MBStringBuilder mbStringBuilder = new MBStringBuilder();

            mbStringBuilder.Initialize(callerMemberName: nameof(EvaluateString));
            foreach (TextExpression subStatement in (IEnumerable <TextExpression>)multiStatement.SubStatements)
            {
                if (subStatement != null)
                {
                    mbStringBuilder.Append <string>(subStatement.EvaluateString(context, parent));
                }
            }
            return(mbStringBuilder.ToStringAndRelease());
        }