public class ParticleTypeASM_1_7 extends ParticleBaseASM implements ParticleTypesImplProvider
Class responsible for providing version-dependent code of particle types in MC 1.7.
particleType, particleTypeBlock, particleTypeBlockMotion, particleTypeColorable, particleTypeDust, particleTypeItemMotion, particleTypeMotion, particleTypeNote, particleTypeRedstoneAALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASM6, ASM7, ASM8_EXPERIMENTAL, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V9| Constructor and Description |
|---|
ParticleTypeASM_1_7(java.lang.String version) |
| Modifier and Type | Method and Description |
|---|---|
void |
defineImplementation(TempClassLoader cl)
Defines all implementations of certain particle
types version on parameter class loader.
|
protected org.objectweb.asm.Type |
getTypeImpl(org.objectweb.asm.Type superType)
Gets a
Type object representing
class implementation of parameter Type object
class representation. |
void |
visitParticleTypes(org.objectweb.asm.MethodVisitor mv,
ParticleVersion interfaceVersion)
Visits all particle types implementation
on parameter
MethodVisitor using
parameter interface version. |
addIsValiddesc, getTypeImplprotected org.objectweb.asm.Type getTypeImpl(org.objectweb.asm.Type superType)
ParticleBaseASMGets a Type object representing
class implementation of parameter Type object
class representation.
getTypeImpl in class ParticleBaseASMsuperType - a Type object representing
certain class.Type object representing class that implements
class represented by parameter Type object.public void defineImplementation(TempClassLoader cl)
ParticleTypesImplProviderDefines all implementations of certain particle types version on parameter class loader.
defineImplementation in interface ParticleTypesImplProvidercl - a class loader on which implementation
should be defined.public void visitParticleTypes(org.objectweb.asm.MethodVisitor mv,
ParticleVersion interfaceVersion)
ParticleTypesImplProviderVisits all particle types implementation
on parameter MethodVisitor using
parameter interface version.
Technically speaking, it generates bytecode for instantiating all particle types implementations and storing them in instance fields.
visitParticleTypes in interface ParticleTypesImplProvidermv - a MethodVisitor on which
instructions visiting occurs.interfaceVersion - a ParticleVersion enum
providing informations about processed
interface version.Copyright © 2020. All Rights Reserved.