Throw when calling abstract methods; fix abstract return types

This commit is contained in:
ahocevar
2018-10-30 18:45:42 +01:00
parent 2adac0b3e7
commit 1cdd040c96
22 changed files with 273 additions and 85 deletions
+10 -2
View File
@@ -1,12 +1,16 @@
/**
* @module ol/renderer/canvas/IntermediateCanvas
*/
import {abstract} from '../../util.js';
import {scale as scaleCoordinate} from '../../coordinate.js';
import {createCanvasContext2D} from '../../dom.js';
import {containsExtent, intersects} from '../../extent.js';
import CanvasLayerRenderer from '../canvas/Layer.js';
import {create as createTransform, apply as applyTransform} from '../../transform.js';
/**
* @abstract
*/
class IntermediateCanvasRenderer extends CanvasLayerRenderer {
/**
@@ -80,13 +84,17 @@ class IntermediateCanvasRenderer extends CanvasLayerRenderer {
* @abstract
* @return {HTMLCanvasElement|HTMLVideoElement|HTMLImageElement} Canvas.
*/
getImage() {}
getImage() {
return abstract();
}
/**
* @abstract
* @return {!import("../../transform.js").Transform} Image transform.
*/
getImageTransform() {}
getImageTransform() {
return abstract();
}
/**
* @inheritDoc
+10 -2
View File
@@ -1,6 +1,7 @@
/**
* @module ol/renderer/canvas/Layer
*/
import {abstract} from '../../util.js';
import {getBottomLeft, getBottomRight, getTopLeft, getTopRight} from '../../extent.js';
import {TRUE} from '../../functions.js';
import RenderEvent from '../../render/Event.js';
@@ -10,6 +11,9 @@ import CanvasImmediateRenderer from '../../render/canvas/Immediate.js';
import LayerRenderer from '../Layer.js';
import {create as createTransform, apply as applyTransform, compose as composeTransform} from '../../transform.js';
/**
* @abstract
*/
class CanvasLayerRenderer extends LayerRenderer {
/**
@@ -167,7 +171,9 @@ class CanvasLayerRenderer extends LayerRenderer {
* @param {import("../../layer/Layer.js").State} layerState Layer state.
* @param {CanvasRenderingContext2D} context Context.
*/
composeFrame(frameState, layerState, context) {}
composeFrame(frameState, layerState, context) {
abstract();
}
/**
* @abstract
@@ -175,7 +181,9 @@ class CanvasLayerRenderer extends LayerRenderer {
* @param {import("../../layer/Layer.js").State} layerState Layer state.
* @return {boolean} whether composeFrame should be called.
*/
prepareFrame(frameState, layerState) {}
prepareFrame(frameState, layerState) {
return abstract();
}
}
export default CanvasLayerRenderer;