2 // Use of this source code is governed by a BSD-style license that can be |
2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. |
3 // found in the LICENSE file. |
4 |
4 |
5 package org.chromium.debug.core.model; |
5 package org.chromium.debug.core.model; |
6 |
6 |
7 import org.chromium.debug.core.ChromiumDebugPlugin; |
|
8 import org.eclipse.core.runtime.PlatformObject; |
7 import org.eclipse.core.runtime.PlatformObject; |
9 import org.eclipse.debug.core.ILaunch; |
8 import org.eclipse.debug.core.ILaunch; |
10 import org.eclipse.debug.core.model.IDebugElement; |
9 import org.eclipse.debug.core.model.IDebugElement; |
11 |
10 |
12 /** |
11 /** |
13 * A generic IDebugElement implementation. |
12 * A generic IDebugElement implementation. |
14 */ |
13 */ |
15 public class DebugElementImpl extends PlatformObject implements IDebugElement { |
14 public class DebugElementImpl extends PlatformObject implements IDebugElement { |
16 |
15 |
17 private final IChromiumDebugTarget debugTarget; |
16 /** |
|
17 * Instance of {@link DebugTargetImpl} or {@code null} if this is {@link DebugTargetImpl}. |
|
18 * TODO(peter.rybin): Do we really need this null value? |
|
19 */ |
|
20 private final DebugTargetImpl debugTarget; |
18 |
21 |
19 public DebugElementImpl(IChromiumDebugTarget debugTarget) { |
22 public DebugElementImpl(DebugTargetImpl debugTarget) { |
20 this.debugTarget = debugTarget; |
23 this.debugTarget = debugTarget; |
21 } |
24 } |
22 |
25 |
23 public IChromiumDebugTarget getDebugTarget() { |
26 public DebugTargetImpl getDebugTarget() { |
24 return debugTarget; |
27 return debugTarget; |
25 } |
28 } |
26 |
29 |
27 public ILaunch getLaunch() { |
30 public ILaunch getLaunch() { |
28 return getDebugTarget().getLaunch(); |
31 return getDebugTarget().getLaunch(); |
29 } |
32 } |
30 |
33 |
31 public String getModelIdentifier() { |
34 public String getModelIdentifier() { |
32 return ChromiumDebugPlugin.DEBUG_MODEL_ID; |
35 return getDebugTarget().getChromiumModelIdentifier(); |
33 } |
36 } |
34 |
37 |
35 @Override |
38 @Override |
36 @SuppressWarnings("unchecked") |
39 @SuppressWarnings("unchecked") |
37 public Object getAdapter(Class adapter) { |
40 public Object getAdapter(Class adapter) { |