new jester compiles
This commit is contained in:
parent
79586487be
commit
59f61bae05
3 changed files with 58 additions and 8 deletions
|
|
@ -90,6 +90,16 @@ proc addField*(obj: PType; s: PSym) =
|
|||
field.position = sonsLen(obj.n)
|
||||
addSon(obj.n, newSymNode(field))
|
||||
|
||||
proc addUniqueField*(obj: PType; s: PSym) =
|
||||
let fieldName = getIdent(s.name.s & $s.id)
|
||||
if lookupInRecord(obj.n, fieldName) == nil:
|
||||
var field = newSym(skField, fieldName, s.owner, s.info)
|
||||
let t = skipIntLit(s.typ)
|
||||
field.typ = t
|
||||
assert t.kind != tyStmt
|
||||
field.position = sonsLen(obj.n)
|
||||
addSon(obj.n, newSymNode(field))
|
||||
|
||||
proc newDotExpr(obj, b: PSym): PNode =
|
||||
result = newNodeI(nkDotExpr, obj.info)
|
||||
let field = getSymFromList(obj.typ.n, getIdent(b.name.s & $b.id))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue