markusjohnsson/JSIL — comment on commit d3e1f419e5afdd4f7437ccc739afe4f472cf7017
File: JSIL/Transforms/EmulateInt64.cs line 48
By kevingadd:

If you haven't seen them, you should take a glance at the integer promotion rules from the ECMA C# spec (14.2.6). They make it pretty clear how the C# compiler does things in this area, so it might be helpful if you're having trouble figuring out the right semantics for whether to use a long for particular calculations or not.

(I think ILSpy computes the expected type based on promotion rules, so the two should be the same... but I don't really object to this more explicit solution either.)