org.aspectj.org.eclipse.jdt.core.util.IStackMapFrame Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aspectjtools Show documentation
Show all versions of aspectjtools Show documentation
Tools from the AspectJ project
/*******************************************************************************
* Copyright (c) 2000, 2009 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.aspectj.org.eclipse.jdt.core.util;
/**
* Description of a stack map frame as specified in the JVM specifications.
*
* This interface may be implemented by clients.
*
* @since 3.2
*/
public interface IStackMapFrame {
/**
* Answer back the frame type for this entry.
*
*
* Type
* Range
*
*
* SAME
* 0-63
*
*
* SAME_LOCALS_1_STACK_ITEM
* 64-127
*
*
* SAME_LOCALS_1_STACK_ITEM_EXTENDED
* 247
*
*
* CHOP
* 248-250
*
*
* SAME_FRAME_EXTENDED
* 251
*
*
* APPEND
* 252-254
*
*
* FULL_FRAME
* 255
*
*
*
* @return the frame type for this entry
*/
int getFrameType();
/**
* Answer back the offset delta.
* This is not defined only for the frame types SAME and SAME_LOCALS_1_STACK_ITEM.
*
* @return the offset delta
*/
int getOffsetDelta();
/**
* Answer back the number of locals.
* This is defined only for the frame type FULL_FRAME.
*
* @return the number of locals
*/
int getNumberOfLocals();
/**
* Answer back verification infos for the defined locals.
* This is defined only for frame types APPEND and FULL_FRAME.
*
* @return verification infos for the defined locals
*/
IVerificationTypeInfo[] getLocals();
/**
* Answer back the number of stack items
*
This is defined only for the frame types SAME_LOCALS_1_STACK_ITEM, SAME_LOCALS_1_STACK_ITEM_EXTENDED and FULL_FRAME.
* For SAME_LOCALS_1_STACK_ITEM and SAME_LOCALS_1_STACK_ITEM_EXTENDED, the answer is implicitely 1.
*
* @return the number of stack items
*/
int getNumberOfStackItems();
/**
* Answer back the verification infos for the stack items.
*
* @return the verification infos for the stack items
*/
IVerificationTypeInfo[] getStackItems();
}