private static bool TryGetBindings(SyntaxTreeNode node, BindingContext bindingContext, out MemberBinding[] bindings, out Exception bindingError) { if (node == null) { throw new ArgumentNullException("node"); } if (bindingContext == null) { throw new ArgumentNullException("bindingContext"); } var bindingNodes = node.GetBindings(throwOnError: true); bindingError = null; bindings = new MemberBinding[bindingNodes.Count]; for (var i = 0; i < bindings.Length; i++) { if (TryGetBinding(bindingNodes[Constants.GetIndexAsString(i)], bindingContext, out bindings[i], out bindingError)) { continue; } bindingError = bindingError ?? new ExpressionParserException(Properties.Resources.EXCEPTION_BIND_FAILEDTOBINDMEMBERBINDINGS, node); return(false); } return(true); }