docs/libs/typescript.js
function isIndependentInterface(symbol) {
            for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) {
                var declaration = _a[_i];
                if (declaration.kind === 222 /* InterfaceDeclaration */) {
                    if (declaration.flags & 16384 /* ContainsThis */) {
                        return false;
                    }
                    var baseTypeNodes = ts.getInterfaceBaseTypeNodes(declaration);
                    if (baseTypeNodes) {
                        for (var _b = 0, baseTypeNodes_1 = baseTypeNodes; _b < baseTypeNodes_1.length; _b++) {
                            var node = baseTypeNodes_1[_b];
                            if (ts.isEntityNameExpression(node.expression)) {
                                var baseSymbol = resolveEntityName(node.expression, 793064 /* Type */, /*ignoreErrors*/ true);
                                if (!baseSymbol || !(baseSymbol.flags & 64 /* Interface */) || getDeclaredTypeOfClassOrInterface(baseSymbol).thisType) {
                                    return false;
                                }
                            }
                        }
                    }
                }
            }
            return true;
        }
function isIndependentInterface(symbol) {
            for (var _i = 0, _a = symbol.declarations; _i < _a.length; _i++) {
                var declaration = _a[_i];
                if (declaration.kind === 222 /* InterfaceDeclaration */) {
                    if (declaration.flags & 16384 /* ContainsThis */) {
                        return false;
                    }
                    var baseTypeNodes = ts.getInterfaceBaseTypeNodes(declaration);
                    if (baseTypeNodes) {
                        for (var _b = 0, baseTypeNodes_1 = baseTypeNodes; _b < baseTypeNodes_1.length; _b++) {
                            var node = baseTypeNodes_1[_b];
                            if (ts.isEntityNameExpression(node.expression)) {
                                var baseSymbol = resolveEntityName(node.expression, 793064 /* Type */, /*ignoreErrors*/ true);
                                if (!baseSymbol || !(baseSymbol.flags & 64 /* Interface */) || getDeclaredTypeOfClassOrInterface(baseSymbol).thisType) {
                                    return false;
                                }
                            }
                        }
                    }
                }
            }
            return true;
        }
function isIndependentInterface ( symbol ) { for ( var _i = 0 , _a = symbol . declarations ; _i < _a . length ; _i ++ ) { var declaration = _a [ _i ] ; if ( declaration . kind === 222 /* InterfaceDeclaration */ ) { if ( declaration . flags & 16384 /* ContainsThis */ ) { return false ; } var baseTypeNodes = ts . getInterfaceBaseTypeNodes ( declaration ) ; if ( baseTypeNodes ) { for ( var _b = 0 , baseTypeNodes_1 = baseTypeNodes ; _b < baseTypeNodes_1 . length ; _b ++ ) { var node = baseTypeNodes_1 [ _b ] ; if ( ts . isEntityNameExpression ( node . expression ) ) { var baseSymbol = resolveEntityName ( node . expression , 793064 /* Type */ , /*ignoreErrors*/ true ) ; if ( ! baseSymbol || ! ( baseSymbol . flags & 64 /* Interface */ ) || getDeclaredTypeOfClassOrInterface ( baseSymbol ) . thisType ) { return false ; } } } } } } return true ; }
Returns true if the interface given by the symbol is free of "this" references. Specifically, the result is true if the interface itself contains no references to "this" in its body, if all base types are interfaces, and if none of the base interfaces have a "this" type.
Returns true if the interface given by the symbol is free of this references . Specifically the result is true if the interface itself contains no references to this in its body if all base types are interfaces and if none of the base interfaces have a this type .