Fixed an infinite recursion in the array type detection. For assignments a=b, b=a in a method, the code would infinitely ping-pong between the two assignments when looking for a's type (a gets b's type, b gets a's type, ...). I changed it to maintain a set of already-visited statements and just move on if a statement has already been processed and to look for another statement from which to get the type.

I also reformatted the code to be closer to Eclipse's default formatting which is way easier to read.