Skip to content

Commit

Permalink
don't add body to interface methods
Browse files Browse the repository at this point in the history
  • Loading branch information
lhns committed Sep 30, 2020
1 parent 79cc056 commit 1d152a3
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/main/scala/de/lolhens/jstubber/Stubber.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.ImportDeclaration;
import com.github.javaparser.ast.Node;
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.ast.body.TypeDeclaration;
import com.github.javaparser.ast.comments.Comment;
Expand Down Expand Up @@ -50,9 +51,12 @@ public CompilationUnit stub(CompilationUnit compilationUnit) {
new ArrayList<>(compilationUnit.getTypes()).stream().filter(filterTypes.negate()).forEach(Node::remove);

compilationUnit.findAll(MethodDeclaration.class).forEach(methodDeclaration -> {
boolean isInterface = methodDeclaration.getParentNode().flatMap(e -> e.findFirst(ClassOrInterfaceDeclaration.class))
.filter(ClassOrInterfaceDeclaration::isInterface).isPresent();

if (!filterMethods.test(methodDeclaration)) {
methodDeclaration.remove();
} else if (!methodDeclaration.isAbstract()) {
} else if (!(methodDeclaration.isAbstract() || isInterface)) {
methodDeclaration.setBody(unsupportedOperationBlock);
}
});
Expand Down
12 changes: 12 additions & 0 deletions src/test/resources/ThreadedAnvilChunkStorageAccessor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package de.lolhens.minecraft.fluidphysics.mixin;

import net.minecraft.world.server.ChunkHolder;
import net.minecraft.world.server.ChunkManager;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;

@Mixin(ChunkManager.class)
public interface ThreadedAnvilChunkStorageAccessor {
@Invoker
Iterable<ChunkHolder> callGetLoadedChunksIterable();
}

0 comments on commit 1d152a3

Please sign in to comment.