Skip to content
This repository has been archived by the owner on Aug 1, 2023. It is now read-only.

Inline list in assertEqual blows up #269

Open
itamarst opened this issue Dec 7, 2016 · 0 comments
Open

Inline list in assertEqual blows up #269

itamarst opened this issue Dec 7, 2016 · 0 comments
Labels

Comments

@itamarst
Copy link
Contributor

itamarst commented Dec 7, 2016

This seems to compile:

void test() {
    List<String> l = ["a", "c"];
    assertEqual("abc".split("b"), l);
}

This however blows up with an exception:

void test() {
    assertEqual("abc".split("b"), ["a", "c"]);
}
  File "/home/itamarst/.virtualenvs/quark2/bin/quark", line 11, in <module>
    load_entry_point('datawire-quark', 'console_scripts', 'quark')()
  File "/home/itamarst/Datawire/quark/quarkc/command.py", line 260, in call_main
    exit(main(args))
  File "/home/itamarst/Datawire/quark/quarkc/command.py", line 229, in main
    pkg = c.compile()
  File "/home/itamarst/Datawire/quark/quarkc/compiler.py", line 118, in compile
    pkg = self.code.compile()
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 84, in compile
    definitions.append(self.compile(nd))
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 135, in compile
    + [self.compile(d) for d in cls.bases + cls.definitions])
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 179, in compile
    args += [self.compile(meth.body)]
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 336, in compile
    c = self.compile(s)
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 628, in compile
    return self.to_stmt(self.compile(exprs.expr))
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 393, in compile
    return self.convert(call, self.compile_call(call.expr, call.args))
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 412, in compile_call
    return self.compile_call(t, dfn, expr, args)
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 460, in compile_call
    return self.compile_call(ref, dfn, var.name.text, args)
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 469, in compile_call
    return ir.AssertEqual(*[self.compile(a) for a in args])
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 548, in compile
    self.add(ir.Evaluate(self.compile_send(ref, ir.Var(tmp), "append", el)))
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 377, in compile_send
    return self.compile_send(ref, expr, name, *[self.compile(a) for a in args])
  File "/home/itamarst/Datawire/quark/quarkc/code.py", line 381, in compile_send
    mref = self.types.node(ref).byname[name].type
KeyError: 'append'
@itamarst itamarst added the quark2 label Dec 7, 2016
@rhs rhs removed their assignment Jan 6, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants