@@ -36,22 +36,25 @@ module.exports = {
3636 let isInsideEmberComponent = false ;
3737 let isInsideGlimmerComponent = false ;
3838 let currentComponentNode = null ;
39+ let isInsideClassDeclaration = false ;
3940
4041 return {
4142 // Native class.
4243 ClassDeclaration ( node ) {
4344 if ( isEmberComponent ( context , node ) ) {
4445 currentComponentNode = node ;
4546 isInsideEmberComponent = true ;
47+ isInsideClassDeclaration = true ;
4648 } else if ( isGlimmerComponent ( context , node ) ) {
4749 currentComponentNode = node ;
4850 isInsideGlimmerComponent = true ;
51+ isInsideClassDeclaration = true ;
4952 }
5053 } ,
5154
5255 // Classic class (not used by Glimmer components).
5356 CallExpression ( node ) {
54- if ( isEmberComponent ( context , node ) ) {
57+ if ( isEmberComponent ( context , node ) && ! isInsideClassDeclaration ) {
5558 currentComponentNode = node ;
5659 isInsideEmberComponent = true ;
5760 }
@@ -62,11 +65,12 @@ module.exports = {
6265 currentComponentNode = null ;
6366 isInsideEmberComponent = false ;
6467 isInsideGlimmerComponent = false ;
68+ isInsideClassDeclaration = false ;
6569 }
6670 } ,
6771
6872 'CallExpression:exit' ( node ) {
69- if ( currentComponentNode === node ) {
73+ if ( currentComponentNode === node && ! isInsideClassDeclaration ) {
7074 currentComponentNode = null ;
7175 isInsideEmberComponent = false ;
7276 }
0 commit comments