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

at.yawk.valda.ir.LocalMember Maven / Gradle / Ivy

The newest version!
package at.yawk.valda.ir;

/**
 * @author yawkat
 */
public interface LocalMember extends Member {
    Access getAccess();

    void setName(String name);

    /**
     * "Undeclared" members do not exist in the actual dex file but are invocation or field-load/store targets.
     *
     * Assume there are two classes:
     *
     * 
     * class A {
     *     static void run() {}
     * }
     * class B extends A {}
     * 
* * An invocation {@code B.run()} will produce an {@code invoke-static {}, LB;->run()V}. It is effectively * calling a non-existent method {@code run()V} on the class {@code B} that at runtime actually calls the method * on {@code A}. However, if after compilation a method {@code run()V} is added to {@code B}, that method * is called instead. Similar rules apply to fields. * * To handle this behavior we introduce the concept of "declared members". Undeclared members can be * "materialized" to real members if necessary, while maintaining the expected dispatch rules. */ boolean isDeclared(); @Override LocalClassMirror getDeclaringType(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy