Fixes several compiler problems related to varargs.

1) The original ICE would occur when not specifying any varargs at all to a vararg function.  The problem was trying to get source info from a non-existent parameter.  I fixed this, however...

2) Not specifying any params to a method with a single vararg would fail in a different way, because JDT would give us a null array, causing us to early out and not run the varargs synthesis.  I fixed this by making fixing up the array to a length 0 and running the rest of the function.  However...

3) This caused us to die processing a call to the implicit super constructor in the Enum class, which takes a String and int for name and ordinal.  The synthetic args for these methods are added elsewhere and don't exist in JDT.  I special-cased this special case with an early return and assertion. 

Review by: bobv


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@1694 8db76d5a-ed1c-0410-87a9-c151d255dfc7
2 files changed