mycompiler.mystatement
Class CharLiteral
java.lang.Object
mycompiler.mystatement.Statement
mycompiler.mystatement.ExprStmt
mycompiler.mystatement.Expr
mycompiler.mystatement.Literal
mycompiler.mystatement.CharLiteral
- All Implemented Interfaces:
- ITypeReplacementListener
public class CharLiteral
- extends Literal
Fields inherited from class mycompiler.mystatement.Expr |
usedid |
Fields inherited from class mycompiler.mystatement.ExprStmt |
type |
Method Summary |
void |
codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist)
|
java.lang.String |
get_Name()
|
void |
sc_check(java.util.Vector classname,
java.util.Hashtable ch,
java.util.Hashtable bh,
boolean ext,
java.util.Hashtable parach,
java.util.Hashtable parabh)
|
void |
set_Char(char c)
|
CTripleSet |
TRExp(CSubstitutionSet sigma,
CTypeAssumptionSet V,
CSupportData supportData)
Workaround: Überschreibt Methode TRExp aus der Super-Klasse Literal , weil
die Implementierung von Unify (noch) nicht mit Basetypes umgehen kann. |
CTripleSet |
TRStatement(CSubstitutionSet sigma,
CTypeAssumptionSet V,
CSupportData supportData)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CharLiteral
public CharLiteral()
sc_check
public void sc_check(java.util.Vector classname,
java.util.Hashtable ch,
java.util.Hashtable bh,
boolean ext,
java.util.Hashtable parach,
java.util.Hashtable parabh)
- Specified by:
sc_check
in class Expr
set_Char
public void set_Char(char c)
get_Name
public java.lang.String get_Name()
- Specified by:
get_Name
in class Expr
codegen
public void codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist)
throws JVMCodeException
- Specified by:
codegen
in class Statement
- Throws:
JVMCodeException
TRStatement
public CTripleSet TRStatement(CSubstitutionSet sigma,
CTypeAssumptionSet V,
CSupportData supportData)
- Specified by:
TRStatement
in class Statement
TRExp
public CTripleSet TRExp(CSubstitutionSet sigma,
CTypeAssumptionSet V,
CSupportData supportData)
- Workaround: Überschreibt Methode TRExp aus der Super-Klasse
Literal
, weil
die Implementierung von Unify (noch) nicht mit Basetypes umgehen kann.
Anstatt den Basetype CharacterType
zurückzugeben, wird ein RefType
zurückgegeben.
Diese Methode kann später entfernt werden, sodass automatisch die Methode der Super-Klasse
verwendet wird.
Author: Jörg Bäuerle
- Overrides:
TRExp
in class Literal
- Parameters:
sigma
- V
- supportData
-
- Returns: