MCPcopy Create free account
hub / github.com/Hiro420/NikkeTools / Assignment

Class Assignment

UnLuac/src/unluac/decompile/statement/Assignment.java:14–241  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12import unluac.decompile.target.Target;
13
14public class Assignment extends Statement {
15
16 private final ArrayList<Target> targets = new ArrayList<Target>(5);
17 private final ArrayList<Expression> values = new ArrayList<Expression>(5);
18 private final ArrayList<Integer> lines = new ArrayList<Integer>(5);
19
20 private boolean allnil = true;
21 private boolean declare = false;
22 private int declareStart = 0;
23
24 public Assignment() {
25
26 }
27
28 @Override
29 public void walk(Walker w) {
30 w.visitStatement(this);
31 for(Target target : targets) {
32 target.walk(w);
33 }
34 for(Expression expression : values) {
35 expression.walk(w);
36 }
37 }
38
39 @Override
40 public boolean beginsWithParen() {
41 return !declare && targets.get(0).beginsWithParen();
42 }
43
44 public Target getFirstTarget() {
45 return targets.get(0);
46 }
47
48 public Target getLastTarget() {
49 return targets.get(targets.size() - 1);
50 }
51
52 public Expression getFirstValue() {
53 return values.get(0);
54 }
55
56 public void replaceLastValue(Expression value) {
57 values.set(values.size() - 1, value);
58 }
59
60 public int getFirstLine() {
61 return lines.get(0);
62 }
63
64 public boolean assignsTarget(Declaration decl) {
65 for(Target target : targets) {
66 if(target.isDeclaration(decl)) {
67 return true;
68 }
69 }
70 return false;
71 }

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected