|
2 | 2 |
|
3 | 3 | import org.openzen.zencode.shared.CodePosition;
|
4 | 4 | import org.openzen.zencode.shared.CompileException;
|
| 5 | +import org.openzen.zenscript.codemodel.FunctionHeader; |
5 | 6 | import org.openzen.zenscript.codemodel.HighLevelDefinition;
|
6 | 7 | import org.openzen.zenscript.codemodel.Modifiers;
|
7 | 8 | import org.openzen.zenscript.codemodel.compilation.*;
|
8 | 9 | import org.openzen.zenscript.codemodel.context.CompilingPackage;
|
9 | 10 | import org.openzen.zenscript.codemodel.definition.FunctionDefinition;
|
| 11 | +import org.openzen.zenscript.codemodel.generic.TypeParameter; |
10 | 12 | import org.openzen.zenscript.codemodel.identifiers.TypeSymbol;
|
11 | 13 | import org.openzen.zenscript.codemodel.type.BasicTypeID;
|
12 | 14 | import org.openzen.zenscript.lexer.ParseException;
|
@@ -94,8 +96,17 @@ public boolean isInner() {
|
94 | 96 |
|
95 | 97 | @Override
|
96 | 98 | public void linkTypes() {
|
97 |
| - if (compiled.header == null) |
98 |
| - compiled.setHeader(header.compile(compiler.types())); |
| 99 | + if (compiled.header == null) { |
| 100 | + FunctionHeader compiledHeader = header.compile(compiler.types()); |
| 101 | + compiled.setTypeParameters(compiledHeader.typeParameters); |
| 102 | + |
| 103 | + FunctionHeader withoutTypeParameters = new FunctionHeader( |
| 104 | + TypeParameter.NONE, |
| 105 | + compiledHeader.getReturnType(), |
| 106 | + compiledHeader.thrownType, |
| 107 | + compiledHeader.parameters); |
| 108 | + compiled.setHeader(withoutTypeParameters); |
| 109 | + } |
99 | 110 | }
|
100 | 111 |
|
101 | 112 | @Override
|
|
0 commit comments