def __new__(cls, query, opts): opts = make_frozen(opts) return super(cls, cls).__new__(cls, query, opts)
def __new__(cls, resexp, clauses, params, options, *args, **kargs): options = make_frozen(options) return super(cls, cls).__new__(cls, resexp, clauses, params, options, *args, **kargs)
def __new__(cls, value, op, options, *args, **kargs): options = make_frozen(options) return super(cls, cls).__new__(cls, value, op, options, *args, **kargs)
def __new__(cls, resexp, clauses, params, options, *args, **kargs): options = make_frozen(options) return super(cls, cls).__new__( cls, resexp, clauses, params, options, *args, **kargs)
def frozen_eval(tree): return make_frozen(literal_eval(tree))