blob: f36db8c38c01731d214c5a7563ff6833f64980ba [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2011 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.core.util;
/**
* Description of a Java opcodes visitor. This should be used to walk the opcodes
* of a ICodeAttribute.
*
* Clients must subclass {@link ByteCodeVisitorAdapter} to define an implementation
* of this interface.
*
* @since 2.0
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface IBytecodeVisitor {
void _aaload(int pc);
void _aastore(int pc);
void _aconst_null(int pc);
void _aload(int pc, int index);
void _aload_0(int pc);
void _aload_1(int pc);
void _aload_2(int pc);
void _aload_3(int pc);
void _anewarray(
int pc,
int index,
IConstantPoolEntry constantClass);
void _areturn(int pc);
void _arraylength(int pc);
void _astore(int pc, int index);
void _astore_0(int pc);
void _astore_1(int pc);
void _astore_2(int pc);
void _astore_3(int pc);
void _athrow(int pc);
void _baload(int pc);
void _bastore(int pc);
void _bipush(int pc, byte _byte);
void _caload(int pc);
void _castore(int pc);
void _checkcast(
int pc,
int index,
IConstantPoolEntry constantClass);
void _d2f(int pc);
void _d2i(int pc);
void _d2l(int pc);
void _dadd(int pc);
void _daload(int pc);
void _dastore(int pc);
void _dcmpg(int pc);
void _dcmpl(int pc);
void _dconst_0(int pc);
void _dconst_1(int pc);
void _ddiv(int pc);
void _dload(int pc, int index);
void _dload_0(int pc);
void _dload_1(int pc);
void _dload_2(int pc);
void _dload_3(int pc);
void _dmul(int pc);
void _dneg(int pc);
void _drem(int pc);
void _dreturn(int pc);
void _dstore(int pc, int index);
void _dstore_0(int pc);
void _dstore_1(int pc);
void _dstore_2(int pc);
void _dstore_3(int pc);
void _dsub(int pc);
void _dup(int pc);
void _dup_x1(int pc);
void _dup_x2(int pc);
void _dup2(int pc);
void _dup2_x1(int pc);
void _dup2_x2(int pc);
void _f2d(int pc);
void _f2i(int pc);
void _f2l(int pc);
void _fadd(int pc);
void _faload(int pc);
void _fastore(int pc);
void _fcmpg(int pc);
void _fcmpl(int pc);
void _fconst_0(int pc);
void _fconst_1(int pc);
void _fconst_2(int pc);
void _fdiv(int pc);
void _fload(int pc, int index);
void _fload_0(int pc);
void _fload_1(int pc);
void _fload_2(int pc);
void _fload_3(int pc);
void _fmul(int pc);
void _fneg(int pc);
void _frem(int pc);
void _freturn(int pc);
void _fstore(int pc, int index);
void _fstore_0(int pc);
void _fstore_1(int pc);
void _fstore_2(int pc);
void _fstore_3(int pc);
void _fsub(int pc);
void _getfield(
int pc,
int index,
IConstantPoolEntry constantFieldref);
void _getstatic(
int pc,
int index,
IConstantPoolEntry constantFieldref);
void _goto(int pc, int branchOffset);
void _goto_w(int pc, int branchOffset);
void _i2b(int pc);
void _i2c(int pc);
void _i2d(int pc);
void _i2f(int pc);
void _i2l(int pc);
void _i2s(int pc);
void _iadd(int pc);
void _iaload(int pc);
void _iand(int pc);
void _iastore(int pc);
void _iconst_m1(int pc);
void _iconst_0(int pc);
void _iconst_1(int pc);
void _iconst_2(int pc);
void _iconst_3(int pc);
void _iconst_4(int pc);
void _iconst_5(int pc);
void _idiv(int pc);
void _if_acmpeq(int pc, int branchOffset);
void _if_acmpne(int pc, int branchOffset);
void _if_icmpeq(int pc, int branchOffset);
void _if_icmpne(int pc, int branchOffset);
void _if_icmplt(int pc, int branchOffset);
void _if_icmpge(int pc, int branchOffset);
void _if_icmpgt(int pc, int branchOffset);
void _if_icmple(int pc, int branchOffset);
void _ifeq(int pc, int branchOffset);
void _ifne(int pc, int branchOffset);
void _iflt(int pc, int branchOffset);
void _ifge(int pc, int branchOffset);
void _ifgt(int pc, int branchOffset);
void _ifle(int pc, int branchOffset);
void _ifnonnull(int pc, int branchOffset);
void _ifnull(int pc, int branchOffset);
void _iinc(int pc, int index, int _const);
void _iload(int pc, int index);
void _iload_0(int pc);
void _iload_1(int pc);
void _iload_2(int pc);
void _iload_3(int pc);
void _imul(int pc);
void _ineg(int pc);
void _instanceof(
int pc,
int index,
IConstantPoolEntry constantClass);
/**
* @since 3.6
* @deprecated This has been replaced with {@link #_invokedynamic(int, int, IConstantPoolEntry)}
*/
void _invokedynamic(
int pc,
int index,
IConstantPoolEntry nameEntry,
IConstantPoolEntry descriptorEntry);
/**
* @since 3.8
*/
void _invokedynamic(
int pc,
int index,
IConstantPoolEntry invokeDynamic);
void _invokeinterface(
int pc,
int index,
byte nargs,
IConstantPoolEntry constantInterfaceMethodref);
void _invokespecial(
int pc,
int index,
IConstantPoolEntry constantMethodref);
void _invokestatic(
int pc,
int index,
IConstantPoolEntry constantMethodref);
void _invokevirtual(
int pc,
int index,
IConstantPoolEntry constantMethodref);
void _ior(int pc);
void _irem(int pc);
void _ireturn(int pc);
void _ishl(int pc);
void _ishr(int pc);
void _istore(int pc, int index);
void _istore_0(int pc);
void _istore_1(int pc);
void _istore_2(int pc);
void _istore_3(int pc);
void _isub(int pc);
void _iushr(int pc);
void _ixor(int pc);
void _jsr(int pc, int branchOffset);
void _jsr_w(int pc, int branchOffset);
void _l2d(int pc);
void _l2f(int pc);
void _l2i(int pc);
void _ladd(int pc);
void _laload(int pc);
void _land(int pc);
void _lastore(int pc);
void _lcmp(int pc);
void _lconst_0(int pc);
void _lconst_1(int pc);
void _ldc(int pc, int index, IConstantPoolEntry constantPoolEntry);
void _ldc_w(int pc, int index, IConstantPoolEntry constantPoolEntry);
void _ldc2_w(int pc, int index, IConstantPoolEntry constantPoolEntry);
void _ldiv(int pc);
void _lload(int pc, int index);
void _lload_0(int pc);
void _lload_1(int pc);
void _lload_2(int pc);
void _lload_3(int pc);
void _lmul(int pc);
void _lneg(int pc);
void _lookupswitch(
int pc,
int defaultoffset,
int npairs,
int[][] offset_pairs);
void _lor(int pc);
void _lrem(int pc);
void _lreturn(int pc);
void _lshl(int pc);
void _lshr(int pc);
void _lstore(int pc, int index);
void _lstore_0(int pc);
void _lstore_1(int pc);
void _lstore_2(int pc);
void _lstore_3(int pc);
void _lsub(int pc);
void _lushr(int pc);
void _lxor(int pc);
void _monitorenter(int pc);
void _monitorexit(int pc);
void _multianewarray(
int pc,
int index,
int dimensions,
IConstantPoolEntry constantClass);
void _new(
int pc,
int index,
IConstantPoolEntry constantClass);
void _newarray(int pc, int atype);
void _nop(int pc);
void _pop(int pc);
void _pop2(int pc);
void _putfield(
int pc,
int index,
IConstantPoolEntry constantFieldref);
void _putstatic(
int pc,
int index,
IConstantPoolEntry constantFieldref);
void _ret(int pc, int index);
void _return(int pc);
void _saload(int pc);
void _sastore(int pc);
void _sipush(int pc, short value);
void _swap(int pc);
void _tableswitch(
int pc,
int defaultoffset,
int low,
int high,
int[] jump_offsets);
void _wide(
int pc,
int opcode,
int index);
void _wide(
int pc,
int iincopcode,
int index,
int _const);
void _breakpoint(int pc);
void _impdep1(int pc);
void _impdep2(int pc);
}