proc commonOptimizations(g: ModuleGraph; idgen: IdGenerator; c: PSym; n: PNode): PNode {....raises: [
KeyError, Exception, ValueError, OSError, IOError, ERecoverableError], tags: [
ReadDirEffect, RootEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
TimeEffect], forbids: [].}& call into a single constant expression. It also inlines constant expressions which are not complex. Source Edit proc transformExpr(g: ModuleGraph; idgen: IdGenerator; module: PSym; n: PNode;
flags: TransformFlags = {}): PNode {....raises: [Exception,
ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
TimeEffect], forbids: [].}proc transformStmt(g: ModuleGraph; idgen: IdGenerator; module: PSym; n: PNode;
flags: TransformFlags = {}): PNode {....raises: [Exception,
ValueError, KeyError, OSError, IOError, ERecoverableError], tags: [
RootEffect, ReadDirEffect, WriteIOEffect, ReadIOEffect, ReadEnvEffect,
TimeEffect], forbids: [].}
© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/compiler/transf.html