| Package | Description |
|---|---|
| org.classdump.luna.compiler.analysis |
Static analysis of Lua programs operating on the IR.
|
| org.classdump.luna.compiler.analysis.types |
Classes representing Lua types, used in static analysis.
|
| Modifier and Type | Method and Description |
|---|---|
Type |
NumericOperationType.toType() |
Type |
TypeInfo.typeOf(AbstractVal v) |
| Modifier and Type | Method and Description |
|---|---|
abstract NumericOperationType |
StaticMathImplementation.opType(Type arg) |
NumericOperationType |
StaticMathImplementation.MayBeInteger.opType(Type arg) |
NumericOperationType |
StaticMathImplementation.MustBeFloat.opType(Type arg) |
NumericOperationType |
StaticMathImplementation.MustBeInteger.opType(Type arg) |
abstract NumericOperationType |
StaticMathImplementation.opType(Type left,
Type right) |
NumericOperationType |
StaticMathImplementation.MayBeInteger.opType(Type l,
Type r) |
NumericOperationType |
StaticMathImplementation.MustBeFloat.opType(Type l,
Type r) |
NumericOperationType |
StaticMathImplementation.MustBeInteger.opType(Type l,
Type r) |
| Modifier and Type | Method and Description |
|---|---|
static TypeInfo |
TypeInfo.of(Map<Val,Type> valTypes,
Map<PhiVal,Type> phiValTypes,
Map<MultiVal,TypeSeq> multiValTypes,
Set<Var> vars,
Set<Var> reifiedVars,
TypeSeq returnType) |
static TypeInfo |
TypeInfo.of(Map<Val,Type> valTypes,
Map<PhiVal,Type> phiValTypes,
Map<MultiVal,TypeSeq> multiValTypes,
Set<Var> vars,
Set<Var> reifiedVars,
TypeSeq returnType) |
| Constructor and Description |
|---|
TypeInfo(Map<AbstractVal,Type> types,
Map<MultiVal,TypeSeq> multiTypes,
Map<Var,Boolean> vars,
TypeSeq returnType) |
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractType |
class |
BottomType |
class |
ConcreteLitType<T> |
class |
ConcreteType |
class |
DynamicType |
class |
FunctionType |
class |
LiteralType<T> |
class |
TopType |
| Modifier and Type | Field and Description |
|---|---|
protected Type |
TypeSeq.tailType |
Type |
ReturnType.TailCallReturnType.target |
| Modifier and Type | Field and Description |
|---|---|
protected List<Type> |
TypeSeq.fixed |
| Modifier and Type | Method and Description |
|---|---|
Type |
TypeSeq.get(int idx) |
abstract Type |
Type.join(Type that)
Deprecated.
|
Type |
TopType.join(Type that) |
Type |
LiteralType.join(Type that) |
Type |
FunctionType.join(Type that) |
Type |
DynamicType.join(Type that) |
Type |
ConcreteType.join(Type that) |
Type |
BottomType.join(Type that) |
Type |
AbstractType.join(Type that) |
abstract Type |
Type.meet(Type that)
Deprecated.
|
Type |
TopType.meet(Type that) |
Type |
LiteralType.meet(Type that) |
Type |
FunctionType.meet(Type that) |
Type |
DynamicType.meet(Type that) |
Type |
ConcreteType.meet(Type that) |
Type |
BottomType.meet(Type that) |
Type |
AbstractType.meet(Type that) |
abstract Type |
Type.restrict(Type that) |
Type |
TopType.restrict(Type that) |
Type |
LiteralType.restrict(Type that) |
Type |
FunctionType.restrict(Type that) |
Type |
DynamicType.restrict(Type that) |
Type |
ConcreteType.restrict(Type that) |
Type |
BottomType.restrict(Type that) |
Type |
AbstractType.restrict(Type that) |
Type |
TypeSeq.tailType() |
Type |
Type.unionWith(Type that) |
| Modifier and Type | Method and Description |
|---|---|
List<Type> |
TypeSeq.fixed() |
| Modifier and Type | Method and Description |
|---|---|
PartialOrderComparisonResult |
Type.compareTo(Type that) |
boolean |
Type.isConsistentSubtypeOf(Type that) |
boolean |
Type.isConsistentWith(Type that) |
boolean |
FunctionType.isConsistentWith(Type that) |
abstract boolean |
Type.isSubtypeOf(Type that) |
boolean |
TopType.isSubtypeOf(Type that) |
boolean |
LiteralType.isSubtypeOf(Type that) |
boolean |
FunctionType.isSubtypeOf(Type that) |
boolean |
DynamicType.isSubtypeOf(Type that) |
boolean |
ConcreteType.isSubtypeOf(Type that) |
boolean |
BottomType.isSubtypeOf(Type that) |
boolean |
AbstractType.isSubtypeOf(Type that) |
abstract Type |
Type.join(Type that)
Deprecated.
|
Type |
TopType.join(Type that) |
Type |
LiteralType.join(Type that) |
Type |
FunctionType.join(Type that) |
Type |
DynamicType.join(Type that) |
Type |
ConcreteType.join(Type that) |
Type |
BottomType.join(Type that) |
Type |
AbstractType.join(Type that) |
abstract Type |
Type.meet(Type that)
Deprecated.
|
Type |
TopType.meet(Type that) |
Type |
LiteralType.meet(Type that) |
Type |
FunctionType.meet(Type that) |
Type |
DynamicType.meet(Type that) |
Type |
ConcreteType.meet(Type that) |
Type |
BottomType.meet(Type that) |
Type |
AbstractType.meet(Type that) |
static TypeSeq |
TypeSeq.of(Type... fixed) |
TypeSeq |
TypeSeq.prefixedBy(Type[] types) |
abstract Type |
Type.restrict(Type that) |
Type |
TopType.restrict(Type that) |
Type |
LiteralType.restrict(Type that) |
Type |
FunctionType.restrict(Type that) |
Type |
DynamicType.restrict(Type that) |
Type |
ConcreteType.restrict(Type that) |
Type |
BottomType.restrict(Type that) |
Type |
AbstractType.restrict(Type that) |
Type |
Type.unionWith(Type that) |
| Modifier and Type | Method and Description |
|---|---|
static TypeSeq |
TypeSeq.of(List<Type> fixed,
boolean vararg) |
| Constructor and Description |
|---|
TailCallReturnType(Type target,
TypeSeq typeSeq) |
Copyright © 2016–2017. All rights reserved.