if not initializers.is_empty then
var recv = arguments.first
- assert initializers.length == arguments.length - 1 else debug("expected {initializers.length}, got {arguments.length - 1}")
var i = 1
for p in initializers do
if p isa MMethod then
- self.send(p, [recv, arguments[i]])
+ var args = [recv]
+ for x in p.intro.msignature.mparameters do
+ args.add arguments[i]
+ i += 1
+ end
+ self.send(p, args)
else if p isa MAttribute then
self.write_attribute(p, recv, arguments[i])
+ i += 1
else abort
- i += 1
end
+ assert i == arguments.length
return self.send(callsite.mproperty, [recv])
end
externname = at.arg_as_string(v.compiler.modelbuilder)
if externname == null then return false
else
- var nextern = self.n_extern
- if nextern == null then return false
- externname = nextern.text.substring(1, nextern.text.length-2)
+ return false
end
if location.file != null then
var file = location.file.filename
externname = at.arg_as_string(v.compiler.modelbuilder)
if externname == null then return false
else
- var nextern = self.n_extern
- if nextern == null then return false
- externname = nextern.text.substring(1, nextern.text.length-2)
+ return false
end
if location.file != null then
var file = location.file.filename