FileDocCategorySizeDatePackage
LocalEnd.javaAPI DocAndroid 5.1 API2920Thu Mar 12 22:18:28 GMT 2015com.android.dexgen.dex.code

LocalEnd

public final class LocalEnd extends ZeroSizeInsn
Pseudo-instruction which is used to explicitly end the mapping of a register to a named local variable. That is, an instance of this class in an instruction stream indicates that starting with the subsequent instruction, the indicated variable is no longer valid.

Fields Summary
private final com.android.dexgen.rop.code.RegisterSpec
local
{@code non-null;} register spec representing the local variable ended by this instance. Note: Technically, only the register number needs to be recorded here as the rest of the information is implicit in the ambient local variable state, but other code will check the other info for consistency.
Constructors Summary
public LocalEnd(com.android.dexgen.rop.code.SourcePosition position, com.android.dexgen.rop.code.RegisterSpec local)
Constructs an instance. The output address of this instance is initially unknown ({@code -1}).

param
position {@code non-null;} source position
param
local {@code non-null;} register spec representing the local variable introduced by this instance

        super(position);

        if (local == null) {
            throw new NullPointerException("local == null");
        }

        this.local = local;
    
Methods Summary
protected java.lang.StringargString()
{@inheritDoc}

        return local.toString();
    
public com.android.dexgen.rop.code.RegisterSpecgetLocal()
Gets the register spec representing the local variable ended by this instance.

return
{@code non-null;} the register spec

        return local;
    
protected java.lang.StringlistingString0(boolean noteIndices)
{@inheritDoc}

        return "local-end " + LocalStart.localString(local);
    
public DalvInsnwithRegisterOffset(int delta)
{@inheritDoc}

        return new LocalEnd(getPosition(), local.withOffset(delta));
    
public DalvInsnwithRegisters(com.android.dexgen.rop.code.RegisterSpecList registers)
{@inheritDoc}

        return new LocalEnd(getPosition(), local);