We want to create Expansions that have Generic Type Parameters from JavaIntegration code.
Basically, we want to be able use Java Annotations to register the equivalent of this:
public expand <T> KnownTag<T> {
public get T? first => this.empty ? null : this.elements[0];
}
For that we need multiple things working:
Jared already started with some work:
https://github.com/ZenCodeLang/ZenCode/tree/feature/expansion-generics
Acceptance Criteria:
We want to create Expansions that have Generic Type Parameters from JavaIntegration code.
Basically, we want to be able use Java Annotations to register the equivalent of this:
For that we need multiple things working:
@ZenCodeType.Expansionclasses.@ZenCodeType.Expansion#valuemethodJared already started with some work:
https://github.com/ZenCodeLang/ZenCode/tree/feature/expansion-generics
Acceptance Criteria:
<T><T: CommandStringDisplayable><T super SomeType><T, U><T> expand Function<T, T><T, U expands T> expand Function<T, U>public <T> expand SomeType<T> { public <U> doSomethingWith(U: value): void; }<T> expand string<T: string> expand Recipe<T><T, T> expand Function<T, T>