Skip to content
Success

Changes

Summary

  1. Inclusive guard checking (commit: 869200e) (details)
  2. Expand slices test (commit: ba45d5d) (details)
  3. Readd SlicedInjectionPointSelector#getAfterSelected (commit: 515be29) (details)
Commit 869200e50adccf29e6daad8903e9a297207a1e20 by lassebq.mine
Inclusive guard checking

This set of changes is a followup to #4 and modifies the behavior of @At matching,
that way the loop ends on the guard instruction, including guard.
Previous behavior specified guard as the instruction after matched which
required extra processing (like skipping frames or labels) as seen in
SlicedInjectionPointSelector.getAfterSelected.

It was still flawed regardless, as when the matching instruction is the
last instruction in MethodNode.instructions, it will end up on null,
which means it will throw an IllegalStateException about exhausted instruction list
(commit: 869200e)
The file was modifiedmicromixin-transformer/src/main/java/org/stianloader/micromixin/transform/api/SlicedInjectionPointSelector.java (diff)
The file was modifiedmicromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/selectors/inject/InvokeInjectionPointSelector.java (diff)
The file was modifiedmicromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/selectors/inject/ConstantInjectionPointSelector.java (diff)
The file was modifiedmicromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/selectors/inject/ReturnInjectionPointSelector.java (diff)
The file was modifiedmicromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/selectors/inject/FieldInjectionPointSelector.java (diff)
The file was modifiedmicromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/selectors/inject/LoadInjectionPointSelector.java (diff)
The file was modifiedmicromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/selectors/inject/StoreInjectionPointSelector.java (diff)
The file was modifiedmicromixin-transformer/src/main/java/org/stianloader/micromixin/transform/internal/selectors/inject/TailInjectionPointSelector.java (diff)
The file was modifiedmicromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/mixin/SliceTestMixins.java (diff)
The file was modifiedmicromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/TestHarness.java (diff)
The file was modifiedmicromixin-test-j8/src/main/java/org/stianloader/micromixin/test/j8/targets/SliceTest.java (diff)
Commit 515be29cecf912046a850605ec8552313d44c656 by Geolykt
Readd SlicedInjectionPointSelector#getAfterSelected

Albeit deprecated
(commit: 515be29)
The file was modifiedmicromixin-annotations/build.gradle (diff)
The file was modifiedmicromixin-transformer/src/main/java/org/stianloader/micromixin/transform/api/SlicedInjectionPointSelector.java (diff)
The file was modifiedmicromixin-backports/build.gradle (diff)
The file was modifiedmicromixin-test-j8/pom.xml (diff)
The file was modifiedmicromixin-runtime/build.gradle (diff)
The file was modifiedmicromixin-transformer/build.gradle (diff)