Generic

It was a long rainy weekend, so i decided to remove some of the raw-warnings and refactored some stuff.
most of the changes are more or less trivial. As this patch changes a lot files, reviewing it would be a good job if you have too much time ;)

+annotations: SuppressWarnings("serial"), SuppressWarnings("fallthrough"), Deprecated, 
+"removing" deadcode only, 
+missing iterator-interfaces (these shouldn't introduce any problems)
* src/soot/AbstractUnitBox.java
* src/soot/AbstractValueBox.java
* src/soot/PackManager.java
* src/soot/PhaseOptions.java
* src/soot/Timers.java
* src/soot/TypeSwitch.java
* src/soot/dexpler/instructions/BinopLitInstruction.java
* src/soot/jimple/ArithmeticConstant.java
* src/soot/jimple/StmtBody.java
* src/soot/jimple/internal/AbstractFloatBinopExpr.java
* src/soot/jimple/internal/AbstractIntBinopExpr.java
* src/soot/jimple/internal/AbstractIntLongBinopExpr.java
* src/soot/jimple/internal/AbstractJimpleBinopExpr.java
* src/soot/jimple/internal/AbstractLengthExpr.java
* src/soot/jimple/internal/AbstractNegExpr.java
* src/soot/jimple/spark/pag/ArrayElement.java
* src/soot/jimple/toolkits/annotation/nullcheck/BranchedRefVarsAnalysis.java
* src/soot/jimple/toolkits/annotation/nullcheck/NullnessAnalysis.java
* src/soot/jimple/toolkits/thread/mhp/MonitorAnalysis.java
* src/soot/jimple/toolkits/thread/mhp/UnsynchronizedMhpAnalysis.java
* src/soot/jimple/toolkits/thread/synchronization/DeadlockDetector.java
* src/soot/jimple/toolkits/typing/integer/ConstraintChecker.java
* src/soot/toDex/StmtVisitor.java
* src/soot/toolkits/graph/Block.java
* src/soot/toolkits/graph/ReversePseudoTopologicalOrderer.java
* src/soot/toolkits/graph/SlowPseudoTopologicalOrderer.java
* src/soot/toolkits/scalar/ArraySparseSet.java
* src/soot/toolkits/scalar/BinaryIdentitySet.java


+Generics, simple rewrites (eg iterator replaced with for-each loop)
+added annotations
+added "final" to fields that should never be changed  (these shouldn't introduce any problems)
* src/soot/AbstractTrap.java
* src/soot/AbstractUnit.java
* src/soot/AbstractUnitAllMapTo.java
* src/soot/AttributesUnitPrinter.java
* src/soot/EquivalentValue.java
* src/soot/JavaToJimpleBodyPack.java
* src/soot/JimpleBodyPack.java
* src/soot/JimpleClassSource.java
* src/soot/MethodToContexts.java
* src/soot/Pack.java
* src/soot/Printer.java
* src/soot/RadioScenePack.java
* src/soot/Scene.java
* src/soot/ScenePack.java
* src/soot/SourceLocator.java
* src/soot/TrapManager.java
* src/soot/baf/Baf.java
* src/soot/baf/BafBody.java
* src/soot/baf/LookupSwitchInst.java
* src/soot/baf/TableSwitchInst.java
* src/soot/baf/internal/BafLocal.java
* src/soot/baf/toolkits/base/ExamplePeephole.java
* src/soot/baf/toolkits/base/LoadStoreOptimizer.java
* src/soot/baf/toolkits/base/PeepholeOptimizer.java
* src/soot/coffi/CFG.java
* src/soot/coffi/FutureStmt.java
* src/soot/dava/DavaBody.java
* src/soot/dava/DavaPrinter.java
* src/soot/dava/internal/javaRep/DAssignStmt.java
* src/soot/dava/toolkits/base/AST/transformations/LocalVariableCleaner.java
* src/soot/dava/toolkits/base/finders/CycleFinder.java
* src/soot/javaToJimple/AccessFieldJBB.java
* src/soot/jbco/LineNumberGenerator.java
* src/soot/jbco/bafTransformations/AddJSRs.java
* src/soot/jbco/bafTransformations/BAFCounter.java
* src/soot/jbco/bafTransformations/BAFPrintout.java
* src/soot/jbco/bafTransformations/BafLineNumberer.java
* src/soot/jbco/bafTransformations/ConstructorConfuser.java
* src/soot/jbco/bafTransformations/Counter.java
* src/soot/jbco/bafTransformations/FindDuplicateSequences.java
* src/soot/jbco/bafTransformations/FixUndefinedLocals.java
* src/soot/jbco/bafTransformations/IfNullToTryCatch.java
* src/soot/jbco/bafTransformations/IndirectIfJumpsToCaughtGotos.java
* src/soot/jbco/bafTransformations/Jimple2BafLocalBuilder.java
* src/soot/jbco/bafTransformations/LocalsToBitField.java
* src/soot/jbco/bafTransformations/MoveLoadsAboveIfs.java
* src/soot/jbco/bafTransformations/RemoveRedundantPushStores.java
* src/soot/jbco/bafTransformations/TryCatchCombiner.java
* src/soot/jbco/bafTransformations/UpdateConstantsToFields.java
* src/soot/jbco/bafTransformations/WrapSwitchesInTrys.java
* src/soot/jbco/jimpleTransformations/AddSwitches.java
* src/soot/jbco/jimpleTransformations/ArithmeticTransformer.java
* src/soot/jbco/jimpleTransformations/BuildIntermediateAppClasses.java
* src/soot/jbco/jimpleTransformations/ClassRenamer.java
* src/soot/jbco/jimpleTransformations/CollectConstants.java
* src/soot/jbco/jimpleTransformations/CollectJimpleLocals.java
* src/soot/jbco/jimpleTransformations/FieldRenamer.java
* src/soot/jbco/jimpleTransformations/GotoInstrumenter.java
* src/soot/jbco/jimpleTransformations/LibraryMethodWrappersBuilder.java
* src/soot/jbco/jimpleTransformations/MethodRenamer.java
* src/soot/jbco/jimpleTransformations/New2InitFlowAnalysis.java
* src/soot/jbco/util/Debugger.java
* src/soot/jbco/util/SimpleExceptionalGraph.java
* src/soot/jimple/Constant.java
* src/soot/jimple/NewMultiArrayExpr.java
* src/soot/jimple/ParameterRef.java
* src/soot/jimple/ReachingTypeDumper.java
* src/soot/jimple/StaticFieldRef.java
* src/soot/jimple/ThisRef.java
* src/soot/jimple/UnopExpr.java
* src/soot/jimple/internal/AbstractBinopExpr.java
* src/soot/jimple/internal/AbstractCastExpr.java
* src/soot/jimple/internal/AbstractInstanceFieldRef.java
* src/soot/jimple/internal/AbstractInstanceOfExpr.java
* src/soot/jimple/internal/AbstractInvokeExpr.java
* src/soot/jimple/internal/AbstractJimpleFloatBinopExpr.java
* src/soot/jimple/internal/AbstractJimpleIntBinopExpr.java
* src/soot/jimple/internal/AbstractJimpleIntLongBinopExpr.java
* src/soot/jimple/internal/AbstractNewArrayExpr.java
* src/soot/jimple/internal/AbstractNewExpr.java
* src/soot/jimple/internal/AbstractNewMultiArrayExpr.java
* src/soot/jimple/internal/AbstractStmt.java
* src/soot/jimple/internal/AbstractUnopExpr.java
* src/soot/jimple/internal/ImmediateBox.java
* src/soot/jimple/internal/JCaughtExceptionRef.java
* src/soot/jimple/internal/JGotoStmt.java
* src/soot/jimple/internal/JIfStmt.java
* src/soot/jimple/internal/JInstanceOfExpr.java
* src/soot/jimple/internal/JInvokeStmt.java
* src/soot/jimple/internal/JLengthExpr.java
* src/soot/jimple/internal/JNegExpr.java
* src/soot/jimple/internal/JNewExpr.java
* src/soot/jimple/internal/JNewMultiArrayExpr.java
* src/soot/jimple/internal/JNopStmt.java
* src/soot/jimple/internal/JRetStmt.java
* src/soot/jimple/internal/JReturnVoidStmt.java
* src/soot/jimple/internal/JVirtualInvokeExpr.java
* src/soot/jimple/internal/JimpleLocal.java
* src/soot/jimple/internal/RValueBox.java
* src/soot/jimple/paddle/PaddleHook.java
* src/soot/jimple/parser/BodyExtractorWalker.java
* src/soot/jimple/spark/solver/PropWorklist.java
* src/soot/jimple/toolkits/annotation/arraycheck/ClassFieldAnalysis.java
* src/soot/jimple/toolkits/annotation/arraycheck/RectangularArrayFinder.java
* src/soot/jimple/toolkits/annotation/nullcheck/NullCheckEliminator.java
* src/soot/jimple/toolkits/annotation/nullcheck/NullPointerChecker.java
* src/soot/jimple/toolkits/annotation/nullcheck/NullPointerColorer.java
* src/soot/jimple/toolkits/annotation/parity/ParityAnalysis.java
* src/soot/jimple/toolkits/ide/exampleproblems/IFDSUninitializedVariables.java
* src/soot/jimple/toolkits/infoflow/AbstractDataSource.java
* src/soot/jimple/toolkits/invoke/ThrowManager.java
* src/soot/jimple/toolkits/pointer/CastCheckEliminator.java
* src/soot/jimple/toolkits/scalar/CommonSubexpressionEliminator.java
* src/soot/jimple/toolkits/scalar/ConditionalBranchFolder.java
* src/soot/jimple/toolkits/scalar/ConstantPropagatorAndFolder.java
* src/soot/jimple/toolkits/scalar/CopyPropagator.java
* src/soot/jimple/toolkits/scalar/EmptySwitchEliminator.java
* src/soot/jimple/toolkits/scalar/EqualUsesAnalysis.java
* src/soot/jimple/toolkits/scalar/LocalNameStandardizer.java
* src/soot/jimple/toolkits/scalar/UnconditionalBranchFolder.java
* src/soot/jimple/toolkits/scalar/pre/BusyCodeMotion.java
* src/soot/jimple/toolkits/scalar/pre/DownSafetyAnalysis.java
* src/soot/jimple/toolkits/scalar/pre/LazyCodeMotion.java
* src/soot/jimple/toolkits/thread/mhp/MonitorSet.java
* src/soot/jimple/toolkits/thread/synchronization/LockAllocator.java
* src/soot/jimple/toolkits/thread/synchronization/NewStaticLock.java
* src/soot/jimple/toolkits/typing/ConstraintChecker.java
* src/soot/jimple/toolkits/typing/ConstraintCheckerBV.java
* src/soot/jimple/toolkits/typing/ConstraintCollector.java
* src/soot/jimple/toolkits/typing/ConstraintCollectorBV.java
* src/soot/jimple/toolkits/typing/StronglyConnectedComponentsBV.java
* src/soot/jimple/toolkits/typing/TypeNode.java
* src/soot/jimple/toolkits/typing/TypeResolver.java
* src/soot/jimple/toolkits/typing/TypeResolverBV.java
* src/soot/jimple/toolkits/typing/TypeVariable.java
* src/soot/jimple/toolkits/typing/TypeVariableBV.java
* src/soot/jimple/toolkits/typing/fast/BottomType.java
* src/soot/jimple/toolkits/typing/fast/BytecodeHierarchy.java
* src/soot/jimple/toolkits/typing/fast/Integer127Type.java
* src/soot/jimple/toolkits/typing/fast/Integer1Type.java
* src/soot/jimple/toolkits/typing/fast/Integer32767Type.java
* src/soot/jimple/toolkits/typing/fast/QueuedSet.java
* src/soot/jimple/toolkits/typing/integer/ClassHierarchy.java
* src/soot/jimple/toolkits/typing/integer/TypeResolver.java
* src/soot/jimple/toolkits/typing/integer/TypeVariable.java
* src/soot/shimple/internal/PhiNodeManager.java
* src/soot/shimple/toolkits/scalar/SConstantPropagatorAndFolder.java
* src/soot/sootify/StmtTemplatePrinter.java
* src/soot/sootify/TypeTemplatePrinter.java
* src/soot/sootify/ValueTemplatePrinter.java
* src/soot/tagkit/AbstractHost.java
* src/soot/tagkit/CodeAttribute.java
* src/soot/tagkit/GenericAttribute.java
* src/soot/tagkit/InnerClassTagAggregator.java	
* src/soot/tagkit/TagAggregator.java
* src/soot/tagkit/TagManager.java
* src/soot/toolkits/astmetrics/DataHandlingApplication/ProcessData.java
* src/soot/toolkits/exceptions/TrapTightener.java
* src/soot/toolkits/graph/ArrayRefBlockGraph.java
* src/soot/toolkits/graph/BlockGraphConverter.java
* src/soot/toolkits/graph/BriefUnitGraph.java
* src/soot/toolkits/graph/ClassicCompleteBlockGraph.java
* src/soot/toolkits/graph/ClassicCompleteUnitGraph.java
* src/soot/toolkits/graph/DominatorAnalysis.java
* src/soot/toolkits/graph/DominatorTreeAdapter.java
* src/soot/toolkits/graph/MutableEdgeLabelledDirectedGraph.java
* src/soot/toolkits/graph/PostDominatorAnalysis.java
* src/soot/toolkits/graph/PseudoTopologicalOrderer.java
* src/soot/toolkits/graph/ReversibleGraph.java
* src/soot/toolkits/graph/TrapUnitGraph.java
* src/soot/toolkits/graph/ZonedBlockGraph.java
* src/soot/toolkits/graph/interaction/InteractionHandler.java
* src/soot/toolkits/graph/pdg/EnhancedUnitGraph.java
* src/soot/toolkits/scalar/AbstractFlowAnalysis.java
* src/soot/toolkits/scalar/GuaranteedDefs.java
* src/soot/toolkits/scalar/InitAnalysis.java
* src/soot/toolkits/scalar/LiveLocals.java
* src/soot/toolkits/scalar/LocalPacker.java
* src/soot/tools/BadFields.java
* src/soot/tools/CFGViewer.java
* src/soot/util/ArrayNumberer.java
* src/soot/util/ArraySet.java
* src/soot/util/HashChain.java
* src/soot/util/IdentityHashSet.java
* src/soot/util/IterableNumberer.java
* src/soot/util/StationaryArrayList.java
* src/soot/util/UnitMap.java
* src/soot/util/cfgcmd/AltClassLoader.java
* src/soot/util/cfgcmd/CFGGraphType.java
* src/soot/util/cfgcmd/CFGToDotGraph.java
* src/soot/xml/Attribute.java
* src/soot/xml/JavaAttribute.java
* src/soot/xml/XMLPrinter.java


+Generics
+simple rewrites
+added annotations
+changed non private attributes (eg hashmap -> map / arraylist -> list), ... (side effects are unlikely but maybe undo these changes would be more save)
* src/soot/G.java
* src/soot/Hierarchy.java
* src/soot/jbco/Main.java
* src/soot/jbco/bafTransformations/StackTypeHeightCalculator.java
* src/soot/jbco/util/BodyBuilder.java
* src/soot/jimple/internal/JSpecialInvokeExpr.java
* src/soot/jimple/internal/JStaticInvokeExpr.java
* src/soot/jimple/toolkits/scalar/LocalCreation.java
* src/soot/jimple/toolkits/typing/StronglyConnectedComponents.java
* src/soot/jimple/toolkits/typing/integer/StronglyConnectedComponents.java
* src/soot/toolkits/graph/DominatorTree.java
* src/soot/toolkits/graph/HashMutableDirectedGraph.java	
* src/soot/toolkits/graph/HashMutableEdgeLabelledDirectedGraph.java
* src/soot/toolkits/scalar/CollectionFlowUniverse.java
* src/soot/util/IntegerNumberer.java


+Internal rewrites that change the inner structure a bit (eg List<E> -> List<? extends E>), common superclass code, new common super class 
* src/soot/baf/internal/AbstractBranchInst.java
* src/soot/baf/internal/BIncInst.java
* src/soot/dexpler/instructions/PackedSwitchInstruction.java
* src/soot/dexpler/instructions/SparseSwitchInstruction.java
* src/soot/grimp/internal/GDynamicInvokeExpr.java
* src/soot/grimp/internal/GNewInvokeExpr.java
* src/soot/jimple/Jimple.java
* src/soot/jimple/internal/AbstractDefinitionStmt.java
* src/soot/jimple/internal/AbstractInstanceInvokeExpr.java
* src/soot/jimple/internal/AbstractInterfaceInvokeExpr.java
* src/soot/jimple/internal/AbstractOpStmt.java
* * src/soot/jimple/internal/JEnterMonitorStmt.java
* * src/soot/jimple/internal/JExitMonitorStmt.java
* * src/soot/jimple/internal/JReturnStmt.java
* * src/soot/jimple/internal/JThrowStmt.java
* src/soot/jimple/internal/AbstractSpecialInvokeExpr.java
* src/soot/jimple/internal/AbstractStaticInvokeExpr.java
* src/soot/jimple/LookupSwitchStmt.java
* src/soot/jimple/SwitchStmt.java
* src/soot/jimple/TableSwitchStmt.java
* src/soot/jimple/internal/AbstractSwitchStmt.java
* * src/soot/jimple/internal/JLookupSwitchStmt.java
* * src/soot/jimple/internal/JTableSwitchStmt.java
* src/soot/jimple/internal/AbstractVirtualInvokeExpr.java
* src/soot/jimple/internal/JAssignStmt.java
* src/soot/jimple/internal/JDynamicInvokeExpr.java,
* src/soot/jimple/internal/JIdentityStmt.java
* src/soot/jimple/internal/JInterfaceInvokeExpr.java
* src/soot/jimple/parser/Walker.java
* src/soot/jimple/toolkits/reflection/ReflectiveCallsInliner.java
* tests/soot/toolkits/exceptions/UnitThrowAnalysisTest.java