proc addInterfaceDeclAt(c: PContext; scope: PScope; sym: PSym) {....raises: [
KeyError, Exception, ValueError, OSError, IOError, ERecoverableError], tags: [
RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
forbids: [].}proc addInterfaceOverloadableSymAt(c: PContext; scope: PScope; sym: PSym) {....raises: [
Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
forbids: [].}proc addOverloadableSymAt(c: PContext; scope: PScope; fn: PSym) {....raises: [
Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
forbids: [].}proc considerQuotedIdent(c: PContext; n: PNode; origin: PNode = nil): PIdent {....raises: [
Exception, KeyError, ValueError, OSError, IOError, ERecoverableError], tags: [
RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
forbids: [].}origin can be nil. If it is not nil, it is used for a better error message. Source Edit proc errorUseQualifier(c: PContext; info: TLineInfo; candidates: seq[PSym]) {....raises: [
Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
forbids: [].}proc mergeShadowScope(c: PContext) {....raises: [Exception, ValueError, KeyError,
OSError, IOError, ERecoverableError], tags: [RootEffect, ReadDirEffect,
WriteIOEffect, ReadIOEffect, ReadEnvEffect], forbids: [].}close the existing scope and merge in all defined symbols, this will also trigger any export related code if this is into a non-shadow scope.
Merges: shadow -> shadow: add symbols to the parent but check for redefinitions etc shadow -> non-shadow: the above, but also handle exports and all that
Source Editproc wrongRedefinition(c: PContext; info: TLineInfo; s: string;
conflictsWith: TLineInfo; note = errGenerated) {....raises: [
Exception, ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect],
forbids: [].}
© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/compiler/lookups.html