1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-08 18:26:01 +02:00

Fixed typo in comment

This commit is contained in:
John Cortell 2010-03-01 22:11:27 +00:00
parent afc2af0e0e
commit 7fcf6cde33

View file

@ -1,154 +1,154 @@
/******************************************************************************* /*******************************************************************************
* Copyright (c) 2008 Wind River Systems and others. * Copyright (c) 2008 Wind River Systems and others.
* All rights reserved. This program and the accompanying materials * All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0 * are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at * which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html * http://www.eclipse.org/legal/epl-v10.html
* *
* Contributors: * Contributors:
* Wind River Systems - initial API and implementation * Wind River Systems - initial API and implementation
* Nokia - enhanced to work for both GDB and EDC. Nov. 2009. * Nokia - enhanced to work for both GDB and EDC. Nov. 2009.
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.dsf.debug.service; package org.eclipse.cdt.dsf.debug.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.eclipse.cdt.dsf.concurrent.ConfinedToDsfExecutor; import org.eclipse.cdt.dsf.concurrent.ConfinedToDsfExecutor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ThreadSafe; import org.eclipse.cdt.dsf.concurrent.ThreadSafe;
import org.eclipse.cdt.dsf.concurrent.ThreadSafeAndProhibitedFromDsfExecutor; import org.eclipse.cdt.dsf.concurrent.ThreadSafeAndProhibitedFromDsfExecutor;
import org.eclipse.cdt.dsf.debug.service.BreakpointsMediator2.BreakpointEventType; import org.eclipse.cdt.dsf.debug.service.BreakpointsMediator2.BreakpointEventType;
import org.eclipse.cdt.dsf.debug.service.BreakpointsMediator2.ITargetBreakpointInfo; import org.eclipse.cdt.dsf.debug.service.BreakpointsMediator2.ITargetBreakpointInfo;
import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext; import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext;
import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.CoreException;
import org.eclipse.debug.core.model.IBreakpoint; import org.eclipse.debug.core.model.IBreakpoint;
/** /**
* Breakpoint attribute translator is used by the {@link BreakpointsMediator2} * Breakpoint attribute translator is used by the {@link BreakpointsMediator2}
* to map IDE breakpoint attributes to debugger breakpoint attributes. * to map IDE breakpoint attributes to debugger breakpoint attributes.
* <p> * <p>
* Note: The attribute translator is expected to access IDE breakpoint manager * Note: The attribute translator is expected to access IDE breakpoint manager
* objects which are synchronized using the resource system. It may also need to * objects which are synchronized using the resource system. It may also need to
* access DSF services using the DSF session executor. Therefore, the * access DSF services using the DSF session executor. Therefore, the
* implementation needs to pay special attention to the synchronization * implementation needs to pay special attention to the synchronization
* annotations on each method of the interface. * annotations on each method of the interface.
* *
* @see BreakpointMediator * @see BreakpointMediator
* @since 2.1 * @since 2.1
*/ */
public interface IBreakpointAttributeTranslator2 { public interface IBreakpointAttributeTranslator2 {
/** /**
* Initializes the translator. This method is called by the breakpoint * Initializes the translator. This method is called by the breakpoint
* mediator service, when the mediator service is initialized. * mediator service, when the mediator service is initialized.
*/ */
@ConfinedToDsfExecutor("") @ConfinedToDsfExecutor("")
public void initialize(BreakpointsMediator2 mediator); public void initialize(BreakpointsMediator2 mediator);
/** /**
* Disposes the translator. Also called by the mediator upon service * Disposes the translator. Also called by the mediator upon service
* shutdown. * shutdown.
*/ */
@ConfinedToDsfExecutor("") @ConfinedToDsfExecutor("")
public void dispose(); public void dispose();
/** /**
* Returns whether the given IDE breakpoint is supported by this debugger. * Returns whether the given IDE breakpoint is supported by this debugger.
*/ */
@ThreadSafeAndProhibitedFromDsfExecutor("") @ThreadSafeAndProhibitedFromDsfExecutor("")
public boolean supportsBreakpoint(IBreakpoint bp); public boolean supportsBreakpoint(IBreakpoint bp);
/** /**
* Resolve the breakpoint in given context. A platform BP may be mapped to * Resolve the breakpoint in given context. A platform BP may be mapped to
* ont or more target BPs, e.g. a breakpoint in an in-line function may be * one or more target BPs, e.g. a breakpoint in an in-line function may be
* mapped to several target BPs, or a thread-specific BP may be mapped to * mapped to several target BPs, or a thread-specific BP may be mapped to
* several target BPs each of which is for one thread. This method will get * several target BPs each of which is for one thread. This method will get
* the list of attribute maps each of which corresponds to one target BP. * the list of attribute maps each of which corresponds to one target BP.
* <p> * <p>
* This method is and must be called in DSF execution thread. * This method is and must be called in DSF execution thread.
* *
* @param context * @param context
* - a IBreakpointsTargetDMContext object (which could be a * a IBreakpointsTargetDMContext object (which could be a
* process or a loaded module) in which we locate target BPs for * process or a loaded module) in which we locate target BPs for
* the platform BP. Cannot be null. * the platform BP. Cannot be null.
* @param breakpoint * @param breakpoint
* - platform breakpoint. * platform breakpoint.
* @param bpAttributes * @param bpAttributes
* - all attributes of the breakpoint, usually output from * all attributes of the breakpoint, usually output from
* {@link #getAllBreakpointAttributes(IBreakpoint, boolean)}. * {@link #getAllBreakpointAttributes(IBreakpoint, boolean)}.
* @param drm * @param drm
* - on completion of the request, the DataRequestMonitor * on completion of the request, the DataRequestMonitor
* contains one or more attribute maps each of which * contains one or more attribute maps each of which
* corresponding to one target breakpoint. * corresponding to one target breakpoint.
* @throws CoreException * @throws CoreException
*/ */
@ConfinedToDsfExecutor("") @ConfinedToDsfExecutor("")
public void resolveBreakpoint(IBreakpointsTargetDMContext context, IBreakpoint breakpoint, public void resolveBreakpoint(IBreakpointsTargetDMContext context, IBreakpoint breakpoint,
Map<String, Object> bpAttributes, DataRequestMonitor<List<Map<String, Object>>> drm); Map<String, Object> bpAttributes, DataRequestMonitor<List<Map<String, Object>>> drm);
/** /**
* Get all platform defined attributes for a breakpoint plus all attributes * Get all platform defined attributes for a breakpoint plus all attributes
* defined by any breakpoint extension such as ICBreakpointExtension in CDT. * defined by any breakpoint extension such as ICBreakpointExtension in CDT.
* In other words, get all attributes available from UI. * In other words, get all attributes available from UI.
* <p> * <p>
* The attributes returned are independent of runtime context (process, * The attributes returned are independent of runtime context (process,
* module, etc), whereas attributes from * module, etc), whereas attributes from
* {@link #resolveBreakpoint(IBreakpointsTargetDMContext, IBreakpoint, Map, DataRequestMonitor)} * {@link #resolveBreakpoint(IBreakpointsTargetDMContext, IBreakpoint, Map, DataRequestMonitor)}
* are context sensitive. * are context sensitive.
* <p> * <p>
* Note this method must not be called in DSF dispatch thread because we are * Note this method must not be called in DSF dispatch thread because we are
* accessing the resources system to retrieve the breakpoint attributes. * accessing the resources system to retrieve the breakpoint attributes.
* Accessing the resources system potentially requires using global locks. * Accessing the resources system potentially requires using global locks.
* *
* @param platformBP * @param platformBP
* @param bpManagerEnabled * @param bpManagerEnabled
* @return list of target (debugger implementation) recognizable attributes. * @return list of target (debugger implementation) recognizable attributes.
* @throws CoreException * @throws CoreException
*/ */
@ThreadSafeAndProhibitedFromDsfExecutor("") @ThreadSafeAndProhibitedFromDsfExecutor("")
public Map<String, Object> getAllBreakpointAttributes(IBreakpoint platformBP, boolean bpManagerEnabled) throws CoreException; public Map<String, Object> getAllBreakpointAttributes(IBreakpoint platformBP, boolean bpManagerEnabled) throws CoreException;
/** /**
* Convert platform breakpoint attributes to target attributes. This usually * Convert platform breakpoint attributes to target attributes. This usually
* involves changing attributes keys to target recognizable ones. For * involves changing attributes keys to target recognizable ones. For
* instance, GDB integration has its own breakpoint attribute keys. * instance, GDB integration has its own breakpoint attribute keys.
* <p> * <p>
* This method overlaps somewhat with the {@link #resolveBreakpoint} * This method overlaps somewhat with the {@link #resolveBreakpoint}
* method. However, this method is currently only used by the mediator in * method. However, this method is currently only used by the mediator in
* conjunction with the {@link #canUpdateAttributes} method. * conjunction with the {@link #canUpdateAttributes} method.
* *
* @param platformBPAttr * @param platformBPAttr
* @return * @return
*/ */
@ThreadSafe @ThreadSafe
public Map<String, Object> convertAttributes(Map<String, Object> platformBPAttr); public Map<String, Object> convertAttributes(Map<String, Object> platformBPAttr);
/** /**
* Update platform about breakpoint status change, e.g. breakpoint installed on target successfully or breakpoint * Update platform about breakpoint status change, e.g. breakpoint installed on target successfully or breakpoint
* removed from target successfully. * removed from target successfully.
* <p> * <p>
* Note this method is not and must not be called in DSF dispatch thread. * Note this method is not and must not be called in DSF dispatch thread.
* *
* @param bpsInfo * @param bpsInfo
* @param eventType * @param eventType
*/ */
@ThreadSafeAndProhibitedFromDsfExecutor("") @ThreadSafeAndProhibitedFromDsfExecutor("")
public void updateBreakpointsStatus(Map<IBreakpoint, Map<IBreakpointsTargetDMContext, ITargetBreakpointInfo[]>> bpsInfo, BreakpointEventType eventType); public void updateBreakpointsStatus(Map<IBreakpoint, Map<IBreakpointsTargetDMContext, ITargetBreakpointInfo[]>> bpsInfo, BreakpointEventType eventType);
/** /**
* This is enhanced version of * This is enhanced version of
* {@link #canUpdateAttributes(org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointDMContext, Map)} * {@link #canUpdateAttributes(org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointDMContext, Map)}
* in that this API gives more context parameters so that client can make * in that this API gives more context parameters so that client can make
* decision on a finer granularity when needed. * decision on a finer granularity when needed.
* <p> * <p>
* This will be called in DSF dispatch thread. * This will be called in DSF dispatch thread.
* *
* @param bp platform breakpoint. * @param bp platform breakpoint.
* @param context * @param context
* @param attributes target-recognizable attributes. * @param attributes target-recognizable attributes.
* @return false as long as one of the attributes cannot be updated by client, otherwise true. * @return false as long as one of the attributes cannot be updated by client, otherwise true.
*/ */
@ConfinedToDsfExecutor("") @ConfinedToDsfExecutor("")
public boolean canUpdateAttributes(IBreakpoint bp, IBreakpointsTargetDMContext context, Map<String, Object> attributes); public boolean canUpdateAttributes(IBreakpoint bp, IBreakpointsTargetDMContext context, Map<String, Object> attributes);
} }