C# Класс Pytocs.TypeInference.State

Implements a scope, which maps names to sets of bindings.
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
globalNames ISet
stateType StateType
supers List
table ISet>.IDictionary

Открытые методы

Метод Описание
AddGlobalName ( string name ) : void
Bind ( Analyzer analyzer, Exp target, DataType rvalue, BindingKind kind ) : void

Bind a name to this scope, including destructuring assignment.

Bind ( Analyzer analyzer, Identifier id, DataType rvalue, BindingKind kind ) : void
Bind ( Analyzer analyzer, List xs, DataType rvalue, BindingKind kind ) : void
BindByScope ( Analyzer analyzer, Exp target, DataType rvalue ) : void

Without specifying a kind, bind determines the kind according to the type of the scope.

BindIterator ( Analyzer analyzer, Exp target, Exp iter, DataType iterType, BindingKind kind ) : void
Clone ( ) : State
GetGlobalTable ( ) : State
Insert ( Analyzer analyzer, string id, Exp node, DataType type, BindingKind kind ) : Binding
Insert ( Analyzer analyzer, string id, Module node, DataType type, BindingKind kind ) : Binding
IsGlobalName ( string name ) : bool
Lookup ( string name ) : ISet

Look up a name in the current symbol table. If not found, recurse on the parent table.

LookupAttribute ( string attr ) : ISet
LookupAttributeType ( string attr ) : DataType

Look for an attribute named and if found, return its type.

LookupLocal ( string name ) : ISet

Look up a name in the current symbol table only. Don't recurse on the parent table.

LookupScope ( string name ) : ISet

Look up a name in the module if it is declared as global, otherwise look it up locally.

MakeUnion ( ISet bs ) : DataType
Merge ( State other ) : void
Overwrite ( State s ) : void
Remove ( string id ) : void
State ( State s ) : System
State ( State parent, StateType type ) : System
ToString ( ) : string
Update ( string id, Binding b ) : ISet
Update ( string id, ISet bs ) : ISet
addSuper ( State sup ) : void
entrySet ( ) : ISet>>.ICollection
extendPath ( Analyzer analyzer, string pathname ) : string
getForwarding ( ) : State
getStateOfType ( StateType type ) : State

Find a symbol table of a certain type in the enclosing scopes.

lookupType ( string name ) : DataType

Look for a binding named {@code name} and if found, return its type.

merge ( State state1, State state2 ) : State
putAll ( State other ) : void
setStateType ( StateType type ) : void
transformExpr ( Analyzer analyzer, Exp n, State s ) : DataType
transformExprs ( Analyzer analyzer, List exprs, State s ) : void

Приватные методы

Метод Описание
ReportUnpackMismatch ( Analyzer analyzer, List xs, int vsize ) : void
getModuleBindingIfGlobal ( string name ) : ISet

If {@code name} is declared as a global, return the module binding.

setAttr ( Analyzer analyzer, AttributeAccess attr, DataType attrType, DataType targetType ) : void
setAttrType ( Analyzer analyzer, AttributeAccess attr, DataType targetType, DataType attrType ) : void

Описание методов

AddGlobalName() публичный Метод

public AddGlobalName ( string name ) : void
name string
Результат void

Bind() публичный Метод

Bind a name to this scope, including destructuring assignment.
public Bind ( Analyzer analyzer, Exp target, DataType rvalue, BindingKind kind ) : void
analyzer Analyzer
target Exp
rvalue DataType
kind BindingKind
Результат void

Bind() публичный Метод

public Bind ( Analyzer analyzer, Identifier id, DataType rvalue, BindingKind kind ) : void
analyzer Analyzer
id Identifier
rvalue DataType
kind BindingKind
Результат void

Bind() публичный Метод

public Bind ( Analyzer analyzer, List xs, DataType rvalue, BindingKind kind ) : void
analyzer Analyzer
xs List
rvalue DataType
kind BindingKind
Результат void

BindByScope() публичный Метод

Without specifying a kind, bind determines the kind according to the type of the scope.
public BindByScope ( Analyzer analyzer, Exp target, DataType rvalue ) : void
analyzer Analyzer
target Exp
rvalue DataType
Результат void

BindIterator() публичный Метод

public BindIterator ( Analyzer analyzer, Exp target, Exp iter, DataType iterType, BindingKind kind ) : void
analyzer Analyzer
target Exp
iter Exp
iterType DataType
kind BindingKind
Результат void

Clone() публичный Метод

public Clone ( ) : State
Результат State

GetGlobalTable() публичный Метод

public GetGlobalTable ( ) : State
Результат State

Insert() публичный Метод

public Insert ( Analyzer analyzer, string id, Exp node, DataType type, BindingKind kind ) : Binding
analyzer Analyzer
id string
node Exp
type DataType
kind BindingKind
Результат Binding

Insert() публичный Метод

public Insert ( Analyzer analyzer, string id, Module node, DataType type, BindingKind kind ) : Binding
analyzer Analyzer
id string
node Pytocs.Syntax.Module
type DataType
kind BindingKind
Результат Binding

IsGlobalName() публичный Метод

public IsGlobalName ( string name ) : bool
name string
Результат bool

Lookup() публичный Метод

Look up a name in the current symbol table. If not found, recurse on the parent table.
public Lookup ( string name ) : ISet
name string
Результат ISet

LookupAttribute() публичный Метод

public LookupAttribute ( string attr ) : ISet
attr string
Результат ISet

LookupAttributeType() публичный Метод

Look for an attribute named and if found, return its type.
public LookupAttributeType ( string attr ) : DataType
attr string
Результат DataType

LookupLocal() публичный Метод

Look up a name in the current symbol table only. Don't recurse on the parent table.
public LookupLocal ( string name ) : ISet
name string
Результат ISet

LookupScope() публичный Метод

Look up a name in the module if it is declared as global, otherwise look it up locally.
public LookupScope ( string name ) : ISet
name string
Результат ISet

MakeUnion() публичный статический Метод

public static MakeUnion ( ISet bs ) : DataType
bs ISet
Результат DataType

Merge() публичный Метод

public Merge ( State other ) : void
other State
Результат void

Overwrite() публичный Метод

public Overwrite ( State s ) : void
s State
Результат void

Remove() публичный Метод

public Remove ( string id ) : void
id string
Результат void

State() публичный Метод

public State ( State s ) : System
s State
Результат System

State() публичный Метод

public State ( State parent, StateType type ) : System
parent State
type StateType
Результат System

ToString() публичный Метод

public ToString ( ) : string
Результат string

Update() публичный Метод

public Update ( string id, Binding b ) : ISet
id string
b Binding
Результат ISet

Update() публичный Метод

public Update ( string id, ISet bs ) : ISet
id string
bs ISet
Результат ISet

addSuper() публичный Метод

public addSuper ( State sup ) : void
sup State
Результат void

entrySet() публичный Метод

public entrySet ( ) : ISet>>.ICollection
Результат ISet>>.ICollection

extendPath() публичный Метод

public extendPath ( Analyzer analyzer, string pathname ) : string
analyzer Analyzer
pathname string
Результат string

getForwarding() публичный Метод

public getForwarding ( ) : State
Результат State

getStateOfType() публичный Метод

Find a symbol table of a certain type in the enclosing scopes.
public getStateOfType ( StateType type ) : State
type StateType
Результат State

lookupType() публичный Метод

Look for a binding named {@code name} and if found, return its type.
public lookupType ( string name ) : DataType
name string
Результат DataType

merge() публичный статический Метод

public static merge ( State state1, State state2 ) : State
state1 State
state2 State
Результат State

putAll() публичный Метод

public putAll ( State other ) : void
other State
Результат void

setStateType() публичный Метод

public setStateType ( StateType type ) : void
type StateType
Результат void

transformExpr() публичный статический Метод

public static transformExpr ( Analyzer analyzer, Exp n, State s ) : DataType
analyzer Analyzer
n Exp
s State
Результат DataType

transformExprs() публичный статический Метод

public static transformExprs ( Analyzer analyzer, List exprs, State s ) : void
analyzer Analyzer
exprs List
s State
Результат void

Описание свойств

globalNames публичное свойство

public ISet globalNames
Результат ISet

stateType публичное свойство

public StateType stateType
Результат StateType

supers публичное свойство

public List supers
Результат List

table публичное свойство

public IDictionary> table
Результат ISet>.IDictionary