moved the code to increase visibility

This commit is contained in:
Sander Hautvast 2020-11-16 17:59:12 +01:00
parent 32e48a1ee7
commit 21e01fe37d
2 changed files with 20 additions and 5 deletions

View file

@ -102,10 +102,10 @@ public class TestData {
} }
public static BeeConstructor createDefaultConstructor() throws ClassNotFoundException { public static BeeConstructor createDefaultConstructor() throws ClassNotFoundException {
return BeeConstructor.builder() return BeeConstructor.builder()
.withAccessFlags(MethodAccessFlags.PUBLIC) .withAccessFlags(MethodAccessFlags.PUBLIC)
.withCode( .withCode(
line(0, LD_VAR, Ref.THIS), line(0, LD_VAR, Ref.THIS),
line(1, INVOKE, Ref.SUPER, "<init>", "()"), line(1, INVOKE, Ref.SUPER, "<init>", "()"),
line(5, RETURN)) line(5, RETURN))
.build(); .build();

View file

@ -4,12 +4,17 @@ import nl.sander.beejava.BytecodeGenerator;
import nl.sander.beejava.CompiledClass; import nl.sander.beejava.CompiledClass;
import nl.sander.beejava.Compiler; import nl.sander.beejava.Compiler;
import nl.sander.beejava.TestData; import nl.sander.beejava.TestData;
import nl.sander.beejava.api.BeeConstructor;
import nl.sander.beejava.api.BeeSource; import nl.sander.beejava.api.BeeSource;
import nl.sander.beejava.api.Ref;
import nl.sander.beejava.api.Version; import nl.sander.beejava.api.Version;
import nl.sander.beejava.flags.MethodAccessFlags;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import static nl.sander.beejava.api.CodeLine.line;
import static nl.sander.beejava.api.Opcode.*;
import static nl.sander.beejava.flags.ClassAccessFlags.PUBLIC; import static nl.sander.beejava.flags.ClassAccessFlags.PUBLIC;
import static nl.sander.beejava.flags.ClassAccessFlags.SUPER; import static nl.sander.beejava.flags.ClassAccessFlags.SUPER;
import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNotNull;
@ -48,7 +53,17 @@ public class EmptyBeanTest {
.withAccessFlags(PUBLIC, SUPER) .withAccessFlags(PUBLIC, SUPER)
.withSimpleName("EmptyBean") .withSimpleName("EmptyBean")
.withSuperClass(Object.class) // Not mandatory, like in java sourcecode .withSuperClass(Object.class) // Not mandatory, like in java sourcecode
.withConstructors(TestData.createDefaultConstructor()) // There's no default constructor in beejava. The user must always add them .withConstructors(createDefaultConstructor()) // There's no default constructor in beejava. The user must always add them
.build();
}
private BeeConstructor createDefaultConstructor() throws ClassNotFoundException {
return BeeConstructor.builder()
.withAccessFlags(MethodAccessFlags.PUBLIC)
.withCode(
line(0, LD_VAR, Ref.THIS),
line(1, INVOKE, Ref.SUPER, "<init>", "()"),
line(5, RETURN))
.build(); .build();
} }
} }