func (tree *ExpressionTree) SetBSON(data bson.Raw) error {
	var exprTree []interface{}
	if err := data.Unmarshal(&exprTree); err != nil {
		return errors.Annotate(err, "decoding assumes block")
	}

	expr, err := parseAssumesExpressionTree(exprTree)
	if err != nil {
		return errors.Trace(err)
	}
	tree.Expression = expr
	return nil
}
// SetBSON implements the bson.Setter interface.
SetBSON implements the bson.Setter interface.
// SetBSON implements the bson . Setter interface .
func (tree *ExpressionTree) SetBSON(data bson.Raw) error {
	var exprTree []interface{}
	if err := data.Unmarshal(&exprTree); err != nil {
		return errors.Annotate(err, "decoding assumes block")
	}
	expr, err := parseAssumesExpressionTree(exprTree)
	if err != nil {
		return errors.Trace(err)
	}
	tree.Expression = expr
	return nil
}
func ( tree * ExpressionTree ) SetBSON ( data bson . Raw ) error { var exprTree [ ] interface { } if err := data . Unmarshal ( & exprTree ) ; err != nil { return errors . Annotate ( err , " " ) } expr , err := parseAssumesExpressionTree ( exprTree ) if err != nil { return errors . Trace ( err ) } tree . Expression = expr return nil }
SetBSON implements the bson.Setter interface.
SetBSON implements the bson . Setter interface .