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()); }