Switch to generic visitor pattern.

This commit is contained in:
Deryck Brown
2022-05-22 13:59:44 +01:00
parent 1db90b20a8
commit 55f6b2d105
132 changed files with 2941 additions and 2349 deletions
@@ -0,0 +1,39 @@
/*
* @(#)KnownValue.java 2.1 2003/10/07
*
* Copyright (C) 1999, 2003 D.A. Watt and D.F. Brown
* Dept. of Computing Science, University of Glasgow, Glasgow G12 8QQ Scotland
* and School of Computer and Math Sciences, The Robert Gordon University,
* St. Andrew Street, Aberdeen AB25 1HG, Scotland.
* All rights reserved.
*
* This software is provided free for educational use only. It may
* not be used for commercial purposes without the prior written permission
* of the authors.
*/
package Triangle.CodeGenerator.Entities;
import Triangle.AbstractMachine.OpCode;
import Triangle.AbstractSyntaxTrees.Vnames.Vname;
import Triangle.CodeGenerator.Emitter;
import Triangle.CodeGenerator.Frame;
public class KnownValue extends RuntimeEntity implements FetchableEntity {
private final int value;
public KnownValue(int size, int value) {
super(size);
this.value = value;
}
public final int getValue() {
return value;
}
public void encodeFetch(Emitter emitter, Frame frame, int size, Vname vname) {
// presumably offset = 0 and indexed = false
emitter.emit(OpCode.LOADL, 0, value);
}
}