/******************************************************************************* * Copyright (c) 2000, 2008 QNX Software Systems 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: * QNX Software Systems - Initial API and implementation *******************************************************************************/ package org.eclipse.cdt.utils.debug; public interface IDebugEntryRequestor { /** * Entering a compilation unit. * @param name * @param address start of address of the cu. */ void enterCompilationUnit(String name, long address); /** * Exit the current compilation unit. * @param address end of compilation unit. */ void exitCompilationUnit(long address); /** * Entering new include file in a compilation unit. * @param name */ void enterInclude(String name); /** * Exit the current include file. */ void exitInclude(); /** * Enter a function. * @param name of the function/method * @param type type of the return value. * @param isGlobal return the visiblity of the function. * @param address the start address of the function. */ void enterFunction(String name, DebugType type, boolean isGlobal, long address); /** * Exit the current function. * @param address the address where the function ends. */ void exitFunction(long address); /** * Enter a code block in a function. * @param offset address of the block starts relative to the current function. */ void enterCodeBlock(long offset); /** * Exit of the current code block. * @param offset the address of which the blocks ends relative to the current function. */ void exitCodeBlock(long offset); /** * Statement in the compilation unit with a given address. * @param line lineno of the statement relative to the current compilation unit. * @param offset addres of the statement relative to the current function. */ void acceptStatement(int line, long address); /** * Integer constant. */ void acceptIntegerConst(String name, int value); /** * floating point constant. * @param name * @param value */ void acceptFloatConst(String name, double value); /** * Type constant: "const b = 0", b is a type enum. * @param name * @param type * @param address */ void acceptTypeConst(String name, DebugType type, int value); /** * Caught Exception. * @param name * @param value */ void acceptCaughtException(String name, DebugType type, long address); /** * Accept a parameter for the current function. * @param name of the parameter * @param type of the parameter * @param kind of the parameter * @param offset address of the parameter relative to the current function. */ void acceptParameter(String name, DebugType type, DebugParameterKind kind, long offset); /** * Record a variable. * @param name * @param type * @param kind * @param address */ void acceptVariable(String name, DebugType type, DebugVariableKind kind, long address); /** * Type definition. * IDebugEntryRequestor * @param name new name * @param type */ void acceptTypeDef(String name, DebugType type); }