aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-21 12:26:22 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-21 12:26:22 +0100
commit55be460e03ff3fdb9e3a54b979c5ca16bd6045fe (patch)
treeb553aa1738d06f9d9aba93e40970602be6b58aa4 /src/main/java
parent6f4e1ae90880d94d23219a0a97774b2df4e04b56 (diff)
Use call instead of call-pointer
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/patio/PatioCodeGenNamespaces.java17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenNamespaces.java b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenNamespaces.java
index 7623f23a..43101e7a 100644
--- a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenNamespaces.java
+++ b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenNamespaces.java
@@ -4,7 +4,6 @@ import org.shedlang.compiler.patio.ast.PatioVisibility;
import org.shedlang.compiler.patio.ast.instructions.*;
import org.shedlang.compiler.patio.ast.operands.PatioBool;
import org.shedlang.compiler.patio.ast.operands.PatioDataPtr;
-import org.shedlang.compiler.patio.ast.operands.PatioFunctionPtr;
import org.shedlang.compiler.patio.ast.types.PatioDataLayout;
import org.shedlang.compiler.patio.ast.types.PatioTypes;
import org.shedlang.compiler.sources.Sources;
@@ -13,6 +12,7 @@ import org.shedlang.compiler.types.NamespaceTypeInfo;
import org.shedlang.compiler.util.Lists;
import java.util.List;
+import java.util.Optional;
import java.util.function.Function;
public class PatioCodeGenNamespaces {
@@ -82,22 +82,13 @@ public class PatioCodeGenNamespaces {
source
));
- var initReturnResult = importContext.allocateLocal(
- PatioCodeGenLocalSpace.TEMPORARY,
- PatioTypes.BOOL
- );
- var initReturn = initReturnResult.value();
- importContext = initReturnResult.context();
-
importContext = importContext.addInstruction(new PatioIf(
isInited,
List.of(),
List.of(
- // TODO: use direct call
- // TODO: don't require target
- new PatioCallPointer(
- initReturn,
- new PatioFunctionPtr(globalNameNamespaceInit(namespaceName)),
+ new PatioCall(
+ Optional.empty(),
+ globalNameNamespaceInit(namespaceName),
List.of(),
source
)