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
Subinterfaces of ISymbolNature in org.ek9lang.compiler.symbolsModifier and TypeInterfaceDescriptioninterface
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.Classes in org.ek9lang.compiler.symbols that implement ISymbolNatureModifier and TypeClassDescriptionclass
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.