-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVariable.java
More file actions
58 lines (49 loc) · 1.07 KB
/
Copy pathVariable.java
File metadata and controls
58 lines (49 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// Kimberley Ni and Eylul Oktay
public class Variable implements Expression {
private String name;
private String nameAugment;
private int version;
public Variable(String name) {
this.name = name;
this.nameAugment = "";
this.version = 0;
}
public void augmentName() {
nameAugment = Integer.toString(++version);
}
@Override
public String toString() {
return name + nameAugment;
}
@Override
public Boolean isSimple() {
return true;
}
@Override
public Expression returnReplaced(String x, Expression replacement) {
if (x.equals(this.toString())) {
return replacement;
}
return copy();
}
@Override
public Expression copy() {
return new Variable(name);
}
@Override
public Boolean equals(Expression other) {
if (other instanceof Variable) {
Variable comparative = (Variable) other;
if (comparative.toString().equals(this.toString()))
return true;
}
return false;
}
@Override
public Boolean contains(Variable x) {
if (x.equals(this)) {
return true;
}
return false;
}
}