diff --git a/modules/@angular/compiler/src/runtime_compiler.ts b/modules/@angular/compiler/src/runtime_compiler.ts index d9275b65a8..7c1d280083 100644 --- a/modules/@angular/compiler/src/runtime_compiler.ts +++ b/modules/@angular/compiler/src/runtime_compiler.ts @@ -118,9 +118,7 @@ export class RuntimeCompiler implements ComponentResolver { this._metadataResolver.getViewDirectivesMetadata(dep.comp.type.runtime); let childViewPipes: CompilePipeMetadata[] = this._metadataResolver.getViewPipesMetadata(dep.comp.type.runtime); - let childIsRecursive = childCompilingComponentsPath.indexOf(childCacheKey) > -1 || - childViewDirectives.some( - dir => childCompilingComponentsPath.indexOf(dir.type.runtime) > -1); + let childIsRecursive = childCompilingComponentsPath.indexOf(childCacheKey) > -1; childCompilingComponentsPath.push(childCacheKey); let childComp = this._loadAndCompileComponent( diff --git a/modules/@angular/core/test/linker/regression_integration_spec.ts b/modules/@angular/core/test/linker/regression_integration_spec.ts index 5799aa5269..99c2885563 100644 --- a/modules/@angular/core/test/linker/regression_integration_spec.ts +++ b/modules/@angular/core/test/linker/regression_integration_spec.ts @@ -12,7 +12,7 @@ import {AsyncTestCompleter} from '@angular/core/testing/testing_internal'; import {IS_DART} from '../../src/facade/lang'; -import {Component, Pipe, PipeTransform, provide, ViewMetadata, PLATFORM_PIPES, OpaqueToken, Injector, forwardRef} from '@angular/core'; +import {Component, Pipe, PipeTransform, provide, ViewMetadata, OpaqueToken, Injector} from '@angular/core'; import {NgIf, NgClass} from '@angular/common'; import {CompilerConfig} from '@angular/compiler'; @@ -170,7 +170,8 @@ function declareTests({useJit}: {useJit: boolean}) { it('should support ngClass before a component and content projection inside of an ngIf', inject( - [TestComponentBuilder, AsyncTestCompleter], (tcb: TestComponentBuilder, async: any) => { + [TestComponentBuilder, AsyncTestCompleter], + (tcb: TestComponentBuilder, async: AsyncTestCompleter) => { tcb.overrideView( MyComp1, new ViewMetadata({ template: `ABC`, @@ -184,15 +185,6 @@ function declareTests({useJit}: {useJit: boolean}) { }); })); - it('should handle mutual recursion entered from multiple sides - #7084', - inject( - [TestComponentBuilder, AsyncTestCompleter], (tcb: TestComponentBuilder, async: any) => { - tcb.createAsync(FakeRecursiveComp).then((fixture) => { - fixture.detectChanges(); - expect(fixture.nativeElement).toHaveText('[]'); - async.done(); - }); - })); }); } @@ -215,37 +207,3 @@ class CustomPipe implements PipeTransform { @Component({selector: 'cmp-content', template: ``}) class CmpWithNgContent { } - -@Component({ - selector: 'left', - template: `L`, - directives: [ - NgIf, - forwardRef(() => RightComp), - ] -}) -class LeftComp { -} - -@Component({ - selector: 'right', - template: `R`, - directives: [ - NgIf, - forwardRef(() => LeftComp), - ] -}) -class RightComp { -} - -@Component({ - selector: 'fakeRecursiveComp', - template: `[]`, - directives: [ - NgIf, - forwardRef(() => LeftComp), - forwardRef(() => RightComp), - ] -}) -export class FakeRecursiveComp { -}