|
1 | 1 | package io.github.mmhelloworld.idrisjvm;
|
2 | 2 |
|
3 | 3 | import IdrisJvm.Core.Assembler;
|
4 |
| -import IdrisJvm.Core.IdrisToJavaNameConverter; |
5 | 4 | import IdrisJvm.Core.export.Codegen;
|
6 | 5 | import IdrisJvm.IR.export.ExportIFace;
|
7 | 6 | import IdrisJvm.IR.export.SDecl;
|
|
32 | 31 | import static com.fasterxml.jackson.core.JsonToken.END_ARRAY;
|
33 | 32 | import static com.fasterxml.jackson.core.JsonToken.END_OBJECT;
|
34 | 33 | import static java.util.Arrays.asList;
|
35 |
| -import static java.util.Collections.emptyList; |
36 |
| -import static org.objectweb.asm.Opcodes.ACC_PUBLIC; |
37 |
| -import static org.objectweb.asm.Opcodes.ACC_STATIC; |
38 |
| -import static org.objectweb.asm.Opcodes.INVOKESTATIC; |
39 | 34 | import static org.springframework.web.bind.annotation.RequestMethod.POST;
|
40 | 35 |
|
41 | 36 | @RestController
|
@@ -63,7 +58,6 @@ public void compile(@RequestBody String[] args) {
|
63 | 58 | JsonParser parser = jsonfactory.createParser(source);
|
64 | 59 | Assembler assembler = new Assembler();
|
65 | 60 | codegen(parser, assembler);
|
66 |
| - addMainMethod(assembler); |
67 | 61 | assembler.classCodeEnd(getOutputFile(argsList).getPath());
|
68 | 62 | parser.close();
|
69 | 63 | } catch (Exception e) {
|
@@ -147,20 +141,6 @@ private List<SDecl> parseSimpleDecls(final JsonParser parser) throws IOException
|
147 | 141 | return decls;
|
148 | 142 | }
|
149 | 143 |
|
150 |
| - private void addMainMethod(final Assembler assembler) { |
151 |
| - final String[] classAndMethodName = IdrisToJavaNameConverter.idrisClassMethodName("{runMain_0}").split(","); |
152 |
| - assembler.createMethod(ACC_PUBLIC + ACC_STATIC, "main/Main", "main", "([Ljava/lang/String;)V", null, null, |
153 |
| - emptyList(), emptyList()); |
154 |
| - assembler.methodCodeStart(); |
155 |
| - assembler.aload(0); |
156 |
| - assembler.invokeMethod(INVOKESTATIC, "io/github/mmhelloworld/idrisjvm/runtime/Runtime", "setProgramArgs", "([Ljava/lang/String;)V", false); |
157 |
| - assembler.invokeMethod(INVOKESTATIC, classAndMethodName[0], classAndMethodName[1], "()Lio/github/mmhelloworld/idrisjvm/runtime/Thunk;", false); |
158 |
| - assembler.pop(); |
159 |
| - assembler.asmReturn(); |
160 |
| - assembler.maxStackAndLocal(-1, -1); |
161 |
| - assembler.methodCodeEnd(); |
162 |
| - } |
163 |
| - |
164 | 144 | private File getSourceFile(final List<String> args) {
|
165 | 145 | String sourceFileName = args.get(0);
|
166 | 146 | return getAbsoluteFile(sourceFileName, getCurrentWorkingDirectory(args));
|
|
0 commit comments