public string Merge(object bindTo) { _scopeChain.Push(bindTo); string result = this.Merge(); _scopeChain.Pop(); return(result); }
private static object ResolveVariableReferenceBindTarget(string bindAs, LambdaRepository lambdaRepo, ScopeChain scopeChain) { object target = null; int dot = bindAs.IndexOf('.'); if (dot > -1) { target = scopeChain.AccessVariable(bindAs.Substring(0, dot)); scopeChain.Push(target); target = BindHelper.ResolveBindTarget(bindAs.Substring(++dot, bindAs.Length - dot), lambdaRepo, scopeChain); scopeChain.Pop(); } else { target = scopeChain.AccessVariable(bindAs); } return(target); }