Documentation
¶
Index ¶
- type Namespace
- type Scope
- type ScopeBlock
- type ScopeValue
- type Scopestack
- func (scopestack *Scopestack) AddBlock(block ast.BlockDeclarationStatement)
- func (scopestack *Scopestack) AddNativeBlock(block ast.BlockDeclarationStatement)
- func (scopestack *Scopestack) AddVariable(value Value)
- func (scopestack *Scopestack) BlockExists(key string) bool
- func (scopestack *Scopestack) FindBlock(key string) ScopeBlock
- func (scopestack *Scopestack) FindInNamespace(name string, index string) *Value
- func (scopestack *Scopestack) FindVariable(key string) ScopeValue
- func (scopestack *Scopestack) GetCurrentScope() *Scope
- func (scopestack *Scopestack) IsVariableUpdatable(key string) UpdateReport
- func (scopestack *Scopestack) NamespaceExists(name string) bool
- func (scopestack *Scopestack) PopScope() *Scope
- func (scopestack *Scopestack) PushNamespace(name string, scope Scope)
- func (scopestack *Scopestack) PushScope(scope Scope)
- func (scopestack *Scopestack) Reverse() []Scope
- func (scopestack *Scopestack) ShiftScope(scope Scope)
- func (scopestack *Scopestack) SwapAtIndex(index int, scope Scope)
- func (scopestack *Scopestack) UnshiftScope()
- func (scopestack *Scopestack) UpdateVariable(key string, value ast.IntPrimitiveExpression)
- func (scopestack *Scopestack) VariableExists(key string) bool
- type UpdateReport
- type Value
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Scope ¶
type Scope struct {
Immutable bool `json:"immutable"`
Foreign bool `json:"foreign"`
Frame []Value `json:"frame"`
Blocks []ast.BlockDeclarationStatement `json:"blocks"`
}
func (*Scope) AddVariable ¶
func (*Scope) DeleteVariable ¶
type ScopeBlock ¶
type ScopeBlock struct {
Block *ast.BlockDeclarationStatement `json:"block"`
Foreign bool `json:"foreign"`
Immutable bool `json:"immutable"`
OuterScope bool `json:"outer_scope"`
}
type ScopeValue ¶
type Scopestack ¶
type Scopestack struct {
Scopes []Scope `json:"scopes"`
Namespaces []Namespace `json:"namespaces"`
}
func (*Scopestack) AddBlock ¶
func (scopestack *Scopestack) AddBlock(block ast.BlockDeclarationStatement)
func (*Scopestack) AddNativeBlock ¶
func (scopestack *Scopestack) AddNativeBlock(block ast.BlockDeclarationStatement)
func (*Scopestack) AddVariable ¶
func (scopestack *Scopestack) AddVariable(value Value)
func (*Scopestack) BlockExists ¶
func (scopestack *Scopestack) BlockExists(key string) bool
func (*Scopestack) FindBlock ¶
func (scopestack *Scopestack) FindBlock(key string) ScopeBlock
func (*Scopestack) FindInNamespace ¶
func (scopestack *Scopestack) FindInNamespace(name string, index string) *Value
func (*Scopestack) FindVariable ¶
func (scopestack *Scopestack) FindVariable(key string) ScopeValue
func (*Scopestack) GetCurrentScope ¶
func (scopestack *Scopestack) GetCurrentScope() *Scope
func (*Scopestack) IsVariableUpdatable ¶
func (scopestack *Scopestack) IsVariableUpdatable(key string) UpdateReport
func (*Scopestack) NamespaceExists ¶
func (scopestack *Scopestack) NamespaceExists(name string) bool
func (*Scopestack) PopScope ¶
func (scopestack *Scopestack) PopScope() *Scope
func (*Scopestack) PushNamespace ¶
func (scopestack *Scopestack) PushNamespace(name string, scope Scope)
func (*Scopestack) PushScope ¶
func (scopestack *Scopestack) PushScope(scope Scope)
func (*Scopestack) Reverse ¶
func (scopestack *Scopestack) Reverse() []Scope
func (*Scopestack) ShiftScope ¶
func (scopestack *Scopestack) ShiftScope(scope Scope)
func (*Scopestack) SwapAtIndex ¶
func (scopestack *Scopestack) SwapAtIndex(index int, scope Scope)
func (*Scopestack) UnshiftScope ¶
func (scopestack *Scopestack) UnshiftScope()
func (*Scopestack) UpdateVariable ¶
func (scopestack *Scopestack) UpdateVariable(key string, value ast.IntPrimitiveExpression)
func (*Scopestack) VariableExists ¶
func (scopestack *Scopestack) VariableExists(key string) bool
type UpdateReport ¶
type UpdateReport int
type Value ¶
type Value struct {
Key ast.Identifier `json:"key"`
Value ast.IntPrimitiveExpression `json:"value"`
Kind string `json:"kind"`
}
Click to show internal directories.
Click to hide internal directories.