/******************************************************************************* * Copyright (c) 2009-2012 CWI * 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: * * Jurgen J. Vinju - Jurgen.Vinju@cwi.nl - CWI * * Emilie Balland - (CWI) * * Michael Steindorfer - Michael.Steindorfer@cwi.nl - CWI *******************************************************************************/ package org.rascalmpl.eclipse.debug.core.model; import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.IBreakpointManager; import org.eclipse.debug.core.model.DebugElement; import org.eclipse.debug.core.model.IDebugTarget; import org.rascalmpl.debug.IDebugMessage; import org.rascalmpl.eclipse.IRascalResources; /** * Common function for debug elements. */ abstract public class RascalDebugElement extends DebugElement { /** * Constructs a new debug element in the given target. * * @param target debug target */ public RascalDebugElement(IDebugTarget target) { super(target); } /* (non-Javadoc) * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier() */ public String getModelIdentifier() { return IRascalResources.ID_RASCAL_DEBUG_MODEL; } /** * Returns the debug target as a target. * * @return debug target */ public RascalDebugTarget getRascalDebugTarget() { return (RascalDebugTarget) getDebugTarget(); } /** * Returns the breakpoint manager * * @return the breakpoint manager */ protected IBreakpointManager getBreakpointManager() { return DebugPlugin.getDefault().getBreakpointManager(); } /** * Sends an asynchronous request to the debugger. * * @param message containing request */ public void sendRequest(IDebugMessage message) { getRascalDebugTarget().sendRequest(message); } }