@@ -6,7 +6,7 @@ import type { AstNode, StrictPolymorphicNode } from '../slang-nodes/types.d.ts';
66import type {
77 CollectedMetadata ,
88 SlangAstNode ,
9- SlangAstNodeConstructors
9+ TypeOfSlangAstNode
1010} from '../types.d.ts' ;
1111
1212type Constructor < T > = new ( ...args : any ) => T ;
@@ -26,14 +26,11 @@ export function createNonterminalVariantSimpleCreator<
2626 U extends SlangPolymorphicNode ,
2727 T extends StrictPolymorphicNode
2828> (
29- constructors : [
30- SlangAstNodeConstructors ,
31- ConstructorsFromInstances < T [ 'variant' ] >
32- ] [ ]
29+ constructors : [ TypeOfSlangAstNode , ConstructorsFromInstances < T [ 'variant' ] > ] [ ]
3330) : NonterminalVariantFactory < U , T > {
3431 return ( variant , collected , options ?) => {
35- for ( const [ instance , constructor ] of constructors ) {
36- if ( variant instanceof instance )
32+ for ( const [ slangAstClass , constructor ] of constructors ) {
33+ if ( variant instanceof slangAstClass )
3734 return new constructor ( variant , collected , options ) ;
3835 }
3936
@@ -45,12 +42,9 @@ export function createNonterminalVariantCreator<
4542 U extends SlangPolymorphicNode ,
4643 T extends StrictPolymorphicNode
4744> (
48- constructors : [
49- SlangAstNodeConstructors ,
50- ConstructorsFromInstances < T [ 'variant' ] >
51- ] [ ] ,
45+ constructors : [ TypeOfSlangAstNode , ConstructorsFromInstances < T [ 'variant' ] > ] [ ] ,
5246 extractVariantConstructors : [
53- SlangAstNodeConstructors ,
47+ TypeOfSlangAstNode ,
5448 ConstructorsFromInstances < StrictPolymorphicNode >
5549 ] [ ]
5650) : NonterminalVariantFactory < U , T > {
@@ -59,8 +53,8 @@ export function createNonterminalVariantCreator<
5953 ) ;
6054
6155 return ( variant , collected , options ?) => {
62- for ( const [ instance , constructor ] of extractVariantConstructors ) {
63- if ( variant instanceof instance )
56+ for ( const [ slangAstClass , constructor ] of extractVariantConstructors ) {
57+ if ( variant instanceof slangAstClass )
6458 return extractVariant ( new constructor ( variant , collected , options ) ) ;
6559 }
6660
0 commit comments