public class TypeTranslator
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
arrayLength |
static java.lang.String |
arrayValue |
static java.lang.String |
baseTheoryName |
static java.lang.String |
charName |
static java.lang.String |
intDivName |
static java.lang.String |
intDivName0 |
static java.lang.String |
intDivOverflowName |
static java.lang.String |
intMinusName |
static java.lang.String |
intMinusOverflowName |
static java.lang.String |
intName |
static java.lang.String |
intNegName |
static java.lang.String |
intNegOverflowName |
static java.lang.String |
intPlusName |
static java.lang.String |
intPlusOverflowName |
static java.lang.String |
intRemName |
static java.lang.String |
intTimesName |
static java.lang.String |
intTimesOverflowName |
static java.lang.String |
intTruncName |
static java.lang.String |
isNullName |
static java.lang.String |
maxIntName |
static java.lang.String |
minIntName |
static java.lang.String |
natName |
static java.lang.String |
newArrayAxiomName |
static java.lang.String |
newArrayName |
static java.lang.String |
newBooleanArrayAxiomName |
static java.lang.String |
newBooleanArrayName |
static java.lang.String |
newCharArrayAxiomName |
static java.lang.String |
newCharArrayName |
static java.lang.String |
newIntArrayAxiomName |
static java.lang.String |
newIntArrayName |
static java.lang.String |
newName |
static java.lang.String |
newObjectName |
static java.lang.String |
newStringArrayAxiomName |
static java.lang.String |
newStringArrayName |
static java.lang.String |
newStringName |
static java.lang.String |
nullArrayName |
static java.lang.String |
nullBooleanArrayName |
static java.lang.String |
nullCharArrayName |
static java.lang.String |
nullCharName |
static java.lang.String |
nullIntArrayName |
static java.lang.String |
nullName |
static java.lang.String |
nullStringArrayName |
static java.lang.String |
nullStringName |
static java.lang.String |
typeArrayName |
static java.lang.String |
typeBooleanArrayName |
static java.lang.String |
typeCharArrayName |
static java.lang.String |
typeIntArrayName |
static java.lang.String |
typeStringArrayName |
static java.lang.String |
zeroName |
Constructor and Description |
---|
TypeTranslator()
Construct type translator for given root package.
|
Modifier and Type | Method and Description |
---|---|
TheoryDeclaration |
constructClassTheory(ClassSymbol csymbol)
Construct a theory declaration for the denoted class.
|
TheorySymbol |
getBaseTheory()
Get the base theory symbol.
|
TheorySymbol |
getStringTheory()
Get the current string theory
|
Type |
getStringType()
Get the current string type.
|
void |
init(PackageSymbol top,
ErrorStream error)
Initialize type translator (which creates a base theory).
|
Type |
logicType(TypeExpression exp)
Translate a program's type expression to a logical type.
|
public static final java.lang.String baseTheoryName
public static final java.lang.String minIntName
public static final java.lang.String maxIntName
public static final java.lang.String intName
public static final java.lang.String natName
public static final java.lang.String charName
public static final java.lang.String intPlusName
public static final java.lang.String intNegName
public static final java.lang.String intMinusName
public static final java.lang.String intTimesName
public static final java.lang.String intDivName
public static final java.lang.String intDivName0
public static final java.lang.String intRemName
public static final java.lang.String intPlusOverflowName
public static final java.lang.String intNegOverflowName
public static final java.lang.String intMinusOverflowName
public static final java.lang.String intTimesOverflowName
public static final java.lang.String intTruncName
public static final java.lang.String intDivOverflowName
public static final java.lang.String zeroName
public static final java.lang.String nullCharName
public static final java.lang.String nullStringName
public static final java.lang.String newStringName
public static final java.lang.String typeIntArrayName
public static final java.lang.String typeCharArrayName
public static final java.lang.String typeBooleanArrayName
public static final java.lang.String typeStringArrayName
public static final java.lang.String nullIntArrayName
public static final java.lang.String nullCharArrayName
public static final java.lang.String nullBooleanArrayName
public static final java.lang.String nullStringArrayName
public static final java.lang.String newIntArrayName
public static final java.lang.String newCharArrayName
public static final java.lang.String newBooleanArrayName
public static final java.lang.String newStringArrayName
public static final java.lang.String newIntArrayAxiomName
public static final java.lang.String newCharArrayAxiomName
public static final java.lang.String newBooleanArrayAxiomName
public static final java.lang.String newStringArrayAxiomName
public static final java.lang.String typeArrayName
public static final java.lang.String nullName
public static final java.lang.String newObjectName
public static final java.lang.String nullArrayName
public static final java.lang.String newArrayName
public static final java.lang.String newArrayAxiomName
public static final java.lang.String arrayLength
public static final java.lang.String arrayValue
public static final java.lang.String isNullName
public static final java.lang.String newName
public TypeTranslator()
public Type getStringType()
public TheorySymbol getStringTheory()
public void init(PackageSymbol top, ErrorStream error)
top
- the root package to be used for initialization.error
- the error stream.public TheorySymbol getBaseTheory()
public Type logicType(TypeExpression exp)
exp
- a type expression that does not contain the "void" typepublic TheoryDeclaration constructClassTheory(ClassSymbol csymbol)
csymbol
- the symbol of the class