blob: 4f3d4c220566fb112be64ec57ccc563261886662 [file] [log] [blame]
/*******************************************************************************
* 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();
}