js: Throw GObject.NotImplementedError when requiring overriding
Since version 1.50.0, gjs defines GObject.NotImplementedError for throwing errors when a "virtual" method that requires a subclass implementation is not defined. So use this instead of a generic JS Error in such cases. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/549
This commit is contained in:
parent
4730b7a094
commit
88697add1b
@ -124,7 +124,7 @@ var Batch = class extends Task {
|
|||||||
}
|
}
|
||||||
|
|
||||||
process() {
|
process() {
|
||||||
throw new Error('Not implemented');
|
throw new GObject.NotImplementedError(`process in ${this.constructor.name}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
runTask() {
|
runTask() {
|
||||||
|
@ -79,7 +79,7 @@ class BaseIcon extends St.Bin {
|
|||||||
// This can be overridden by a subclass, or by the createIcon
|
// This can be overridden by a subclass, or by the createIcon
|
||||||
// parameter to _init()
|
// parameter to _init()
|
||||||
createIcon(size) {
|
createIcon(size) {
|
||||||
throw new Error('no implementation of createIcon in ' + this);
|
throw new GObject.NotImplementedError(`createIcon in ${this.constructor.name}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
setIconSize(size) {
|
setIconSize(size) {
|
||||||
@ -416,7 +416,8 @@ var IconGrid = GObject.registerClass({
|
|||||||
|
|
||||||
animatePulse(animationDirection) {
|
animatePulse(animationDirection) {
|
||||||
if (animationDirection != AnimationDirection.IN)
|
if (animationDirection != AnimationDirection.IN)
|
||||||
throw new Error("Pulse animation only implements 'in' animation direction");
|
throw new GObject.NotImplementedError("Pulse animation only implements " +
|
||||||
|
"'in' animation direction");
|
||||||
|
|
||||||
this._cancelAnimation();
|
this._cancelAnimation();
|
||||||
|
|
||||||
|
@ -122,7 +122,7 @@ var SlidingControl = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_getSlide() {
|
_getSlide() {
|
||||||
throw new Error('getSlide() must be overridden');
|
throw new GObject.NotImplementedError(`_getSlide in ${this.constructor.name}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
_updateSlide() {
|
_updateSlide() {
|
||||||
|
@ -162,7 +162,7 @@ var SwitcherPopup = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
_keyPressHandler(keysym, action) {
|
_keyPressHandler(keysym, action) {
|
||||||
throw new Error('Not implemented');
|
throw new GObject.NotImplementedError(`_keyPressHandler in ${this.constructor.name}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
_keyPressEvent(actor, event) {
|
_keyPressEvent(actor, event) {
|
||||||
|
@ -835,7 +835,7 @@ var LayoutStrategy = class {
|
|||||||
// (optionally) for each row in @layout.rows. This method is
|
// (optionally) for each row in @layout.rows. This method is
|
||||||
// intended to be called by subclasses.
|
// intended to be called by subclasses.
|
||||||
_computeRowSizes(layout) {
|
_computeRowSizes(layout) {
|
||||||
throw new Error('_computeRowSizes not implemented');
|
throw new GObject.NotImplementedError(`_computeRowSizes in ${this.constructor.name}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compute strategy-specific window slots for each window in
|
// Compute strategy-specific window slots for each window in
|
||||||
@ -848,7 +848,7 @@ var LayoutStrategy = class {
|
|||||||
// * gridHeight - The totial height used by the grid, unscaled, unspaced.
|
// * gridHeight - The totial height used by the grid, unscaled, unspaced.
|
||||||
// * rows - A list of rows, which should be instantiated by _newRow.
|
// * rows - A list of rows, which should be instantiated by _newRow.
|
||||||
computeLayout(windows, layout) {
|
computeLayout(windows, layout) {
|
||||||
throw new Error('computeLayout not implemented');
|
throw new GObject.NotImplementedError(`computeLayout in ${this.constructor.name}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Given @layout, compute the overall scale and space of the layout.
|
// Given @layout, compute the overall scale and space of the layout.
|
||||||
|
Loading…
Reference in New Issue
Block a user