/******************************************************************************* | |
* Copyright (c) 2009, 2010, 2011 Nokia 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: | |
* Nokia - Initial API and implementation | |
* Broadcom - addition of properties | |
*******************************************************************************/ | |
package org.eclipse.cdt.debug.edc.symbols; | |
import java.util.Map; | |
import org.eclipse.cdt.core.IAddress; | |
/** | |
* Interface representing a symbol from the symbol table | |
* @since 2.0 | |
*/ | |
public interface ISymbol extends Comparable<Object>, IAddressInterval, IHasSize { | |
/** | |
* the executable section containing this symbol | |
* @since 3.0 | |
*/ | |
static final String PROPERTY_CONTAINER = IExecutableSection.PROPERTY_CONTAINER; | |
/** | |
* Symbol has a type indicating executable code such as a function | |
* @since 3.0 | |
*/ | |
static final String PROPERTY_EXECUTABLE = IExecutableSection.PROPERTY_EXECUTABLE; | |
/** | |
* Symbol has type indicating that it is for a data object | |
* @since 3.0 | |
*/ | |
static final String PROPERTY_DATA = "data"; //$NON-NLS-1$ | |
/** | |
* Symbol is neither executable code nor data but something else such as a file or section | |
* @since 3.0 | |
*/ | |
static final String PROPERTY_NOT_EXECUTABLE_OR_DATA = "notExecutableOrData"; //$NON-NLS-1$ | |
/** | |
* Symbol represents a file | |
* @since 3.0 | |
*/ | |
static final String PROPERTY_FILE = "file"; //$NON-NLS-1$ | |
/** | |
* Symbol is for a section | |
* @since 3.0 | |
*/ | |
static final String PROPERTY_SECTION = "section"; //$NON-NLS-1$ | |
/** | |
* Get the address of the symbol | |
* | |
* @return the symbol address | |
*/ | |
IAddress getAddress(); | |
/** | |
* Get the size of the symbol | |
* | |
* @return the symbol size | |
*/ | |
long getSize(); | |
/** | |
* Get the properties of the section | |
* | |
* @return the section properties | |
* @since 3.0 | |
*/ | |
Map<String, Object> getProperties(); | |
} |