/* * #%~ * org.overture.ide.debug * %% * Copyright (C) 2008 - 2014 Overture * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #~% */ package org.overture.ide.debug.core.model.internal; import java.util.Map; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.overture.ide.debug.core.model.IVdmLineBreakpoint; import org.overture.ide.debug.core.model.IVdmMethodEntryBreakpoint; import org.overture.ide.debug.core.model.IVdmWatchpoint; public class VdmDebugModel { public static String getDebugModelId(IResource resource) { // final IDLTKLanguageToolkit toolkit = DLTKLanguageManager // .findToolkitForResource(resource); // if (toolkit != null) { // String natureId = toolkit.getNatureId(); // return VdmDebugManager.getInstance().getDebugModelByNature( // natureId); // } return null; } public static IVdmLineBreakpoint createLineBreakpoint(IResource resource, IPath path, int lineNumber, int charStart, int charEnd, boolean register, Map<String, Object> attributes) throws CoreException { return new VdmLineBreakpoint(getDebugModelId(resource), resource, path, lineNumber, charStart, charEnd, register); } public static IVdmLineBreakpoint createLineBreakpoint(String debugModelId, IResource resource, IPath path, int lineNumber, int charStart, int charEnd, boolean register, Map<String, Object> attributes) throws CoreException { return new VdmLineBreakpoint(debugModelId, resource, path, lineNumber, charStart, charEnd, register); } // public static IVdmSpawnpoint createSpawnpoint(String debugModelId, // IResource resource, IPath path, int lineNumber, int charStart, // int charEnd, boolean register, Map attributes) throws CoreException { // return new VdmSpawnpoint(debugModelId, resource, path, lineNumber, // charStart, charEnd, register); // } public static IVdmMethodEntryBreakpoint createMethodEntryBreakpoint( IResource resource, IPath path, int lineNumber, int charStart, int charEnd, boolean register, Map<String, Object> attributes, String methodName) throws CoreException { return new VdmMethodEntryBreakpoint(getDebugModelId(resource), resource, path, lineNumber, charStart, charEnd, register, methodName); } public static IVdmWatchpoint createWatchPoint(IResource resource, IPath path, int lineNumber, int start, int end, String fieldName) throws CoreException { return new VdmWatchpoint(getDebugModelId(resource), resource, path, lineNumber, start, end, fieldName); } // public static VdmExceptionBreakpoint createExceptionBreakpoint( // String debugModelId, IResource resource, String typename, // boolean caught, boolean uncaught, boolean register, Map attributes) // throws CoreException { // if (attributes == null) // attributes = new HashMap(); // // return new VdmExceptionBreakpoint(debugModelId, resource, typename, // caught, uncaught, register, attributes); // } }