ethereumproject / evm-rs

Ethereum Virtual Machine implementation in Rust. Fork of the SputnikVM.
Apache License 2.0
14 stars 5 forks source link

Fix external declaration manager tests #25

Closed jakelang closed 5 years ago

jakelang commented 5 years ago

This PR does two things:

  1. Because of the singleton-like nature of LLVM types, we cannot compare the argument types to new type instances. We instead borrow from the EvmTypes singleton (from which the function signature itself was built), so that the internal type references match up.
  2. Because adding an attribute to a function value accepts an Attribute by value, it is not currently possible to make the internal references of the test attribute and the function's attribute match up. Instead, we compare the attribute kind IDs.

What still needs to be fixed: