public virtual Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression TranslateAny(Net.Vpc.Upa.Expressions.Expression o, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations) { if (o == null) { return(null); } object o0 = o; while (true) { Net.Vpc.Upa.Impl.Uql.ExpressionTranslator p = expressionProviders.Get(o0.GetType()); if (p == null) { throw new System.ArgumentException("No compiler found for " + o0.GetType()); } Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression e = p.TranslateExpression(o0, this, declarations); if (e == null) { throw new System.NullReferenceException(); } if (e is Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledExpandableExpression) { e = ((Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledExpandableExpression)e).Expand(persistenceUnit); } if (e == null) { throw new System.NullReferenceException(); } if (e == o0) { return(e); } o0 = e; } }
public virtual void Register(System.Type t, Net.Vpc.Upa.Impl.Uql.ExpressionTranslator compiler) { Register0(t, compiler); }
private void Register0(System.Type t, Net.Vpc.Upa.Impl.Uql.ExpressionTranslator compiler) { expressionProviders.Put(t, compiler); }