**Description:**
add DefaultDecl's FnExpr and ClassExpr's ident to bindings.
because all of them should be treated as hoisted Fn/Class Declare
```txt
× the name `x` is defined multiple times
╭─[examples/all.js:1:1]
1 │ export default class x{}
· ┬
· ╰── previous definition of `x` here
2 │
3 │ let x = 1;
· ┬
· ╰── `x` redefined here
4 │ let t = function x(){};
╰────
```
**Related issue:**
- Closes#8755
swc_ecma_transforms_base:
- `resolver`: Fix resolving of `const` and `let`.
swc_ecma_lints:
- `duplicate_bindings`: Don't mark ambient function declararions as a binding. (Closes#3193)