EOS 2  1.1.0
Einfache Objektbasierte Sprache
IsEqual.java
gehe zur Dokumentation dieser Datei
1 package de.lathanda.eos.baseparser;
2 
3 import de.lathanda.eos.vm.Command;
4 import de.lathanda.eos.vm.commands.EQ;
5 
6 import java.util.ArrayList;
7 
14 public class IsEqual extends Expression {
15  private final Expression left;
16  private final Expression right;
17 
18  public IsEqual(Expression left, Expression right) {
19  this.left = left;
20  this.right = right;
21  type = Type.getBoolean();
22  prio = 2;
23  }
24 
25  @Override
26  public void compile(ArrayList<Command> ops, boolean autoWindow) throws Exception {
27  left.compile(ops, autoWindow);
28  right.compile(ops, autoWindow);
29  ops.add(new EQ());
30  }
31 
32  @Override
33  public void resolveNamesAndTypes(Expression with, Environment env) {
34  left.resolveNamesAndTypes(with, env);
35  right.resolveNamesAndTypes(with, env);
36  }
37 
38  @Override
39  public String toString() {
40  return "(" + left + " == " + right + ")";
41  }
42 
43  @Override
44  public String getLabel() {
45  return createText("Equals.Label", getLabelLeft(left), getLabelRight(right));
46  }
47 }
String getLabelRight(Expression e)
Definition: Expression.java:82
void compile(ArrayList< Command > ops, boolean autoWindow)
Definition: IsEqual.java:26
void resolveNamesAndTypes(Expression with, Environment env)
Definition: IsEqual.java:33
IsEqual(Expression left, Expression right)
Definition: IsEqual.java:18
abstract void compile(ArrayList< Command > ops, boolean autoWindow)
final String createText(String id, Object... args)
Definition: Node.java:34
abstract void resolveNamesAndTypes(Expression with, Environment env)
static SystemType getBoolean()
Definition: Type.java:88
Impressum