(Ctor)
| 3782 | } |
| 3783 | |
| 3784 | function resolveConstructorOptions (Ctor) { |
| 3785 | var options = Ctor.options; |
| 3786 | if (Ctor.super) { |
| 3787 | var superOptions = resolveConstructorOptions(Ctor.super); |
| 3788 | var cachedSuperOptions = Ctor.superOptions; |
| 3789 | if (superOptions !== cachedSuperOptions) { |
| 3790 | // super option changed, |
| 3791 | // need to resolve new options. |
| 3792 | Ctor.superOptions = superOptions; |
| 3793 | // check if there are any late-modified/attached options (#4976) |
| 3794 | var modifiedOptions = resolveModifiedOptions(Ctor); |
| 3795 | // update base extend options |
| 3796 | if (modifiedOptions) { |
| 3797 | extend(Ctor.extendOptions, modifiedOptions); |
| 3798 | } |
| 3799 | options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions); |
| 3800 | if (options.name) { |
| 3801 | options.components[options.name] = Ctor; |
| 3802 | } |
| 3803 | } |
| 3804 | } |
| 3805 | return options |
| 3806 | } |
| 3807 | |
| 3808 | function resolveModifiedOptions (Ctor) { |
| 3809 | var modified; |
no test coverage detected