###############################################################################
# Copyright (c) 2005, 2007 IBM Corporation 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
#

###############################################################################
pluginProvider=Eclipse.org
pluginName=Dynamic Languages Toolkit Debug Core

ScriptLineBreakpoint.name=Script Line Breakpoint
ScriptMethodEntryBreakpoint.name=Script Method Entry Breakpoint
ScriptWatchpoint.name=Script Watchpoint
ScriptSpawnpoint.name=Script Spawnpoint
ScriptExceptionBreakpoint.name=Script Exception Breakpoint
extension-point.name.scriptDebugModel=Script Debug Model
extension-point.name.smartStepEvaluator=Smart Step Evaluator
extension-point.name.hotCodeReplaceProvider=Hot Code Replace Provider