Skip to content

Package: SkriptNode

SkriptNode

nameinstructionbranchcomplexitylinemethod
SkriptNode(AbstractNode)
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: 0 C: 11
100%
M: 0 C: 4
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
hashCode()
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%
interpret(CommunicationManager)
M: 0 C: 17
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
toString()
M: 0 C: 12
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%

Coverage

1: package pruefskript.parser.nodes;
2:
3: import basic.PruefskriptConstants;
4: import pruefskript.CommunicationManager;
5: import pruefskript.parser.exceptions.CheckScriptException;
6: import pruefskript.parser.exceptions.WrongNodeException;
7: import pruefskript.parser.values.AbstractReturnValue;
8: import pruefskript.parser.values.VoidValue;
9:
10: /**
11: *
12: * @author Phil
13: *
14: */
15: public class SkriptNode extends AbstractUnaryOperationNode {
16:         /**
17:          *
18:          * @param mySkript
19:          * AbstractNode
20:          */
21:         public SkriptNode(final AbstractNode mySkript) {
22:                 super(mySkript);
23:         }
24:
25:         @Override
26:         public String toString() {
27:                 return PruefskriptConstants.SKRIPTTITLE + PruefskriptConstants.BRACKET_OPEN
28:                                 + super.toString() + PruefskriptConstants.BRACKET_CLOSE;
29:         }
30:
31:         @Override
32:         public boolean equals(final Object obj) {
33:•                return super.equals(obj) && obj instanceof SkriptNode;
34:
35:         }
36:
37:         @Override
38:         public int hashCode() {
39:                 return super.hashCode() + PruefskriptConstants.SCRIPTNODE_HASHCODE;
40:         }
41:
42:         /**
43:          * Der Operant wird ausgewertet und wenn er den Nichts-Wert hat, wird dieser zurueckgegeben.
44:          * Ansosnten wird eine Exception geworfen.
45:          */
46:         @Override
47:         public VoidValue interpret(final CommunicationManager mgr) throws CheckScriptException {
48:                 final AbstractReturnValue op = this.getOperand().interpret(mgr);
49:•                if (op.isVoidValue()) {
50:                         return op.toVoidValue();
51:                 } else {
52:                         throw new WrongNodeException(PruefskriptConstants.UNEXPECTED_VOID_OPERATION);
53:                 }
54:         }
55:
56: }