Skip to content

Package: RegExRefPart

RegExRefPart

nameinstructionbranchcomplexitylinemethod
RegExRefPart(AbstractRefState)
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%
accept(RegExPartVisitor)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
equals(Object)
M: 1 C: 13
93%
M: 2 C: 2
50%
M: 2 C: 1
33%
M: 0 C: 2
100%
M: 0 C: 1
100%
getState()
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%
hashCode()
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%
resolve(NamedVariableType)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
setState(AbstractRefState)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
toStringResolved()
M: 0 C: 14
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
toStringUnresolved()
M: 0 C: 13
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%

Coverage

1: package model.type;
2:
3: /**
4: * Represents a "re:typename" as a part of a regular expression.
5: *
6: * @author HFW410RA - Philipp Rammos
7: *
8: */
9: public class RegExRefPart implements RegExPart {
10:         /**
11:          * The state if the reference is resolved or not.
12:          */
13:         private AbstractRefState state;
14:
15:         /**
16:          * Sets a new state.
17:          *
18:          * @param state
19:          * The state to set.
20:          */
21:         public void setState(final AbstractRefState state) {
22:                 this.state = state;
23:         }
24:
25:         /**
26:          * Constructor, just sets fields. No side effects.
27:          *
28:          * @param state
29:          * The state to set.
30:          */
31:         public RegExRefPart(final AbstractRefState state) {
32:                 this.state = state;
33:         }
34:
35:         @Override
36:         public boolean equals(final Object obj) {
37:•                return obj instanceof RegExRefPart
38:•                                && ((RegExRefPart) obj).getState().equals(this.getState());
39:         }
40:
41:         @Override
42:         public int hashCode() {
43:                 return this.getState().hashCode();
44:         }
45:
46:         /**
47:          * Returns the field state. No side effects.
48:          *
49:          * @return this.state
50:          */
51:         public AbstractRefState getState() {
52:                 return this.state;
53:         }
54:
55:         /**
56:          * Changes the state to RefResState with the given type. Dont use it, its called by TypeFile.
57:          * Use typeFile.resolveTypes() instead.
58:          *
59:          * @param variableType
60:          * The Type to set.
61:          * @throws ReferenceIsUnresolvedException
62:          * If a part of the type is unresolved.
63:          */
64:         public void resolve(final NamedVariableType variableType)
65:                         throws ReferenceIsUnresolvedException {
66:                 this.state = new RefResState(variableType);
67:         }
68:
69:         @Override
70:         public String toStringResolved() throws ReferenceIsUnresolvedException {
71:                 return basic.PrinterConstants.BREAKOPEN + this.state.getType().toStringResolved()
72:                                 + basic.PrinterConstants.BREAKCLOSE;
73:         }
74:
75:         @Override
76:         public String toStringUnresolved() {
77:                 return basic.PrinterConstants.BREAKOPEN + basic.PrinterConstants.RETAG
78:                                 + this.state.getValue() + basic.PrinterConstants.BREAKCLOSE;
79:         }
80:
81:         @Override
82:         public void accept(final RegExPartVisitor vis)
83:                         throws TypeDoesNotExistException, TypeExceptions {
84:                 vis.visit(this);
85:         }
86:
87: }