func (tree *ExpressionTree) UnmarshalJSON(data []byte) error {
	var exprTree []interface{}
	if err := json.Unmarshal(data, &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
}
// UnmarshalJSON implements the json.Unmarshaler interface.
UnmarshalJSON implements the json.Unmarshaler interface.
// UnmarshalJSON implements the json . Unmarshaler interface .
func (tree *ExpressionTree) UnmarshalJSON(data []byte) error {
	var exprTree []interface{}
	if err := json.Unmarshal(data, &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 ) UnmarshalJSON ( data [ ] byte ) error { var exprTree [ ] interface { } if err := json . Unmarshal ( data , & exprTree ) ; err != nil { return errors . Annotate ( err , " " ) } expr , err := parseAssumesExpressionTree ( exprTree ) if err != nil { return errors . Trace ( err ) } tree . Expression = expr return nil }
UnmarshalJSON implements the json.Unmarshaler interface.
UnmarshalJSON implements the json . Unmarshaler interface .