aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-11-04 21:33:31 +0000
committerMichael Williamson <mike@zwobble.org>2023-11-04 21:33:31 +0000
commitaeb12bbb72ac6de9a68473ef5499c4e686f921c8 (patch)
treef4acc123cc067f466248ded2c305c75e47f2135a /src/main/java
parent38384f004445b8a25489e0a281c2d5dc7475c591 (diff)
Use new reversed() method on List
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java6
-rw-r--r--src/main/java/org/shedlang/compiler/patio/PatioCodeGen.java4
-rw-r--r--src/main/java/org/shedlang/compiler/util/Lists.java31
3 files changed, 4 insertions, 37 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java b/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
index 16d4b520..54471228 100644
--- a/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGen.java
@@ -208,7 +208,7 @@ public class WasmPatioCodeGen {
context = context.exitIfInstruction();
- for (var patioTarget : Lists.reversed(patioIf.targets())) {
+ for (var patioTarget : patioIf.targets().reversed()) {
context = popIntoPatioLocal(patioTarget, context);
}
@@ -272,7 +272,7 @@ public class WasmPatioCodeGen {
case PatioMemoryLoad patioMemoryLoad -> {
context = generateOperand(patioMemoryLoad.pointer(), context);
-
+
context = context.addInstruction(new WasmI32Load(
wasmMemoryArg(patioMemoryLoad.layout(), patioMemoryLoad.offset())
));
@@ -321,7 +321,7 @@ public class WasmPatioCodeGen {
context = context.exitIfInstruction();
}
- for (var patioTarget : Lists.reversed(patioSwitch.targets())) {
+ for (var patioTarget : patioSwitch.targets().reversed()) {
context = popIntoPatioLocal(patioTarget, context);
}
diff --git a/src/main/java/org/shedlang/compiler/patio/PatioCodeGen.java b/src/main/java/org/shedlang/compiler/patio/PatioCodeGen.java
index faa8007e..6955def1 100644
--- a/src/main/java/org/shedlang/compiler/patio/PatioCodeGen.java
+++ b/src/main/java/org/shedlang/compiler/patio/PatioCodeGen.java
@@ -18,8 +18,6 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
-import static org.shedlang.compiler.util.Lists.reversed;
-
public class PatioCodeGen {
private PatioCodeGen() {}
@@ -131,7 +129,7 @@ public class PatioCodeGen {
return switch (stackIrInstruction) {
case CallInstruction call -> {
var namedArgsByName = new ArrayList<Map.Entry<String, PatioLocalRef>>();
- for (var argName : reversed(call.namedArgNames())) {
+ for (var argName : call.namedArgNames().reversed()) {
var argResult = context.allocateVal(
PatioCodeGenLocalSpace.CALL_ARG_NAMED,
argName,
diff --git a/src/main/java/org/shedlang/compiler/util/Lists.java b/src/main/java/org/shedlang/compiler/util/Lists.java
index b33169df..7f73982e 100644
--- a/src/main/java/org/shedlang/compiler/util/Lists.java
+++ b/src/main/java/org/shedlang/compiler/util/Lists.java
@@ -1,7 +1,6 @@
package org.shedlang.compiler.util;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import java.util.Optional;
@@ -28,15 +27,6 @@ public class Lists {
}
}
- public static <T> Iterable<T> reversed(List<T> list) {
- return new Iterable<T>() {
- @Override
- public Iterator<T> iterator() {
- return new ReverseIterator<>(list);
- }
- };
- }
-
public static <T> List<T> repeat(T element, int count) {
var result = new ArrayList<T>(count);
for (var i = 0; i < count; i++) {
@@ -44,25 +34,4 @@ public class Lists {
}
return result;
}
-
- private static class ReverseIterator<T> implements Iterator<T> {
- private int index;
- private final List<T> list;
-
- private ReverseIterator(List<T> list) {
- this.list = list;
- this.index = list.size();
- }
-
- @Override
- public boolean hasNext() {
- return index > 0;
- }
-
- @Override
- public T next() {
- index--;
- return list.get(index);
- }
- }
}