All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.fierioziy.asm.utils.ClassImplProvider Maven / Gradle / Ivy

There is a newer version: 2.0.3
Show newest version
package com.github.fierioziy.asm.utils;

import com.github.fierioziy.utils.TempClassLoader;
import org.objectweb.asm.MethodVisitor;

/**
 * 

An interface used by classes generating * implementation bytecode of particle types.

* *

A ParticlesASM class uses it * to handle cross-version particle type implementation.

*/ public interface ClassImplProvider { /** *

Defines all implementations of certain particle * types version on parameter class loader.

* * @param cl a class loader on which implementation * should be defined. */ void defineImplementation(TempClassLoader cl); /** *

Visits 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.

* * @param mv a MethodVisitor on which * instructions visiting occurs. * @param interfaceVersion a ParticleVersion enum * providing informations about processed * interface version. */ void visitParticleTypes(MethodVisitor mv, ParticleVersion interfaceVersion); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy