See: Description
| Interface | Description |
|---|---|
| Bytecode |
Each bytecode has a binary format which identifies the opcode,
operand registers, operand groups, blocks and
other items used (e.g.
|
| Bytecode.Expr |
Represents the class of bytecodes which correspond to expressions in the
source language.
|
| Bytecode.Stmt |
A statement bytecode represents a bytecode that contains a sequence of
zero or more bytecodes.
|
| Bytecode.StmtExpr |
A "statement expression" is a rather unusual beast.
|
| Modifier |
Represents a protection modifier on a module item.
|
| Type |
A structural type.
|
| Type.Array |
An array type describes array values whose elements are subtypes of the
element type.
|
| Type.EffectiveArray |
An effective array is a type which looks like an array, but is not
exactly an array.
|
| Type.EffectiveRecord |
An effective record is a type which looks like a record, but is not
exactly a record.
|
| Type.EffectiveReference |
An effective reference is a type which looks like an reference, but is
not exactly an reference.
|
| Type.Function |
Represents the set of all function values.
|
| Type.FunctionOrMethod |
Represents the set of all functions or methods.
|
| Type.Intersection |
Represents the intersection of one or more types together.
|
| Type.Leaf |
Represents a type which constitutes a "leaf" node in the type tree.
|
| Type.Method |
Represents the set of all method values.
|
| Type.Negation |
Represents the set of types which are not in a given type.
|
| Type.Nominal |
Represents a named type within the system.
|
| Type.Primitive |
Represents a primitive type (e.g.
|
| Type.Property |
Represents the set of all proeprty values.
|
| Type.Record |
A record is made up of a number of fields, each of which has a unique
name.
|
| Type.Reference |
Represents a reference to an object in Whiley.
|
| Type.Union |
Represents the union of one or more types together.
|
| Class | Description |
|---|---|
| Bytecode.AliasDeclaration |
An alias declaration bytecode has the following form:
|
| Bytecode.Assert |
An assert bytecode has the following layout:
|
| Bytecode.AssertOrAssume |
An abstract class representing either an
assert or
assume bytecode. |
| Bytecode.Assign |
An assignment bytecode has the following layout:
|
| Bytecode.Assume |
An assume bytecode has the following layout:
|
| Bytecode.Block | |
| Bytecode.Break |
A break bytecode has the following layout:
|
| Bytecode.Case | |
| Bytecode.Const |
A constant bytecode has the following layout:
|
| Bytecode.Continue |
A continue bytecode has the following layout:
|
| Bytecode.Convert |
A convert bytecode has the following layout:
|
| Bytecode.Debug |
A debug bytecode has the following layout:
|
| Bytecode.DoWhile |
A Do While bytecode has the same format as the underlying loop bytecode.
|
| Bytecode.Fail |
A panic bytecode has the following layout:
|
| Bytecode.FieldLoad |
A field load bytecode has the following layout:
|
| Bytecode.If |
An if bytecode has one of the the following layouts:
|
| Bytecode.Index |
Represents a bytecode location within a code forest.
|
| Bytecode.IndirectInvoke |
An indirect invocation bytecode has the following layout:
|
| Bytecode.Invoke |
An indirect invocation bytecode has the following layout:
|
| Bytecode.Lambda |
A lambda bytecode has the following layout:
|
| Bytecode.Loop |
A loop bytecode has the following layout:
|
| Bytecode.NamedBlock | |
| Bytecode.Operator |
An operator bytecode has the following layout:
|
| Bytecode.Quantifier |
A quantifier bytecode has the following layout:
|
| Bytecode.Range | |
| Bytecode.Return |
A return bytecode has the following layout:
|
| Bytecode.Schema | |
| Bytecode.Skip |
A skip bytecode has the following layout:
|
| Bytecode.Switch |
A switch bytecode has the following layout:
|
| Bytecode.Util | |
| Bytecode.VariableAccess |
A variable access bytecode represents a specific read of a given variable.
|
| Bytecode.VariableDeclaration |
A variable declaration bytecode has one of the following two layouts:
|
| Bytecode.While |
A While bytecode has the same format as the underlying loop bytecode.
|
| Constant | |
| Constant.Array | |
| Constant.Bool | |
| Constant.Byte | |
| Constant.FunctionOrMethod |
Represents a named function or method.
|
| Constant.Integer | |
| Constant.Null | |
| Constant.Record | |
| Constant.Type | |
| Modifier.Export | |
| Modifier.Native | |
| Modifier.Private | |
| Modifier.Public | |
| SyntaxTree |
A SyntaxTree representation of the Whiley Intermediate Language (WyIL).
|
| SyntaxTree.Location<T extends Bytecode> | |
| Type.Impl | |
| Type.Impl.Atom |
An atom represents an indivisible type.
|
| Type.Impl.Conjunctable |
Represents either an atom or a conjunct
|
| Type.Impl.Function |
A function type, consisting of a list of zero or more parameters and
a return type.
|
| Type.Impl.FunctionOrMethod | |
| Type.Impl.Method | |
| Type.Impl.PositiveAtom |
A positive atom is any atom except a negation
|
| Type.Impl.Primitive | |
| Type.Impl.Property | |
| WyilFile |
Provides an in-memory representation of a binary WyIL file.
|
| WyilFile.Block |
A block is an chunk of information within a WyIL file.
|
| WyilFile.Constant |
A constant declaration is a top-level block within a WyilFile that
associates a name with a given constant value.
|
| WyilFile.Declaration |
A declaration is a named entity within a WyIL file, and is either a type,
constant, function or method declaration.
|
| WyilFile.FunctionOrMethod | |
| WyilFile.FunctionOrMethodOrProperty | |
| WyilFile.Property | |
| WyilFile.Type |
A type declaration is a top-level block within a WyilFile that associates
a name with a given type.
|
| Enum | Description |
|---|---|
| Bytecode.Blocks | |
| Bytecode.Extras | |
| Bytecode.OperandGroups | |
| Bytecode.Operands | |
| Bytecode.OperatorKind |
Represents the set of valid operators (e.g.
|
| Bytecode.QuantifierKind |
Copyright © 2017. All rights reserved.