Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/breakpoints/CBreakpointImportParticipant.java')
-rw-r--r--debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/breakpoints/CBreakpointImportParticipant.java328
1 files changed, 164 insertions, 164 deletions
diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/breakpoints/CBreakpointImportParticipant.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/breakpoints/CBreakpointImportParticipant.java
index 6d9037fef4d..995eb38c6f9 100644
--- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/breakpoints/CBreakpointImportParticipant.java
+++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/breakpoints/CBreakpointImportParticipant.java
@@ -1,164 +1,164 @@
-/*******************************************************************************
- * Copyright (c) 2015 Freescale Semiconductors 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
- *
- * Contributors:
- * Dan Ungureanu (Freescale Semiconductors) - Initial implementation
- *******************************************************************************/
-package org.eclipse.cdt.debug.internal.core.breakpoints;
-
-import java.util.Map;
-
-import org.eclipse.cdt.debug.core.model.ICBreakpoint;
-import org.eclipse.cdt.debug.core.model.ICEventBreakpoint;
-import org.eclipse.cdt.debug.core.model.ICLineBreakpoint;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IBreakpointImportParticipant;
-
-/**
- * Initial implementation covering matching breakpoints at import for all platform C/C++ breakpoints
- */
-public class CBreakpointImportParticipant implements IBreakpointImportParticipant {
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.debug.core.model.IBreakpointImportParticipant#matches(java
- * .util.Map, org.eclipse.debug.core.model.IBreakpoint)
- */
- public boolean matches(Map<String, Object> attributes, IBreakpoint breakpoint)
- throws CoreException {
- if (attributes == null || breakpoint == null) {
- return false;
- }
- String type = (String) attributes.get("type"); //$NON-NLS-1$
- if (type == null) {
- return false;
- }
- if (!breakpoint.getMarker().getType().equals(type)) {
- return false;
- }
- if (breakpoint instanceof AbstractLineBreakpoint) {
- return matchesLineBreakpoint(attributes,
- (AbstractLineBreakpoint) breakpoint);
- }
- if (breakpoint instanceof AbstractTracepoint) {
- return matchesTracepoint(attributes,
- (AbstractTracepoint) breakpoint);
- }
- if (breakpoint instanceof CEventBreakpoint) {
- return matchesEventBreakpoint(attributes, (CEventBreakpoint) breakpoint);
- }
- if (breakpoint instanceof CWatchpoint) {
- return matchesWatchpoint(attributes, (CWatchpoint) breakpoint);
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.model.IBreakpointImportParticipant#verify(org.eclipse.debug.core.model.IBreakpoint)
- */
- @Override
- public void verify(IBreakpoint breakpoint) throws CoreException {}
-
-
- /**
- * Compares two attributes in a <code>null</code> safe way
- *
- * @param attr1
- * the first attribute
- * @param attr2
- * the second attribute
- * @return true if the attributes are equal, false otherwise. If both
- * attributes are <code>null</code> they are considered to be equal
- */
- private boolean attributesEqual(Object attr1, Object attr2) {
- if (attr1 == null) {
- return attr2 == null;
- }
- return attr1.equals(attr2);
- }
-
- /**
- * Returns if the given map of attributes matches the given breakpoint
- * Works for any breakpoint class that extends AbstractLineBreakpoint
- *
- * @param attributes
- * @param breakpoint
- * @return true if the attributes match the breakpoint's attributes, false
- * otherwise
- * @throws CoreException
- */
- private boolean matchesLineBreakpoint(Map<String, Object> attributes, AbstractLineBreakpoint breakpoint)
- throws CoreException {
- Integer line = (Integer) attributes.get(IMarker.LINE_NUMBER);
- int lineNumber = (line == null ? -1 : line.intValue());
- return breakpoint.getLineNumber() == lineNumber
- && attributesEqual(breakpoint.getType(), attributes.get(CBreakpoint.TYPE))
- && attributesEqual(breakpoint.getSourceHandle(), attributes.get(ICBreakpoint.SOURCE_HANDLE))
- && attributesEqual(breakpoint.getMarker().getAttribute(ICLineBreakpoint.ADDRESS), attributes.get(ICLineBreakpoint.ADDRESS))
- && attributesEqual(breakpoint.getMarker().getAttribute(ICLineBreakpoint.FUNCTION), attributes.get(ICLineBreakpoint.FUNCTION));
- }
-
- /**
- * Returns if the given map of attributes matches the given tracepoint
- * Works for any breakpoint class that extends AbstractTracepoint
- *
- * @param attributes
- * @param tracepoint
- * @return true if the attributes match the tracepoint's attributes, false
- * otherwise
- * @throws CoreException
- */
- private boolean matchesTracepoint(Map<String, Object> attributes, AbstractTracepoint tracepoint)
- throws CoreException {
- Integer line = (Integer) attributes.get(IMarker.LINE_NUMBER);
- int lineNumber = (line == null ? -1 : line.intValue());
- return tracepoint.getLineNumber() == lineNumber
- && attributesEqual(tracepoint.getType(), attributes.get(CBreakpoint.TYPE))
- && attributesEqual(tracepoint.getSourceHandle(), attributes.get(ICBreakpoint.SOURCE_HANDLE))
- && attributesEqual(tracepoint.getMarker().getAttribute(ICLineBreakpoint.ADDRESS), attributes.get(ICLineBreakpoint.ADDRESS))
- && attributesEqual(tracepoint.getMarker().getAttribute(ICLineBreakpoint.FUNCTION), attributes.get(ICLineBreakpoint.FUNCTION));
- }
-
- /**
- * Returns if the given map of attributes matches the given event breakpoint
- *
- * @param attributes
- * @param breakpoint
- * @return true if the attributes match the event breakpoint's attributes, false
- * otherwise
- * @throws CoreException
- */
- private boolean matchesEventBreakpoint(Map<String, Object> attributes, CEventBreakpoint breakpoint)
- throws CoreException {
- return breakpoint.getEventArgument().equals(
- attributes.get(ICEventBreakpoint.EVENT_ARG))
- && attributesEqual(breakpoint.getEventType(),
- attributes.get(ICEventBreakpoint.EVENT_TYPE_ID));
- }
-
- /**
- * Returns if the given map of attributes matches the given watchpoint
- *
- * @param attributes
- * @param breakpoint
- * @return true if the attributes match the watchpoint's attributes, false
- * otherwise
- * @throws CoreException
- */
- private boolean matchesWatchpoint(Map<String, Object> attributes, CWatchpoint watchpoint)
- throws CoreException {
- return watchpoint.getExpression().equals(
- attributes.get(CWatchpoint.EXPRESSION))
- && attributesEqual(watchpoint.getType(),
- attributes.get(CBreakpoint.TYPE));
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2015 Freescale Semiconductors 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
+ *
+ * Contributors:
+ * Dan Ungureanu (Freescale Semiconductors) - Initial implementation
+ *******************************************************************************/
+package org.eclipse.cdt.debug.internal.core.breakpoints;
+
+import java.util.Map;
+
+import org.eclipse.cdt.debug.core.model.ICBreakpoint;
+import org.eclipse.cdt.debug.core.model.ICEventBreakpoint;
+import org.eclipse.cdt.debug.core.model.ICLineBreakpoint;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.debug.core.model.IBreakpointImportParticipant;
+
+/**
+ * Initial implementation covering matching breakpoints at import for all platform C/C++ breakpoints
+ */
+public class CBreakpointImportParticipant implements IBreakpointImportParticipant {
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.debug.core.model.IBreakpointImportParticipant#matches(java
+ * .util.Map, org.eclipse.debug.core.model.IBreakpoint)
+ */
+ public boolean matches(Map<String, Object> attributes, IBreakpoint breakpoint)
+ throws CoreException {
+ if (attributes == null || breakpoint == null) {
+ return false;
+ }
+ String type = (String) attributes.get("type"); //$NON-NLS-1$
+ if (type == null) {
+ return false;
+ }
+ if (!breakpoint.getMarker().getType().equals(type)) {
+ return false;
+ }
+ if (breakpoint instanceof AbstractLineBreakpoint) {
+ return matchesLineBreakpoint(attributes,
+ (AbstractLineBreakpoint) breakpoint);
+ }
+ if (breakpoint instanceof AbstractTracepoint) {
+ return matchesTracepoint(attributes,
+ (AbstractTracepoint) breakpoint);
+ }
+ if (breakpoint instanceof CEventBreakpoint) {
+ return matchesEventBreakpoint(attributes, (CEventBreakpoint) breakpoint);
+ }
+ if (breakpoint instanceof CWatchpoint) {
+ return matchesWatchpoint(attributes, (CWatchpoint) breakpoint);
+ }
+ return false;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.debug.core.model.IBreakpointImportParticipant#verify(org.eclipse.debug.core.model.IBreakpoint)
+ */
+ @Override
+ public void verify(IBreakpoint breakpoint) throws CoreException {}
+
+
+ /**
+ * Compares two attributes in a <code>null</code> safe way
+ *
+ * @param attr1
+ * the first attribute
+ * @param attr2
+ * the second attribute
+ * @return true if the attributes are equal, false otherwise. If both
+ * attributes are <code>null</code> they are considered to be equal
+ */
+ private boolean attributesEqual(Object attr1, Object attr2) {
+ if (attr1 == null) {
+ return attr2 == null;
+ }
+ return attr1.equals(attr2);
+ }
+
+ /**
+ * Returns if the given map of attributes matches the given breakpoint
+ * Works for any breakpoint class that extends AbstractLineBreakpoint
+ *
+ * @param attributes
+ * @param breakpoint
+ * @return true if the attributes match the breakpoint's attributes, false
+ * otherwise
+ * @throws CoreException
+ */
+ private boolean matchesLineBreakpoint(Map<String, Object> attributes, AbstractLineBreakpoint breakpoint)
+ throws CoreException {
+ Integer line = (Integer) attributes.get(IMarker.LINE_NUMBER);
+ int lineNumber = (line == null ? -1 : line.intValue());
+ return breakpoint.getLineNumber() == lineNumber
+ && attributesEqual(breakpoint.getType(), attributes.get(CBreakpoint.TYPE))
+ && attributesEqual(breakpoint.getSourceHandle(), attributes.get(ICBreakpoint.SOURCE_HANDLE))
+ && attributesEqual(breakpoint.getMarker().getAttribute(ICLineBreakpoint.ADDRESS), attributes.get(ICLineBreakpoint.ADDRESS))
+ && attributesEqual(breakpoint.getMarker().getAttribute(ICLineBreakpoint.FUNCTION), attributes.get(ICLineBreakpoint.FUNCTION));
+ }
+
+ /**
+ * Returns if the given map of attributes matches the given tracepoint
+ * Works for any breakpoint class that extends AbstractTracepoint
+ *
+ * @param attributes
+ * @param tracepoint
+ * @return true if the attributes match the tracepoint's attributes, false
+ * otherwise
+ * @throws CoreException
+ */
+ private boolean matchesTracepoint(Map<String, Object> attributes, AbstractTracepoint tracepoint)
+ throws CoreException {
+ Integer line = (Integer) attributes.get(IMarker.LINE_NUMBER);
+ int lineNumber = (line == null ? -1 : line.intValue());
+ return tracepoint.getLineNumber() == lineNumber
+ && attributesEqual(tracepoint.getType(), attributes.get(CBreakpoint.TYPE))
+ && attributesEqual(tracepoint.getSourceHandle(), attributes.get(ICBreakpoint.SOURCE_HANDLE))
+ && attributesEqual(tracepoint.getMarker().getAttribute(ICLineBreakpoint.ADDRESS), attributes.get(ICLineBreakpoint.ADDRESS))
+ && attributesEqual(tracepoint.getMarker().getAttribute(ICLineBreakpoint.FUNCTION), attributes.get(ICLineBreakpoint.FUNCTION));
+ }
+
+ /**
+ * Returns if the given map of attributes matches the given event breakpoint
+ *
+ * @param attributes
+ * @param breakpoint
+ * @return true if the attributes match the event breakpoint's attributes, false
+ * otherwise
+ * @throws CoreException
+ */
+ private boolean matchesEventBreakpoint(Map<String, Object> attributes, CEventBreakpoint breakpoint)
+ throws CoreException {
+ return breakpoint.getEventArgument().equals(
+ attributes.get(ICEventBreakpoint.EVENT_ARG))
+ && attributesEqual(breakpoint.getEventType(),
+ attributes.get(ICEventBreakpoint.EVENT_TYPE_ID));
+ }
+
+ /**
+ * Returns if the given map of attributes matches the given watchpoint
+ *
+ * @param attributes
+ * @param breakpoint
+ * @return true if the attributes match the watchpoint's attributes, false
+ * otherwise
+ * @throws CoreException
+ */
+ private boolean matchesWatchpoint(Map<String, Object> attributes, CWatchpoint watchpoint)
+ throws CoreException {
+ return watchpoint.getExpression().equals(
+ attributes.get(CWatchpoint.EXPRESSION))
+ && attributesEqual(watchpoint.getType(),
+ attributes.get(CBreakpoint.TYPE));
+ }
+
+}

Back to the top