Package: InspectEvaluatedVdmExpression

InspectEvaluatedVdmExpression

nameinstructionbranchcomplexitylinemethod
InspectEvaluatedVdmExpression(IVdmEvaluationResult)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
dispose()
M: 6 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
handleDebugEvents(DebugEvent[])
M: 58 C: 0
0%
M: 13 C: 0
0%
M: 8 C: 0
0%
M: 12 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*
2: * #%~
3: * org.overture.ide.debug
4: * %%
5: * Copyright (C) 2008 - 2014 Overture
6: * %%
7: * This program is free software: you can redistribute it and/or modify
8: * it under the terms of the GNU General Public License as
9: * published by the Free Software Foundation, either version 3 of the
10: * License, or (at your option) any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: * GNU General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public
18: * License along with this program. If not, see
19: * <http://www.gnu.org/licenses/gpl-3.0.html>.
20: * #~%
21: */
22: package org.overture.ide.debug.core.model.eval;
23:
24: import org.eclipse.debug.core.DebugEvent;
25: import org.eclipse.debug.core.DebugPlugin;
26: import org.eclipse.debug.core.IDebugEventSetListener;
27: import org.eclipse.debug.core.model.IDebugElement;
28:
29: public class InspectEvaluatedVdmExpression extends EvaluatedVdmExpression
30:                 implements IDebugEventSetListener
31: {
32:
33:         public InspectEvaluatedVdmExpression(IVdmEvaluationResult result)
34:         {
35:                 super(result);
36:
37:                 DebugPlugin.getDefault().addDebugEventListener(this);
38:         }
39:
40:         public void handleDebugEvents(DebugEvent[] events)
41:         {
42:•                for (int i = 0; i < events.length; i++)
43:                 {
44:                         DebugEvent event = events[i];
45:•                        switch (event.getKind())
46:                         {
47:                                 case DebugEvent.TERMINATE:
48:•                                        if (event.getSource().equals(getDebugTarget()))
49:                                         {
50:                                                 DebugPlugin.getDefault().getExpressionManager().removeExpression(this);
51:                                         }
52:                                         break;
53:                                 case DebugEvent.SUSPEND:
54:•                                        if (event.getDetail() != DebugEvent.EVALUATION_IMPLICIT)
55:                                         {
56:•                                                if (event.getSource() instanceof IDebugElement)
57:                                                 {
58:                                                         IDebugElement source = (IDebugElement) event.getSource();
59:•                                                        if (source.getDebugTarget().equals(getDebugTarget()))
60:                                                         {
61:                                                                 DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] { new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT) });
62:                                                         }
63:                                                 }
64:                                         }
65:                                         break;
66:                         }
67:                 }
68:         }
69:
70:         public void dispose()
71:         {
72:                 super.dispose();
73:
74:                 DebugPlugin.getDefault().removeDebugEventListener(this);
75:         }
76: }