Uses of Interface
org.ek9lang.compiler.symbols.ISymbolNature

Packages that use ISymbolNature
Package
Description
This is the main source of EK9 Symbols used within the compiler.
  • Uses of ISymbolNature in org.ek9lang.compiler.symbols

    Modifier and Type
    Interface
    Description
    interface 
    Interface for an aggregate, typically a class or something like that.
    interface 
    Really a Marker interface for generic classes and generic functions.
    interface 
    Interface to abstract FunctionSymbol away as concrete implementation.
    interface 
    For symbols that are both a pure symbol but can also define a scope.
    interface 
    Represents the concept of what functionality a Symbol should have.
    Modifier and Type
    Class
    Description
    class 
    This is typically a 'class' or an interface type where it can include the definitions of new properties.
    class 
    An aggregate, but one that can have zero or more traits (like interfaces).
    class 
    Special type that is super of Aggregate and super of Function (if they don't have supers).
    class 
    Just re-uses the bulk of method symbol for when we want to make a symbol that is a call to an actual method.
    class 
    Just focuses on the ability to possible capture variables from an enclosing scope.
    class 
    A very simple type that holds a single distinct value.
    class 
    EK9 switch/try control type symbol - this can effectively return a value if it is configured with returning part.
    class 
    While we don't add these in the scoped structures when compiling.
    class 
    EK9 'for' type symbol - we need a scope because we declare a new variable as the loop variable.
    class 
    Scope for functions that are part of a module.
    class 
    Represents some type of method that exists on an aggregate type scope.
    class 
    While we don't add these in the scoped structures when compiling.
    class 
    Added as a common symbol type for both Functions and Aggregates that could possibly be generic in nature and also be a parameterised type.
    class 
    Represents a symbol that also has a scope.
    class 
    Scope for callable methods (operations) that are part of a Service.
    class 
    Used when duplicate symbols are found, where we need to add a placeholder.
    class 
    Just re-uses the bulk of method symbol.
    class 
    Intended to model the pipeline flow in a streaming of cat or for loop though | and map etc.
    class 
    EK9 switch statement - this can effectively return a value if it is configured with returning part.
    class 
    A bit of a beast.
    class 
    EK9 try statement - this can effectively return a value if it is configured with returning part.
    class 
    Models a variable.
    class 
    EK9 'while' or 'do/while' type symbol - we need a scope because we can declare new variables as part of the pre-flow semantics.