Changeset 1542
- Timestamp:
- 04/21/08 14:57:34 (3 weeks ago)
- Files:
-
- 1 modified
-
trunk/Source/Class/Class.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/Class/Class.js
r1541 r1542 86 86 // if future opera versions will support function.caller, this code wont be executed anymore. 87 87 // this code will be only executed if the current browser does not support function.caller (only opera). 88 // there is also a fix for an opera bug where in the function string, parentheses around numbers are ignored, and an error is thrown. 88 89 89 90 if (!arguments.callee.caller) self[key] = eval('(' + String(current).replace(/\bthis\.parent\(\s*(\))?/g, function(full, close){ 90 91 return 'arguments.callee._parent_.call(this' + (close || ', '); 91 }) + ')');92 }).replace(/(\d+)\.([A-Za-z_])/, '($1).$2') + ')'); 92 93 93 // end "opera" code94 // end "opera" code 94 95 95 96 self[key]._parent_ = previous;