src/ecore.js
function(type) {
        if(!type || !this.eClass) return false;
        if (this.isTypeOf(type)) return true;

        var typeName = type.eClass ? type.get('name') : type,
            superTypes = this.eClass.get('eAllSuperTypes');

        return _.any(superTypes, function(eSuper) {
            return eSuper.get('name') === typeName;
        });
    }
function(type) {
        if(!type || !this.eClass) return false;
        if (this.isTypeOf(type)) return true;

        var typeName = type.eClass ? type.get('name') : type,
            superTypes = this.eClass.get('eAllSuperTypes');

        return _.any(superTypes, function(eSuper) {
            return eSuper.get('name') === typeName;
        });
    }
function ( type ) { if ( ! type || ! this . eClass ) return false ; if ( this . isTypeOf ( type ) ) return true ; var typeName = type . eClass ? type . get ( 'name' ) : type , superTypes = this . eClass . get ( 'eAllSuperTypes' ) ; return _ . any ( superTypes , function ( eSuper ) { return eSuper . get ( 'name' ) === typeName ; } ) ; }
Returns true if the EObject is an direct instance of the EClass or if it is part of the class hierarchy.  @method isKindOf @param {String} @return {Boolean}
Returns true if the EObject is an direct instance of the EClass or if it is part of the class hierarchy .