protected virtual object EvalPropertyName(ParseTree tree, params object[] paramlist) { return((string)this.GetValue(tree, TokenType.IDENT, 0)); }
protected virtual object EvalParameterName(ParseTree tree, params object[] paramlist) { return(this.GetValue(tree, TokenType.ObjectName, 0)); }
protected virtual object EvalCommand(ParseTree tree, params object[] paramlist) { return(this.GetValue(tree, TokenType.InsertFile, 0) ?? this.GetValue(tree, TokenType.ViewFile, 0) ?? this.GetValue(tree, TokenType.FormatCondition, 0) ?? this.GetValue(tree, TokenType.ComputedColumn, 0) ?? this.GetValue(tree, TokenType.Table, 0) ?? this.GetValue(tree, TokenType.Relation, 0) ?? this.GetValue(tree, TokenType.Connection, 0) ?? this.GetValue(tree, TokenType.Parameter, 0)); }
protected virtual object EvalCOMPUTED_RETURNTYPE(ParseTree tree, params object[] paramlist) { return(this.GetValue(tree, TokenType.STRING, 0) ?? this.GetValue(tree, TokenType.INTEGER, 0) ?? this.GetValue(tree, TokenType.DECIMAL, 0) ?? this.GetValue(tree, TokenType.DATETIME, 0) ?? this.GetValue(tree, TokenType.BOOLEAN, 0)); }
/// <summary> /// this implements the evaluation functionality, cannot be used directly /// </summary> /// <param name="tree">the parsetree itself</param> /// <param name="paramlist">optional input parameters</param> /// <returns>a partial result of the evaluation</returns> internal object Eval(ParseTree tree, params object[] paramlist) { object Value; switch (Token.Type) { case TokenType.Start: Value = EvalStart(tree, paramlist); break; case TokenType.COMPUTED_RETURNTYPE: Value = EvalCOMPUTED_RETURNTYPE(tree, paramlist); break; case TokenType.Command: Value = EvalCommand(tree, paramlist); break; case TokenType.InsertFile: Value = EvalInsertFile(tree, paramlist); break; case TokenType.ViewFile: Value = EvalViewFile(tree, paramlist); break; case TokenType.FormatCondition: Value = EvalFormatCondition(tree, paramlist); break; case TokenType.ComputedColumn: Value = EvalComputedColumn(tree, paramlist); break; case TokenType.Table: Value = EvalTable(tree, paramlist); break; case TokenType.Relation: Value = EvalRelation(tree, paramlist); break; case TokenType.Connection: Value = EvalConnection(tree, paramlist); break; case TokenType.Parameter: Value = EvalParameter(tree, paramlist); break; case TokenType.ObjectName: Value = EvalObjectName(tree, paramlist); break; case TokenType.ColumnName: Value = EvalColumnName(tree, paramlist); break; case TokenType.TableName: Value = EvalTableName(tree, paramlist); break; case TokenType.TableWithColumns: Value = EvalTableWithColumns(tree, paramlist); break; case TokenType.RelationName: Value = EvalRelationName(tree, paramlist); break; case TokenType.ConnectionName: Value = EvalConnectionName(tree, paramlist); break; case TokenType.ParameterName: Value = EvalParameterName(tree, paramlist); break; case TokenType.FormatFilter: Value = EvalFormatFilter(tree, paramlist); break; case TokenType.PropertyName: Value = EvalPropertyName(tree, paramlist); break; case TokenType.PropertyValue: Value = EvalPropertyValue(tree, paramlist); break; case TokenType.Property: Value = EvalProperty(tree, paramlist); break; default: Value = Token.Text; break; } return(Value); }
protected object GetValue(ParseTree tree, TokenType type, int index) { return(GetValue(tree, type, ref index)); }