abstract class compiler::CNamespace
sys::Obj compiler::CNamespace
CNamespace is responsible for providing a unified view pods, types, and slots between the entities currently being compiled and the entities being imported from pre-compiled pods.
- boolNot
-
CMethod? boolNot { private set }
- boolType
-
CType? boolType { private set }
- cleanup
-
Void cleanup()
- decimalType
-
CType? decimalType { private set }
- depends
-
Map of dependencies keyed by pod name set in ResolveDepends.
- durationType
-
CType? durationType { private set }
- enumOrdinal
-
CMethod? enumOrdinal { private set }
- enumType
-
CType? enumType { private set }
- errType
-
CType? errType { private set }
- error
-
CType? error { private set }
- facetType
-
CType? facetType { private set }
- fieldNotSetErrMake
-
CMethod? fieldNotSetErrMake { private set }
- fieldNotSetErrType
-
CType? fieldNotSetErrType { private set }
- fieldType
-
CType? fieldType { private set }
- findBridge
-
protected virtual CBridge findBridge(Compiler compiler, Str name, Loc? loc)
Subclass hook to resolve a FFI name to a CBridge implementation. Throw CompilerErr if there is a problem resolving the bridge. The default implementation attempts to resolve the indexed property "compiler.bridge.$name" to a Type qname.
- findPod
-
protected abstract CPod? findPod(Str podName)
Subclass hook to resolve a pod name to a CPod implementation. Return null if not found.
- flattenAndOrderByDepends
-
CPod[] flattenAndOrderByDepends(CPod[] pods)
Convenience to flatten and order all pod dependencies. See
flattenDepends
andorderByDepends
- flattenDepends
-
CPod[] flattenDepends(CPod[] pods)
Expand a set of pods to include all their recursive dependencies. This method does not order them; see
orderByDepends
. - floatMinus
-
CMethod? floatMinus { private set }
- floatPlus
-
CMethod? floatPlus { private set }
- floatType
-
CType? floatType { private set }
- funcBind
-
CMethod? funcBind { private set }
- funcCall
-
CMethod? funcCall { private set }
- funcCheckInCtor
-
CMethod? funcCheckInCtor { private set }
- funcEnterCtor
-
CMethod? funcEnterCtor { private set }
- funcExitCtor
-
CMethod? funcExitCtor { private set }
- funcType
-
CType? funcType { private set }
- genericParameter
-
CType genericParameter(Str id)
Map one of the generic parameter types such as "sys::V" into a CType
- genericParams
- init
-
protected Void init()
Once the sub class is initialized, it must call this method to initialize our all predefined values.
- intDecrement
-
CMethod? intDecrement { private set }
- intIncrement
-
CMethod? intIncrement { private set }
- intPlus
-
CMethod? intPlus { private set }
- intType
-
CType? intType { private set }
- itBlockType
-
FuncType? itBlockType { private set }
- listAdd
-
CMethod? listAdd { private set }
- listMake
-
CMethod? listMake { private set }
- listMakeObj
-
CMethod? listMakeObj { private set }
- listType
-
CType? listType { private set }
- mapMake
-
CMethod? mapMake { private set }
- mapSet
-
CMethod? mapSet { private set }
- mapType
-
CType? mapType { private set }
- methodType
-
CType? methodType { private set }
- notImmutableErrMake
-
CMethod? notImmutableErrMake { private set }
- notImmutableErrType
-
CType? notImmutableErrType { private set }
- nothingType
-
CType? nothingType { private set }
- objToImmutable
-
CMethod? objToImmutable { private set }
- objTrap
-
CMethod? objTrap { private set }
- objType
-
CType? objType { private set }
- objWith
-
CMethod? objWith { private set }
- orderByDepends
-
CPod[] orderByDepends(CPod[] pods)
Order a list of pods by their dependencies. This method does not flatten dependencies - see
flattenDepends
. - podFind
-
CMethod? podFind { private set }
- podLocale
-
CMethod? podLocale { private set }
- podType
-
CType? podType { private set }
- rangeMakeExclusive
-
CMethod? rangeMakeExclusive { private set }
- rangeMakeInclusive
-
CMethod? rangeMakeInclusive { private set }
- rangeType
-
CType? rangeType { private set }
- resolvePod
-
CPod resolvePod(Str podName, Loc? loc)
Attempt to import the specified pod name against our dependency library. If not found then throw CompilerErr.
- resolveSlot
-
Attempt resolve a slot against our dependency library. If can't be resolved, then throw Err.
- resolveType
-
Attempt resolve a signature against our dependency library. If not a valid signature or it can't be resolved, then throw Err.
- slotFindFunc
-
CMethod? slotFindFunc { private set }
- slotFindMethod
-
CMethod? slotFindMethod { private set }
- slotType
-
CType? slotType { private set }
- strBufAdd
-
CMethod? strBufAdd { private set }
- strBufMake
-
CMethod? strBufMake { private set }
- strBufToStr
-
CMethod? strBufToStr { private set }
- strBufType
-
CType? strBufType { private set }
- strPlus
-
CMethod? strPlus { private set }
- strType
-
CType? strType { private set }
- sysPod
-
CPod? sysPod { private set }
- testType
-
CType? testType { private set }
- typeField
-
CMethod? typeField { private set }
- typeMethod
-
CMethod? typeMethod { private set }
- typePod
-
CMethod? typePod { private set }
- typeType
-
CType? typeType { private set }
- uriType
-
CType? uriType { private set }
- voidType
-
CType? voidType { private set }