const pmake = { VERSION: "0.0" }; pmake.inherit = function(base){ const func = function(){}; Object.setPrototypeOf(func.prototype, base.prototype); return func; }; pmake.inherited = function(base, parent){ var proto = base.prototype; while(proto){ if(proto == parent.prototype) return true; proto = Object.getPrototypeOf(proto); } return false; } pmake.register = function(base){ if(pmake.inherited(base, Compiler)){ } } function Compiler(){ }