From cb70c333a74724d1bdaed43afae2464e374aff12 Mon Sep 17 00:00:00 2001 From: Sollace Date: Wed, 27 Mar 2019 21:23:03 +0200 Subject: [PATCH] And stub the sponge classes so we can build --- .../java/org/spongepowered/asm/mixin/Mixin.java | 5 +++++ .../org/spongepowered/asm/mixin/gen/Accessor.java | 5 +++++ .../org/spongepowered/asm/mixin/injection/At.java | 14 ++++++++++++++ .../spongepowered/asm/mixin/injection/Inject.java | 7 +++++++ .../asm/mixin/injection/ModifyArg.java | 7 +++++++ .../asm/mixin/injection/Redirect.java | 6 ++++++ .../asm/mixin/injection/callback/CallbackInfo.java | 5 +++++ .../injection/callback/CallbackInfoReturnable.java | 6 ++++++ 8 files changed, 55 insertions(+) create mode 100644 src/api/java/org/spongepowered/asm/mixin/Mixin.java create mode 100644 src/api/java/org/spongepowered/asm/mixin/gen/Accessor.java create mode 100644 src/api/java/org/spongepowered/asm/mixin/injection/At.java create mode 100644 src/api/java/org/spongepowered/asm/mixin/injection/Inject.java create mode 100644 src/api/java/org/spongepowered/asm/mixin/injection/ModifyArg.java create mode 100644 src/api/java/org/spongepowered/asm/mixin/injection/Redirect.java create mode 100644 src/api/java/org/spongepowered/asm/mixin/injection/callback/CallbackInfo.java create mode 100644 src/api/java/org/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable.java diff --git a/src/api/java/org/spongepowered/asm/mixin/Mixin.java b/src/api/java/org/spongepowered/asm/mixin/Mixin.java new file mode 100644 index 00000000..5278c08e --- /dev/null +++ b/src/api/java/org/spongepowered/asm/mixin/Mixin.java @@ -0,0 +1,5 @@ +package org.spongepowered.asm.mixin; + +public @interface Mixin { + Class value(); +} diff --git a/src/api/java/org/spongepowered/asm/mixin/gen/Accessor.java b/src/api/java/org/spongepowered/asm/mixin/gen/Accessor.java new file mode 100644 index 00000000..3247cc3f --- /dev/null +++ b/src/api/java/org/spongepowered/asm/mixin/gen/Accessor.java @@ -0,0 +1,5 @@ +package org.spongepowered.asm.mixin.gen; + +public @interface Accessor { + String value() default ""; +} diff --git a/src/api/java/org/spongepowered/asm/mixin/injection/At.java b/src/api/java/org/spongepowered/asm/mixin/injection/At.java new file mode 100644 index 00000000..fc796c71 --- /dev/null +++ b/src/api/java/org/spongepowered/asm/mixin/injection/At.java @@ -0,0 +1,14 @@ +package org.spongepowered.asm.mixin.injection; + +public @interface At { + String value() default ""; + String target() default ""; + int ordinal() default 0; + boolean remap() default true; + Shift shift() default Shift.BEFORE; + + enum Shift { + BEFORE, + AFTER + } +} diff --git a/src/api/java/org/spongepowered/asm/mixin/injection/Inject.java b/src/api/java/org/spongepowered/asm/mixin/injection/Inject.java new file mode 100644 index 00000000..46ee8f4c --- /dev/null +++ b/src/api/java/org/spongepowered/asm/mixin/injection/Inject.java @@ -0,0 +1,7 @@ +package org.spongepowered.asm.mixin.injection; + +public @interface Inject { + String method() default ""; + At at(); + boolean cancellable() default false; +} diff --git a/src/api/java/org/spongepowered/asm/mixin/injection/ModifyArg.java b/src/api/java/org/spongepowered/asm/mixin/injection/ModifyArg.java new file mode 100644 index 00000000..3f6786d0 --- /dev/null +++ b/src/api/java/org/spongepowered/asm/mixin/injection/ModifyArg.java @@ -0,0 +1,7 @@ +package org.spongepowered.asm.mixin.injection; + +public @interface ModifyArg { + String method() default ""; + At at(); + int index(); +} diff --git a/src/api/java/org/spongepowered/asm/mixin/injection/Redirect.java b/src/api/java/org/spongepowered/asm/mixin/injection/Redirect.java new file mode 100644 index 00000000..5a85ef7f --- /dev/null +++ b/src/api/java/org/spongepowered/asm/mixin/injection/Redirect.java @@ -0,0 +1,6 @@ +package org.spongepowered.asm.mixin.injection; + +public @interface Redirect { + String[] method() default ""; + At at(); +} diff --git a/src/api/java/org/spongepowered/asm/mixin/injection/callback/CallbackInfo.java b/src/api/java/org/spongepowered/asm/mixin/injection/callback/CallbackInfo.java new file mode 100644 index 00000000..061042c0 --- /dev/null +++ b/src/api/java/org/spongepowered/asm/mixin/injection/callback/CallbackInfo.java @@ -0,0 +1,5 @@ +package org.spongepowered.asm.mixin.injection.callback; + +public abstract class CallbackInfo { + public abstract void cancel(); +} diff --git a/src/api/java/org/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable.java b/src/api/java/org/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable.java new file mode 100644 index 00000000..836131aa --- /dev/null +++ b/src/api/java/org/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable.java @@ -0,0 +1,6 @@ +package org.spongepowered.asm.mixin.injection.callback; + +public abstract class CallbackInfoReturnable { + public abstract T getReturnValue(); + public abstract void setReturnValue(T t); +}