Coveralls logob
Coveralls logo
  • Home
  • Features
  • Pricing
  • Docs
  • Sign In

wurstscript / WurstScript / 1005

21 Mar 2019 - 22:31 coverage decreased (-0.09%) to 61.245%
1005

Pull #822

travis-ci

9181eb84f9c35729a3bad740fb7f9d93?size=18&default=identiconweb-flow
more new bug fixes
Pull Request #822: WIP: support for persisting objects in compiletime expressions

14931 of 24379 relevant lines covered (61.25%)

0.61 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

66.67
de.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/intermediatelang/interpreter/State.java
1
package de.peeeq.wurstscript.intermediatelang.interpreter;
2

3
import com.google.common.collect.Maps;
4
import de.peeeq.wurstscript.intermediatelang.ILconst;
5
import de.peeeq.wurstscript.intermediatelang.ILconstArray;
6
import de.peeeq.wurstscript.jassIm.ImVar;
7
import org.eclipse.jdt.annotation.Nullable;
8

9
import java.util.List;
10
import java.util.Map;
11
import java.util.Map.Entry;
12

13
public abstract class State {
1×
14

15
    private Map<ImVar, ILconst> values = Maps.newLinkedHashMap();
1×
16
    protected Map<ImVar, ILconstArray> arrayValues = Maps.newLinkedHashMap();
1×
17

18

19
    public void setVal(ImVar v, ILconst val) {
20
        values.put(v, val);
1×
21
    }
1×
22

23
    public @Nullable ILconst getVal(ImVar v) {
24
        return values.get(v);
1×
25
    }
26

27
    protected ILconstArray getArray(ImVar v) {
28
        return arrayValues.computeIfAbsent(v, k -> new ILconstArray(() -> v.getType().defaultValue()));
1×
29
    }
30

31
    public void setArrayVal(ImVar v, List<Integer> indexes, ILconst val) {
32
        ILconstArray ar = getArray(v);
1×
33
        for (int i = 0; i < indexes.size() - 1; i++) {
1×
UNCOV
34
            ar = (ILconstArray) ar.get(indexes.get(i));
!
35
        }
36
        ar.set(indexes.get(indexes.size() - 1), val);
1×
37
    }
1×
38

39
    public @Nullable ILconst getArrayVal(ImVar v, List<Integer> indexes) {
40
        ILconstArray ar = getArray(v);
1×
41
        for (int i = 0; i < indexes.size() - 1; i++) {
1×
UNCOV
42
            ar = (ILconstArray) ar.get(indexes.get(i));
!
43
        }
44
        return ar.get(indexes.get(indexes.size() - 1));
1×
45
    }
46

47
    public @Nullable ILconst getVarValue(String varName) {
48
        for (Entry<ImVar, ILconst> e : values.entrySet()) {
!
49
            if (e.getKey().getName().equals(varName)) {
!
50
                return e.getValue();
!
51
            }
52
        }
!
53
        return null;
!
54
    }
55

56

57
}
Troubleshooting · Open an Issue · Sales · Support · ENTERPRISE · CAREERS · STATUS
BLOG · TWITTER · Legal & Privacy · Supported CI Services · What's a CI service? · Automated Testing

© 2022 Coveralls, Inc