Opened 14 years ago
Closed 13 years ago
#3703 closed enhancement (fixed)
dojo.declare should throw an error for null/undefine in mixin array
Reported by: | guest | Owned by: | sjmiles |
---|---|---|---|
Priority: | high | Milestone: | 0.9 |
Component: | Core | Version: | 0.9 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
Say I have a Widget that needs mixin from dijit._Container. But I forgot to dojo.require that file. dojo.declare will still work as dijit._Container would be undefined.
If dojo.declare would throw an error, it would be much easier to catch the mistake.
example: dojo.declare("widget.Widget", [dijit._Widget, dijit._Templated, dijit._Container],
Change History (4)
comment:1 Changed 14 years ago by
Milestone: | → 0.9 |
---|---|
Owner: | changed from anonymous to sjmiles |
comment:2 Changed 14 years ago by
i'm with bill on this:
if it's a matter of making sure you dojo.require() anything you require, extra code to double check you should have required something is excessive. the ambiguity of mixins causes that. iirc, _something_ throws an error as soon as you try to use something you've forgotten to require ...
granted it a PITA to not know why something isn't working, but oversight code is 'bloat' ... eg: if you are mixing in _Container, you are probably calling getChildren(), and an error is throw.
comment:3 Changed 14 years ago by
Well, in a statically typed language, a missing include and then subsequent reference to that would yield a compile time error. Also, mixin of null or undefined seem like an error condition to me that shouldn't be ignored.
comment:4 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
I would like this a lot better if it worked for superclasses too, but in any case, I added an exception for a null mixin in [10026].
Normally I'm against extra checks in the code but in this case it seems like it would save people a lot of time. Scott?