-
Notifications
You must be signed in to change notification settings - Fork 19
ASM long -> 3 int transformation for light engine #84
base: MC_1.18
Are you sure you want to change the base?
ASM long -> 3 int transformation for light engine #84
Conversation
I will probably be re-writing/simplifying a big portion of this soon. |
…lace and never used it
…ineAsm # Conflicts: # CubicChunksCore # src/main/java/io/github/opencubicchunks/cubicchunks/mixin/ASMConfigPlugin.java
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't see any major issues.
type-transformer-config-docs.md
still needs to be finished- the transformer stuff could do with more comments/javadocs, of course; don't necessarily need this before merge though, it can be done later
- there's a bunch of things missing
@Nullable
since you useNonnullByDefault
- I'm not gonna go through and comment on them all; it's pretty minor. - It might be worth chucking
List<Integer>[][]
in a record class somewhere with a javadoc explaining what the indices actually do - I've read this entire PR and I'm still not sure what they are. - "indices" and "indexes" seem to be used inconsistently. Very minor
- can the int3 list/map/set/etc in
cubicchunks/utils
be moved to cubicchunkscore?
To do before merge:
- Salamander addresses my comments
- Salamander finishes documentation in
type-transformer-config-docs.md
- Would like others to carefully review the following:
- The int3 list/map/set stuff in
cubicchunks/utils
TransformTrackingInterpeter.invokeDynamicOperation
TypeTransformer.transformInvokeDynamicInsn
(I'm not confident enough in my knowledge of lambdas andinvokeDynamic
in bytecode; I could have missed issues with the relevant methods.)
- The int3 list/map/set stuff in
- If possible, would like at least one other person to review this entire PR; I understand that reviewing 11k LoC diff is a big ask though 😅
buildSrc/src/main/java/io/github/opencubicchunks/gradle/TypeTransformConfigGen.java
Outdated
Show resolved
Hide resolved
<module name="CyclomaticComplexity"> | ||
<property name="switchBlockAsSingleDecisionPoint" value="true"/> | ||
<property name="max" value="15"/> | ||
<property name="tokens" value="LITERAL_WHILE , LITERAL_DO , LITERAL_FOR , LITERAL_IF , LITERAL_SWITCH , LITERAL_CASE , LITERAL_CATCH , QUESTION"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure of the consequences of this; would like others to review
src/main/java/io/github/opencubicchunks/cubicchunks/utils/Int3HashSet.java
Outdated
Show resolved
Hide resolved
src/main/java/io/github/opencubicchunks/cubicchunks/utils/LinkedInt3HashSet.java
Outdated
Show resolved
Hide resolved
...hunks/mixin/transform/typetransformer/transformer/analysis/TransformTrackingInterpreter.java
Outdated
Show resolved
Hide resolved
...hunks/mixin/transform/typetransformer/transformer/analysis/TransformTrackingInterpreter.java
Outdated
Show resolved
Hide resolved
...opencubicchunks/cubicchunks/mixin/transform/typetransformer/transformer/TypeTransformer.java
Outdated
Show resolved
Hide resolved
src/main/java/io/github/opencubicchunks/cubicchunks/mixin/transform/util/AncestorHashMap.java
Outdated
Show resolved
Hide resolved
|
||
import org.objectweb.asm.Type; | ||
|
||
public interface Ancestralizable<T extends Ancestralizable<T>> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel like this could use a better name, but I don't have suggestions.
(Is "ancestralizable" even a word?)
Also another thing Salamander and I discussed that I forgot to mention here: For clarity, I think we should use |
rename static getKind to getKindFor in DerivedTransformType, as otherwise checkstyle complains about overloads that aren't together
No description provided.