This repository has been archived on 2022-10-10. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Triangle-Tools/Triangle.Compiler/src/main/java/Triangle/CodeGenerator/Entities/KnownValue.java
T

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);
}
}