23
23
import org .panda_lang .framework .design .interpreter .token .Snippetable ;
24
24
import org .panda_lang .framework .language .architecture .statement .PandaVariableDataInitializer ;
25
25
import org .panda_lang .framework .language .interpreter .pattern .Mappings ;
26
- import org .panda_lang .framework .language .interpreter .pattern .functional .FunctionalPattern ;
27
- import org .panda_lang .framework .language .interpreter .pattern .functional .elements .KeywordElement ;
28
- import org .panda_lang .framework .language .interpreter .pattern .functional .elements .TypeElement ;
29
- import org .panda_lang .framework .language .interpreter .pattern .functional .elements .WildcardElement ;
30
- import org .panda_lang .framework .language .interpreter .pattern .functional .verifiers .NextTokenTypeVerifier ;
31
- import org .panda_lang .framework .language .interpreter .pattern .functional .verifiers .TokenTypeVerifier ;
32
26
import org .panda_lang .framework .language .resource .syntax .TokenTypes ;
33
27
import org .panda_lang .framework .language .resource .syntax .keyword .Keywords ;
34
28
import org .panda_lang .panda .language .interpreter .parser .RegistrableParser ;
39
33
import org .panda_lang .panda .language .interpreter .parser .context .annotations .Ctx ;
40
34
import org .panda_lang .panda .language .interpreter .parser .context .annotations .Src ;
41
35
import org .panda_lang .panda .language .interpreter .parser .context .handlers .TokenHandler ;
42
- import org .panda_lang .panda .language .interpreter .parser .context .initializers .FunctionalPatternInitializer ;
43
36
import org .panda_lang .panda .language .resource .syntax .PandaPriorities ;
44
37
45
38
@ RegistrableParser (pipeline = Pipelines .SCOPE_LABEL , priority = PandaPriorities .SCOPE_LATE_DECLARATION )
@@ -49,14 +42,12 @@ public final class LateDeclarationParser extends ParserBootstrap<Void> {
49
42
protected BootstrapInitializer <Void > initialize (Context context , BootstrapInitializer <Void > initializer ) {
50
43
return initializer
51
44
.handler (new TokenHandler (Keywords .LATE ))
52
- .initializer (new FunctionalPatternInitializer ())
53
- .pattern (FunctionalPattern .of (
54
- KeywordElement .create (Keywords .LATE ),
55
- KeywordElement .create (Keywords .MUT ).optional (),
56
- KeywordElement .create (Keywords .NIL ).optional (),
57
- TypeElement .create ("type" ).optional ().verify (new NextTokenTypeVerifier (TokenTypes .UNKNOWN )),
58
- WildcardElement .create ("name" ).verify (new TokenTypeVerifier (TokenTypes .UNKNOWN ))
59
- ));
45
+ .functional (pattern -> pattern
46
+ .keyword (Keywords .LATE ).optional ()
47
+ .keyword (Keywords .MUT ).optional ()
48
+ .keyword (Keywords .NIL ).optional ()
49
+ .type ("type" ).optional ().verifyNextType (TokenTypes .UNKNOWN )
50
+ .wildcard ("name" ).verifyType (TokenTypes .UNKNOWN ));
60
51
}
61
52
62
53
@ Autowired (order = 1 )
0 commit comments