Skip to content

Package: SimpleTokenStream

SimpleTokenStream

nameinstructionbranchcomplexitylinemethod
SimpleTokenStream()
M: 0 C: 8
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
SimpleTokenStream(List)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
add(Token)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
copy()
M: 0 C: 14
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
create()
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
hasNext()
M: 0 C: 8
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
next()
M: 0 C: 13
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
peek()
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
removeFirst()
M: 2 C: 10
83%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 1 C: 3
75%
M: 0 C: 1
100%

Coverage

1: package de.fhdw.wtf.common.stream;
2:
3: import java.util.ArrayList;
4: import java.util.List;
5:
6: import de.fhdw.wtf.common.token.Token;
7:
8: /**
9: * Implementation of a tokenstream that uses a list of token.
10: *
11: */
12: public final class SimpleTokenStream implements TokenStream {
13:         
14:         /**
15:          * Representing all tokens in the correct order.
16:          */
17:         private final List<Token> data;
18:         
19:         /**
20:          * Constructor of {@link SimpleTokenStream}.
21:          */
22:         private SimpleTokenStream() {
23:                 this.data = new ArrayList<>();
24:         }
25:         
26:         /**
27:          * Constructor of {@link SimpleTokenStream}.
28:          *
29:          * @param data
30:          * data
31:          */
32:         private SimpleTokenStream(final List<Token> data) {
33:                 this.data = data;
34:         }
35:         
36:         /**
37:          * Creates a {@link SimpleTokenStream}-Object.
38:          *
39:          * @return The {@link SimpleTokenStream}-Object
40:          */
41:         public static SimpleTokenStream create() {
42:                 return new SimpleTokenStream();
43:         }
44:         
45:         @Override
46:         public void add(final Token t) {
47:                 this.data.add(t);
48:         }
49:         
50:         @Override
51:         public Token next() {
52:                 final Token result = this.data.get(0);
53:                 this.data.remove(0);
54:                 return result;
55:         }
56:         
57:         @Override
58:         public boolean hasNext() {
59:•                return !this.data.isEmpty();
60:         }
61:         
62:         @Override
63:         public boolean removeFirst() {
64:•                if (this.hasNext()) {
65:                         this.data.remove(0);
66:                         return true;
67:                 }
68:                 return false;
69:         }
70:         
71:         @Override
72:         public Token peek() {
73:                 return this.data.get(0);
74:         }
75:         
76:         @Override
77:         public TokenStream copy() {
78:                 final List<Token> copiedData = new ArrayList<>();
79:                 copiedData.addAll(this.data);
80:                 return new SimpleTokenStream(copiedData);
81:         }
82:         
83: }