Do not overwrite SourceFileTag with class name.
Merge pull request #145 from gilham/develop

Do not overwrite SourceFileTag with class name. Fix for #144
Checking enclosing method signature and name for existence before writing it out into the respective system annotation. If we read a class from COFFI where these annotation fields are optional, we cannot expect them to always be there when writing them out to Dex.
Merge branch 'develop' of github.com:Sable/soot into develop
making sure not to place duplicate annotations into a dex file (see #146)
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.
replaced the iterator by a for loop for legibility
bugfix against IOException: may not close the jar output stream after writing of the class; instead the stream is closed in the end, through a call to tearDownJAR()

I wonder how this could ever have worked!?
fix for toDex: gracefully handle situation where an instance method does not have a this-local
performance improvements for large target applications
Merge branch 'develop' of github.com:Sable/soot into develop
code cleanup
removed unnecessary typecasts and improved performance
added type information
replaced a string comparison for performance and type safety reasons
removed some warnings
added some type information, removed some unused variables, avoided computing stuff over and over again
fix for the fix
interning strings to save memory
interned more strings for performance