###############################################################################
# Copyright (c) 2005, 2007 IBM Corporation and others.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0 which is available at
# http://www.eclipse.org/legal/epl-2.0.
#
# SPDX-License-Identifier: EPL-2.0
#

###############################################################################
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