Archived
Switch to generic visitor pattern.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user