mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-15 07:43:26 +00:00
Now analyzes over magics instead of symbol names; but dosn't compile for me
This commit is contained in:
@@ -639,7 +639,8 @@ type
|
||||
mEqIdent, mEqNimrodNode, mSameNodeType, mGetImpl,
|
||||
mNHint, mNWarning, mNError,
|
||||
mInstantiationInfo, mGetTypeInfo, mNGenSym,
|
||||
mNimvm, mIntDefine, mStrDefine, mRunnableExamples
|
||||
mNimvm, mIntDefine, mStrDefine, mRunnableExamples,
|
||||
mException
|
||||
|
||||
# things that we can evaluate safely at compile time, even if not asked for it:
|
||||
const
|
||||
|
||||
@@ -733,7 +733,7 @@ proc semRaise(c: PContext, n: PNode): PNode =
|
||||
# check if the given object inherits from Exception
|
||||
var base = typ.lastSon
|
||||
while true:
|
||||
if base.sym.name.s == "Exception":
|
||||
if base.sym.magic == mException:
|
||||
break
|
||||
if base.lastSon == nil:
|
||||
localError(n.info, "raised object of type $1 does not inherit from Exception", [typ.sym.name.s])
|
||||
|
||||
@@ -463,7 +463,7 @@ type
|
||||
line*: int ## line number of the proc that is currently executing
|
||||
filename*: cstring ## filename of the proc that is currently executing
|
||||
|
||||
Exception* {.compilerproc.} = object of RootObj ## \
|
||||
Exception* {.compilerproc, magic: "Exception".} = object of RootObj ## \
|
||||
## Base exception class.
|
||||
##
|
||||
## Each exception has to inherit from `Exception`. See the full `exception
|
||||
|
||||
Reference in New Issue
Block a user