| Package | Description |
|---|---|
| wyal.io | |
| wyal.lang | |
| wyal.util | |
| wytp.proof | |
| wytp.proof.util | |
| wytp.types | |
| wytp.types.extractors | |
| wytp.types.subtyping | |
| wytp.types.util |
| Modifier and Type | Method and Description |
|---|---|
WyalFile.Type |
WyalFileParser.parseDefiniteType(WyalFileParser.EnclosingScope scope)
Attempt to parse something which maybe a type, or an expression.
|
WyalFile.Type |
WyalFileParser.parseType(WyalFileParser.EnclosingScope scope)
Parse a top-level type, which is of the form:
|
| Modifier and Type | Method and Description |
|---|---|
void |
WyalFilePrinter.writeType(WyalFile.Type type) |
| Modifier and Type | Interface and Description |
|---|---|
static interface |
WyalFile.Type.Primitive |
| Modifier and Type | Class and Description |
|---|---|
static class |
WyalFile.Type.Any
The type
any represents the type whose variables may hold
any possible value. |
static class |
WyalFile.Type.Array
Represents a list type, which is of the form:
|
static class |
WyalFile.Type.Atom |
static class |
WyalFile.Type.Bool
Represents the set of boolean values (i.e.
|
static class |
WyalFile.Type.Byte
Represents a sequence of 8 bits.
|
static class |
WyalFile.Type.Function |
static class |
WyalFile.Type.FunctionOrMacroOrInvariant |
static class |
WyalFile.Type.FunctionOrMethodOrProperty |
static class |
WyalFile.Type.Int
Represents the set of (unbound) integer values.
|
static class |
WyalFile.Type.Intersection
Represents an intersection type, which is of the form:
|
static class |
WyalFile.Type.Invariant |
static class |
WyalFile.Type.Method |
static class |
WyalFile.Type.Negation
Parse a negation type, which is of the form:
|
static class |
WyalFile.Type.Nominal
Represents a nominal type, which is of the form:
|
static class |
WyalFile.Type.Null
The null type is a special type which should be used to show the absence
of something.
|
static class |
WyalFile.Type.Property |
static class |
WyalFile.Type.Record
Represents record type, which is of the form:
|
static class |
WyalFile.Type.Reference
Parse a reference type, which is of the form:
|
static class |
WyalFile.Type.Union
Represents a union type, which is of the form:
|
static class |
WyalFile.Type.UnionOrIntersection |
static class |
WyalFile.Type.Void
A void type represents the type whose variables cannot exist! That is,
they cannot hold any possible value.
|
| Modifier and Type | Method and Description |
|---|---|
WyalFile.Type |
WyalFile.Type.UnionOrIntersection.get(int i) |
WyalFile.Type[] |
WyalFile.Type.UnionOrIntersection.getAll() |
WyalFile.Type |
WyalFile.Expr.Cast.getCastType() |
WyalFile.Type |
WyalFile.Type.Array.getElement() |
WyalFile.Type |
WyalFile.Type.Reference.getElement() |
WyalFile.Type |
WyalFile.Type.Negation.getElement() |
WyalFile.Type |
WyalFile.Expr.Is.getTestType() |
WyalFile.Type |
WyalFile.VariableDeclaration.getType() |
WyalFile.Type |
WyalFile.FieldDeclaration.getType() |
| Modifier and Type | Method and Description |
|---|---|
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> |
WyalFile.Type.FunctionOrMacroOrInvariant.getParameters() |
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> |
WyalFile.Type.FunctionOrMacroOrInvariant.getReturns() |
static wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> |
WyalFile.projectTypes(wybs.util.AbstractCompilationUnit.Tuple<WyalFile.VariableDeclaration> decls) |
| Modifier and Type | Method and Description |
|---|---|
Domain.Generator |
Domain.generator(WyalFile.Type type)
Construct an iterator that will walk over all known values for a
given type.
|
Domain.Value.Boolean |
Domain.Value.isInstance(WyalFile.Type type)
Check whether a given abstract value is an instance of a give type or
not.
|
| Constructor and Description |
|---|
Array(WyalFile.Type element) |
Cast(WyalFile.Type type,
WyalFile.Expr rhs) |
FieldDeclaration(WyalFile.Type type,
wybs.util.AbstractCompilationUnit.Identifier name) |
Function(WyalFile.Type[] parameters,
WyalFile.Type[] returns) |
Function(WyalFile.Type[] parameters,
WyalFile.Type[] returns) |
Intersection(WyalFile.Type[] types) |
Is(WyalFile.Expr lhs,
WyalFile.Type rhs) |
Negation(WyalFile.Type element) |
Reference(WyalFile.Type element,
wybs.util.AbstractCompilationUnit.Identifier lifetime) |
Union(WyalFile.Type[] types) |
UnionOrIntersection(int kind,
WyalFile.Type[] types) |
VariableDeclaration(WyalFile.Type type,
wybs.util.AbstractCompilationUnit.Identifier name) |
| Constructor and Description |
|---|
Function(wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> parameters,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> returns) |
Function(wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> parameters,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> returns) |
FunctionOrMacroOrInvariant(int opcode,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> parameters,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> returns) |
FunctionOrMacroOrInvariant(int opcode,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> parameters,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> returns) |
FunctionOrMethodOrProperty(int opcode,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> parameters,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> returns) |
FunctionOrMethodOrProperty(int opcode,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> parameters,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> returns) |
Invariant(wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> parameters) |
Method(wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> parameters,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> returns,
wybs.util.AbstractCompilationUnit.Tuple<wybs.util.AbstractCompilationUnit.Identifier> contextLifetimes,
wybs.util.AbstractCompilationUnit.Tuple<wybs.util.AbstractCompilationUnit.Identifier> lifetimeParameters) |
Method(wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> parameters,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> returns,
wybs.util.AbstractCompilationUnit.Tuple<wybs.util.AbstractCompilationUnit.Identifier> contextLifetimes,
wybs.util.AbstractCompilationUnit.Tuple<wybs.util.AbstractCompilationUnit.Identifier> lifetimeParameters) |
Property(wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> parameters) |
| Modifier and Type | Method and Description |
|---|---|
WyalFile.Type |
TypeChecker.negate(WyalFile.Type type) |
WyalFile.Type |
TypeChecker.union(WyalFile.Type left,
WyalFile.Type right) |
| Modifier and Type | Method and Description |
|---|---|
Domain.Generator |
SmallWorldDomain.generator(WyalFile.Type type) |
Domain.Generator |
SmallWorldDomain.generator(WyalFile.Type type,
int depth) |
protected boolean |
Interpreter.isInstance(Object value,
WyalFile.Type type) |
WyalFile.Type |
TypeChecker.negate(WyalFile.Type type) |
WyalFile.Type |
TypeChecker.union(WyalFile.Type left,
WyalFile.Type right) |
| Modifier and Type | Method and Description |
|---|---|
Proof.State |
Proof.State.refine(Proof.Rule rule,
WyalFile.VariableDeclaration variable,
WyalFile.Type type,
Formula... dependencies)
Refine the type of a given variable in this state.
|
| Constructor and Description |
|---|
Is(WyalFile.Expr lhs,
WyalFile.Type rhs) |
| Modifier and Type | Method and Description |
|---|---|
Proof.State |
DeltaProof.State.refine(Proof.Rule rule,
WyalFile.VariableDeclaration variable,
WyalFile.Type type,
Formula... dependencies) |
| Modifier and Type | Method and Description |
|---|---|
WyalFile.Type |
TypeInferer.getInferredType(TypeInferer.Environment environment,
WyalFile.Expr expression)
Get the type inferred for a given expression in a given environment.
|
WyalFile.Type |
TypeInferer.Environment.getType(WyalFile.VariableDeclaration var)
Return the current type associated with a given variable.
|
WyalFile.Type |
TypeSystem.inferType(TypeInferer.Environment environment,
WyalFile.Expr expression)
Get the type inferred for a given expression in a given environment.
|
WyalFile.Type |
TypeRewriter.rewrite(WyalFile.Type type)
Apply the rewrite rules to the given type producing a potentially updated
type.
|
WyalFile.Type |
TypeSystem.simplify(WyalFile.Type type) |
| Modifier and Type | Method and Description |
|---|---|
T |
TypeExtractor.extract(WyalFile.Type type,
S supplementary)
Attempt to extract a certain kind of type from an arbitrary type.
|
Formula |
TypeSystem.extractInvariant(WyalFile.Type type,
WyalFile.Expr root)
Extracting the invariant (if any) from a given type.
|
WyalFile.Type.Array |
TypeSystem.extractReadableArray(WyalFile.Type type)
Extract the readable array type from a given type.
|
WyalFile.Type.Record |
TypeSystem.extractReadableRecord(WyalFile.Type type)
For a given type, extract its effective record type.
|
WyalFile.Type.Reference |
TypeSystem.extractReadableReference(WyalFile.Type type)
Extract the readable reference type from a given type.
|
boolean |
TypeSystem.isRawSubtype(WyalFile.Type lhs,
WyalFile.Type rhs)
Determine whether one type is a raw subtype of another.
|
SubtypeOperator.Result |
SubtypeOperator.isSubtype(WyalFile.Type lhs,
WyalFile.Type rhs)
Determine whether the
rhs type is a subtype of the
lhs (denoted lhs :> rhs). |
TypeInferer.Environment |
TypeInferer.Environment.refineType(WyalFile.VariableDeclaration var,
WyalFile.Type type)
Refine the type associated with a given variable declaration in this
environment, which produces a completely new environment containing
the refined type.
|
WyalFile.Type |
TypeRewriter.rewrite(WyalFile.Type type)
Apply the rewrite rules to the given type producing a potentially updated
type.
|
WyalFile.Type |
TypeSystem.simplify(WyalFile.Type type) |
| Modifier and Type | Method and Description |
|---|---|
Formula |
TypeInvariantExtractor.extract(WyalFile.Type type,
WyalFile.Expr root) |
Formula |
TypeInvariantExtractor.extractTypeInvariantInner(WyalFile.Type type,
WyalFile.Expr root,
HashSet<WyalFile.Type> visited) |
| Modifier and Type | Method and Description |
|---|---|
Formula |
TypeInvariantExtractor.extractTypeInvariantInner(WyalFile.Type type,
WyalFile.Expr root,
HashSet<WyalFile.Type> visited) |
| Modifier and Type | Class and Description |
|---|---|
protected static class |
CoerciveSubtypeOperator.Term<T extends WyalFile.Type> |
| Modifier and Type | Field and Description |
|---|---|
T |
CoerciveSubtypeOperator.Term.type |
| Modifier and Type | Method and Description |
|---|---|
SubtypeOperator.Result |
CoerciveSubtypeOperator.isSubtype(WyalFile.Type parent,
WyalFile.Type child) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
CoerciveSubtypeOperator.isVoidParameters(boolean lhsSign,
boolean lhsMax,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> lhs,
boolean rhsSign,
boolean rhsMax,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> rhs,
wytp.types.subtyping.CoerciveSubtypeOperator.Assumptions assumptions) |
boolean |
CoerciveSubtypeOperator.isVoidParameters(boolean lhsSign,
boolean lhsMax,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> lhs,
boolean rhsSign,
boolean rhsMax,
wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> rhs,
wytp.types.subtyping.CoerciveSubtypeOperator.Assumptions assumptions) |
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractTypeExtractor<T extends WyalFile.Type>
A generic foundation for "convential" type extractors.
|
| Modifier and Type | Method and Description |
|---|---|
protected wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> |
AbstractTypeRewriter.rewrite(wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> tuple) |
| Modifier and Type | Method and Description |
|---|---|
T |
AbstractTypeExtractor.extract(WyalFile.Type type,
Object supplementary) |
protected WyalFile.Type |
AbstractTypeExtractor.intersectionHelper(WyalFile.Type lhs,
WyalFile.Type rhs)
Provides a simplistic form of type intersect which, in some cases, does
slightly better than simply creating a new intersection.
|
TypeInferer.Environment |
StdTypeEnvironment.refineType(WyalFile.VariableDeclaration var,
WyalFile.Type refinement) |
WyalFile.Type |
AbstractTypeRewriter.rewrite(WyalFile.Type type) |
protected WyalFile.Type[] |
AbstractTypeRewriter.rewrite(WyalFile.Type[] types) |
protected AbstractTypeExtractor.Disjunct |
AbstractTypeExtractor.toDisjunctiveNormalForm(WyalFile.Type type)
Convert an arbitrary type to Disjunctive Normal Form (DNF).
|
protected WyalFile.Type |
AbstractTypeExtractor.unionHelper(WyalFile.Type lhs,
WyalFile.Type rhs)
Provides a simplistic form of type union which, in some cases, does
slightly better than simply creating a new union.
|
| Modifier and Type | Method and Description |
|---|---|
protected wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> |
AbstractTypeRewriter.rewrite(wybs.util.AbstractCompilationUnit.Tuple<WyalFile.Type> tuple) |
| Constructor and Description |
|---|
StdTypeEnvironment(Map<WyalFile.VariableDeclaration,WyalFile.Type> refinements) |
Copyright © 2017. All rights reserved.