Archived
39 lines
1.1 KiB
Java
39 lines
1.1 KiB
Java
/*
|
|
* @(#)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);
|
|
}
|
|
} |