Skip to content

Package: DefinitionIdentifierState

DefinitionIdentifierState

nameinstructionbranchcomplexitylinemethod
DefinitionIdentifierState()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
parse(RouterSoftware, TempVariableDefinition, Buffer, DefinitionFileParser)
M: 16 C: 26
62%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 2 C: 7
78%
M: 0 C: 1
100%

Coverage

1: package parser.states.definitionstates;
2:
3: import model.RouterSoftware;
4: import parser.DefinitionFileParser;
5: import parser.ParserException;
6: import parser.tempparserobjects.TempVariableDefinition;
7: import symbols.AbstractSymbol;
8: import symbols.IdentifierSymbol;
9: import basic.Buffer;
10:
11: /**
12: *
13: * @author Muri
14: *
15: */
16: public class DefinitionIdentifierState extends AbstractDefinitionState {
17:
18:         /**
19:          *
20:          * @param tVD
21:          * TempVariableDefinition
22:          * @param dFP
23:          * DefinitionFileParser
24:          * @param buffer
25:          * Buffer<Symbol>
26:          * @return
27:          * @throws InterruptedException
28:          * InterruptedException
29:          * @throws ParserException
30:          * ParserException
31:          */
32:         @Override
33:         public void parse(final RouterSoftware rs, final TempVariableDefinition tVD,
34:                         final Buffer<AbstractSymbol> buffer, final DefinitionFileParser dFP)
35:                         throws InterruptedException, ParserException {
36:                 final AbstractSymbol nextSymbol = buffer.peek();
37:•                if (nextSymbol instanceof IdentifierSymbol) {
38:                         tVD.setName(((IdentifierSymbol) nextSymbol).getText());
39:                         tVD.setPosition(nextSymbol.getPosition());
40:                         buffer.remove();
41:                         dFP.setState(new DefinitionOptState());
42:                 } else {
43:                         throw new ParserException("no valid symbol: "
44:                                         + buffer.peek().getClass().getCanonicalName());
45:                 }
46:         }
47:
48: }