The StaDyn Programming Language
Source code documentation of StaDyn, a hybrid static and dynamic typing language.
Package TypeSystem

The implementation of the StaDyn type system rules. More...

Namespaces

package  Constraints
 Constraints used in by the type system.
 
package  Operations
 Operations encapsulate each type rule that can be included as a constraint in a method type.
 

Classes

class  AccessModifier
 Association Class between ClassType and MethodType (or Fields). Represents the access modifier information about a concrete attribute and its class. More...
 
class  ArrayType
 Representa an array type. More...
 
class  BCLClassType
 
class  BCLInterfaceType
 
class  BCLNameSpaceType
 WriteType of a namespace More...
 
class  BoolType
 Represent a bool type. More...
 
class  CharType
 Represent a character type. More...
 
class  ClassType
 Represents a class type. More...
 
class  ClassTypeProxy
 Represents a proxy of a class type. It implements the unfold operatations of theoretical type systes. More...
 
class  DeclarationTable
 Implementation of a table of declarations. More...
 
class  DoubleType
 Represents a double type. More...
 
class  EquivalenceClass
 
class  FieldType
 Representa a field type. More...
 
interface  IBCLUserType
 
interface  IMemberType
 Representa a class attribute (fields or methods). More...
 
class  Introspection
 Represents a type obtained using introspection. More...
 
class  InterfaceType
 Represents a interface type. More...
 
class  IntersectionMemberType
 A class that makes possible to have intersection types as class members (overload) More...
 
class  IntersectionType
 Representa an intersection type. More...
 
class  IntType
 Represent a integer type. More...
 
class  MethodType
 Representa a method type. More...
 
class  NameSpaceType
 WriteType of a namespace More...
 
class  NullType
 Represent a null type. More...
 
class  PropertyType
 Representa a property type. More...
 
class  StringType
 Represent a string type. More...
 
class  TypeExpression
 Abstract class that represents all different types. More...
 
class  TypeTable
 Implementation of a table of types. More...
 
class  TypeVariable
 Represents a generic type expression More...
 
class  UnionType
 Representa a union type. More...
 
class  UserType
 Represents a class or interface type. More...
 
class  VoidType
 Represents a void type. More...
 

Enumerations

enum  Modifier {
  Modifier.Public = 2, Modifier.Protected = 4, Modifier.Internal = 8, Modifier.Private = 16,
  Modifier.Static = 32, Modifier.Abstract = 64, Modifier.New = 128, Modifier.Override = 256,
  Modifier.Virtual = 512, Modifier.AccessLevel = Public | Protected | Private | Internal, Modifier.CanRead = 1024, Modifier.CanWrite = 2048
}
 Indicates differents modifiers to use in class (only public, internal or static), fields or methods. More...
 
enum  SortOfUnification { SortOfUnification.Equivalent, SortOfUnification.Incremental, SortOfUnification.Override }
 

Detailed Description

The implementation of the StaDyn type system rules.

Enumeration Type Documentation

Indicates differents modifiers to use in class (only public, internal or static), fields or methods.

Enumerator
Public 
Protected 
Internal 
Private 
Static 
Abstract 
New 
Override 
Virtual 
AccessLevel 
CanRead 
CanWrite 

Definition at line 32 of file AccessModifier.cs.

Enumerator
Equivalent 

Two type expressions must be equivalent

Incremental 

When one type variable has a substitution, it is incremented with a union type of itself and type type to be unified with

Override 

When one type variable has a substitution, this is overridden by the type to be unified with.

Definition at line 12 of file SortOfUnification.cs.