EMMA Coverage Report (generated Sun Feb 05 10:43:15 CET 2012)
[all classes][de.uka.ipd.sdq.simucomframework.variables.stackframe]

COVERAGE SUMMARY FOR SOURCE FILE [SimulatedStack.java]

nameclass, %method, %block, %line, %
SimulatedStack.java0%   (0/1)0%   (0/7)0%   (0/51)0%   (0/15)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SimulatedStack0%   (0/1)0%   (0/7)0%   (0/51)0%   (0/15)
SimulatedStack (): void 0%   (0/1)0%   (0/8)0%   (0/3)
createAndPushNewStackFrame (): SimulatedStackframe 0%   (0/1)0%   (0/11)0%   (0/3)
createAndPushNewStackFrame (SimulatedStackframe): SimulatedStackframe 0%   (0/1)0%   (0/12)0%   (0/3)
currentStackFrame (): SimulatedStackframe 0%   (0/1)0%   (0/5)0%   (0/1)
pushStackFrame (SimulatedStackframe): void 0%   (0/1)0%   (0/6)0%   (0/2)
removeStackFrame (): void 0%   (0/1)0%   (0/5)0%   (0/2)
size (): int 0%   (0/1)0%   (0/4)0%   (0/1)

1package de.uka.ipd.sdq.simucomframework.variables.stackframe;
2 
3import java.io.Serializable;
4import java.util.Stack;
5 
6/**
7 * A simulated stack used by simulation threads to store their local variables
8 * during their execution
9 * @author Steffen Becker
10 *
11 * @param <T> Content-type of the stacks contents
12 */
13public class SimulatedStack<T> implements Serializable {
14 
15        /**
16         * 
17         */
18        private static final long serialVersionUID = 4131291044209793459L;
19        
20        /**
21         * Use a Java Stack internally 
22         */
23        Stack<SimulatedStackframe<T>> stack = new Stack<SimulatedStackframe<T>>();
24        
25        public SimulatedStack()
26        {
27        }
28        
29        /** Add a stackframe to this stack. The frame has no parent frame.
30         * @return The frame added by this method
31         */
32        public SimulatedStackframe<T> createAndPushNewStackFrame()
33        {
34                SimulatedStackframe<T> frame = new SimulatedStackframe<T>();
35                stack.push(frame);
36                return frame;
37        }
38 
39        /** Add a stackframe to this stack using the given frame as parent frame
40         * @param parent The parent frame of the frame to create
41         * @return The newly created frame
42         */
43        public SimulatedStackframe<T> createAndPushNewStackFrame(SimulatedStackframe<T> parent)
44        {
45                SimulatedStackframe<T> frame = new SimulatedStackframe<T>(parent);
46                stack.push(frame);
47                return frame;
48        }
49        
50        /**
51         * @return Topmost stackframe on this stack
52         */
53        public SimulatedStackframe<T> currentStackFrame()
54        {
55                return stack.peek();
56        }
57 
58        /**
59         * Pop the topmost stackframe. Called when exiting a scope
60         */
61        public void removeStackFrame()
62        {
63                stack.pop();
64        }
65 
66        /**
67         * @return Size of the stack
68         */
69        public int size() {
70                return stack.size();
71        }
72 
73        /** Add a stackframe on top of this stack. The frame already exists.
74         * @param copyFrame The frame to push on the stack
75         */
76        public void pushStackFrame(SimulatedStackframe<T> copyFrame) {
77                stack.push(copyFrame);
78        }
79}

[all classes][de.uka.ipd.sdq.simucomframework.variables.stackframe]
EMMA 2.0.9414 (unsupported private build) (C) Vladimir Roubtsov