Minor parity gap found while reviewing #544 / #545.
Problem
OXC's extract_host_listeners_in (crates/oxc_angular_compiler/src/directive/property_decorators.rs, ~line 1646) only matches ClassElement::MethodDefinition and ClassElement::PropertyDefinition, so a @HostListener on an accessor keyword field (accessor x = ...) or accessor handler is silently dropped. Upstream getMembersOfClass reflects TS accessor declarations as PropertyDeclarations, so filterToMembersWithDecorator sees them.
Expected
Include ClassElement::AccessorProperty in the host-listener element match (or document the divergence). Rare in practice.
References
- Upstream:
packages/compiler-cli/src/ngtsc/reflection/src/typescript.ts (reflectClassMember / getMembersOfClass — TS accessor is a PropertyDeclaration)
- OXC:
crates/oxc_angular_compiler/src/directive/property_decorators.rs (extract_host_listeners_in element match)
Minor parity gap found while reviewing #544 / #545.
Problem
OXC's
extract_host_listeners_in(crates/oxc_angular_compiler/src/directive/property_decorators.rs, ~line 1646) only matchesClassElement::MethodDefinitionandClassElement::PropertyDefinition, so a@HostListeneron anaccessorkeyword field (accessor x = ...) oraccessorhandler is silently dropped. UpstreamgetMembersOfClassreflects TSaccessordeclarations asPropertyDeclarations, sofilterToMembersWithDecoratorsees them.Expected
Include
ClassElement::AccessorPropertyin the host-listener element match (or document the divergence). Rare in practice.References
packages/compiler-cli/src/ngtsc/reflection/src/typescript.ts(reflectClassMember/getMembersOfClass— TSaccessoris aPropertyDeclaration)crates/oxc_angular_compiler/src/directive/property_decorators.rs(extract_host_listeners_inelement match)