public abstract static class Type.Impl extends Object implements Type, Comparable<Type.Impl>
| Modifier and Type | Class and Description |
|---|---|
static class |
Type.Impl.Atom
An atom represents an indivisible type.
|
static class |
Type.Impl.Conjunctable
Represents either an atom or a conjunct
|
static class |
Type.Impl.Function
A function type, consisting of a list of zero or more parameters and
a return type.
|
static class |
Type.Impl.FunctionOrMethod |
static class |
Type.Impl.Method |
static class |
Type.Impl.PositiveAtom
A positive atom is any atom except a negation
|
static class |
Type.Impl.Primitive |
static class |
Type.Impl.Property |
Type.EffectiveArray, Type.EffectiveRecord, Type.EffectiveReference, Type.Impl, Type.Intersection, Type.Leaf| Constructor and Description |
|---|
Impl() |
| Modifier and Type | Method and Description |
|---|---|
abstract int |
getKind() |
static Type |
intersectClosedClosedRecord(wyil.lang.Type.Impl.Record ith,
wyil.lang.Type.Impl.Record jth)
When intersecting two closed records, we require they both have the
same set of fields.
|
static Type |
intersectOpenClosedRecord(wyil.lang.Type.Impl.Record open,
wyil.lang.Type.Impl.Record closed)
When intersecting an open record with a closed record.
|
static Type |
intersectOpenOpenRecord(wyil.lang.Type.Impl.Record ith,
wyil.lang.Type.Impl.Record jth)
When intersecting an open record with another open record, there is
always a resulting intersection.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitArray, fromString, Function, Intersection, Method, Method, Method, Negation, Nominal, Property, Record, Record, Reference, toImplArrays, toImplOrVoid, toImplRecords, UnioncompareTopublic abstract int getKind()
public static Type intersectClosedClosedRecord(wyil.lang.Type.Impl.Record ith, wyil.lang.Type.Impl.Record jth)
ith - jth - public static Type intersectOpenClosedRecord(wyil.lang.Type.Impl.Record open, wyil.lang.Type.Impl.Record closed)
open - jth - public static Type intersectOpenOpenRecord(wyil.lang.Type.Impl.Record ith, wyil.lang.Type.Impl.Record jth)
ith - jth - Copyright © 2017. All rights reserved.