[proguard] 01/02: Imported Upstream version 3.9

Emmanuel Bourg ebourg-guest at moszumanska.debian.org
Thu Apr 10 09:00:35 UTC 2014


This is an automated email from the git hooks/post-receive script.

ebourg-guest pushed a commit to annotated tag debian/3.9-1
in repository proguard.

commit 9fe0c28f2845c88e70242673786ca35c2968ea36
Author: Sam Clegg <samo at debian.org>
Date:   Thu Apr 10 10:41:55 2014 +0200

    Imported Upstream version 3.9
---
 README                                             |   2 +-
 docs/FAQ.html                                      |   2 +-
 docs/GPL_exception.html                            |   2 +-
 docs/acknowledgements.html                         |   7 +-
 docs/alternatives.html                             |  45 ++++--
 docs/downloads.html                                |  57 ++++++--
 docs/feedback.html                                 |   6 +-
 docs/index.html                                    |   2 +-
 docs/license.html                                  |   2 +-
 docs/main.html                                     |   2 +-
 docs/manual/ant.html                               |   2 +-
 docs/manual/examples.html                          |  17 ++-
 docs/manual/gui.html                               |   2 +-
 docs/manual/index.html                             |   2 +-
 docs/manual/introduction.html                      |   2 +-
 docs/manual/limitations.html                       |   2 +-
 docs/manual/refcard.html                           |   2 +-
 docs/manual/retrace/examples.html                  |   2 +-
 docs/manual/retrace/index.html                     |   2 +-
 docs/manual/retrace/introduction.html              |   2 +-
 docs/manual/retrace/usage.html                     |   2 +-
 docs/manual/troubleshooting.html                   |   2 +-
 docs/manual/usage.html                             |   2 +-
 docs/manual/wtk.html                               |   2 +-
 docs/quality.html                                  |   4 +-
 docs/results.html                                  |   2 +-
 docs/screenshots.html                              |   2 +-
 docs/testimonials.html                             |   2 +-
 docs/title.html                                    |   2 +-
 docs/vtitle.gif                                    | Bin 22053 -> 0 bytes
 examples/dictionaries/shakespeare.txt              |   0
 lib/proguard.jar                                   | Bin 0 -> 429304 bytes
 lib/proguardgui.jar                                | Bin 0 -> 125680 bytes
 lib/retrace.jar                                    | Bin 0 -> 5110 bytes
 src/proguard/ArgumentWordReader.java               |   4 +-
 src/proguard/ClassMemberSpecification.java         |   4 +-
 src/proguard/ClassPath.java                        |   4 +-
 src/proguard/ClassPathEntry.java                   |   4 +-
 src/proguard/ClassSpecification.java               |   4 +-
 src/proguard/Configuration.java                    |   4 +-
 src/proguard/ConfigurationParser.java              |   4 +-
 src/proguard/ConfigurationWriter.java              |   4 +-
 src/proguard/DataEntryReaderFactory.java           |   4 +-
 src/proguard/DataEntryWriterFactory.java           |   4 +-
 src/proguard/DuplicateClassFilePrinter.java        |   4 +-
 src/proguard/FileWordReader.java                   |   4 +-
 src/proguard/GPL.java                              |   4 +-
 src/proguard/Initializer.java                      |  16 +--
 src/proguard/InputReader.java                      |   4 +-
 src/proguard/OutputWriter.java                     |   4 +-
 src/proguard/ParseException.java                   |   4 +-
 src/proguard/ProGuard.java                         |   8 +-
 src/proguard/SubclassedClassFileFilter.java        |   4 +-
 src/proguard/WordReader.java                       |   4 +-
 .../ant/ClassMemberSpecificationElement.java       |   4 +-
 src/proguard/ant/ClassPathElement.java             |   4 +-
 src/proguard/ant/ClassSpecificationElement.java    |   4 +-
 src/proguard/ant/ConfigurationElement.java         |   4 +-
 src/proguard/ant/ConfigurationTask.java            |   4 +-
 src/proguard/ant/KeepAttributeElement.java         |   4 +-
 src/proguard/ant/ProGuardTask.java                 |   4 +-
 src/proguard/classfile/ClassCpInfo.java            |   4 +-
 src/proguard/classfile/ClassFile.java              |   4 +-
 src/proguard/classfile/ClassPool.java              |   4 +-
 src/proguard/classfile/CpInfo.java                 |   4 +-
 src/proguard/classfile/DoubleCpInfo.java           |   4 +-
 src/proguard/classfile/FieldInfo.java              |   4 +-
 src/proguard/classfile/FieldrefCpInfo.java         |   4 +-
 src/proguard/classfile/FloatCpInfo.java            |   4 +-
 src/proguard/classfile/IntegerCpInfo.java          |   4 +-
 .../classfile/InterfaceMethodrefCpInfo.java        |   4 +-
 src/proguard/classfile/LibraryClassFile.java       |  10 +-
 src/proguard/classfile/LibraryFieldInfo.java       |   4 +-
 src/proguard/classfile/LibraryMemberInfo.java      |   4 +-
 src/proguard/classfile/LibraryMethodInfo.java      |   4 +-
 src/proguard/classfile/LongCpInfo.java             |   4 +-
 src/proguard/classfile/MemberInfo.java             |   4 +-
 src/proguard/classfile/MethodInfo.java             |   4 +-
 src/proguard/classfile/MethodrefCpInfo.java        |   4 +-
 src/proguard/classfile/NameAndTypeCpInfo.java      |   4 +-
 src/proguard/classfile/ProgramClassFile.java       |   6 +-
 src/proguard/classfile/ProgramFieldInfo.java       |   4 +-
 src/proguard/classfile/ProgramMemberInfo.java      |   4 +-
 src/proguard/classfile/ProgramMethodInfo.java      |   4 +-
 src/proguard/classfile/RefCpInfo.java              |   4 +-
 src/proguard/classfile/StringCpInfo.java           |   4 +-
 src/proguard/classfile/Utf8CpInfo.java             |   4 +-
 src/proguard/classfile/VisitorAccepter.java        |   4 +-
 src/proguard/classfile/attribute/AttrInfo.java     |   4 +-
 .../classfile/attribute/AttrInfoVisitor.java       |   4 +-
 src/proguard/classfile/attribute/CodeAttrInfo.java |   4 +-
 .../classfile/attribute/DeprecatedAttrInfo.java    |   4 +-
 .../attribute/EnclosingMethodAttrInfo.java         |   4 +-
 .../classfile/attribute/ExceptionInfo.java         |   4 +-
 .../classfile/attribute/ExceptionInfoVisitor.java  |   4 +-
 .../classfile/attribute/ExceptionsAttrInfo.java    |   4 +-
 .../classfile/attribute/InnerClassesAttrInfo.java  |   4 +-
 .../classfile/attribute/InnerClassesInfo.java      |   4 +-
 .../attribute/InnerClassesInfoVisitor.java         |   4 +-
 .../classfile/attribute/LibraryAttrInfo.java       |   4 +-
 .../classfile/attribute/LineNumberInfo.java        |   4 +-
 .../attribute/LineNumberTableAttrInfo.java         |   4 +-
 .../classfile/attribute/LocalVariableInfo.java     |   4 +-
 .../attribute/LocalVariableInfoVisitor.java        |   4 +-
 .../attribute/LocalVariableTableAttrInfo.java      |   4 +-
 .../classfile/attribute/LocalVariableTypeInfo.java |   4 +-
 .../attribute/LocalVariableTypeInfoVisitor.java    |   4 +-
 .../attribute/LocalVariableTypeTableAttrInfo.java  |   4 +-
 .../classfile/attribute/MultiAttrInfoVisitor.java  |   4 +-
 .../classfile/attribute/SignatureAttrInfo.java     |   4 +-
 .../classfile/attribute/SourceDirAttrInfo.java     |   4 +-
 .../classfile/attribute/SourceFileAttrInfo.java    |   4 +-
 .../classfile/attribute/SyntheticAttrInfo.java     |   4 +-
 .../classfile/attribute/UnknownAttrInfo.java       |   4 +-
 .../classfile/attribute/annotation/Annotation.java |   4 +-
 .../annotation/AnnotationDefaultAttrInfo.java      |   8 +-
 .../annotation/AnnotationElementValue.java         |   4 +-
 .../attribute/annotation/AnnotationVisitor.java    |   4 +-
 .../attribute/annotation/ArrayElementValue.java    |   4 +-
 .../attribute/annotation/ClassElementValue.java    |   4 +-
 .../attribute/annotation/ConstantElementValue.java |   4 +-
 .../attribute/annotation/ElementValue.java         |   4 +-
 .../attribute/annotation/ElementValueVisitor.java  |   4 +-
 .../annotation/EnumConstantElementValue.java       |   4 +-
 .../annotation/RuntimeAnnotationsAttrInfo.java     |   4 +-
 .../RuntimeInvisibleAnnotationsAttrInfo.java       |   4 +-
 ...ntimeInvisibleParameterAnnotationsAttrInfo.java |   4 +-
 .../RuntimeParameterAnnotationsAttrInfo.java       |   4 +-
 .../RuntimeVisibleAnnotationsAttrInfo.java         |   4 +-
 ...RuntimeVisibleParameterAnnotationsAttrInfo.java |   4 +-
 .../classfile/editor/ClassFileReferenceFixer.java  |   4 +-
 .../classfile/editor/CodeAttrInfoEditor.java       |   4 +-
 .../editor/CodeAttrInfoEditorResetter.java         |   4 +-
 .../classfile/editor/ComparableCpInfo.java         |   4 +-
 .../classfile/editor/ConstantPoolEditor.java       |   4 +-
 .../classfile/editor/ConstantPoolRemapper.java     |   4 +-
 .../classfile/editor/ConstantPoolSorter.java       |   4 +-
 .../classfile/editor/InstructionWriter.java        |   4 +-
 .../classfile/editor/MemberReferenceFixer.java     |   4 +-
 .../classfile/editor/MethodInvocationFixer.java    |   6 +-
 .../classfile/editor/StackSizeUpdater.java         |   4 +-
 src/proguard/classfile/editor/VariableEditor.java  |   4 +-
 .../classfile/editor/VariableRemapper.java         |   4 +-
 .../classfile/instruction/BranchInstruction.java   |   4 +-
 .../classfile/instruction/CpInstruction.java       |   4 +-
 .../classfile/instruction/Instruction.java         |   4 +-
 .../classfile/instruction/InstructionCounter.java  |   4 +-
 .../classfile/instruction/InstructionFactory.java  |   4 +-
 .../classfile/instruction/InstructionVisitor.java  |   4 +-
 .../instruction/LookUpSwitchInstruction.java       |   4 +-
 .../instruction/MultiInstructionVisitor.java       |   4 +-
 .../classfile/instruction/SimpleInstruction.java   |   4 +-
 .../instruction/TableSwitchInstruction.java        |   4 +-
 .../classfile/instruction/VariableInstruction.java |  10 +-
 src/proguard/classfile/util/AccessUtil.java        |   4 +-
 .../ClassFileClassForNameReferenceInitializer.java |   4 +-
 .../util/ClassFileHierarchyInitializer.java        |   4 +-
 .../util/ClassFileReferenceInitializer.java        |   4 +-
 .../classfile/util/ClassForNameChecker.java        |  14 +-
 .../classfile/util/ClassNewInstanceChecker.java    |   4 +-
 src/proguard/classfile/util/ClassUtil.java         |   4 +-
 .../classfile/util/DescriptorClassEnumeration.java |   4 +-
 .../classfile/util/ExternalTypeEnumeration.java    |   4 +-
 .../classfile/util/InternalTypeEnumeration.java    |   4 +-
 src/proguard/classfile/util/MemberFinder.java      |   4 +-
 src/proguard/classfile/util/MethodInfoLinker.java  |  31 ++--
 src/proguard/classfile/util/WarningPrinter.java    |   4 +-
 .../classfile/visitor/AllClassFileVisitor.java     |   4 +-
 .../classfile/visitor/AllCpInfoVisitor.java        |   4 +-
 .../classfile/visitor/AllFieldVisitor.java         |   4 +-
 .../classfile/visitor/AllMemberInfoVisitor.java    |   4 +-
 .../classfile/visitor/AllMethodVisitor.java        |   4 +-
 .../classfile/visitor/BottomClassFileFilter.java   |   4 +-
 src/proguard/classfile/visitor/ClassCounter.java   |   4 +-
 .../classfile/visitor/ClassFileAccessFilter.java   |   4 +-
 .../classfile/visitor/ClassFileCleaner.java        |   4 +-
 .../visitor/ClassFileHierarchyTraveler.java        |   4 +-
 .../visitor/ClassFileMemberInfoVisitor.java        |   4 +-
 .../classfile/visitor/ClassFileNameFilter.java     |   4 +-
 .../classfile/visitor/ClassFilePresenceFilter.java |   4 +-
 .../classfile/visitor/ClassFilePrinter.java        |  10 +-
 .../classfile/visitor/ClassFileVersionCounter.java |   4 +-
 .../classfile/visitor/ClassFileVisitor.java        |   4 +-
 .../visitor/ClassForNameClassFileVisitor.java      |   4 +-
 .../classfile/visitor/ClassPoolFiller.java         |   4 +-
 .../classfile/visitor/ClassPoolVisitor.java        |   4 +-
 .../visitor/ConcreteClassFileDownTraveler.java     |   4 +-
 src/proguard/classfile/visitor/CpInfoVisitor.java  |   4 +-
 .../visitor/DotClassClassFileVisitor.java          |   4 +-
 .../classfile/visitor/LibraryClassFileFilter.java  |   4 +-
 .../classfile/visitor/LibraryMemberInfoFilter.java |   4 +-
 .../classfile/visitor/LineNumberInfoVisitor.java   |   4 +-
 src/proguard/classfile/visitor/MemberCounter.java  |   4 +-
 .../classfile/visitor/MemberInfoAccessFilter.java  |   4 +-
 .../visitor/MemberInfoClassFileAccessFilter.java   |   4 +-
 .../visitor/MemberInfoDescriptorFilter.java        |   4 +-
 .../classfile/visitor/MemberInfoNameFilter.java    |   4 +-
 .../classfile/visitor/MemberInfoVisitor.java       |   4 +-
 .../visitor/MethodImplementationFilter.java        |   4 +-
 .../visitor/MethodImplementationTraveler.java      |   4 +-
 .../classfile/visitor/MultiClassFileVisitor.java   |   4 +-
 .../classfile/visitor/MultiMemberInfoVisitor.java  |   4 +-
 .../classfile/visitor/NamedClassFileVisitor.java   |   4 +-
 .../classfile/visitor/NamedFieldVisitor.java       |   4 +-
 .../classfile/visitor/NamedMethodVisitor.java      |   4 +-
 .../classfile/visitor/ProgramClassFileFilter.java  |   4 +-
 .../classfile/visitor/ProgramMemberInfoFilter.java |   4 +-
 .../visitor/ReferencedClassFileVisitor.java        |   4 +-
 .../classfile/visitor/SimpleClassFilePrinter.java  |   4 +-
 .../visitor/VariableClassFileVisitor.java          |   4 +-
 .../visitor/VariableMemberInfoVisitor.java         |   4 +-
 .../gui/ClassMemberSpecificationDialog.java        |   4 +-
 .../gui/ClassMemberSpecificationsPanel.java        |   4 +-
 src/proguard/gui/ClassPathPanel.java               |   4 +-
 src/proguard/gui/ClassSpecificationDialog.java     |   4 +-
 src/proguard/gui/ClassSpecificationsPanel.java     |   4 +-
 src/proguard/gui/ExtensionFileFilter.java          |   4 +-
 src/proguard/gui/FilterDialog.java                 |   4 +-
 src/proguard/gui/GUIResources.java                 |   4 +-
 src/proguard/gui/GUIResources.properties           |   7 +-
 src/proguard/gui/ListPanel.java                    |   4 +-
 src/proguard/gui/MessageDialogRunnable.java        |   4 +-
 src/proguard/gui/ProGuardGUI.java                  |   4 +-
 src/proguard/gui/ProGuardRunnable.java             |   4 +-
 src/proguard/gui/ReTraceRunnable.java              |   4 +-
 src/proguard/gui/SwingUtil.java                    |   4 +-
 src/proguard/gui/TabbedPane.java                   |   4 +-
 src/proguard/gui/TextAreaOutputStream.java         |   4 +-
 src/proguard/gui/boilerplate.pro                   |   3 +
 src/proguard/gui/splash/BufferedSprite.java        |   4 +-
 src/proguard/gui/splash/CircleSprite.java          |   4 +-
 src/proguard/gui/splash/ClipSprite.java            |   4 +-
 src/proguard/gui/splash/CompositeSprite.java       |   4 +-
 src/proguard/gui/splash/ImageSprite.java           |   4 +-
 src/proguard/gui/splash/LinearColor.java           |   4 +-
 src/proguard/gui/splash/LinearDouble.java          |   4 +-
 src/proguard/gui/splash/LinearInt.java             |   4 +-
 src/proguard/gui/splash/LinearTiming.java          |   4 +-
 src/proguard/gui/splash/OverrideGraphics2D.java    |   4 +-
 src/proguard/gui/splash/RectangleSprite.java       |  66 ++++-----
 src/proguard/gui/splash/SawToothTiming.java        |   4 +-
 src/proguard/gui/splash/ShadowedSprite.java        |   4 +-
 src/proguard/gui/splash/SineTiming.java            |   4 +-
 src/proguard/gui/splash/SmoothTiming.java          |   4 +-
 src/proguard/gui/splash/SplashPanel.java           |   4 +-
 src/proguard/gui/splash/Sprite.java                |   4 +-
 src/proguard/gui/splash/TextSprite.java            |   4 +-
 src/proguard/gui/splash/TimeSwitchSprite.java      |   4 +-
 src/proguard/gui/splash/Timing.java                |   4 +-
 src/proguard/gui/splash/TypeWriterString.java      |   4 +-
 src/proguard/gui/splash/VariableColor.java         |   4 +-
 src/proguard/gui/splash/VariableDouble.java        |   4 +-
 src/proguard/gui/splash/VariableFont.java          |   4 +-
 src/proguard/gui/splash/VariableInt.java           |   4 +-
 src/proguard/gui/splash/VariableSizeFont.java      |   4 +-
 src/proguard/gui/splash/VariableString.java        |   4 +-
 src/proguard/io/CascadingDataEntryWriter.java      |   4 +-
 src/proguard/io/ClassFileFilter.java               |   4 +-
 src/proguard/io/ClassFileReader.java               |   4 +-
 src/proguard/io/ClassFileRewriter.java             |   4 +-
 src/proguard/io/DataEntry.java                     |   4 +-
 src/proguard/io/DataEntryCopier.java               |   4 +-
 src/proguard/io/DataEntryPump.java                 |   4 +-
 src/proguard/io/DataEntryReader.java               |   4 +-
 src/proguard/io/DataEntryWriter.java               |   4 +-
 src/proguard/io/DirectoryPump.java                 |   4 +-
 src/proguard/io/DirectoryWriter.java               |   4 +-
 src/proguard/io/FileDataEntry.java                 |   4 +-
 src/proguard/io/FilteredDataEntryReader.java       |   4 +-
 src/proguard/io/FilteredDataEntryWriter.java       |   4 +-
 src/proguard/io/Finisher.java                      |   4 +-
 src/proguard/io/JarReader.java                     |   4 +-
 src/proguard/io/JarWriter.java                     |   4 +-
 src/proguard/io/ParentDataEntryWriter.java         |   4 +-
 src/proguard/io/RenamedDataEntry.java              |   4 +-
 src/proguard/io/ZipDataEntry.java                  |   4 +-
 src/proguard/obfuscate/AttributeShrinker.java      |   4 +-
 src/proguard/obfuscate/AttributeUsageMarker.java   |   4 +-
 src/proguard/obfuscate/ClassFileObfuscator.java    |  22 +--
 src/proguard/obfuscate/ClassFileOpener.java        |   4 +-
 src/proguard/obfuscate/ClassFileRenamer.java       |   4 +-
 src/proguard/obfuscate/DictionaryNameFactory.java  |   4 +-
 src/proguard/obfuscate/MapCleaner.java             |   4 +-
 src/proguard/obfuscate/MappingKeeper.java          |   4 +-
 src/proguard/obfuscate/MappingPrinter.java         |   4 +-
 src/proguard/obfuscate/MappingProcessor.java       |   4 +-
 src/proguard/obfuscate/MappingReader.java          |   4 +-
 src/proguard/obfuscate/MemberInfoNameCleaner.java  |   4 +-
 .../obfuscate/MemberInfoNameCollector.java         |  13 +-
 .../obfuscate/MemberInfoNameConflictFilter.java    | 104 --------------
 .../obfuscate/MemberInfoNameConflictFixer.java     | 156 +++++++++++++++++++++
 src/proguard/obfuscate/MemberInfoObfuscator.java   |  53 +------
 .../obfuscate/MemberInfoSpecialNameFilter.java     |   4 +-
 src/proguard/obfuscate/MultiMappingProcessor.java  |   4 +-
 src/proguard/obfuscate/NameAndTypeShrinker.java    |   4 +-
 src/proguard/obfuscate/NameAndTypeUsageMarker.java |   4 +-
 src/proguard/obfuscate/NameFactory.java            |   4 +-
 src/proguard/obfuscate/NameFactoryResetter.java    |   4 +-
 src/proguard/obfuscate/NameMarker.java             |   4 +-
 src/proguard/obfuscate/Obfuscator.java             | 134 ++++++++++++------
 src/proguard/obfuscate/SimpleNameFactory.java      |   4 +-
 src/proguard/obfuscate/SourceFileRenamer.java      |   4 +-
 src/proguard/obfuscate/SpecialNameFactory.java     |   4 +-
 src/proguard/obfuscate/Utf8Shrinker.java           |   4 +-
 src/proguard/obfuscate/Utf8UsageMarker.java        |   4 +-
 src/proguard/optimize/ChangedCodePrinter.java      |   4 +-
 src/proguard/optimize/MethodOptimizationInfo.java  |   4 +-
 .../optimize/MethodOptimizationInfoSetter.java     |   4 +-
 .../optimize/NoSideEffectMethodMarker.java         |   4 +-
 src/proguard/optimize/NonPrivateMethodMarker.java  |   4 +-
 src/proguard/optimize/Optimizer.java               |   6 +-
 src/proguard/optimize/ParameterShrinker.java       |   4 +-
 src/proguard/optimize/ParameterUsageMarker.java    |   4 +-
 .../optimize/SideEffectInstructionChecker.java     |   4 +-
 src/proguard/optimize/SideEffectMethodMarker.java  |   4 +-
 src/proguard/optimize/VariableUsageMarker.java     |   4 +-
 src/proguard/optimize/WriteOnlyFieldFilter.java    |   4 +-
 src/proguard/optimize/WriteOnlyFieldMarker.java    |   4 +-
 src/proguard/optimize/evaluation/BranchUnit.java   |   4 +-
 .../optimize/evaluation/EvaluationSimplifier.java  |   7 +-
 .../optimize/evaluation/PartialEvaluator.java      |   4 +-
 src/proguard/optimize/evaluation/Processor.java    |  42 +++++-
 src/proguard/optimize/evaluation/Stack.java        |   4 +-
 .../optimize/evaluation/TracedBranchUnit.java      |   4 +-
 src/proguard/optimize/evaluation/TracedStack.java  |   4 +-
 .../optimize/evaluation/TracedVariables.java       |   4 +-
 .../evaluation/UnusedParameterCleaner.java         |   4 +-
 src/proguard/optimize/evaluation/Variables.java    |   4 +-
 .../optimize/evaluation/value/Category1Value.java  |   4 +-
 .../optimize/evaluation/value/Category2Value.java  |   4 +-
 .../optimize/evaluation/value/DoubleValue.java     |   4 +-
 .../evaluation/value/DoubleValueFactory.java       |   4 +-
 .../optimize/evaluation/value/FloatValue.java      |   4 +-
 .../evaluation/value/FloatValueFactory.java        |   4 +-
 .../evaluation/value/InstructionOffsetValue.java   |   4 +-
 .../value/InstructionOffsetValueFactory.java       |   4 +-
 .../optimize/evaluation/value/IntegerValue.java    |   4 +-
 .../evaluation/value/IntegerValueFactory.java      |   4 +-
 .../optimize/evaluation/value/LongValue.java       |   4 +-
 .../evaluation/value/LongValueFactory.java         |   4 +-
 .../optimize/evaluation/value/ReferenceValue.java  |   4 +-
 .../evaluation/value/ReferenceValueFactory.java    |   4 +-
 .../value/SpecificArrayReferenceValue.java         |   4 +-
 .../evaluation/value/SpecificDoubleValue.java      |   4 +-
 .../evaluation/value/SpecificFloatValue.java       |   4 +-
 .../evaluation/value/SpecificIntegerValue.java     |   4 +-
 .../evaluation/value/SpecificLongValue.java        |   4 +-
 .../evaluation/value/SpecificReferenceValue.java   |   4 +-
 src/proguard/optimize/evaluation/value/Value.java  |   4 +-
 .../optimize/evaluation/value/ValueFactory.java    |   4 +-
 .../optimize/peephole/BranchTargetFinder.java      |   4 +-
 .../optimize/peephole/GetterSetterInliner.java     |   4 +-
 .../optimize/peephole/GotoCommonCodeReplacer.java  |   4 +-
 .../optimize/peephole/GotoGotoReplacer.java        |   4 +-
 .../optimize/peephole/GotoReturnReplacer.java      |   4 +-
 .../optimize/peephole/LoadStoreRemover.java        |   4 +-
 .../optimize/peephole/MethodPrivatizer.java        |   4 +-
 src/proguard/optimize/peephole/NopRemover.java     |   4 +-
 src/proguard/optimize/peephole/PushPopRemover.java |   4 +-
 .../peephole/SingleImplementationFixer.java        |   4 +-
 .../peephole/SingleImplementationInliner.java      |   4 +-
 .../peephole/SingleImplementationMarker.java       |   4 +-
 .../optimize/peephole/StoreLoadReplacer.java       |   4 +-
 src/proguard/retrace/ReTrace.java                  |   4 +-
 src/proguard/retrace/StackTrace.java               |   4 +-
 src/proguard/retrace/StackTraceItem.java           |   4 +-
 src/proguard/shrink/ClassFileShrinker.java         |   6 +-
 src/proguard/shrink/InnerUsageMarker.java          |   4 +-
 src/proguard/shrink/InterfaceUsageMarker.java      |   4 +-
 src/proguard/shrink/ShortestUsageMark.java         |   4 +-
 src/proguard/shrink/ShortestUsageMarker.java       |   4 +-
 src/proguard/shrink/ShortestUsagePrinter.java      |   4 +-
 src/proguard/shrink/Shrinker.java                  |   6 +-
 src/proguard/shrink/UsageMarker.java               |   4 +-
 src/proguard/shrink/UsagePrinter.java              |   4 +-
 src/proguard/shrink/UsedClassFileFilter.java       |   4 +-
 src/proguard/util/ExtensionMatcher.java            |   4 +-
 src/proguard/util/ListUtil.java                    |   4 +-
 src/proguard/wtk/ProGuardObfuscator.java           |   4 +-
 379 files changed, 1197 insertions(+), 1013 deletions(-)

diff --git a/README b/README
index 1eb1a01..db97aa0 100644
--- a/README
+++ b/README
@@ -51,4 +51,4 @@ Enjoy!
 
 http://proguard.sourceforge.net/
 
-Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
diff --git a/docs/FAQ.html b/docs/FAQ.html
index 2b9d6f4..b39e2c6 100644
--- a/docs/FAQ.html
+++ b/docs/FAQ.html
@@ -205,7 +205,7 @@ Manual</a> for more details.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/GPL_exception.html b/docs/GPL_exception.html
index 88cbe60..48d4015 100644
--- a/docs/GPL_exception.html
+++ b/docs/GPL_exception.html
@@ -7,7 +7,7 @@
 <H1>Special Exception to the GNU General Public License</H1>
 
 <P>
-Copyright © 2002-2006 Eric Lafortune
+Copyright © 2002-2007 Eric Lafortune
 </P>
 
 <P>
diff --git a/docs/acknowledgements.html b/docs/acknowledgements.html
index 12e089b..df13b6f 100644
--- a/docs/acknowledgements.html
+++ b/docs/acknowledgements.html
@@ -32,6 +32,7 @@ Sherington, David Sitsky, James Manning, Ptolemy Oberin, Frank-Michael Moser,
 QZ Shines, Thomas Singer, Michele Puccini, Roman Bednarek, Natalia Pujol,
 Daniel Sjöblom, Jan Filipsky, Charles Smith, Gerrit Telkamp, Noel
 Grandin, Torbjörn Söderstedt, Clemens Eisserer, Clark Bassett,
+Eduard Welch,
 and many others. Thanks! Your feedback has been invaluable.
 <p>
 
@@ -52,10 +53,14 @@ environment.
 The code and these web pages were written using Sun's JDKs, Linux, IntelliJ
 IDEA, GNU emacs, bash, sed, awk, and a whole host of other tools that continue
 to make programming interesting.
+<p>
+
+And finally, I'm a great fan of the <a
+href="http://www.javadocking.com/" target="other">Java Docking Library</a>.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 
diff --git a/docs/alternatives.html b/docs/alternatives.html
index f2f594d..7014e6c 100644
--- a/docs/alternatives.html
+++ b/docs/alternatives.html
@@ -96,21 +96,21 @@ incorrect.
 </tr>
 
 <tr>
-<td><a target="other" rel="nofollow" href="http://donquixote.cafebabe.jp/">Haruaki Tamada</a></td>
-<td><a target="other" href="http://donquixote.cafebabe.jp/">DonQuixote</a></td>
-<td align="center"><br></td>
-<td align="center"><img src="checkmark.gif" width="11" height="11" alt="x"></td>
+<td><a target="other" rel="nofollow" href="http://www.cs.purdue.edu/homes/grothoff/">Christian Grothoff</a></td>
+<td><a target="other" href="http://www.ovmj.org/jamit/">Jamit</a></td>
 <td align="center"><img src="checkmark.gif" width="11" height="11" alt="x"></td>
-<td>Free</td>
+<td align="center"><br></td>
+<td align="center"><br></td>
+<td>Free (GPL)</td>
 </tr>
 
 <tr>
-<td><a target="other" rel="nofollow" href="http://www.cs.purdue.edu/homes/grothoff/">Christian Grothoff</a></td>
-<td><a target="other" href="http://www.ovmj.org/jamit/">Jamit</a></td>
+<td><a target="other" rel="nofollow" href="http://mojo.codehaus.org/">Mojo</a></td>
+<td><a target="other" href="http://mojo.codehaus.org/minijar-maven-plugin/">Minijar</a></td>
 <td align="center"><img src="checkmark.gif" width="11" height="11" alt="x"></td>
 <td align="center"><br></td>
 <td align="center"><br></td>
-<td>Free (GPL)</td>
+<td>Free (Apache)</td>
 </tr>
 
 <tr>
@@ -159,6 +159,15 @@ incorrect.
 </tr>
 
 <tr>
+<td><a target="other" rel="nofollow" href="http://donquixote.cafebabe.jp/">Haruaki Tamada</a></td>
+<td><a target="other" href="http://donquixote.cafebabe.jp/">DonQuixote</a></td>
+<td align="center"><br></td>
+<td align="center"><img src="checkmark.gif" width="11" height="11" alt="x"></td>
+<td align="center"><img src="checkmark.gif" width="11" height="11" alt="x"></td>
+<td>Free</td>
+</tr>
+
+<tr>
 <td><a target="other" rel="nofollow" href="http://sourceforge.net/users/glurk/">Thorsten Heit</a></td>
 <td><a target="other" href="http://sourceforge.net/projects/javaguard/">JavaGuard</a></td>
 <td align="center"><br></td>
@@ -240,6 +249,15 @@ incorrect.
 </tr>
 
 <tr>
+<td><a target="other" rel="nofollow" href="http://www.s-cradle.com/english/index.html">Sophia Cradle</a></td>
+<td><a target="other" href="http://www.s-cradle.com/english/products/sophiacompress_java/index.html">SophiaCompress</a></td>
+<td align="center"><img src="checkmark.gif" width="11" height="11" alt="x"></td>
+<td align="center"><img src="checkmark.gif" width="11" height="11" alt="x"></td>
+<td align="center"><img src="checkmark.gif" width="11" height="11" alt="x"></td>
+<td>Commercial</td>
+</tr>
+
+<tr>
 <td><a target="other" rel="nofollow" href="http://www.retrologic.com/">RetroLogic</a></td>
 <td><a target="other" href="http://www.retrologic.com/">RetroGuard</a></td>
 <td align="center"><img src="checkmark.gif" width="11" height="11" alt="x"></td>
@@ -339,6 +357,15 @@ incorrect.
 </tr>
 
 <tr>
+<td><a target="other" rel="nofollow" href="http://www.software4j.com/">Software4j</a></td>
+<td><a target="other" href="http://www.software4j.com/obfuscate4j/">Obfuscate4j</a></td>
+<td align="center"><br></td>
+<td align="center"><br></td>
+<td align="center"><img src="checkmark.gif" width="11" height="11" alt="x"></td>
+<td>Commercial</td>
+</tr>
+
+<tr>
 <td><a target="other" rel="nofollow" href="http://www.semdesigns.com/">Semantic Designs</a></td>
 <td><a target="other" href="http://www.semdesigns.com/Products/Obfuscators/JavaObfuscator.html">Obfuscator</a></td>
 <td align="center"><br></td>
@@ -515,7 +542,7 @@ All trademarks are property of their respective holders.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 
diff --git a/docs/downloads.html b/docs/downloads.html
index b6340f1..e089a0b 100644
--- a/docs/downloads.html
+++ b/docs/downloads.html
@@ -42,11 +42,10 @@ interest too, because they typically contain any less urgent bug fixes
 collected since the previous release.
 <p>
 
-<font color="darkgrey">
-<h3><div>In alpha</div> Version 4.0</h3>
+<h3><div>In beta</div> Version 4.0</h3>
 <ul>
-<li>Added preverifier for Java 6 and Java Micro Edition, with new option
-    <code>-dontpreverify</code>.
+<li>Added preverifier for Java 6 and Java Micro Edition, with new options
+    <code>-microedition</code> and <code>-dontpreverify</code>.
 <li>Added new option <code>-target</code> to modify java version of processed
     class files.
 <li>Made <code>-keep</code> options more orthogonal and flexible, with option
@@ -58,7 +57,12 @@ collected since the previous release.
     processing, with new option <code>-forceprocessing</code>.
 <li>Added new options <code>-flattenpackagehierarchy</code> and
     <code>-repackageclasses</code> (replacing <code>-defaultpackage</code>) to
-    control obfuscation of packages names.
+    control obfuscation of package names.
+<li>Added new options <code>-adaptresourcefilenames</code> and
+    <code>-adaptresourcefilecontents</code>, with file filters, to update
+    resource files corresponding to obfuscated class names.
+<li>Added detection of dynamically accessed fields and methods.
+<li>Now treating <code>Exceptions</code> attributes as optional.
 <li>Now respecting naming rule for nested class names
     (<code>EnclosingClass$InnerClass</code>) in obfuscation step, if
     <code>InnerClasses</code> attributes or <code>EnclosingMethod</code>
@@ -66,16 +70,47 @@ collected since the previous release.
 <li>Added new inter-procedural optimizations: method inlining and propagation
     of constant fields, constant arguments, and constant return values.
 <li>Added optimized local variable allocation.
-<li>Added many new peephole optimizations.
+<li>Added over 250 new peephole optimizations.
 <li>Improved making classes and class members public or protected.
 <li>Now printing notes on suspiciously unkept classes in parameters of
     specified methods.
 <li>Now printing notes for class names that don't seem to be fully qualified.
 <li>Added support for uppercase filename extensions.
 <li>Rewritten class file I/O code.
-<li>TODO: Update documentation and examples.
+<li>Updated documentation and examples.
+</ul>
+Upgrade considerations:
+<ul>
+
+<li>Since ProGuard now treats the <code>Exceptions</code> attribute as
+    optional, you may have to specify <code>-keepattributes Exceptions</code>,
+    for instance when processing code that is to be used as a library.
+
+<li>ProGuard will now preverify code for Java Micro Edition, if you specify the
+    option <code>-microedition</code>. You then no longer need to process the
+    code with an external preverifier.
+
+<li>You should preferably specify <code>-repackageclasses</code> instead of the
+    old option name <code>-defaultpackage</code>.
+</ul>
+
+<h3><div>Jun 2007</div> Version 3.9</h3>
+<ul>
+<li>Fixed processing of .class constructs in Java 6.
+<li>Fixed repeated processing of .class constructs.
+<li>Fixed possible division by 0 in optimization step.
+<li>Fixed handling of variable instructions with variable indices larger than
+    255.
+<li>Updated documentation and examples.
+</ul>
+
+<h3><div>Mar 2007</div> Version 3.8</h3>
+<ul>
+<li>Fixed optimization of parameters used as local variables.
+<li>Fixed obfuscation with conflicting class member names.
+<li>Fixed incremental obfuscation with incomplete mapping file for library jars.
+<li>Updated documentation and examples.
 </ul>
-</font>
 
 <h3><div>Dec 2006</div> Version 3.7</h3>
 <ul>
@@ -301,8 +336,8 @@ collected since the previous release.
 <li>Added tool to de-obfuscate stack traces.
 <li>Added options to print processing information to files.
 <li>Added option to rename source file attributes.
-<li>Fixed proce/home/eric/ProGuard/sf.htmlssing of implicitly used interfaces
-    targeted at JRE1.2 (the default in JDK1.4)
+<li>Fixed processing of implicitly used interfaces targeted at JRE1.2 (the
+    default in JDK1.4)
 <li>Fixed processing of configurations with negated access modifiers.
 <li>Fixed duplicate class entry bug.
 <li>Updated documentation and examples.
@@ -346,7 +381,7 @@ collected since the previous release.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 
diff --git a/docs/feedback.html b/docs/feedback.html
index 9979f6f..01880ae 100644
--- a/docs/feedback.html
+++ b/docs/feedback.html
@@ -92,8 +92,8 @@ document.write("</a>");
 .
 </ul>
 <p>
-I can't promise a swift answer, or any answer at all, for that matter, but I'd
-love to see your responses.
+I can't promise a swift answer, or any answer at all, for that matter, but I
+like seeing any constructive comments.
 <p>
 
 <b>ProGuard</b> isn't a typical open source project, in the sense that I am
@@ -103,7 +103,7 @@ compromises associated with larger projects.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 
diff --git a/docs/index.html b/docs/index.html
index 1682eac..eb599d6 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -64,7 +64,7 @@ You can go straight to the <a href="main.html">main page</a>.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/license.html b/docs/license.html
index 395cc42..26fa84e 100644
--- a/docs/license.html
+++ b/docs/license.html
@@ -39,7 +39,7 @@ version of the code.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/main.html b/docs/main.html
index 7cc7c75..5b7c0e3 100644
--- a/docs/main.html
+++ b/docs/main.html
@@ -75,7 +75,7 @@ The following sections provide more detailed information:
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/ant.html b/docs/manual/ant.html
index 1e9db68..52a4401 100644
--- a/docs/manual/ant.html
+++ b/docs/manual/ant.html
@@ -425,7 +425,7 @@ attributes:
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/examples.html b/docs/manual/examples.html
index 3be5854..8ca6f7d 100644
--- a/docs/manual/examples.html
+++ b/docs/manual/examples.html
@@ -424,6 +424,7 @@ may require special attention:
 
 -keepclassmembers class * implements java.io.Serializable {
     static final long serialVersionUID;
+    static final java.io.ObjectStreamField[] serialPersistentFields;
     !static !transient <fields>;
     private void writeObject(java.io.ObjectOutputStream);
     private void readObject(java.io.ObjectInputStream);
@@ -433,7 +434,8 @@ may require special attention:
 </pre>
 <p>
 
-    The <code>serialVersionUID</code> line makes sure that field is preserved.
+    The <code>serialVersionUID</code> and <code>serialPersistentFields</code>
+    lines makes sure those fields are preserved, if they are present.
     The <code><fields></code> line preserves all non-static,
     non-transient fields, with their original names. The introspection of the
     serialization process and the de-serialization process will then find
@@ -444,18 +446,19 @@ may require special attention:
     original code will then be hard to maintain, since the serial version UID
     is then computed from a list of features the serializable class. Changing
     the class ever so slightly may change the computed serial version UID. The
-    list of features is specified in the chapter on <a
-    href="http://java.sun.com/j2se/1.4/docs/guide/serialization/spec/class.html#wp4100">Stream
+    list of features is specified in the section on <a
+    href="http://java.sun.com/javase/6/docs/platform/serialization/spec/class.html#4100">Stream
     Unique Identifiers</a> of Sun's <a
-    href="http://java.sun.com/j2se/1.4/docs/guide/serialization/">Object
-    Serialization Guide</a>. The following directives should at least
-    partially ensure compatibility with the original classes
+    href="http://java.sun.com/javase/6/docs/platform/serialization/spec/serialTOC.html">Java
+    Object Serialization Specification</a>. The following directives should at
+    least partially ensure compatibility with the original classes:
 
 <pre>
 -keepnames class * implements java.io.Serializable
 
 -keepclassmembers class * implements java.io.Serializable {
     static final long serialVersionUID;
+    static final java.io.ObjectStreamField[] serialPersistentFields;
     !static !transient <fields>;
     !private <fields>;
     !private <methods>;
@@ -875,7 +878,7 @@ processing the input jar at all.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/gui.html b/docs/manual/gui.html
index 49b208c..688612d 100644
--- a/docs/manual/gui.html
+++ b/docs/manual/gui.html
@@ -416,7 +416,7 @@ There are two buttons at the bottom:
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/index.html b/docs/manual/index.html
index 8da5de6..f15b2ed 100644
--- a/docs/manual/index.html
+++ b/docs/manual/index.html
@@ -32,7 +32,7 @@
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/introduction.html b/docs/manual/introduction.html
index 6b43054..2beea44 100644
--- a/docs/manual/introduction.html
+++ b/docs/manual/introduction.html
@@ -111,7 +111,7 @@ accordingly.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/limitations.html b/docs/manual/limitations.html
index 0718be2..165afc4 100644
--- a/docs/manual/limitations.html
+++ b/docs/manual/limitations.html
@@ -105,7 +105,7 @@ easily avoided or resolved:
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/refcard.html b/docs/manual/refcard.html
index 4443881..fd234b7 100644
--- a/docs/manual/refcard.html
+++ b/docs/manual/refcard.html
@@ -328,7 +328,7 @@ Notes:
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/retrace/examples.html b/docs/manual/retrace/examples.html
index f77fb38..16a2631 100644
--- a/docs/manual/retrace/examples.html
+++ b/docs/manual/retrace/examples.html
@@ -328,7 +328,7 @@ Exception in thread "main" java.lang.Error: Random exception
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/retrace/index.html b/docs/manual/retrace/index.html
index 5e0c7e1..29d6841 100644
--- a/docs/manual/retrace/index.html
+++ b/docs/manual/retrace/index.html
@@ -18,7 +18,7 @@
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/retrace/introduction.html b/docs/manual/retrace/introduction.html
index 274a9a7..83b49de 100644
--- a/docs/manual/retrace/introduction.html
+++ b/docs/manual/retrace/introduction.html
@@ -58,7 +58,7 @@ original class names and class member names to their obfuscated names.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/retrace/usage.html b/docs/manual/retrace/usage.html
index e1a3426..8741e9d 100644
--- a/docs/manual/retrace/usage.html
+++ b/docs/manual/retrace/usage.html
@@ -74,7 +74,7 @@ will be left unchanged.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/troubleshooting.html b/docs/manual/troubleshooting.html
index 3a41349..1fb1f1a 100644
--- a/docs/manual/troubleshooting.html
+++ b/docs/manual/troubleshooting.html
@@ -407,7 +407,7 @@ might be several reasons:
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/usage.html b/docs/manual/usage.html
index e4095c5..cf0e84e 100644
--- a/docs/manual/usage.html
+++ b/docs/manual/usage.html
@@ -911,7 +911,7 @@ files.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/manual/wtk.html b/docs/manual/wtk.html
index 1cf4915..dab39e2 100644
--- a/docs/manual/wtk.html
+++ b/docs/manual/wtk.html
@@ -51,7 +51,7 @@ that's inside the <code>proguard.jar</code>.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/quality.html b/docs/quality.html
index baae1bd..f9e51eb 100644
--- a/docs/quality.html
+++ b/docs/quality.html
@@ -31,13 +31,13 @@ full-screen size.
 <p>
 
 In addition, <b>ProGuard</b> is tested against a constantly growing test suite
-(over 250 tests at this time of writing). These small programs contain a wide
+(over 300 tests at this time of writing). These small programs contain a wide
 range of common and uncommon constructs, in order to detect any regression
 problems as soon as possible.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/results.html b/docs/results.html
index 264c40b..3e5c003 100644
--- a/docs/results.html
+++ b/docs/results.html
@@ -126,7 +126,7 @@ library jars and program jars.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 
diff --git a/docs/screenshots.html b/docs/screenshots.html
index 2f99b91..c6b2254 100644
--- a/docs/screenshots.html
+++ b/docs/screenshots.html
@@ -49,7 +49,7 @@ You can click on the image to see the full-size version.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 </body>
diff --git a/docs/testimonials.html b/docs/testimonials.html
index 7fea5ca..f58002b 100644
--- a/docs/testimonials.html
+++ b/docs/testimonials.html
@@ -114,7 +114,7 @@ You could've been rich.
 
 <hr>
 <address>
-Copyright © 2002-2006
+Copyright © 2002-2007
 <a href="http://www.graphics.cornell.edu/~eric/">Eric Lafortune</a>.
 </address>
 
diff --git a/docs/title.html b/docs/title.html
index 031331b..e506f1a 100644
--- a/docs/title.html
+++ b/docs/title.html
@@ -10,7 +10,7 @@
 
 <div class="title">
 <h1><img src="title.gif" width="154" height="29" alt="ProGuard"></h1>
-<div>Version 3.7</div>
+<div>Version 3.9</div>
 </div>
 
 </body>
diff --git a/docs/vtitle.gif b/docs/vtitle.gif
deleted file mode 100644
index cb2f070..0000000
Binary files a/docs/vtitle.gif and /dev/null differ
diff --git a/examples/dictionaries/shakespeare.txt b/examples/dictionaries/shakespeare.txt
old mode 100644
new mode 100755
diff --git a/lib/proguard.jar b/lib/proguard.jar
new file mode 100644
index 0000000..3066514
Binary files /dev/null and b/lib/proguard.jar differ
diff --git a/lib/proguardgui.jar b/lib/proguardgui.jar
new file mode 100644
index 0000000..23d4b22
Binary files /dev/null and b/lib/proguardgui.jar differ
diff --git a/lib/retrace.jar b/lib/retrace.jar
new file mode 100644
index 0000000..3ecc097
Binary files /dev/null and b/lib/retrace.jar differ
diff --git a/src/proguard/ArgumentWordReader.java b/src/proguard/ArgumentWordReader.java
index 9bb93a8..6e3d734 100644
--- a/src/proguard/ArgumentWordReader.java
+++ b/src/proguard/ArgumentWordReader.java
@@ -1,8 +1,8 @@
-/* $Id: ArgumentWordReader.java,v 1.14.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ArgumentWordReader.java,v 1.14.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ClassMemberSpecification.java b/src/proguard/ClassMemberSpecification.java
index 654b4a9..0e4d0ef 100644
--- a/src/proguard/ClassMemberSpecification.java
+++ b/src/proguard/ClassMemberSpecification.java
@@ -1,8 +1,8 @@
-/* $Id: ClassMemberSpecification.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassMemberSpecification.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ClassPath.java b/src/proguard/ClassPath.java
index 8d80507..2efcb2b 100644
--- a/src/proguard/ClassPath.java
+++ b/src/proguard/ClassPath.java
@@ -1,8 +1,8 @@
-/* $Id: ClassPath.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassPath.java,v 1.7.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ClassPathEntry.java b/src/proguard/ClassPathEntry.java
index 02c967d..3c8c7d8 100644
--- a/src/proguard/ClassPathEntry.java
+++ b/src/proguard/ClassPathEntry.java
@@ -1,8 +1,8 @@
-/* $Id: ClassPathEntry.java,v 1.10.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassPathEntry.java,v 1.10.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ClassSpecification.java b/src/proguard/ClassSpecification.java
index c2cebca..b1a8338 100644
--- a/src/proguard/ClassSpecification.java
+++ b/src/proguard/ClassSpecification.java
@@ -1,8 +1,8 @@
-/* $Id: ClassSpecification.java,v 1.4.2.2 2006/04/09 08:55:53 eric Exp $
+/* $Id: ClassSpecification.java,v 1.4.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/Configuration.java b/src/proguard/Configuration.java
index 9c6772f..36251e5 100644
--- a/src/proguard/Configuration.java
+++ b/src/proguard/Configuration.java
@@ -1,8 +1,8 @@
-/* $Id: Configuration.java,v 1.17.2.2 2006/06/07 22:36:52 eric Exp $
+/* $Id: Configuration.java,v 1.17.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ConfigurationParser.java b/src/proguard/ConfigurationParser.java
index 0840e33..530d20c 100644
--- a/src/proguard/ConfigurationParser.java
+++ b/src/proguard/ConfigurationParser.java
@@ -1,8 +1,8 @@
-/* $Id: ConfigurationParser.java,v 1.26.2.4 2006/10/18 21:12:47 eric Exp $
+/* $Id: ConfigurationParser.java,v 1.26.2.5 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ConfigurationWriter.java b/src/proguard/ConfigurationWriter.java
index d2d2bb5..3ac8941 100644
--- a/src/proguard/ConfigurationWriter.java
+++ b/src/proguard/ConfigurationWriter.java
@@ -1,8 +1,8 @@
-/* $Id: ConfigurationWriter.java,v 1.18.2.3 2006/06/07 22:36:52 eric Exp $
+/* $Id: ConfigurationWriter.java,v 1.18.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/DataEntryReaderFactory.java b/src/proguard/DataEntryReaderFactory.java
index becb13f..b4b4afc 100644
--- a/src/proguard/DataEntryReaderFactory.java
+++ b/src/proguard/DataEntryReaderFactory.java
@@ -1,8 +1,8 @@
-/* $Id: DataEntryReaderFactory.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: DataEntryReaderFactory.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/DataEntryWriterFactory.java b/src/proguard/DataEntryWriterFactory.java
index abd9821..7a1be3d 100644
--- a/src/proguard/DataEntryWriterFactory.java
+++ b/src/proguard/DataEntryWriterFactory.java
@@ -1,8 +1,8 @@
-/* $Id: DataEntryWriterFactory.java,v 1.4.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: DataEntryWriterFactory.java,v 1.4.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/DuplicateClassFilePrinter.java b/src/proguard/DuplicateClassFilePrinter.java
index f039352..e5a8a79 100644
--- a/src/proguard/DuplicateClassFilePrinter.java
+++ b/src/proguard/DuplicateClassFilePrinter.java
@@ -1,8 +1,8 @@
-/* $Id: DuplicateClassFilePrinter.java,v 1.1.2.1 2006/11/26 15:29:20 eric Exp $
+/* $Id: DuplicateClassFilePrinter.java,v 1.1.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/FileWordReader.java b/src/proguard/FileWordReader.java
index 2598954..ffa64ab 100644
--- a/src/proguard/FileWordReader.java
+++ b/src/proguard/FileWordReader.java
@@ -1,8 +1,8 @@
-/* $Id: FileWordReader.java,v 1.12.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: FileWordReader.java,v 1.12.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/GPL.java b/src/proguard/GPL.java
index 5d29edd..4884f12 100644
--- a/src/proguard/GPL.java
+++ b/src/proguard/GPL.java
@@ -1,8 +1,8 @@
-/* $Id: GPL.java,v 1.5.2.5 2006/12/11 20:23:22 eric Exp $
+/* $Id: GPL.java,v 1.5.2.6 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java bytecode.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/Initializer.java b/src/proguard/Initializer.java
index a1ce277..a51a46c 100644
--- a/src/proguard/Initializer.java
+++ b/src/proguard/Initializer.java
@@ -1,8 +1,8 @@
-/* $Id: Initializer.java,v 1.2.2.8 2006/12/11 21:57:29 eric Exp $
+/* $Id: Initializer.java,v 1.2.2.11 2007/02/03 09:05:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java bytecode.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -84,10 +84,10 @@ public class Initializer
             new AllMethodVisitor(
             new AllAttrInfoVisitor(
             new AllInstructionVisitor(
-           new ClassFileClassForNameReferenceInitializer(programClassPool,
-                                                         libraryClassPool,
-                                                         classForNameNotePrinter,
-                                                         createNoteExceptionMatcher(configuration.keep))))));
+            new ClassFileClassForNameReferenceInitializer(programClassPool,
+                                                          libraryClassPool,
+                                                          classForNameNotePrinter,
+                                                          createNoteExceptionMatcher(configuration.keep))))));
 
         // Initialize the class references from program class members and
         // attributes.
@@ -100,7 +100,8 @@ public class Initializer
                                               libraryClassPool,
                                               referenceWarningPrinter));
 
-        if (!configuration.useUniqueClassMemberNames)
+        if (configuration.applyMapping == null &&
+            !configuration.useUniqueClassMemberNames)
         {
             // Reconstruct a library class pool with only those library classes
             // whose hierarchies are referenced by the program classes.
@@ -114,7 +115,6 @@ public class Initializer
         }
 
         // Initialize the class references from library class members.
-
         libraryClassPool.classFilesAccept(
             new ClassFileReferenceInitializer(programClassPool,
                                               libraryClassPool,
diff --git a/src/proguard/InputReader.java b/src/proguard/InputReader.java
index c8b82b9..9ae0e2f 100644
--- a/src/proguard/InputReader.java
+++ b/src/proguard/InputReader.java
@@ -1,8 +1,8 @@
-/* $Id: InputReader.java,v 1.1.2.3 2006/11/26 15:29:20 eric Exp $
+/* $Id: InputReader.java,v 1.1.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java bytecode.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/OutputWriter.java b/src/proguard/OutputWriter.java
index c41f5b4..f1a62ee 100644
--- a/src/proguard/OutputWriter.java
+++ b/src/proguard/OutputWriter.java
@@ -1,8 +1,8 @@
-/* $Id: OutputWriter.java,v 1.1.2.1 2006/03/26 14:30:14 eric Exp $
+/* $Id: OutputWriter.java,v 1.1.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java bytecode.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ParseException.java b/src/proguard/ParseException.java
index 88e5e5f..a4e5c24 100644
--- a/src/proguard/ParseException.java
+++ b/src/proguard/ParseException.java
@@ -1,8 +1,8 @@
-/* $Id: ParseException.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ParseException.java,v 1.7.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ProGuard.java b/src/proguard/ProGuard.java
index b237f62..8b39a65 100644
--- a/src/proguard/ProGuard.java
+++ b/src/proguard/ProGuard.java
@@ -1,8 +1,8 @@
-/* $Id: ProGuard.java,v 1.101.2.13 2006/12/11 21:57:04 eric Exp $
+/* $Id: ProGuard.java,v 1.101.2.16 2007/02/28 23:26:08 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -37,7 +37,7 @@ import java.io.*;
  */
 public class ProGuard
 {
-    public static final String VERSION = "ProGuard, version 3.7";
+    public static final String VERSION = "ProGuard, version 3.9";
 
     private Configuration configuration;
     private ClassPool     programClassPool = new ClassPool();
@@ -314,7 +314,7 @@ public class ProGuard
 
 
     /**
-     * Writes the output claaa files.
+     * Writes the output class files.
      */
     private void writeOutput() throws IOException
     {
diff --git a/src/proguard/SubclassedClassFileFilter.java b/src/proguard/SubclassedClassFileFilter.java
index 6a6568b..15a8445 100644
--- a/src/proguard/SubclassedClassFileFilter.java
+++ b/src/proguard/SubclassedClassFileFilter.java
@@ -1,8 +1,8 @@
-/* $Id: SubclassedClassFileFilter.java,v 1.11.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: SubclassedClassFileFilter.java,v 1.11.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/WordReader.java b/src/proguard/WordReader.java
index d6188fe..3fb7f1f 100644
--- a/src/proguard/WordReader.java
+++ b/src/proguard/WordReader.java
@@ -1,8 +1,8 @@
-/* $Id: WordReader.java,v 1.20.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: WordReader.java,v 1.20.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ant/ClassMemberSpecificationElement.java b/src/proguard/ant/ClassMemberSpecificationElement.java
index 103b19d..3909d57 100644
--- a/src/proguard/ant/ClassMemberSpecificationElement.java
+++ b/src/proguard/ant/ClassMemberSpecificationElement.java
@@ -1,8 +1,8 @@
-/* $Id: ClassMemberSpecificationElement.java,v 1.5.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassMemberSpecificationElement.java,v 1.5.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ant/ClassPathElement.java b/src/proguard/ant/ClassPathElement.java
index 77905d7..ad8bcec 100644
--- a/src/proguard/ant/ClassPathElement.java
+++ b/src/proguard/ant/ClassPathElement.java
@@ -1,8 +1,8 @@
-/* $Id: ClassPathElement.java,v 1.9.2.2 2006/08/10 20:53:47 eric Exp $
+/* $Id: ClassPathElement.java,v 1.9.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ant/ClassSpecificationElement.java b/src/proguard/ant/ClassSpecificationElement.java
index cbc2e22..217f179 100644
--- a/src/proguard/ant/ClassSpecificationElement.java
+++ b/src/proguard/ant/ClassSpecificationElement.java
@@ -1,8 +1,8 @@
-/* $Id: ClassSpecificationElement.java,v 1.4.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassSpecificationElement.java,v 1.4.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ant/ConfigurationElement.java b/src/proguard/ant/ConfigurationElement.java
index e4e3e2f..3aaa4e9 100644
--- a/src/proguard/ant/ConfigurationElement.java
+++ b/src/proguard/ant/ConfigurationElement.java
@@ -1,8 +1,8 @@
-/* $Id: ConfigurationElement.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ConfigurationElement.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ant/ConfigurationTask.java b/src/proguard/ant/ConfigurationTask.java
index 80531e1..87c9ad7 100644
--- a/src/proguard/ant/ConfigurationTask.java
+++ b/src/proguard/ant/ConfigurationTask.java
@@ -1,8 +1,8 @@
-/* $Id: ConfigurationTask.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ConfigurationTask.java,v 1.7.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ant/KeepAttributeElement.java b/src/proguard/ant/KeepAttributeElement.java
index dd37bce..5a2e61b 100644
--- a/src/proguard/ant/KeepAttributeElement.java
+++ b/src/proguard/ant/KeepAttributeElement.java
@@ -1,8 +1,8 @@
-/* $Id: KeepAttributeElement.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: KeepAttributeElement.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/ant/ProGuardTask.java b/src/proguard/ant/ProGuardTask.java
index e6c4d84..444302c 100644
--- a/src/proguard/ant/ProGuardTask.java
+++ b/src/proguard/ant/ProGuardTask.java
@@ -1,8 +1,8 @@
-/* $Id: ProGuardTask.java,v 1.32.2.2 2006/06/07 22:36:52 eric Exp $
+/* $Id: ProGuardTask.java,v 1.32.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/ClassCpInfo.java b/src/proguard/classfile/ClassCpInfo.java
index 16884d8..bf4b41b 100644
--- a/src/proguard/classfile/ClassCpInfo.java
+++ b/src/proguard/classfile/ClassCpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: ClassCpInfo.java,v 1.21.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassCpInfo.java,v 1.21.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/ClassFile.java b/src/proguard/classfile/ClassFile.java
index 18f1b04..bddab5a 100644
--- a/src/proguard/classfile/ClassFile.java
+++ b/src/proguard/classfile/ClassFile.java
@@ -1,9 +1,9 @@
-/* $Id: ClassFile.java,v 1.27.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassFile.java,v 1.27.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/ClassPool.java b/src/proguard/classfile/ClassPool.java
index df7112e..5757f38 100644
--- a/src/proguard/classfile/ClassPool.java
+++ b/src/proguard/classfile/ClassPool.java
@@ -1,9 +1,9 @@
-/* $Id: ClassPool.java,v 1.18.2.6 2006/11/26 15:29:20 eric Exp $
+/* $Id: ClassPool.java,v 1.18.2.7 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/CpInfo.java b/src/proguard/classfile/CpInfo.java
index c1cd69d..6c7bc5c 100644
--- a/src/proguard/classfile/CpInfo.java
+++ b/src/proguard/classfile/CpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: CpInfo.java,v 1.23.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: CpInfo.java,v 1.23.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/DoubleCpInfo.java b/src/proguard/classfile/DoubleCpInfo.java
index 96b3f1d..631643c 100644
--- a/src/proguard/classfile/DoubleCpInfo.java
+++ b/src/proguard/classfile/DoubleCpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: DoubleCpInfo.java,v 1.18.2.2 2006/10/07 08:42:27 eric Exp $
+/* $Id: DoubleCpInfo.java,v 1.18.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/FieldInfo.java b/src/proguard/classfile/FieldInfo.java
index 829dd09..d9a4a34 100644
--- a/src/proguard/classfile/FieldInfo.java
+++ b/src/proguard/classfile/FieldInfo.java
@@ -1,9 +1,9 @@
-/* $Id: FieldInfo.java,v 1.13.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: FieldInfo.java,v 1.13.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/FieldrefCpInfo.java b/src/proguard/classfile/FieldrefCpInfo.java
index 6ef7042..ddfe54f 100644
--- a/src/proguard/classfile/FieldrefCpInfo.java
+++ b/src/proguard/classfile/FieldrefCpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: FieldrefCpInfo.java,v 1.21.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: FieldrefCpInfo.java,v 1.21.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/FloatCpInfo.java b/src/proguard/classfile/FloatCpInfo.java
index 91d2dc3..acdaf60 100644
--- a/src/proguard/classfile/FloatCpInfo.java
+++ b/src/proguard/classfile/FloatCpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: FloatCpInfo.java,v 1.17.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: FloatCpInfo.java,v 1.17.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/IntegerCpInfo.java b/src/proguard/classfile/IntegerCpInfo.java
index 1f58e01..b789a8a 100644
--- a/src/proguard/classfile/IntegerCpInfo.java
+++ b/src/proguard/classfile/IntegerCpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: IntegerCpInfo.java,v 1.17.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: IntegerCpInfo.java,v 1.17.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/InterfaceMethodrefCpInfo.java b/src/proguard/classfile/InterfaceMethodrefCpInfo.java
index 7e5f672..267437f 100644
--- a/src/proguard/classfile/InterfaceMethodrefCpInfo.java
+++ b/src/proguard/classfile/InterfaceMethodrefCpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: InterfaceMethodrefCpInfo.java,v 1.21.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: InterfaceMethodrefCpInfo.java,v 1.21.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/LibraryClassFile.java b/src/proguard/classfile/LibraryClassFile.java
index cf457ee..1762ce1 100644
--- a/src/proguard/classfile/LibraryClassFile.java
+++ b/src/proguard/classfile/LibraryClassFile.java
@@ -1,9 +1,9 @@
-/* $Id: LibraryClassFile.java,v 1.40.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LibraryClassFile.java,v 1.40.2.3 2007/01/25 21:01:01 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -54,19 +54,19 @@ public class LibraryClassFile implements ClassFile
 
     /**
      * An extra field pointing to the superclass of this class.
-     * This field is filled out by the <code>{@link ClassFileReferenceInitializer}</code>.
+     * This field is filled out by the <code>{@link ClassFileHierarchyInitializer}</code>.
      */
     public ClassFile   superClass          = null;
 
     /**
      * An extra field pointing to the interfaces of this class.
-     * This field is filled out by the <code>{@link ClassFileReferenceInitializer}</code>.
+     * This field is filled out by the <code>{@link ClassFileHierarchyInitializer}</code>.
      */
     public ClassFile[] interfaceClasses    = null;
 
     /**
      * An extra field pointing to the subclasses of this class.
-     * This field is filled out by the <code>{@link ClassFileReferenceInitializer}</code>.
+     * This field is filled out by the <code>{@link ClassFileHierarchyInitializer}</code>.
      */
     public ClassFile[] subClasses          = null;
 
diff --git a/src/proguard/classfile/LibraryFieldInfo.java b/src/proguard/classfile/LibraryFieldInfo.java
index 55f8a8e..8d18b64 100644
--- a/src/proguard/classfile/LibraryFieldInfo.java
+++ b/src/proguard/classfile/LibraryFieldInfo.java
@@ -1,9 +1,9 @@
-/* $Id: LibraryFieldInfo.java,v 1.16.2.2 2006/02/08 00:04:25 eric Exp $
+/* $Id: LibraryFieldInfo.java,v 1.16.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/LibraryMemberInfo.java b/src/proguard/classfile/LibraryMemberInfo.java
index 1ccb07f..2b45b99 100644
--- a/src/proguard/classfile/LibraryMemberInfo.java
+++ b/src/proguard/classfile/LibraryMemberInfo.java
@@ -1,9 +1,9 @@
-/* $Id: LibraryMemberInfo.java,v 1.22.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LibraryMemberInfo.java,v 1.22.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/LibraryMethodInfo.java b/src/proguard/classfile/LibraryMethodInfo.java
index 11c8e2e..a2d6aa3 100644
--- a/src/proguard/classfile/LibraryMethodInfo.java
+++ b/src/proguard/classfile/LibraryMethodInfo.java
@@ -1,9 +1,9 @@
-/* $Id: LibraryMethodInfo.java,v 1.16.2.2 2006/02/08 00:04:25 eric Exp $
+/* $Id: LibraryMethodInfo.java,v 1.16.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/LongCpInfo.java b/src/proguard/classfile/LongCpInfo.java
index 86ddfbd..a3b51f2 100644
--- a/src/proguard/classfile/LongCpInfo.java
+++ b/src/proguard/classfile/LongCpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: LongCpInfo.java,v 1.17.2.2 2006/01/16 22:57:55 eric Exp $
+/* $Id: LongCpInfo.java,v 1.17.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/MemberInfo.java b/src/proguard/classfile/MemberInfo.java
index a9f66b4..de66edc 100644
--- a/src/proguard/classfile/MemberInfo.java
+++ b/src/proguard/classfile/MemberInfo.java
@@ -1,9 +1,9 @@
-/* $Id: MemberInfo.java,v 1.20.2.2 2006/02/08 00:04:25 eric Exp $
+/* $Id: MemberInfo.java,v 1.20.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/MethodInfo.java b/src/proguard/classfile/MethodInfo.java
index e228ee4..855759f 100644
--- a/src/proguard/classfile/MethodInfo.java
+++ b/src/proguard/classfile/MethodInfo.java
@@ -1,9 +1,9 @@
-/* $Id: MethodInfo.java,v 1.13.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MethodInfo.java,v 1.13.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/MethodrefCpInfo.java b/src/proguard/classfile/MethodrefCpInfo.java
index 7da2395..08bc1f5 100644
--- a/src/proguard/classfile/MethodrefCpInfo.java
+++ b/src/proguard/classfile/MethodrefCpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: MethodrefCpInfo.java,v 1.21.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MethodrefCpInfo.java,v 1.21.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/NameAndTypeCpInfo.java b/src/proguard/classfile/NameAndTypeCpInfo.java
index 1e29ac9..167ae54 100644
--- a/src/proguard/classfile/NameAndTypeCpInfo.java
+++ b/src/proguard/classfile/NameAndTypeCpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: NameAndTypeCpInfo.java,v 1.21.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: NameAndTypeCpInfo.java,v 1.21.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/ProgramClassFile.java b/src/proguard/classfile/ProgramClassFile.java
index 3c5b96b..d56b732 100644
--- a/src/proguard/classfile/ProgramClassFile.java
+++ b/src/proguard/classfile/ProgramClassFile.java
@@ -1,9 +1,9 @@
-/* $Id: ProgramClassFile.java,v 1.37.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ProgramClassFile.java,v 1.37.2.3 2007/01/25 21:01:01 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -58,7 +58,7 @@ public class ProgramClassFile implements ClassFile
 
     /**
      * An extra field pointing to the subclasses of this class.
-     * This field is filled out by the <code>{@link ClassFileReferenceInitializer}</code>.
+     * This field is filled out by the <code>{@link ClassFileHierarchyInitializer}</code>.
      */
     public ClassFile[] subClasses = null;
 
diff --git a/src/proguard/classfile/ProgramFieldInfo.java b/src/proguard/classfile/ProgramFieldInfo.java
index c1d04a8..8280c8a 100644
--- a/src/proguard/classfile/ProgramFieldInfo.java
+++ b/src/proguard/classfile/ProgramFieldInfo.java
@@ -1,9 +1,9 @@
-/* $Id: ProgramFieldInfo.java,v 1.18.2.2 2006/02/08 00:04:25 eric Exp $
+/* $Id: ProgramFieldInfo.java,v 1.18.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/ProgramMemberInfo.java b/src/proguard/classfile/ProgramMemberInfo.java
index 8af14d9..c61829a 100644
--- a/src/proguard/classfile/ProgramMemberInfo.java
+++ b/src/proguard/classfile/ProgramMemberInfo.java
@@ -1,9 +1,9 @@
-/* $Id: ProgramMemberInfo.java,v 1.29.2.2 2006/02/08 00:04:25 eric Exp $
+/* $Id: ProgramMemberInfo.java,v 1.29.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/ProgramMethodInfo.java b/src/proguard/classfile/ProgramMethodInfo.java
index 7863382..0f8749e 100644
--- a/src/proguard/classfile/ProgramMethodInfo.java
+++ b/src/proguard/classfile/ProgramMethodInfo.java
@@ -1,9 +1,9 @@
-/* $Id: ProgramMethodInfo.java,v 1.19.2.2 2006/02/08 00:04:25 eric Exp $
+/* $Id: ProgramMethodInfo.java,v 1.19.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/RefCpInfo.java b/src/proguard/classfile/RefCpInfo.java
index a072103..83b5619 100644
--- a/src/proguard/classfile/RefCpInfo.java
+++ b/src/proguard/classfile/RefCpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: RefCpInfo.java,v 1.22.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: RefCpInfo.java,v 1.22.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/StringCpInfo.java b/src/proguard/classfile/StringCpInfo.java
index 4b6205d..37cc92c 100644
--- a/src/proguard/classfile/StringCpInfo.java
+++ b/src/proguard/classfile/StringCpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: StringCpInfo.java,v 1.18.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: StringCpInfo.java,v 1.18.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/Utf8CpInfo.java b/src/proguard/classfile/Utf8CpInfo.java
index 7d9e17c..96206b4 100644
--- a/src/proguard/classfile/Utf8CpInfo.java
+++ b/src/proguard/classfile/Utf8CpInfo.java
@@ -1,9 +1,9 @@
-/* $Id: Utf8CpInfo.java,v 1.21.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: Utf8CpInfo.java,v 1.21.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/VisitorAccepter.java b/src/proguard/classfile/VisitorAccepter.java
index 269843b..a54e7e8 100644
--- a/src/proguard/classfile/VisitorAccepter.java
+++ b/src/proguard/classfile/VisitorAccepter.java
@@ -1,9 +1,9 @@
-/* $Id: VisitorAccepter.java,v 1.12.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: VisitorAccepter.java,v 1.12.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/attribute/AttrInfo.java b/src/proguard/classfile/attribute/AttrInfo.java
index cd55b6a..c1bc7eb 100644
--- a/src/proguard/classfile/attribute/AttrInfo.java
+++ b/src/proguard/classfile/attribute/AttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: AttrInfo.java,v 1.4.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: AttrInfo.java,v 1.4.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/AttrInfoVisitor.java b/src/proguard/classfile/attribute/AttrInfoVisitor.java
index 2ff0c75..4f641ef 100644
--- a/src/proguard/classfile/attribute/AttrInfoVisitor.java
+++ b/src/proguard/classfile/attribute/AttrInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: AttrInfoVisitor.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: AttrInfoVisitor.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/attribute/CodeAttrInfo.java b/src/proguard/classfile/attribute/CodeAttrInfo.java
index 67594e3..04d4f54 100644
--- a/src/proguard/classfile/attribute/CodeAttrInfo.java
+++ b/src/proguard/classfile/attribute/CodeAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: CodeAttrInfo.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: CodeAttrInfo.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/DeprecatedAttrInfo.java b/src/proguard/classfile/attribute/DeprecatedAttrInfo.java
index 0eb31f0..28b1e6e 100644
--- a/src/proguard/classfile/attribute/DeprecatedAttrInfo.java
+++ b/src/proguard/classfile/attribute/DeprecatedAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: DeprecatedAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: DeprecatedAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/EnclosingMethodAttrInfo.java b/src/proguard/classfile/attribute/EnclosingMethodAttrInfo.java
index 3134c6f..c796511 100644
--- a/src/proguard/classfile/attribute/EnclosingMethodAttrInfo.java
+++ b/src/proguard/classfile/attribute/EnclosingMethodAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: EnclosingMethodAttrInfo.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: EnclosingMethodAttrInfo.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/ExceptionInfo.java b/src/proguard/classfile/attribute/ExceptionInfo.java
index e0f64d4..74ecc53 100644
--- a/src/proguard/classfile/attribute/ExceptionInfo.java
+++ b/src/proguard/classfile/attribute/ExceptionInfo.java
@@ -1,9 +1,9 @@
-/* $Id: ExceptionInfo.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ExceptionInfo.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/ExceptionInfoVisitor.java b/src/proguard/classfile/attribute/ExceptionInfoVisitor.java
index 722f36b..5f10cd4 100644
--- a/src/proguard/classfile/attribute/ExceptionInfoVisitor.java
+++ b/src/proguard/classfile/attribute/ExceptionInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: ExceptionInfoVisitor.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ExceptionInfoVisitor.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/attribute/ExceptionsAttrInfo.java b/src/proguard/classfile/attribute/ExceptionsAttrInfo.java
index 54cecf4..8eb099c 100644
--- a/src/proguard/classfile/attribute/ExceptionsAttrInfo.java
+++ b/src/proguard/classfile/attribute/ExceptionsAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: ExceptionsAttrInfo.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ExceptionsAttrInfo.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/InnerClassesAttrInfo.java b/src/proguard/classfile/attribute/InnerClassesAttrInfo.java
index 5e03f56..69ad945 100644
--- a/src/proguard/classfile/attribute/InnerClassesAttrInfo.java
+++ b/src/proguard/classfile/attribute/InnerClassesAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: InnerClassesAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: InnerClassesAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/InnerClassesInfo.java b/src/proguard/classfile/attribute/InnerClassesInfo.java
index f09320e..b523ae1 100644
--- a/src/proguard/classfile/attribute/InnerClassesInfo.java
+++ b/src/proguard/classfile/attribute/InnerClassesInfo.java
@@ -1,9 +1,9 @@
-/* $Id: InnerClassesInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: InnerClassesInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/InnerClassesInfoVisitor.java b/src/proguard/classfile/attribute/InnerClassesInfoVisitor.java
index bf594cf..c1d204c 100644
--- a/src/proguard/classfile/attribute/InnerClassesInfoVisitor.java
+++ b/src/proguard/classfile/attribute/InnerClassesInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: InnerClassesInfoVisitor.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: InnerClassesInfoVisitor.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/attribute/LibraryAttrInfo.java b/src/proguard/classfile/attribute/LibraryAttrInfo.java
index 85385cd..d02d9e2 100644
--- a/src/proguard/classfile/attribute/LibraryAttrInfo.java
+++ b/src/proguard/classfile/attribute/LibraryAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: LibraryAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LibraryAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/LineNumberInfo.java b/src/proguard/classfile/attribute/LineNumberInfo.java
index ce8c887..eaae0b2 100644
--- a/src/proguard/classfile/attribute/LineNumberInfo.java
+++ b/src/proguard/classfile/attribute/LineNumberInfo.java
@@ -1,9 +1,9 @@
-/* $Id: LineNumberInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LineNumberInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/LineNumberTableAttrInfo.java b/src/proguard/classfile/attribute/LineNumberTableAttrInfo.java
index b8b93e0..194fb2d 100644
--- a/src/proguard/classfile/attribute/LineNumberTableAttrInfo.java
+++ b/src/proguard/classfile/attribute/LineNumberTableAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: LineNumberTableAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LineNumberTableAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/LocalVariableInfo.java b/src/proguard/classfile/attribute/LocalVariableInfo.java
index 273eb4e..bbaf6ae 100644
--- a/src/proguard/classfile/attribute/LocalVariableInfo.java
+++ b/src/proguard/classfile/attribute/LocalVariableInfo.java
@@ -1,9 +1,9 @@
-/* $Id: LocalVariableInfo.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LocalVariableInfo.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/LocalVariableInfoVisitor.java b/src/proguard/classfile/attribute/LocalVariableInfoVisitor.java
index 8dcb5e3..d97e9e7 100644
--- a/src/proguard/classfile/attribute/LocalVariableInfoVisitor.java
+++ b/src/proguard/classfile/attribute/LocalVariableInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: LocalVariableInfoVisitor.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LocalVariableInfoVisitor.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/attribute/LocalVariableTableAttrInfo.java b/src/proguard/classfile/attribute/LocalVariableTableAttrInfo.java
index 934c865..69e2e03 100644
--- a/src/proguard/classfile/attribute/LocalVariableTableAttrInfo.java
+++ b/src/proguard/classfile/attribute/LocalVariableTableAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: LocalVariableTableAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LocalVariableTableAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/LocalVariableTypeInfo.java b/src/proguard/classfile/attribute/LocalVariableTypeInfo.java
index b6440ad..14f300e 100644
--- a/src/proguard/classfile/attribute/LocalVariableTypeInfo.java
+++ b/src/proguard/classfile/attribute/LocalVariableTypeInfo.java
@@ -1,9 +1,9 @@
-/* $Id: LocalVariableTypeInfo.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LocalVariableTypeInfo.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/LocalVariableTypeInfoVisitor.java b/src/proguard/classfile/attribute/LocalVariableTypeInfoVisitor.java
index 4a79d08..f6d861a 100644
--- a/src/proguard/classfile/attribute/LocalVariableTypeInfoVisitor.java
+++ b/src/proguard/classfile/attribute/LocalVariableTypeInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: LocalVariableTypeInfoVisitor.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LocalVariableTypeInfoVisitor.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/attribute/LocalVariableTypeTableAttrInfo.java b/src/proguard/classfile/attribute/LocalVariableTypeTableAttrInfo.java
index 4f8d00b..a8ef40a 100644
--- a/src/proguard/classfile/attribute/LocalVariableTypeTableAttrInfo.java
+++ b/src/proguard/classfile/attribute/LocalVariableTypeTableAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: LocalVariableTypeTableAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LocalVariableTypeTableAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/MultiAttrInfoVisitor.java b/src/proguard/classfile/attribute/MultiAttrInfoVisitor.java
index f6e2379..4b6113e 100644
--- a/src/proguard/classfile/attribute/MultiAttrInfoVisitor.java
+++ b/src/proguard/classfile/attribute/MultiAttrInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: MultiAttrInfoVisitor.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MultiAttrInfoVisitor.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/attribute/SignatureAttrInfo.java b/src/proguard/classfile/attribute/SignatureAttrInfo.java
index f81b149..64b81d4 100644
--- a/src/proguard/classfile/attribute/SignatureAttrInfo.java
+++ b/src/proguard/classfile/attribute/SignatureAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: SignatureAttrInfo.java,v 1.3.2.2 2006/02/08 00:04:25 eric Exp $
+/* $Id: SignatureAttrInfo.java,v 1.3.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/SourceDirAttrInfo.java b/src/proguard/classfile/attribute/SourceDirAttrInfo.java
index a1c18f6..6de52e9 100644
--- a/src/proguard/classfile/attribute/SourceDirAttrInfo.java
+++ b/src/proguard/classfile/attribute/SourceDirAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: SourceDirAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: SourceDirAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/SourceFileAttrInfo.java b/src/proguard/classfile/attribute/SourceFileAttrInfo.java
index 1693531..3d6e53e 100644
--- a/src/proguard/classfile/attribute/SourceFileAttrInfo.java
+++ b/src/proguard/classfile/attribute/SourceFileAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: SourceFileAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: SourceFileAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/SyntheticAttrInfo.java b/src/proguard/classfile/attribute/SyntheticAttrInfo.java
index 7d75a5a..2a1afd9 100644
--- a/src/proguard/classfile/attribute/SyntheticAttrInfo.java
+++ b/src/proguard/classfile/attribute/SyntheticAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: SyntheticAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: SyntheticAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/UnknownAttrInfo.java b/src/proguard/classfile/attribute/UnknownAttrInfo.java
index aa72bd6..ac900cc 100644
--- a/src/proguard/classfile/attribute/UnknownAttrInfo.java
+++ b/src/proguard/classfile/attribute/UnknownAttrInfo.java
@@ -1,9 +1,9 @@
-/* $Id: UnknownAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: UnknownAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/Annotation.java b/src/proguard/classfile/attribute/annotation/Annotation.java
index 61b2e4a..227b955 100644
--- a/src/proguard/classfile/attribute/annotation/Annotation.java
+++ b/src/proguard/classfile/attribute/annotation/Annotation.java
@@ -1,8 +1,8 @@
-/* $Id: Annotation.java,v 1.4.2.2 2006/10/14 12:33:22 eric Exp $
+/* $Id: Annotation.java,v 1.4.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/AnnotationDefaultAttrInfo.java b/src/proguard/classfile/attribute/annotation/AnnotationDefaultAttrInfo.java
index 40479e4..261ab9c 100644
--- a/src/proguard/classfile/attribute/annotation/AnnotationDefaultAttrInfo.java
+++ b/src/proguard/classfile/attribute/annotation/AnnotationDefaultAttrInfo.java
@@ -1,8 +1,8 @@
-/* $Id: AnnotationDefaultAttrInfo.java,v 1.4.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: AnnotationDefaultAttrInfo.java,v 1.4.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
@@ -26,7 +26,7 @@ import proguard.classfile.attribute.*;
 import java.io.*;
 
 /**
- * Representation of a runtime visible annotations attribute.
+ * Representation of an annotation default attribute.
  *
  * @author Eric Lafortune
  */
@@ -44,7 +44,7 @@ public class AnnotationDefaultAttrInfo extends AttrInfo
 
 
     /**
-     * Applies the given visitor to the default element values.
+     * Applies the given visitor to the default element value.
      */
     public void defaultValueAccept(ClassFile classFile, ElementValueVisitor elementValueVisitor)
     {
diff --git a/src/proguard/classfile/attribute/annotation/AnnotationElementValue.java b/src/proguard/classfile/attribute/annotation/AnnotationElementValue.java
index 9ccb6d4..63ded40 100644
--- a/src/proguard/classfile/attribute/annotation/AnnotationElementValue.java
+++ b/src/proguard/classfile/attribute/annotation/AnnotationElementValue.java
@@ -1,9 +1,9 @@
-/* $Id: AnnotationElementValue.java,v 1.4.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: AnnotationElementValue.java,v 1.4.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/AnnotationVisitor.java b/src/proguard/classfile/attribute/annotation/AnnotationVisitor.java
index 21e4520..3113937 100644
--- a/src/proguard/classfile/attribute/annotation/AnnotationVisitor.java
+++ b/src/proguard/classfile/attribute/annotation/AnnotationVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: AnnotationVisitor.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: AnnotationVisitor.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/attribute/annotation/ArrayElementValue.java b/src/proguard/classfile/attribute/annotation/ArrayElementValue.java
index da0af12..192dc78 100644
--- a/src/proguard/classfile/attribute/annotation/ArrayElementValue.java
+++ b/src/proguard/classfile/attribute/annotation/ArrayElementValue.java
@@ -1,9 +1,9 @@
-/* $Id: ArrayElementValue.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ArrayElementValue.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/ClassElementValue.java b/src/proguard/classfile/attribute/annotation/ClassElementValue.java
index 436075a..7e3fe62 100644
--- a/src/proguard/classfile/attribute/annotation/ClassElementValue.java
+++ b/src/proguard/classfile/attribute/annotation/ClassElementValue.java
@@ -1,9 +1,9 @@
-/* $Id: ClassElementValue.java,v 1.3.2.2 2006/10/14 12:33:22 eric Exp $
+/* $Id: ClassElementValue.java,v 1.3.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/ConstantElementValue.java b/src/proguard/classfile/attribute/annotation/ConstantElementValue.java
index 0c06c49..3a96fa2 100644
--- a/src/proguard/classfile/attribute/annotation/ConstantElementValue.java
+++ b/src/proguard/classfile/attribute/annotation/ConstantElementValue.java
@@ -1,9 +1,9 @@
-/* $Id: ConstantElementValue.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ConstantElementValue.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/ElementValue.java b/src/proguard/classfile/attribute/annotation/ElementValue.java
index 86aa1e9..9ed47c0 100644
--- a/src/proguard/classfile/attribute/annotation/ElementValue.java
+++ b/src/proguard/classfile/attribute/annotation/ElementValue.java
@@ -1,8 +1,8 @@
-/* $Id: ElementValue.java,v 1.6.2.2 2006/10/14 12:33:22 eric Exp $
+/* $Id: ElementValue.java,v 1.6.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/ElementValueVisitor.java b/src/proguard/classfile/attribute/annotation/ElementValueVisitor.java
index 94dc8f6..1464ef1 100644
--- a/src/proguard/classfile/attribute/annotation/ElementValueVisitor.java
+++ b/src/proguard/classfile/attribute/annotation/ElementValueVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: ElementValueVisitor.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ElementValueVisitor.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/attribute/annotation/EnumConstantElementValue.java b/src/proguard/classfile/attribute/annotation/EnumConstantElementValue.java
index dd085af..52f5d2c 100644
--- a/src/proguard/classfile/attribute/annotation/EnumConstantElementValue.java
+++ b/src/proguard/classfile/attribute/annotation/EnumConstantElementValue.java
@@ -1,9 +1,9 @@
-/* $Id: EnumConstantElementValue.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: EnumConstantElementValue.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
  * Copyright (c) 1999      Mark Welsh (markw at retrologic.com)
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/RuntimeAnnotationsAttrInfo.java b/src/proguard/classfile/attribute/annotation/RuntimeAnnotationsAttrInfo.java
index 7122e21..84e56b1 100644
--- a/src/proguard/classfile/attribute/annotation/RuntimeAnnotationsAttrInfo.java
+++ b/src/proguard/classfile/attribute/annotation/RuntimeAnnotationsAttrInfo.java
@@ -1,8 +1,8 @@
-/* $Id: RuntimeAnnotationsAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: RuntimeAnnotationsAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttrInfo.java b/src/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttrInfo.java
index 4f07973..b2c7623 100644
--- a/src/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttrInfo.java
+++ b/src/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttrInfo.java
@@ -1,8 +1,8 @@
-/* $Id: RuntimeInvisibleAnnotationsAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: RuntimeInvisibleAnnotationsAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttrInfo.java b/src/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttrInfo.java
index e8d7e7f..9a2feff 100644
--- a/src/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttrInfo.java
+++ b/src/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttrInfo.java
@@ -1,8 +1,8 @@
-/* $Id: RuntimeInvisibleParameterAnnotationsAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: RuntimeInvisibleParameterAnnotationsAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/RuntimeParameterAnnotationsAttrInfo.java b/src/proguard/classfile/attribute/annotation/RuntimeParameterAnnotationsAttrInfo.java
index 7439a94..006c1df 100644
--- a/src/proguard/classfile/attribute/annotation/RuntimeParameterAnnotationsAttrInfo.java
+++ b/src/proguard/classfile/attribute/annotation/RuntimeParameterAnnotationsAttrInfo.java
@@ -1,8 +1,8 @@
-/* $Id: RuntimeParameterAnnotationsAttrInfo.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: RuntimeParameterAnnotationsAttrInfo.java,v 1.6.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttrInfo.java b/src/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttrInfo.java
index ffe3e39..57da7d1 100644
--- a/src/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttrInfo.java
+++ b/src/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttrInfo.java
@@ -1,8 +1,8 @@
-/* $Id: RuntimeVisibleAnnotationsAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: RuntimeVisibleAnnotationsAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttrInfo.java b/src/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttrInfo.java
index 95223ab..7d81a3d 100644
--- a/src/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttrInfo.java
+++ b/src/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttrInfo.java
@@ -1,8 +1,8 @@
-/* $Id: RuntimeVisibleParameterAnnotationsAttrInfo.java,v 1.2.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: RuntimeVisibleParameterAnnotationsAttrInfo.java,v 1.2.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as published by
diff --git a/src/proguard/classfile/editor/ClassFileReferenceFixer.java b/src/proguard/classfile/editor/ClassFileReferenceFixer.java
index 0217e02..b9c0ffd 100644
--- a/src/proguard/classfile/editor/ClassFileReferenceFixer.java
+++ b/src/proguard/classfile/editor/ClassFileReferenceFixer.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileReferenceFixer.java,v 1.4.2.2 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassFileReferenceFixer.java,v 1.4.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/editor/CodeAttrInfoEditor.java b/src/proguard/classfile/editor/CodeAttrInfoEditor.java
index 800329c..1f53efb 100644
--- a/src/proguard/classfile/editor/CodeAttrInfoEditor.java
+++ b/src/proguard/classfile/editor/CodeAttrInfoEditor.java
@@ -1,8 +1,8 @@
-/* $Id: CodeAttrInfoEditor.java,v 1.14.2.3 2006/11/20 22:11:40 eric Exp $
+/* $Id: CodeAttrInfoEditor.java,v 1.14.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/editor/CodeAttrInfoEditorResetter.java b/src/proguard/classfile/editor/CodeAttrInfoEditorResetter.java
index cbced5b..d1d4200 100644
--- a/src/proguard/classfile/editor/CodeAttrInfoEditorResetter.java
+++ b/src/proguard/classfile/editor/CodeAttrInfoEditorResetter.java
@@ -1,8 +1,8 @@
-/* $Id: CodeAttrInfoEditorResetter.java,v 1.4.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: CodeAttrInfoEditorResetter.java,v 1.4.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/editor/ComparableCpInfo.java b/src/proguard/classfile/editor/ComparableCpInfo.java
index 967b78d..e632486 100644
--- a/src/proguard/classfile/editor/ComparableCpInfo.java
+++ b/src/proguard/classfile/editor/ComparableCpInfo.java
@@ -1,8 +1,8 @@
-/* $Id: ComparableCpInfo.java,v 1.5.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ComparableCpInfo.java,v 1.5.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/editor/ConstantPoolEditor.java b/src/proguard/classfile/editor/ConstantPoolEditor.java
index b1716c9..43cf8c4 100644
--- a/src/proguard/classfile/editor/ConstantPoolEditor.java
+++ b/src/proguard/classfile/editor/ConstantPoolEditor.java
@@ -1,8 +1,8 @@
-/* $Id: ConstantPoolEditor.java,v 1.10.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ConstantPoolEditor.java,v 1.10.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/editor/ConstantPoolRemapper.java b/src/proguard/classfile/editor/ConstantPoolRemapper.java
index 789b597..245894f 100644
--- a/src/proguard/classfile/editor/ConstantPoolRemapper.java
+++ b/src/proguard/classfile/editor/ConstantPoolRemapper.java
@@ -1,8 +1,8 @@
-/* $Id: ConstantPoolRemapper.java,v 1.11.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ConstantPoolRemapper.java,v 1.11.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/editor/ConstantPoolSorter.java b/src/proguard/classfile/editor/ConstantPoolSorter.java
index 0ae72f6..f89c635 100644
--- a/src/proguard/classfile/editor/ConstantPoolSorter.java
+++ b/src/proguard/classfile/editor/ConstantPoolSorter.java
@@ -1,8 +1,8 @@
-/* $Id: ConstantPoolSorter.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ConstantPoolSorter.java,v 1.6.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/editor/InstructionWriter.java b/src/proguard/classfile/editor/InstructionWriter.java
index e8ff71b..f73ba94 100644
--- a/src/proguard/classfile/editor/InstructionWriter.java
+++ b/src/proguard/classfile/editor/InstructionWriter.java
@@ -1,8 +1,8 @@
-/* $Id: InstructionWriter.java,v 1.1.2.2 2006/11/26 15:25:17 eric Exp $
+/* $Id: InstructionWriter.java,v 1.1.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/editor/MemberReferenceFixer.java b/src/proguard/classfile/editor/MemberReferenceFixer.java
index 1c865f9..e31afd5 100644
--- a/src/proguard/classfile/editor/MemberReferenceFixer.java
+++ b/src/proguard/classfile/editor/MemberReferenceFixer.java
@@ -1,8 +1,8 @@
-/* $Id: MemberReferenceFixer.java,v 1.4.2.3 2006/10/14 12:33:22 eric Exp $
+/* $Id: MemberReferenceFixer.java,v 1.4.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/editor/MethodInvocationFixer.java b/src/proguard/classfile/editor/MethodInvocationFixer.java
index 0ef7cc4..30ab7ff 100644
--- a/src/proguard/classfile/editor/MethodInvocationFixer.java
+++ b/src/proguard/classfile/editor/MethodInvocationFixer.java
@@ -1,8 +1,8 @@
-/* $Id: MethodInvocationFixer.java,v 1.4.2.2 2006/03/28 22:03:59 eric Exp $
+/* $Id: MethodInvocationFixer.java,v 1.4.2.4 2007/04/05 21:40:54 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -261,7 +261,7 @@ implements   InstructionVisitor,
         // Remember the parameter size of interface methods.
         if (isInterfaceMethod)
         {
-            parameterSize = ClassUtil.internalMethodParameterSize(methodInfo.getDescriptor(classFile)) + 1 << 8;
+            parameterSize = (ClassUtil.internalMethodParameterSize(methodInfo.getDescriptor(classFile)) + 1) << 8;
         }
     }
 
diff --git a/src/proguard/classfile/editor/StackSizeUpdater.java b/src/proguard/classfile/editor/StackSizeUpdater.java
index adf01ca..5160777 100644
--- a/src/proguard/classfile/editor/StackSizeUpdater.java
+++ b/src/proguard/classfile/editor/StackSizeUpdater.java
@@ -1,8 +1,8 @@
-/* $Id: StackSizeUpdater.java,v 1.14.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: StackSizeUpdater.java,v 1.14.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/editor/VariableEditor.java b/src/proguard/classfile/editor/VariableEditor.java
index 1ab8f4a..fe2122a 100644
--- a/src/proguard/classfile/editor/VariableEditor.java
+++ b/src/proguard/classfile/editor/VariableEditor.java
@@ -1,8 +1,8 @@
-/* $Id: VariableEditor.java,v 1.5.2.2 2006/01/16 22:57:55 eric Exp $
+/* $Id: VariableEditor.java,v 1.5.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/editor/VariableRemapper.java b/src/proguard/classfile/editor/VariableRemapper.java
index ee6eb0c..a26e058 100644
--- a/src/proguard/classfile/editor/VariableRemapper.java
+++ b/src/proguard/classfile/editor/VariableRemapper.java
@@ -1,8 +1,8 @@
-/* $Id: VariableRemapper.java,v 1.4.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: VariableRemapper.java,v 1.4.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/instruction/BranchInstruction.java b/src/proguard/classfile/instruction/BranchInstruction.java
index e04bd8b..88e2697 100644
--- a/src/proguard/classfile/instruction/BranchInstruction.java
+++ b/src/proguard/classfile/instruction/BranchInstruction.java
@@ -1,8 +1,8 @@
-/* $Id: BranchInstruction.java,v 1.15.2.2 2006/11/20 22:11:40 eric Exp $
+/* $Id: BranchInstruction.java,v 1.15.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/instruction/CpInstruction.java b/src/proguard/classfile/instruction/CpInstruction.java
index 541b97f..1604da5 100644
--- a/src/proguard/classfile/instruction/CpInstruction.java
+++ b/src/proguard/classfile/instruction/CpInstruction.java
@@ -1,8 +1,8 @@
-/* $Id: CpInstruction.java,v 1.20.2.2 2006/11/20 22:11:40 eric Exp $
+/* $Id: CpInstruction.java,v 1.20.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/instruction/Instruction.java b/src/proguard/classfile/instruction/Instruction.java
index 76138ca..a461060 100644
--- a/src/proguard/classfile/instruction/Instruction.java
+++ b/src/proguard/classfile/instruction/Instruction.java
@@ -1,8 +1,8 @@
-/* $Id: Instruction.java,v 1.24.2.2 2006/11/20 22:11:40 eric Exp $
+/* $Id: Instruction.java,v 1.24.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/instruction/InstructionCounter.java b/src/proguard/classfile/instruction/InstructionCounter.java
index aa2a868..c95e1ae 100644
--- a/src/proguard/classfile/instruction/InstructionCounter.java
+++ b/src/proguard/classfile/instruction/InstructionCounter.java
@@ -1,8 +1,8 @@
-/* $Id: InstructionCounter.java,v 1.1.2.3 2006/02/13 00:20:43 eric Exp $
+/* $Id: InstructionCounter.java,v 1.1.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/instruction/InstructionFactory.java b/src/proguard/classfile/instruction/InstructionFactory.java
index f5758cb..25e9990 100644
--- a/src/proguard/classfile/instruction/InstructionFactory.java
+++ b/src/proguard/classfile/instruction/InstructionFactory.java
@@ -1,8 +1,8 @@
-/* $Id: InstructionFactory.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: InstructionFactory.java,v 1.6.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/instruction/InstructionVisitor.java b/src/proguard/classfile/instruction/InstructionVisitor.java
index b15d2ce..e424f43 100644
--- a/src/proguard/classfile/instruction/InstructionVisitor.java
+++ b/src/proguard/classfile/instruction/InstructionVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: InstructionVisitor.java,v 1.14.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: InstructionVisitor.java,v 1.14.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/instruction/LookUpSwitchInstruction.java b/src/proguard/classfile/instruction/LookUpSwitchInstruction.java
index 7f3bc41..ded09a5 100644
--- a/src/proguard/classfile/instruction/LookUpSwitchInstruction.java
+++ b/src/proguard/classfile/instruction/LookUpSwitchInstruction.java
@@ -1,8 +1,8 @@
-/* $Id: LookUpSwitchInstruction.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LookUpSwitchInstruction.java,v 1.7.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/instruction/MultiInstructionVisitor.java b/src/proguard/classfile/instruction/MultiInstructionVisitor.java
index 8c23262..54b99ad 100644
--- a/src/proguard/classfile/instruction/MultiInstructionVisitor.java
+++ b/src/proguard/classfile/instruction/MultiInstructionVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: MultiInstructionVisitor.java,v 1.5.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MultiInstructionVisitor.java,v 1.5.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/instruction/SimpleInstruction.java b/src/proguard/classfile/instruction/SimpleInstruction.java
index cc19dd8..da6484c 100644
--- a/src/proguard/classfile/instruction/SimpleInstruction.java
+++ b/src/proguard/classfile/instruction/SimpleInstruction.java
@@ -1,8 +1,8 @@
-/* $Id: SimpleInstruction.java,v 1.9.2.2 2006/11/20 22:11:40 eric Exp $
+/* $Id: SimpleInstruction.java,v 1.9.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/instruction/TableSwitchInstruction.java b/src/proguard/classfile/instruction/TableSwitchInstruction.java
index 726836b..096238a 100644
--- a/src/proguard/classfile/instruction/TableSwitchInstruction.java
+++ b/src/proguard/classfile/instruction/TableSwitchInstruction.java
@@ -1,8 +1,8 @@
-/* $Id: TableSwitchInstruction.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: TableSwitchInstruction.java,v 1.7.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/instruction/VariableInstruction.java b/src/proguard/classfile/instruction/VariableInstruction.java
index 22aefc7..f8d3148 100644
--- a/src/proguard/classfile/instruction/VariableInstruction.java
+++ b/src/proguard/classfile/instruction/VariableInstruction.java
@@ -1,8 +1,8 @@
-/* $Id: VariableInstruction.java,v 1.20.2.2 2006/11/20 22:11:40 eric Exp $
+/* $Id: VariableInstruction.java,v 1.20.2.4 2007/05/22 21:39:12 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -56,8 +56,8 @@ public class VariableInstruction extends Instruction
         this.opcode        = opcode;
         this.variableIndex = variableIndex;
         this.constant      = constant;
-        this.wide          = requiredVariableIndexSize() > 2 ||
-                             requiredConstantSize() > 1;
+        this.wide          = requiredVariableIndexSize() > 1 ||
+                             requiredConstantSize()      > 1;
     }
 
 
@@ -161,7 +161,7 @@ public class VariableInstruction extends Instruction
         }
 
         // Only make the instruction wide if necessary.
-        wide = requiredVariableIndexSize() > 2 ||
+        wide = requiredVariableIndexSize() > 1 ||
                requiredConstantSize()      > 1;
 
         return this;
diff --git a/src/proguard/classfile/util/AccessUtil.java b/src/proguard/classfile/util/AccessUtil.java
index 45141f6..353bfed 100644
--- a/src/proguard/classfile/util/AccessUtil.java
+++ b/src/proguard/classfile/util/AccessUtil.java
@@ -1,8 +1,8 @@
-/* $Id: AccessUtil.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: AccessUtil.java,v 1.6.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/util/ClassFileClassForNameReferenceInitializer.java b/src/proguard/classfile/util/ClassFileClassForNameReferenceInitializer.java
index e62da9d..12a047c 100644
--- a/src/proguard/classfile/util/ClassFileClassForNameReferenceInitializer.java
+++ b/src/proguard/classfile/util/ClassFileClassForNameReferenceInitializer.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileClassForNameReferenceInitializer.java,v 1.17.2.3 2006/11/25 16:56:11 eric Exp $
+/* $Id: ClassFileClassForNameReferenceInitializer.java,v 1.17.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/util/ClassFileHierarchyInitializer.java b/src/proguard/classfile/util/ClassFileHierarchyInitializer.java
index da193f9..ec6f3f6 100644
--- a/src/proguard/classfile/util/ClassFileHierarchyInitializer.java
+++ b/src/proguard/classfile/util/ClassFileHierarchyInitializer.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileHierarchyInitializer.java,v 1.12.2.2 2006/11/25 16:56:11 eric Exp $
+/* $Id: ClassFileHierarchyInitializer.java,v 1.12.2.3 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/util/ClassFileReferenceInitializer.java b/src/proguard/classfile/util/ClassFileReferenceInitializer.java
index f10d793..0aef9c7 100644
--- a/src/proguard/classfile/util/ClassFileReferenceInitializer.java
+++ b/src/proguard/classfile/util/ClassFileReferenceInitializer.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileReferenceInitializer.java,v 1.31.2.4 2006/11/25 16:56:11 eric Exp $
+/* $Id: ClassFileReferenceInitializer.java,v 1.31.2.5 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/util/ClassForNameChecker.java b/src/proguard/classfile/util/ClassForNameChecker.java
index 31f91ff..b36ed9b 100644
--- a/src/proguard/classfile/util/ClassForNameChecker.java
+++ b/src/proguard/classfile/util/ClassForNameChecker.java
@@ -1,8 +1,8 @@
-/* $Id: ClassForNameChecker.java,v 1.12.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassForNameChecker.java,v 1.12.2.3 2007/06/09 11:54:27 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -129,11 +129,13 @@ implements CpInfoVisitor,
         }
 
         // We're still not sure it's not a reference to .class, since the
-        // method name may have been changed or obfuscated.
-        // Perform a more detailed analysis by looking at the referenced method
-        // itself. Make sure we don't do this recursively.
+        // method name may have been changed or obfuscated. Perform a more
+        // detailed analysis by looking at the referenced method itself.
+        // We're looking for the method by name and type, because the
+        // referenced method hasn't been filled out yet. Make sure we don't
+        // do this recursively.
         insideDotClassMethod = true;
-        methodrefCpInfo.referencedMemberInfoAccept(this);
+        classFile.methodAccept(methodName, methodType, this);
         insideDotClassMethod = false;
     }
 
diff --git a/src/proguard/classfile/util/ClassNewInstanceChecker.java b/src/proguard/classfile/util/ClassNewInstanceChecker.java
index 2c2ebd4..f08290a 100644
--- a/src/proguard/classfile/util/ClassNewInstanceChecker.java
+++ b/src/proguard/classfile/util/ClassNewInstanceChecker.java
@@ -1,8 +1,8 @@
-/* $Id: ClassNewInstanceChecker.java,v 1.8.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassNewInstanceChecker.java,v 1.8.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/util/ClassUtil.java b/src/proguard/classfile/util/ClassUtil.java
index c16f897..53de27f 100644
--- a/src/proguard/classfile/util/ClassUtil.java
+++ b/src/proguard/classfile/util/ClassUtil.java
@@ -1,8 +1,8 @@
-/* $Id: ClassUtil.java,v 1.25.2.3 2006/12/11 21:57:29 eric Exp $
+/* $Id: ClassUtil.java,v 1.25.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/util/DescriptorClassEnumeration.java b/src/proguard/classfile/util/DescriptorClassEnumeration.java
index d4f4c23..e834373 100644
--- a/src/proguard/classfile/util/DescriptorClassEnumeration.java
+++ b/src/proguard/classfile/util/DescriptorClassEnumeration.java
@@ -1,8 +1,8 @@
-/* $Id: DescriptorClassEnumeration.java,v 1.12.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: DescriptorClassEnumeration.java,v 1.12.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/util/ExternalTypeEnumeration.java b/src/proguard/classfile/util/ExternalTypeEnumeration.java
index 216f549..9e7abbc 100644
--- a/src/proguard/classfile/util/ExternalTypeEnumeration.java
+++ b/src/proguard/classfile/util/ExternalTypeEnumeration.java
@@ -1,8 +1,8 @@
-/* $Id: ExternalTypeEnumeration.java,v 1.10.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ExternalTypeEnumeration.java,v 1.10.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/util/InternalTypeEnumeration.java b/src/proguard/classfile/util/InternalTypeEnumeration.java
index 59caa37..1a884cd 100644
--- a/src/proguard/classfile/util/InternalTypeEnumeration.java
+++ b/src/proguard/classfile/util/InternalTypeEnumeration.java
@@ -1,8 +1,8 @@
-/* $Id: InternalTypeEnumeration.java,v 1.9.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: InternalTypeEnumeration.java,v 1.9.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/util/MemberFinder.java b/src/proguard/classfile/util/MemberFinder.java
index b12bffa..fec6115 100644
--- a/src/proguard/classfile/util/MemberFinder.java
+++ b/src/proguard/classfile/util/MemberFinder.java
@@ -1,8 +1,8 @@
-/* $Id: MemberFinder.java,v 1.7.2.4 2006/03/26 14:21:36 eric Exp $
+/* $Id: MemberFinder.java,v 1.7.2.5 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/util/MethodInfoLinker.java b/src/proguard/classfile/util/MethodInfoLinker.java
index 73c621a..6d5e6a2 100644
--- a/src/proguard/classfile/util/MethodInfoLinker.java
+++ b/src/proguard/classfile/util/MethodInfoLinker.java
@@ -1,8 +1,8 @@
-/* $Id: MethodInfoLinker.java,v 1.2.2.2 2006/06/07 22:36:52 eric Exp $
+/* $Id: MethodInfoLinker.java,v 1.2.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -31,6 +31,9 @@ import java.util.*;
  * files that are not being subclassed. Chains of links that have been created
  * in previous invocations are merged with new chains of links, in order to
  * create a consistent set of chains.
+ * <p>
+ * As a MemberInfoVisitor, it links all corresponding methods that it ever
+ * visits.
  *
  * @author Eric Lafortune
  */
@@ -47,8 +50,24 @@ public class MethodInfoLinker
 
     public void visitProgramClassFile(ProgramClassFile programClassFile)
     {
+        visitClassFile(programClassFile);
+    }
+
+
+    public void visitLibraryClassFile(LibraryClassFile libraryClassFile)
+    {
+        visitClassFile(libraryClassFile);
+    }
+
+
+    /**
+     * Links all corresponding methods in the given class file and all of its
+     * super classes and interfaces.
+     */
+    private void visitClassFile(ClassFile classFile)
+    {
         // Collect all non-private members in this class hierarchy.
-        programClassFile.hierarchyAccept(true, true, true, false,
+        classFile.hierarchyAccept(true, true, true, false,
             new AllMemberInfoVisitor(
             new MemberInfoAccessFilter(0, ClassConstants.INTERNAL_ACC_PRIVATE,
             this)));
@@ -58,11 +77,6 @@ public class MethodInfoLinker
     }
 
 
-    public void visitLibraryClassFile(LibraryClassFile libraryClassFile)
-    {
-    }
-
-
     // Implementations for MemberInfoVisitor.
 
     public void visitProgramFieldInfo(ProgramClassFile programClassFile, ProgramFieldInfo programFieldInfo)
@@ -163,6 +177,7 @@ public class MethodInfoLinker
         return lastMemberInfo;
     }
 
+    
     /**
      * Finds the last visitor accepter in the linked list of visitors.
      * @param visitorAccepter the given method.
diff --git a/src/proguard/classfile/util/WarningPrinter.java b/src/proguard/classfile/util/WarningPrinter.java
index a4516c8..7bfa0cd 100644
--- a/src/proguard/classfile/util/WarningPrinter.java
+++ b/src/proguard/classfile/util/WarningPrinter.java
@@ -1,8 +1,8 @@
-/* $Id: WarningPrinter.java,v 1.1.2.1 2006/11/25 15:54:01 eric Exp $
+/* $Id: WarningPrinter.java,v 1.1.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/AllClassFileVisitor.java b/src/proguard/classfile/visitor/AllClassFileVisitor.java
index 071f274..5e690fa 100644
--- a/src/proguard/classfile/visitor/AllClassFileVisitor.java
+++ b/src/proguard/classfile/visitor/AllClassFileVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: AllClassFileVisitor.java,v 1.11.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: AllClassFileVisitor.java,v 1.11.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/AllCpInfoVisitor.java b/src/proguard/classfile/visitor/AllCpInfoVisitor.java
index 489c1a6..a8dafc5 100644
--- a/src/proguard/classfile/visitor/AllCpInfoVisitor.java
+++ b/src/proguard/classfile/visitor/AllCpInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: AllCpInfoVisitor.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: AllCpInfoVisitor.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/AllFieldVisitor.java b/src/proguard/classfile/visitor/AllFieldVisitor.java
index 342475e..04b79e0 100644
--- a/src/proguard/classfile/visitor/AllFieldVisitor.java
+++ b/src/proguard/classfile/visitor/AllFieldVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: AllFieldVisitor.java,v 1.13.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: AllFieldVisitor.java,v 1.13.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/AllMemberInfoVisitor.java b/src/proguard/classfile/visitor/AllMemberInfoVisitor.java
index d03f261..b05027a 100644
--- a/src/proguard/classfile/visitor/AllMemberInfoVisitor.java
+++ b/src/proguard/classfile/visitor/AllMemberInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: AllMemberInfoVisitor.java,v 1.11.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: AllMemberInfoVisitor.java,v 1.11.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/AllMethodVisitor.java b/src/proguard/classfile/visitor/AllMethodVisitor.java
index 2fd7b93..2353dac 100644
--- a/src/proguard/classfile/visitor/AllMethodVisitor.java
+++ b/src/proguard/classfile/visitor/AllMethodVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: AllMethodVisitor.java,v 1.13.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: AllMethodVisitor.java,v 1.13.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/BottomClassFileFilter.java b/src/proguard/classfile/visitor/BottomClassFileFilter.java
index 31d0993..0f07e0c 100644
--- a/src/proguard/classfile/visitor/BottomClassFileFilter.java
+++ b/src/proguard/classfile/visitor/BottomClassFileFilter.java
@@ -1,8 +1,8 @@
-/* $Id: BottomClassFileFilter.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: BottomClassFileFilter.java,v 1.6.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassCounter.java b/src/proguard/classfile/visitor/ClassCounter.java
index de301b1..892bcbc 100644
--- a/src/proguard/classfile/visitor/ClassCounter.java
+++ b/src/proguard/classfile/visitor/ClassCounter.java
@@ -1,8 +1,8 @@
-/* $Id: ClassCounter.java,v 1.1.2.3 2006/02/13 00:20:43 eric Exp $
+/* $Id: ClassCounter.java,v 1.1.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassFileAccessFilter.java b/src/proguard/classfile/visitor/ClassFileAccessFilter.java
index 5327bd2..42b57c4 100644
--- a/src/proguard/classfile/visitor/ClassFileAccessFilter.java
+++ b/src/proguard/classfile/visitor/ClassFileAccessFilter.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileAccessFilter.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassFileAccessFilter.java,v 1.7.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassFileCleaner.java b/src/proguard/classfile/visitor/ClassFileCleaner.java
index 51e50f2..a97a492 100644
--- a/src/proguard/classfile/visitor/ClassFileCleaner.java
+++ b/src/proguard/classfile/visitor/ClassFileCleaner.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileCleaner.java,v 1.18.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassFileCleaner.java,v 1.18.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassFileHierarchyTraveler.java b/src/proguard/classfile/visitor/ClassFileHierarchyTraveler.java
index bdfc4a9..86b06db 100644
--- a/src/proguard/classfile/visitor/ClassFileHierarchyTraveler.java
+++ b/src/proguard/classfile/visitor/ClassFileHierarchyTraveler.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileHierarchyTraveler.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassFileHierarchyTraveler.java,v 1.3.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassFileMemberInfoVisitor.java b/src/proguard/classfile/visitor/ClassFileMemberInfoVisitor.java
index a377972..f618320 100644
--- a/src/proguard/classfile/visitor/ClassFileMemberInfoVisitor.java
+++ b/src/proguard/classfile/visitor/ClassFileMemberInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileMemberInfoVisitor.java,v 1.5.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassFileMemberInfoVisitor.java,v 1.5.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassFileNameFilter.java b/src/proguard/classfile/visitor/ClassFileNameFilter.java
index 2b369d4..a92de54 100644
--- a/src/proguard/classfile/visitor/ClassFileNameFilter.java
+++ b/src/proguard/classfile/visitor/ClassFileNameFilter.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileNameFilter.java,v 1.10.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassFileNameFilter.java,v 1.10.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassFilePresenceFilter.java b/src/proguard/classfile/visitor/ClassFilePresenceFilter.java
index 75b7e35..96038bb 100644
--- a/src/proguard/classfile/visitor/ClassFilePresenceFilter.java
+++ b/src/proguard/classfile/visitor/ClassFilePresenceFilter.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFilePresenceFilter.java,v 1.1.2.1 2006/11/26 15:29:20 eric Exp $
+/* $Id: ClassFilePresenceFilter.java,v 1.1.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassFilePrinter.java b/src/proguard/classfile/visitor/ClassFilePrinter.java
index 9c430c8..1af6d4a 100644
--- a/src/proguard/classfile/visitor/ClassFilePrinter.java
+++ b/src/proguard/classfile/visitor/ClassFilePrinter.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFilePrinter.java,v 1.31.2.2 2006/11/20 22:10:50 eric Exp $
+/* $Id: ClassFilePrinter.java,v 1.31.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -129,7 +129,11 @@ public class ClassFilePrinter
         println("Interfaces (count = " + libraryClassFile.interfaceClasses.length + "):");
         for (int i = 0; i < libraryClassFile.interfaceClasses.length; i++)
         {
-            println("  + " + libraryClassFile.interfaceClasses[i].getName());
+            ClassFile interfaceClass = libraryClassFile.interfaceClasses[i];
+            if (interfaceClass != null)
+            {
+                println("  + " + interfaceClass.getName());
+            }
         }
 
         println("Fields (count = " + libraryClassFile.fields.length + "):");
diff --git a/src/proguard/classfile/visitor/ClassFileVersionCounter.java b/src/proguard/classfile/visitor/ClassFileVersionCounter.java
index 00f23d4..6736b2b 100644
--- a/src/proguard/classfile/visitor/ClassFileVersionCounter.java
+++ b/src/proguard/classfile/visitor/ClassFileVersionCounter.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileVersionCounter.java,v 1.1.2.1 2006/12/11 22:07:35 eric Exp $
+/* $Id: ClassFileVersionCounter.java,v 1.1.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassFileVisitor.java b/src/proguard/classfile/visitor/ClassFileVisitor.java
index 594bf50..79aff22 100644
--- a/src/proguard/classfile/visitor/ClassFileVisitor.java
+++ b/src/proguard/classfile/visitor/ClassFileVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileVisitor.java,v 1.8.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassFileVisitor.java,v 1.8.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassForNameClassFileVisitor.java b/src/proguard/classfile/visitor/ClassForNameClassFileVisitor.java
index cde8694..2450ac6 100644
--- a/src/proguard/classfile/visitor/ClassForNameClassFileVisitor.java
+++ b/src/proguard/classfile/visitor/ClassForNameClassFileVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: ClassForNameClassFileVisitor.java,v 1.1.2.1 2006/02/13 00:19:28 eric Exp $
+/* $Id: ClassForNameClassFileVisitor.java,v 1.1.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java bytecode.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassPoolFiller.java b/src/proguard/classfile/visitor/ClassPoolFiller.java
index 9e332c6..ddde8ab 100644
--- a/src/proguard/classfile/visitor/ClassPoolFiller.java
+++ b/src/proguard/classfile/visitor/ClassPoolFiller.java
@@ -1,8 +1,8 @@
-/* $Id: ClassPoolFiller.java,v 1.9.2.3 2006/11/26 15:29:20 eric Exp $
+/* $Id: ClassPoolFiller.java,v 1.9.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ClassPoolVisitor.java b/src/proguard/classfile/visitor/ClassPoolVisitor.java
index f091789..1579a7e 100644
--- a/src/proguard/classfile/visitor/ClassPoolVisitor.java
+++ b/src/proguard/classfile/visitor/ClassPoolVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: ClassPoolVisitor.java,v 1.10.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassPoolVisitor.java,v 1.10.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ConcreteClassFileDownTraveler.java b/src/proguard/classfile/visitor/ConcreteClassFileDownTraveler.java
index 4eb7071..ce3b059 100644
--- a/src/proguard/classfile/visitor/ConcreteClassFileDownTraveler.java
+++ b/src/proguard/classfile/visitor/ConcreteClassFileDownTraveler.java
@@ -1,8 +1,8 @@
-/* $Id: ConcreteClassFileDownTraveler.java,v 1.8.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ConcreteClassFileDownTraveler.java,v 1.8.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/CpInfoVisitor.java b/src/proguard/classfile/visitor/CpInfoVisitor.java
index 49a7153..43a7939 100644
--- a/src/proguard/classfile/visitor/CpInfoVisitor.java
+++ b/src/proguard/classfile/visitor/CpInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: CpInfoVisitor.java,v 1.8.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: CpInfoVisitor.java,v 1.8.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/DotClassClassFileVisitor.java b/src/proguard/classfile/visitor/DotClassClassFileVisitor.java
index 38d9535..087edd3 100644
--- a/src/proguard/classfile/visitor/DotClassClassFileVisitor.java
+++ b/src/proguard/classfile/visitor/DotClassClassFileVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: DotClassClassFileVisitor.java,v 1.1.2.1 2006/02/13 00:19:28 eric Exp $
+/* $Id: DotClassClassFileVisitor.java,v 1.1.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java bytecode.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/LibraryClassFileFilter.java b/src/proguard/classfile/visitor/LibraryClassFileFilter.java
index c932c5f..26e4fe1 100644
--- a/src/proguard/classfile/visitor/LibraryClassFileFilter.java
+++ b/src/proguard/classfile/visitor/LibraryClassFileFilter.java
@@ -1,8 +1,8 @@
-/* $Id: LibraryClassFileFilter.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LibraryClassFileFilter.java,v 1.7.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/LibraryMemberInfoFilter.java b/src/proguard/classfile/visitor/LibraryMemberInfoFilter.java
index 9e68190..3fa7e74 100644
--- a/src/proguard/classfile/visitor/LibraryMemberInfoFilter.java
+++ b/src/proguard/classfile/visitor/LibraryMemberInfoFilter.java
@@ -1,8 +1,8 @@
-/* $Id: LibraryMemberInfoFilter.java,v 1.5.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LibraryMemberInfoFilter.java,v 1.5.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/LineNumberInfoVisitor.java b/src/proguard/classfile/visitor/LineNumberInfoVisitor.java
index 766aa91..30ae411 100644
--- a/src/proguard/classfile/visitor/LineNumberInfoVisitor.java
+++ b/src/proguard/classfile/visitor/LineNumberInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: LineNumberInfoVisitor.java,v 1.10.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LineNumberInfoVisitor.java,v 1.10.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/MemberCounter.java b/src/proguard/classfile/visitor/MemberCounter.java
index e6ab989..d781200 100644
--- a/src/proguard/classfile/visitor/MemberCounter.java
+++ b/src/proguard/classfile/visitor/MemberCounter.java
@@ -1,8 +1,8 @@
-/* $Id: MemberCounter.java,v 1.1.2.3 2006/02/13 00:20:43 eric Exp $
+/* $Id: MemberCounter.java,v 1.1.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/MemberInfoAccessFilter.java b/src/proguard/classfile/visitor/MemberInfoAccessFilter.java
index 6464512..8fe7995 100644
--- a/src/proguard/classfile/visitor/MemberInfoAccessFilter.java
+++ b/src/proguard/classfile/visitor/MemberInfoAccessFilter.java
@@ -1,8 +1,8 @@
-/* $Id: MemberInfoAccessFilter.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MemberInfoAccessFilter.java,v 1.7.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/MemberInfoClassFileAccessFilter.java b/src/proguard/classfile/visitor/MemberInfoClassFileAccessFilter.java
index e8cdc92..a7c6d5b 100644
--- a/src/proguard/classfile/visitor/MemberInfoClassFileAccessFilter.java
+++ b/src/proguard/classfile/visitor/MemberInfoClassFileAccessFilter.java
@@ -1,8 +1,8 @@
-/* $Id: MemberInfoClassFileAccessFilter.java,v 1.1.2.3 2006/02/13 00:20:43 eric Exp $
+/* $Id: MemberInfoClassFileAccessFilter.java,v 1.1.2.4 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java bytecode.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/MemberInfoDescriptorFilter.java b/src/proguard/classfile/visitor/MemberInfoDescriptorFilter.java
index 367b0bb..29ea0b0 100644
--- a/src/proguard/classfile/visitor/MemberInfoDescriptorFilter.java
+++ b/src/proguard/classfile/visitor/MemberInfoDescriptorFilter.java
@@ -1,8 +1,8 @@
-/* $Id: MemberInfoDescriptorFilter.java,v 1.10.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MemberInfoDescriptorFilter.java,v 1.10.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/MemberInfoNameFilter.java b/src/proguard/classfile/visitor/MemberInfoNameFilter.java
index 2985455..6b3cda2 100644
--- a/src/proguard/classfile/visitor/MemberInfoNameFilter.java
+++ b/src/proguard/classfile/visitor/MemberInfoNameFilter.java
@@ -1,8 +1,8 @@
-/* $Id: MemberInfoNameFilter.java,v 1.10.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MemberInfoNameFilter.java,v 1.10.2.2 2007/01/18 21:31:51 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/MemberInfoVisitor.java b/src/proguard/classfile/visitor/MemberInfoVisitor.java
index 8f74fe7..f221b17 100644
--- a/src/proguard/classfile/visitor/MemberInfoVisitor.java
+++ b/src/proguard/classfile/visitor/MemberInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: MemberInfoVisitor.java,v 1.11.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MemberInfoVisitor.java,v 1.11.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/MethodImplementationFilter.java b/src/proguard/classfile/visitor/MethodImplementationFilter.java
index ec0236a..5a84909 100644
--- a/src/proguard/classfile/visitor/MethodImplementationFilter.java
+++ b/src/proguard/classfile/visitor/MethodImplementationFilter.java
@@ -1,8 +1,8 @@
-/* $Id: MethodImplementationFilter.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MethodImplementationFilter.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/MethodImplementationTraveler.java b/src/proguard/classfile/visitor/MethodImplementationTraveler.java
index 2557abe..dc5e6cc 100644
--- a/src/proguard/classfile/visitor/MethodImplementationTraveler.java
+++ b/src/proguard/classfile/visitor/MethodImplementationTraveler.java
@@ -1,8 +1,8 @@
-/* $Id: MethodImplementationTraveler.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MethodImplementationTraveler.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/MultiClassFileVisitor.java b/src/proguard/classfile/visitor/MultiClassFileVisitor.java
index 0670f7e..15c2674 100644
--- a/src/proguard/classfile/visitor/MultiClassFileVisitor.java
+++ b/src/proguard/classfile/visitor/MultiClassFileVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: MultiClassFileVisitor.java,v 1.9.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MultiClassFileVisitor.java,v 1.9.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/MultiMemberInfoVisitor.java b/src/proguard/classfile/visitor/MultiMemberInfoVisitor.java
index 0dc7ae2..ff7a938 100644
--- a/src/proguard/classfile/visitor/MultiMemberInfoVisitor.java
+++ b/src/proguard/classfile/visitor/MultiMemberInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: MultiMemberInfoVisitor.java,v 1.12.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MultiMemberInfoVisitor.java,v 1.12.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/NamedClassFileVisitor.java b/src/proguard/classfile/visitor/NamedClassFileVisitor.java
index a23152e..93c1edc 100644
--- a/src/proguard/classfile/visitor/NamedClassFileVisitor.java
+++ b/src/proguard/classfile/visitor/NamedClassFileVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: NamedClassFileVisitor.java,v 1.9.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: NamedClassFileVisitor.java,v 1.9.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/NamedFieldVisitor.java b/src/proguard/classfile/visitor/NamedFieldVisitor.java
index 2e840c6..35ca576 100644
--- a/src/proguard/classfile/visitor/NamedFieldVisitor.java
+++ b/src/proguard/classfile/visitor/NamedFieldVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: NamedFieldVisitor.java,v 1.12.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: NamedFieldVisitor.java,v 1.12.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/NamedMethodVisitor.java b/src/proguard/classfile/visitor/NamedMethodVisitor.java
index 5aa4798..2fd496e 100644
--- a/src/proguard/classfile/visitor/NamedMethodVisitor.java
+++ b/src/proguard/classfile/visitor/NamedMethodVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: NamedMethodVisitor.java,v 1.12.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: NamedMethodVisitor.java,v 1.12.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ProgramClassFileFilter.java b/src/proguard/classfile/visitor/ProgramClassFileFilter.java
index 2c6e67b..e1b81a0 100644
--- a/src/proguard/classfile/visitor/ProgramClassFileFilter.java
+++ b/src/proguard/classfile/visitor/ProgramClassFileFilter.java
@@ -1,8 +1,8 @@
-/* $Id: ProgramClassFileFilter.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ProgramClassFileFilter.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ProgramMemberInfoFilter.java b/src/proguard/classfile/visitor/ProgramMemberInfoFilter.java
index afafeb6..1903838 100644
--- a/src/proguard/classfile/visitor/ProgramMemberInfoFilter.java
+++ b/src/proguard/classfile/visitor/ProgramMemberInfoFilter.java
@@ -1,8 +1,8 @@
-/* $Id: ProgramMemberInfoFilter.java,v 1.5.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ProgramMemberInfoFilter.java,v 1.5.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/ReferencedClassFileVisitor.java b/src/proguard/classfile/visitor/ReferencedClassFileVisitor.java
index 1f28d45..69e472d 100644
--- a/src/proguard/classfile/visitor/ReferencedClassFileVisitor.java
+++ b/src/proguard/classfile/visitor/ReferencedClassFileVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: ReferencedClassFileVisitor.java,v 1.6.2.3 2006/02/13 00:20:43 eric Exp $
+/* $Id: ReferencedClassFileVisitor.java,v 1.6.2.4 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/SimpleClassFilePrinter.java b/src/proguard/classfile/visitor/SimpleClassFilePrinter.java
index 20cb3c8..ba79ec9 100644
--- a/src/proguard/classfile/visitor/SimpleClassFilePrinter.java
+++ b/src/proguard/classfile/visitor/SimpleClassFilePrinter.java
@@ -1,8 +1,8 @@
-/* $Id: SimpleClassFilePrinter.java,v 1.18.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: SimpleClassFilePrinter.java,v 1.18.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/VariableClassFileVisitor.java b/src/proguard/classfile/visitor/VariableClassFileVisitor.java
index 68d0c7c..3829c63 100644
--- a/src/proguard/classfile/visitor/VariableClassFileVisitor.java
+++ b/src/proguard/classfile/visitor/VariableClassFileVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: VariableClassFileVisitor.java,v 1.8.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: VariableClassFileVisitor.java,v 1.8.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/classfile/visitor/VariableMemberInfoVisitor.java b/src/proguard/classfile/visitor/VariableMemberInfoVisitor.java
index 5c7f85b..087f338 100644
--- a/src/proguard/classfile/visitor/VariableMemberInfoVisitor.java
+++ b/src/proguard/classfile/visitor/VariableMemberInfoVisitor.java
@@ -1,8 +1,8 @@
-/* $Id: VariableMemberInfoVisitor.java,v 1.12.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: VariableMemberInfoVisitor.java,v 1.12.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/ClassMemberSpecificationDialog.java b/src/proguard/gui/ClassMemberSpecificationDialog.java
index e1d9048..19049b8 100644
--- a/src/proguard/gui/ClassMemberSpecificationDialog.java
+++ b/src/proguard/gui/ClassMemberSpecificationDialog.java
@@ -1,8 +1,8 @@
-/* $Id: ClassMemberSpecificationDialog.java,v 1.5.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassMemberSpecificationDialog.java,v 1.5.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/ClassMemberSpecificationsPanel.java b/src/proguard/gui/ClassMemberSpecificationsPanel.java
index 871aa79..99bfe4d 100644
--- a/src/proguard/gui/ClassMemberSpecificationsPanel.java
+++ b/src/proguard/gui/ClassMemberSpecificationsPanel.java
@@ -1,8 +1,8 @@
-/* $Id: ClassMemberSpecificationsPanel.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassMemberSpecificationsPanel.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/ClassPathPanel.java b/src/proguard/gui/ClassPathPanel.java
index 69de554..460e852 100644
--- a/src/proguard/gui/ClassPathPanel.java
+++ b/src/proguard/gui/ClassPathPanel.java
@@ -1,8 +1,8 @@
-/* $Id: ClassPathPanel.java,v 1.16.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassPathPanel.java,v 1.16.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/ClassSpecificationDialog.java b/src/proguard/gui/ClassSpecificationDialog.java
index c63825c..11cb1ec 100644
--- a/src/proguard/gui/ClassSpecificationDialog.java
+++ b/src/proguard/gui/ClassSpecificationDialog.java
@@ -1,8 +1,8 @@
-/* $Id: ClassSpecificationDialog.java,v 1.4.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassSpecificationDialog.java,v 1.4.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/ClassSpecificationsPanel.java b/src/proguard/gui/ClassSpecificationsPanel.java
index 15cc007..1c928e3 100644
--- a/src/proguard/gui/ClassSpecificationsPanel.java
+++ b/src/proguard/gui/ClassSpecificationsPanel.java
@@ -1,8 +1,8 @@
-/* $Id: ClassSpecificationsPanel.java,v 1.5.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassSpecificationsPanel.java,v 1.5.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/ExtensionFileFilter.java b/src/proguard/gui/ExtensionFileFilter.java
index d5462aa..90f3157 100644
--- a/src/proguard/gui/ExtensionFileFilter.java
+++ b/src/proguard/gui/ExtensionFileFilter.java
@@ -1,8 +1,8 @@
-/* $Id: ExtensionFileFilter.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ExtensionFileFilter.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/FilterDialog.java b/src/proguard/gui/FilterDialog.java
index 5d249b8..9b6839b 100644
--- a/src/proguard/gui/FilterDialog.java
+++ b/src/proguard/gui/FilterDialog.java
@@ -1,8 +1,8 @@
-/* $Id: FilterDialog.java,v 1.4.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: FilterDialog.java,v 1.4.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/GUIResources.java b/src/proguard/gui/GUIResources.java
index b31c7df..be0b712 100644
--- a/src/proguard/gui/GUIResources.java
+++ b/src/proguard/gui/GUIResources.java
@@ -1,8 +1,8 @@
-/* $Id: GUIResources.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: GUIResources.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/GUIResources.properties b/src/proguard/gui/GUIResources.properties
index 69dbbd1..94463fb 100644
--- a/src/proguard/gui/GUIResources.properties
+++ b/src/proguard/gui/GUIResources.properties
@@ -1,5 +1,5 @@
 # ProGuard -- shrinking, optimization, and obfuscation of Java class files.
-# Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+# Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
 
 #
 # Tab names.
@@ -24,7 +24,7 @@ obfuscation  = Obfuscation
 #
 # Panel titles.
 #
-welcome                       = Welcome to ProGuard, version 3.7
+welcome                       = Welcome to ProGuard, version 3.9
 options                       = Options
 keepAdditional                = Keep additional classes and class members
 keepNamesAdditional           = Keep additional class names and class member names
@@ -57,7 +57,7 @@ proGuardInfo = \
   \n\n\
   Distributed under the GNU General Public License.\
   \n\
-  Copyright (c) 1999-2006.
+  Copyright (c) 1999-2007.
 
 processingInfo = \
   You can now start processing your code, \
@@ -112,6 +112,7 @@ boilerplate_applications        = Applications
 boilerplate_applets             = Applets
 boilerplate_servlets            = Servlets
 boilerplate_midlets             = Midlets
+boilerplate_xlets               = Xlets
 boilerplate_library             = Library
 
 boilerplate_also_keep           = Also keep
diff --git a/src/proguard/gui/ListPanel.java b/src/proguard/gui/ListPanel.java
index d1f2fa1..f5935aa 100644
--- a/src/proguard/gui/ListPanel.java
+++ b/src/proguard/gui/ListPanel.java
@@ -1,8 +1,8 @@
-/* $Id: ListPanel.java,v 1.9.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ListPanel.java,v 1.9.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/MessageDialogRunnable.java b/src/proguard/gui/MessageDialogRunnable.java
index a08be38..6bbe842 100644
--- a/src/proguard/gui/MessageDialogRunnable.java
+++ b/src/proguard/gui/MessageDialogRunnable.java
@@ -1,8 +1,8 @@
-/* $Id: MessageDialogRunnable.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: MessageDialogRunnable.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/ProGuardGUI.java b/src/proguard/gui/ProGuardGUI.java
index 0954e57..3c1f77c 100644
--- a/src/proguard/gui/ProGuardGUI.java
+++ b/src/proguard/gui/ProGuardGUI.java
@@ -1,8 +1,8 @@
-/* $Id: ProGuardGUI.java,v 1.35.2.2 2006/06/07 22:36:52 eric Exp $
+/* $Id: ProGuardGUI.java,v 1.35.2.3 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/ProGuardRunnable.java b/src/proguard/gui/ProGuardRunnable.java
index acd075e..0711095 100644
--- a/src/proguard/gui/ProGuardRunnable.java
+++ b/src/proguard/gui/ProGuardRunnable.java
@@ -1,8 +1,8 @@
-/* $Id: ProGuardRunnable.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ProGuardRunnable.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/ReTraceRunnable.java b/src/proguard/gui/ReTraceRunnable.java
index 5b7e620..7b549c5 100644
--- a/src/proguard/gui/ReTraceRunnable.java
+++ b/src/proguard/gui/ReTraceRunnable.java
@@ -1,8 +1,8 @@
-/* $Id: ReTraceRunnable.java,v 1.8.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ReTraceRunnable.java,v 1.8.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/SwingUtil.java b/src/proguard/gui/SwingUtil.java
index 044a03f..0842777 100644
--- a/src/proguard/gui/SwingUtil.java
+++ b/src/proguard/gui/SwingUtil.java
@@ -1,8 +1,8 @@
-/* $Id: SwingUtil.java,v 1.5.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: SwingUtil.java,v 1.5.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/TabbedPane.java b/src/proguard/gui/TabbedPane.java
index a8f6adb..836f398 100644
--- a/src/proguard/gui/TabbedPane.java
+++ b/src/proguard/gui/TabbedPane.java
@@ -1,8 +1,8 @@
-/* $Id: TabbedPane.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: TabbedPane.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/TextAreaOutputStream.java b/src/proguard/gui/TextAreaOutputStream.java
index 0d1675f..de1063f 100644
--- a/src/proguard/gui/TextAreaOutputStream.java
+++ b/src/proguard/gui/TextAreaOutputStream.java
@@ -1,8 +1,8 @@
-/* $Id: TextAreaOutputStream.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: TextAreaOutputStream.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/boilerplate.pro b/src/proguard/gui/boilerplate.pro
index 100d806..ad11708 100644
--- a/src/proguard/gui/boilerplate.pro
+++ b/src/proguard/gui/boilerplate.pro
@@ -12,6 +12,9 @@
 # Keep - Midlets. Keep all extensions of javax.microedition.midlet.MIDlet.
 -keep public class * extends javax.microedition.midlet.MIDlet
 
+# Keep - Xlets. Keep all extensions of java.tv.xlet.Xlet.
+-keep public class * extends java.tv.xlet.Xlet
+
 # Keep - Library. Keep all externally accessible classes, fields, and methods.
 -keep public class * {
     public protected <fields>;
diff --git a/src/proguard/gui/splash/BufferedSprite.java b/src/proguard/gui/splash/BufferedSprite.java
index 190c5ca..8e8aa31 100644
--- a/src/proguard/gui/splash/BufferedSprite.java
+++ b/src/proguard/gui/splash/BufferedSprite.java
@@ -1,8 +1,8 @@
-/* $Id: BufferedSprite.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: BufferedSprite.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/CircleSprite.java b/src/proguard/gui/splash/CircleSprite.java
index 2fa63c0..7409b6d 100644
--- a/src/proguard/gui/splash/CircleSprite.java
+++ b/src/proguard/gui/splash/CircleSprite.java
@@ -1,8 +1,8 @@
-/* $Id: CircleSprite.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: CircleSprite.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/ClipSprite.java b/src/proguard/gui/splash/ClipSprite.java
index a9693ff..cf58512 100644
--- a/src/proguard/gui/splash/ClipSprite.java
+++ b/src/proguard/gui/splash/ClipSprite.java
@@ -1,8 +1,8 @@
-/* $Id: ClipSprite.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClipSprite.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/CompositeSprite.java b/src/proguard/gui/splash/CompositeSprite.java
index 09424d4..705db83 100644
--- a/src/proguard/gui/splash/CompositeSprite.java
+++ b/src/proguard/gui/splash/CompositeSprite.java
@@ -1,8 +1,8 @@
-/* $Id: CompositeSprite.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: CompositeSprite.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/ImageSprite.java b/src/proguard/gui/splash/ImageSprite.java
index d7b14f9..444795b 100644
--- a/src/proguard/gui/splash/ImageSprite.java
+++ b/src/proguard/gui/splash/ImageSprite.java
@@ -1,8 +1,8 @@
-/* $Id: ImageSprite.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ImageSprite.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/LinearColor.java b/src/proguard/gui/splash/LinearColor.java
index bdafb2e..3d0a80b 100644
--- a/src/proguard/gui/splash/LinearColor.java
+++ b/src/proguard/gui/splash/LinearColor.java
@@ -1,8 +1,8 @@
-/* $Id: LinearColor.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LinearColor.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/LinearDouble.java b/src/proguard/gui/splash/LinearDouble.java
index e9fda12..f66a5c5 100644
--- a/src/proguard/gui/splash/LinearDouble.java
+++ b/src/proguard/gui/splash/LinearDouble.java
@@ -1,8 +1,8 @@
-/* $Id: LinearDouble.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LinearDouble.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/LinearInt.java b/src/proguard/gui/splash/LinearInt.java
index 69d3d9a..c60d97e 100644
--- a/src/proguard/gui/splash/LinearInt.java
+++ b/src/proguard/gui/splash/LinearInt.java
@@ -1,8 +1,8 @@
-/* $Id: LinearInt.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LinearInt.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/LinearTiming.java b/src/proguard/gui/splash/LinearTiming.java
index 270d3aa..6655952 100644
--- a/src/proguard/gui/splash/LinearTiming.java
+++ b/src/proguard/gui/splash/LinearTiming.java
@@ -1,8 +1,8 @@
-/* $Id: LinearTiming.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: LinearTiming.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/OverrideGraphics2D.java b/src/proguard/gui/splash/OverrideGraphics2D.java
index cf4ae7e..0f6fcf5 100644
--- a/src/proguard/gui/splash/OverrideGraphics2D.java
+++ b/src/proguard/gui/splash/OverrideGraphics2D.java
@@ -1,8 +1,8 @@
-/* $Id: OverrideGraphics2D.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: OverrideGraphics2D.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/RectangleSprite.java b/src/proguard/gui/splash/RectangleSprite.java
index 32244e9..0dc4e83 100644
--- a/src/proguard/gui/splash/RectangleSprite.java
+++ b/src/proguard/gui/splash/RectangleSprite.java
@@ -1,8 +1,8 @@
-/* $Id: RectangleSprite.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: RectangleSprite.java,v 1.7.2.3 2007/01/31 20:57:28 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -29,58 +29,52 @@ import java.awt.Graphics;
  */
 public class RectangleSprite implements Sprite
 {
-    private boolean       filled;
-    private VariableColor color;
-    private VariableInt   x;
-    private VariableInt   y;
-    private VariableInt   width;
-    private VariableInt   height;
-    private VariableInt   arcWidth;
-    private VariableInt   arcHeight;
+    private boolean     filled;
+    private VariableInt x;
+    private VariableInt y;
+    private VariableInt width;
+    private VariableInt height;
+    private VariableInt arcWidth;
+    private VariableInt arcHeight;
 
 
     /**
      * Creates a new rectangular RectangleSprite.
      * @param filled specifies whether the rectangle should be filled.
-     * @param color  the variable color of the rectangle.
      * @param x      the variable x-coordinate of the upper-left corner of the rectangle.
      * @param y      the variable y-coordinate of the upper-left corner of the rectangle.
      * @param width  the variable width of the rectangle.
      * @param height the variable height of the rectangle.
      */
-    public RectangleSprite(boolean       filled,
-                           VariableColor color,
-                           VariableInt   x,
-                           VariableInt   y,
-                           VariableInt   width,
-                           VariableInt   height)
+    public RectangleSprite(boolean     filled,
+                           VariableInt x,
+                           VariableInt y,
+                           VariableInt width,
+                           VariableInt height)
     {
-        this(filled, color, x, y, width, height, new ConstantInt(0), new ConstantInt(0));
+        this(filled, x, y, width, height, new ConstantInt(0), new ConstantInt(0));
     }
 
 
     /**
      * Creates a new RectangleSprite with rounded corners.
-     * @param filled specifies whether the rectangle should be filled.
-     * @param color      the variable color of the rectangle.
-     * @param x          the variable x-coordinate of the upper-left corner of the rectangle.
-     * @param y          the variable y-coordinate of the upper-left corner of the rectangle.
-     * @param width      the variable width of the rectangle.
-     * @param height     the variable height of the rectangle.
-     * @param arcwWidth  the variable width of the corner arcs.
-     * @param arcwHeight the variable height of the corner arcs.
+     * @param filled    specifies whether the rectangle should be filled.
+     * @param x         the variable x-coordinate of the upper-left corner of the rectangle.
+     * @param y         the variable y-coordinate of the upper-left corner of the rectangle.
+     * @param width     the variable width of the rectangle.
+     * @param height    the variable height of the rectangle.
+     * @param arcWidth  the variable width of the corner arcs.
+     * @param arcHeight the variable height of the corner arcs.
      */
-    public RectangleSprite(boolean       filled,
-                           VariableColor color,
-                           VariableInt   x,
-                           VariableInt   y,
-                           VariableInt   width,
-                           VariableInt   height,
-                           VariableInt   arcWidth,
-                           VariableInt   arcHeight)
+    public RectangleSprite(boolean     filled,
+                           VariableInt x,
+                           VariableInt y,
+                           VariableInt width,
+                           VariableInt height,
+                           VariableInt arcWidth,
+                           VariableInt arcHeight)
     {
         this.filled    = filled;
-        this.color     = color;
         this.x         = x;
         this.y         = y;
         this.width     = width;
@@ -93,8 +87,6 @@ public class RectangleSprite implements Sprite
 
     public void paint(Graphics graphics, long time)
     {
-        graphics.setColor(color.getColor(time));
-
         int xt = x.getInt(time);
         int yt = y.getInt(time);
         int w  = width.getInt(time);
diff --git a/src/proguard/gui/splash/SawToothTiming.java b/src/proguard/gui/splash/SawToothTiming.java
index 4257a66..d61012a 100644
--- a/src/proguard/gui/splash/SawToothTiming.java
+++ b/src/proguard/gui/splash/SawToothTiming.java
@@ -1,8 +1,8 @@
-/* $Id: SawToothTiming.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: SawToothTiming.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/ShadowedSprite.java b/src/proguard/gui/splash/ShadowedSprite.java
index b292bde..b632b55 100644
--- a/src/proguard/gui/splash/ShadowedSprite.java
+++ b/src/proguard/gui/splash/ShadowedSprite.java
@@ -1,8 +1,8 @@
-/* $Id: ShadowedSprite.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ShadowedSprite.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/SineTiming.java b/src/proguard/gui/splash/SineTiming.java
index 762be91..8312577 100644
--- a/src/proguard/gui/splash/SineTiming.java
+++ b/src/proguard/gui/splash/SineTiming.java
@@ -1,8 +1,8 @@
-/* $Id: SineTiming.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: SineTiming.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/SmoothTiming.java b/src/proguard/gui/splash/SmoothTiming.java
index 7287c90..8e5b9b1 100644
--- a/src/proguard/gui/splash/SmoothTiming.java
+++ b/src/proguard/gui/splash/SmoothTiming.java
@@ -1,8 +1,8 @@
-/* $Id: SmoothTiming.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: SmoothTiming.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/SplashPanel.java b/src/proguard/gui/splash/SplashPanel.java
index fe75824..98b581e 100644
--- a/src/proguard/gui/splash/SplashPanel.java
+++ b/src/proguard/gui/splash/SplashPanel.java
@@ -1,8 +1,8 @@
-/* $Id: SplashPanel.java,v 1.11.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: SplashPanel.java,v 1.11.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/Sprite.java b/src/proguard/gui/splash/Sprite.java
index 0b75a3a..eaf6534 100644
--- a/src/proguard/gui/splash/Sprite.java
+++ b/src/proguard/gui/splash/Sprite.java
@@ -1,8 +1,8 @@
-/* $Id: Sprite.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: Sprite.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/TextSprite.java b/src/proguard/gui/splash/TextSprite.java
index 57eb1b7..9d7df26 100644
--- a/src/proguard/gui/splash/TextSprite.java
+++ b/src/proguard/gui/splash/TextSprite.java
@@ -1,8 +1,8 @@
-/* $Id: TextSprite.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: TextSprite.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/TimeSwitchSprite.java b/src/proguard/gui/splash/TimeSwitchSprite.java
index 92b8082..cde8f36 100644
--- a/src/proguard/gui/splash/TimeSwitchSprite.java
+++ b/src/proguard/gui/splash/TimeSwitchSprite.java
@@ -1,8 +1,8 @@
-/* $Id: TimeSwitchSprite.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: TimeSwitchSprite.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/Timing.java b/src/proguard/gui/splash/Timing.java
index c64c8bd..da8f783 100644
--- a/src/proguard/gui/splash/Timing.java
+++ b/src/proguard/gui/splash/Timing.java
@@ -1,8 +1,8 @@
-/* $Id: Timing.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: Timing.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/TypeWriterString.java b/src/proguard/gui/splash/TypeWriterString.java
index 3495598..9fa5d04 100644
--- a/src/proguard/gui/splash/TypeWriterString.java
+++ b/src/proguard/gui/splash/TypeWriterString.java
@@ -1,8 +1,8 @@
-/* $Id: TypeWriterString.java,v 1.7.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: TypeWriterString.java,v 1.7.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/VariableColor.java b/src/proguard/gui/splash/VariableColor.java
index 123924c..6434718 100644
--- a/src/proguard/gui/splash/VariableColor.java
+++ b/src/proguard/gui/splash/VariableColor.java
@@ -1,8 +1,8 @@
-/* $Id: VariableColor.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: VariableColor.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/VariableDouble.java b/src/proguard/gui/splash/VariableDouble.java
index 2872f60..96c961e 100644
--- a/src/proguard/gui/splash/VariableDouble.java
+++ b/src/proguard/gui/splash/VariableDouble.java
@@ -1,8 +1,8 @@
-/* $Id: VariableDouble.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: VariableDouble.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/VariableFont.java b/src/proguard/gui/splash/VariableFont.java
index 35c6298..3c134cb 100644
--- a/src/proguard/gui/splash/VariableFont.java
+++ b/src/proguard/gui/splash/VariableFont.java
@@ -1,8 +1,8 @@
-/* $Id: VariableFont.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: VariableFont.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/VariableInt.java b/src/proguard/gui/splash/VariableInt.java
index 8bffb6d..e7cda25 100644
--- a/src/proguard/gui/splash/VariableInt.java
+++ b/src/proguard/gui/splash/VariableInt.java
@@ -1,8 +1,8 @@
-/* $Id: VariableInt.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: VariableInt.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/VariableSizeFont.java b/src/proguard/gui/splash/VariableSizeFont.java
index 719efd0..0dcfe78 100644
--- a/src/proguard/gui/splash/VariableSizeFont.java
+++ b/src/proguard/gui/splash/VariableSizeFont.java
@@ -1,8 +1,8 @@
-/* $Id: VariableSizeFont.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: VariableSizeFont.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/gui/splash/VariableString.java b/src/proguard/gui/splash/VariableString.java
index 340627b..2481a46 100644
--- a/src/proguard/gui/splash/VariableString.java
+++ b/src/proguard/gui/splash/VariableString.java
@@ -1,8 +1,8 @@
-/* $Id: VariableString.java,v 1.6.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: VariableString.java,v 1.6.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/CascadingDataEntryWriter.java b/src/proguard/io/CascadingDataEntryWriter.java
index a3a22de..e754406 100644
--- a/src/proguard/io/CascadingDataEntryWriter.java
+++ b/src/proguard/io/CascadingDataEntryWriter.java
@@ -1,8 +1,8 @@
-/* $Id: CascadingDataEntryWriter.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: CascadingDataEntryWriter.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/ClassFileFilter.java b/src/proguard/io/ClassFileFilter.java
index fc37a10..4ffe175 100644
--- a/src/proguard/io/ClassFileFilter.java
+++ b/src/proguard/io/ClassFileFilter.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileFilter.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassFileFilter.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/ClassFileReader.java b/src/proguard/io/ClassFileReader.java
index fea012d..d29eb99 100644
--- a/src/proguard/io/ClassFileReader.java
+++ b/src/proguard/io/ClassFileReader.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileReader.java,v 1.6.2.3 2006/11/26 15:29:20 eric Exp $
+/* $Id: ClassFileReader.java,v 1.6.2.4 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/ClassFileRewriter.java b/src/proguard/io/ClassFileRewriter.java
index 51542a1..8146423 100644
--- a/src/proguard/io/ClassFileRewriter.java
+++ b/src/proguard/io/ClassFileRewriter.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileRewriter.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: ClassFileRewriter.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/DataEntry.java b/src/proguard/io/DataEntry.java
index b1b8b2b..1ba62fa 100644
--- a/src/proguard/io/DataEntry.java
+++ b/src/proguard/io/DataEntry.java
@@ -1,8 +1,8 @@
-/* $Id: DataEntry.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: DataEntry.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/DataEntryCopier.java b/src/proguard/io/DataEntryCopier.java
index 9d8886f..b6703a3 100644
--- a/src/proguard/io/DataEntryCopier.java
+++ b/src/proguard/io/DataEntryCopier.java
@@ -1,8 +1,8 @@
-/* $Id: DataEntryCopier.java,v 1.4.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: DataEntryCopier.java,v 1.4.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/DataEntryPump.java b/src/proguard/io/DataEntryPump.java
index 0558450..382b8f5 100644
--- a/src/proguard/io/DataEntryPump.java
+++ b/src/proguard/io/DataEntryPump.java
@@ -1,8 +1,8 @@
-/* $Id: DataEntryPump.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: DataEntryPump.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/DataEntryReader.java b/src/proguard/io/DataEntryReader.java
index 497e91a..c47a9d0 100644
--- a/src/proguard/io/DataEntryReader.java
+++ b/src/proguard/io/DataEntryReader.java
@@ -1,8 +1,8 @@
-/* $Id: DataEntryReader.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: DataEntryReader.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/DataEntryWriter.java b/src/proguard/io/DataEntryWriter.java
index add4b00..9b1bca8 100644
--- a/src/proguard/io/DataEntryWriter.java
+++ b/src/proguard/io/DataEntryWriter.java
@@ -1,8 +1,8 @@
-/* $Id: DataEntryWriter.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: DataEntryWriter.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/DirectoryPump.java b/src/proguard/io/DirectoryPump.java
index d39a4d7..be93969 100644
--- a/src/proguard/io/DirectoryPump.java
+++ b/src/proguard/io/DirectoryPump.java
@@ -1,8 +1,8 @@
-/* $Id: DirectoryPump.java,v 1.4.2.2 2006/02/13 00:20:43 eric Exp $
+/* $Id: DirectoryPump.java,v 1.4.2.3 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/DirectoryWriter.java b/src/proguard/io/DirectoryWriter.java
index 664d66a..3ed2d1f 100644
--- a/src/proguard/io/DirectoryWriter.java
+++ b/src/proguard/io/DirectoryWriter.java
@@ -1,8 +1,8 @@
-/* $Id: DirectoryWriter.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: DirectoryWriter.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/FileDataEntry.java b/src/proguard/io/FileDataEntry.java
index 2b5fe2c..c8d6b43 100644
--- a/src/proguard/io/FileDataEntry.java
+++ b/src/proguard/io/FileDataEntry.java
@@ -1,8 +1,8 @@
-/* $Id: FileDataEntry.java,v 1.3.2.1 2006/01/16 22:57:55 eric Exp $
+/* $Id: FileDataEntry.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/FilteredDataEntryReader.java b/src/proguard/io/FilteredDataEntryReader.java
index 60842ae..4d8ae2f 100644
--- a/src/proguard/io/FilteredDataEntryReader.java
+++ b/src/proguard/io/FilteredDataEntryReader.java
@@ -1,8 +1,8 @@
-/* $Id: FilteredDataEntryReader.java,v 1.3.2.2 2006/11/26 15:29:20 eric Exp $
+/* $Id: FilteredDataEntryReader.java,v 1.3.2.3 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/FilteredDataEntryWriter.java b/src/proguard/io/FilteredDataEntryWriter.java
index 77da91a..8bc8ae1 100644
--- a/src/proguard/io/FilteredDataEntryWriter.java
+++ b/src/proguard/io/FilteredDataEntryWriter.java
@@ -1,8 +1,8 @@
-/* $Id: FilteredDataEntryWriter.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: FilteredDataEntryWriter.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/Finisher.java b/src/proguard/io/Finisher.java
index 3cdfbcd..c1ade30 100644
--- a/src/proguard/io/Finisher.java
+++ b/src/proguard/io/Finisher.java
@@ -1,8 +1,8 @@
-/* $Id: Finisher.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: Finisher.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/JarReader.java b/src/proguard/io/JarReader.java
index 4be0588..b66ee53 100644
--- a/src/proguard/io/JarReader.java
+++ b/src/proguard/io/JarReader.java
@@ -1,8 +1,8 @@
-/* $Id: JarReader.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: JarReader.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/JarWriter.java b/src/proguard/io/JarWriter.java
index f675566..3277ba2 100644
--- a/src/proguard/io/JarWriter.java
+++ b/src/proguard/io/JarWriter.java
@@ -1,8 +1,8 @@
-/* $Id: JarWriter.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: JarWriter.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/ParentDataEntryWriter.java b/src/proguard/io/ParentDataEntryWriter.java
index b50feea..09f5674 100644
--- a/src/proguard/io/ParentDataEntryWriter.java
+++ b/src/proguard/io/ParentDataEntryWriter.java
@@ -1,8 +1,8 @@
-/* $Id: ParentDataEntryWriter.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ParentDataEntryWriter.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/RenamedDataEntry.java b/src/proguard/io/RenamedDataEntry.java
index 1ea9ce0..61163f5 100644
--- a/src/proguard/io/RenamedDataEntry.java
+++ b/src/proguard/io/RenamedDataEntry.java
@@ -1,8 +1,8 @@
-/* $Id: RenamedDataEntry.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: RenamedDataEntry.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/io/ZipDataEntry.java b/src/proguard/io/ZipDataEntry.java
index f1de752..0afd9a7 100644
--- a/src/proguard/io/ZipDataEntry.java
+++ b/src/proguard/io/ZipDataEntry.java
@@ -1,8 +1,8 @@
-/* $Id: ZipDataEntry.java,v 1.4.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ZipDataEntry.java,v 1.4.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/AttributeShrinker.java b/src/proguard/obfuscate/AttributeShrinker.java
index d125a44..b5c8851 100644
--- a/src/proguard/obfuscate/AttributeShrinker.java
+++ b/src/proguard/obfuscate/AttributeShrinker.java
@@ -1,8 +1,8 @@
-/* $Id: AttributeShrinker.java,v 1.17.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: AttributeShrinker.java,v 1.17.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/AttributeUsageMarker.java b/src/proguard/obfuscate/AttributeUsageMarker.java
index 836d4eb..50b5037 100644
--- a/src/proguard/obfuscate/AttributeUsageMarker.java
+++ b/src/proguard/obfuscate/AttributeUsageMarker.java
@@ -1,8 +1,8 @@
-/* $Id: AttributeUsageMarker.java,v 1.24.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: AttributeUsageMarker.java,v 1.24.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/ClassFileObfuscator.java b/src/proguard/obfuscate/ClassFileObfuscator.java
index b5e927b..43d2252 100644
--- a/src/proguard/obfuscate/ClassFileObfuscator.java
+++ b/src/proguard/obfuscate/ClassFileObfuscator.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileObfuscator.java,v 1.24.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ClassFileObfuscator.java,v 1.24.2.3 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -39,8 +39,8 @@ import java.util.*;
 public class ClassFileObfuscator
   implements ClassFileVisitor
 {
-    private boolean useMixedCaseClassNames;
     private String  defaultPackageName;
+    private boolean useMixedCaseClassNames;
 
     // Map: [package name - class name factory]
     private final Map         packageMap = new HashMap();
@@ -50,14 +50,14 @@ public class ClassFileObfuscator
 
     /**
      * Creates a new ClassFileObfuscator.
-     * @param programClassPool   the class pool in which class names have to be
-     *                           unique.
-     * @param defaultPackageName the package in which all classes that don't
-     *                           have fixed names will be put, or <code>null</code>,
-     *                           if all classes can remain in their original
-     *                           packages.
-     * @param allowAggressiveOverloading a flag that specifies whether class
-     *                           members can be overloaded aggressively.
+     * @param programClassPool       the class pool in which class names have
+     *                               to be unique.
+     * @param defaultPackageName     the package in which all classes that don't
+     *                               have fixed names will be put, or
+     *                               <code>null</code>, if all classes can
+     *                               remain in their original packages.
+     * @param useMixedCaseClassNames specifies whether to use mixed case
+     *                               class names.
      */
     public ClassFileObfuscator(ClassPool programClassPool,
                                String    defaultPackageName,
diff --git a/src/proguard/obfuscate/ClassFileOpener.java b/src/proguard/obfuscate/ClassFileOpener.java
index cc18bb8..1a2c3fb 100644
--- a/src/proguard/obfuscate/ClassFileOpener.java
+++ b/src/proguard/obfuscate/ClassFileOpener.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileOpener.java,v 1.2.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ClassFileOpener.java,v 1.2.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/ClassFileRenamer.java b/src/proguard/obfuscate/ClassFileRenamer.java
index 8814eea..870e3bf 100644
--- a/src/proguard/obfuscate/ClassFileRenamer.java
+++ b/src/proguard/obfuscate/ClassFileRenamer.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileRenamer.java,v 1.42.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ClassFileRenamer.java,v 1.42.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This library is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/DictionaryNameFactory.java b/src/proguard/obfuscate/DictionaryNameFactory.java
index 33f507b..4513d37 100644
--- a/src/proguard/obfuscate/DictionaryNameFactory.java
+++ b/src/proguard/obfuscate/DictionaryNameFactory.java
@@ -1,8 +1,8 @@
-/* $Id: DictionaryNameFactory.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: DictionaryNameFactory.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/MapCleaner.java b/src/proguard/obfuscate/MapCleaner.java
index 2480245..6f85b98 100644
--- a/src/proguard/obfuscate/MapCleaner.java
+++ b/src/proguard/obfuscate/MapCleaner.java
@@ -1,8 +1,8 @@
-/* $Id: MapCleaner.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: MapCleaner.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/MappingKeeper.java b/src/proguard/obfuscate/MappingKeeper.java
index 32602c5..db1ba21 100644
--- a/src/proguard/obfuscate/MappingKeeper.java
+++ b/src/proguard/obfuscate/MappingKeeper.java
@@ -1,8 +1,8 @@
-/* $Id: MappingKeeper.java,v 1.10.2.2 2006/11/25 16:56:11 eric Exp $
+/* $Id: MappingKeeper.java,v 1.10.2.3 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/MappingPrinter.java b/src/proguard/obfuscate/MappingPrinter.java
index d4a1145..2717f9d 100644
--- a/src/proguard/obfuscate/MappingPrinter.java
+++ b/src/proguard/obfuscate/MappingPrinter.java
@@ -1,8 +1,8 @@
-/* $Id: MappingPrinter.java,v 1.19.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: MappingPrinter.java,v 1.19.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/MappingProcessor.java b/src/proguard/obfuscate/MappingProcessor.java
index b5b3272..7255614 100644
--- a/src/proguard/obfuscate/MappingProcessor.java
+++ b/src/proguard/obfuscate/MappingProcessor.java
@@ -1,8 +1,8 @@
-/* $Id: MappingProcessor.java,v 1.5.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: MappingProcessor.java,v 1.5.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/MappingReader.java b/src/proguard/obfuscate/MappingReader.java
index f5fb978..fa878af 100644
--- a/src/proguard/obfuscate/MappingReader.java
+++ b/src/proguard/obfuscate/MappingReader.java
@@ -1,8 +1,8 @@
-/* $Id: MappingReader.java,v 1.10.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: MappingReader.java,v 1.10.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/MemberInfoNameCleaner.java b/src/proguard/obfuscate/MemberInfoNameCleaner.java
index add4264..0aeeb4c 100644
--- a/src/proguard/obfuscate/MemberInfoNameCleaner.java
+++ b/src/proguard/obfuscate/MemberInfoNameCleaner.java
@@ -1,8 +1,8 @@
-/* $Id: MemberInfoNameCleaner.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: MemberInfoNameCleaner.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/MemberInfoNameCollector.java b/src/proguard/obfuscate/MemberInfoNameCollector.java
index bc4e49a..76640c7 100644
--- a/src/proguard/obfuscate/MemberInfoNameCollector.java
+++ b/src/proguard/obfuscate/MemberInfoNameCollector.java
@@ -1,8 +1,8 @@
-/* $Id: MemberInfoNameCollector.java,v 1.3.2.2 2006/06/07 22:36:52 eric Exp $
+/* $Id: MemberInfoNameCollector.java,v 1.3.2.4 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -119,9 +119,12 @@ public class MemberInfoNameCollector implements MemberInfoVisitor
             // creating a new [new name - old name] map if necessary.
             Map nameMap = MemberInfoObfuscator.retrieveNameMap(descriptorMap, descriptor);
 
-            // Is the other original name different from this original name?
-            if (nameMap.get(newName) == null ||
-                MemberInfoObfuscator.hasFixedNewMemberName(memberInfo))
+            // Isn't there another original name for this new name, or should
+            // this original name get priority?
+            Object otherName = nameMap.get(newName);
+            if (otherName == null                                      ||
+                MemberInfoObfuscator.hasFixedNewMemberName(memberInfo) ||
+                name.compareTo(otherName) < 0)
             {
                 // Remember not to use the new name again in this name space.
                 nameMap.put(newName, name);
diff --git a/src/proguard/obfuscate/MemberInfoNameConflictFilter.java b/src/proguard/obfuscate/MemberInfoNameConflictFilter.java
deleted file mode 100644
index 880fd4b..0000000
--- a/src/proguard/obfuscate/MemberInfoNameConflictFilter.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/* $Id: MemberInfoNameConflictFilter.java,v 1.3.2.2 2006/11/25 16:56:11 eric Exp $
- *
- * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
- *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-package proguard.obfuscate;
-
-import proguard.classfile.*;
-import proguard.classfile.visitor.MemberInfoVisitor;
-
-import java.util.*;
-
-/**
- * This <code>MemberInfoVisitor</code> delegates its visits to another given
- * <code>MemberInfoVisitor</code>, but only when the visited member has been
- * marked as having a conflicting name.
- *
- * @see MemberInfoObfuscator
- *
- * @author Eric Lafortune
- */
-public class MemberInfoNameConflictFilter implements MemberInfoVisitor
-{
-    private static final String CONFLICT = "_ CONFLICT _";
-
-
-    private MemberInfoVisitor memberInfoVisitor;
-
-
-    /**
-     * Creates a new MemberInfoNameConflictFilter.
-     * @param memberInfoVisitor the <code>MemberInfoVisitor</code> to which
-     *                          visits will be delegated.
-     */
-    public MemberInfoNameConflictFilter(MemberInfoVisitor memberInfoVisitor)
-    {
-        this.memberInfoVisitor = memberInfoVisitor;
-    }
-
-
-    // Implementations for MemberInfoVisitor.
-
-    public void visitProgramFieldInfo(ProgramClassFile programClassFile, ProgramFieldInfo programFieldInfo)
-    {
-        if (hasConflictingName(programFieldInfo))
-        {
-            memberInfoVisitor.visitProgramFieldInfo(programClassFile, programFieldInfo);
-        }
-    }
-
-
-    public void visitProgramMethodInfo(ProgramClassFile programClassFile, ProgramMethodInfo programMethodInfo)
-    {
-        if (hasConflictingName(programMethodInfo))
-        {
-            memberInfoVisitor.visitProgramMethodInfo(programClassFile, programMethodInfo);
-        }
-    }
-
-
-    public void visitLibraryFieldInfo(LibraryClassFile libraryClassFile, LibraryFieldInfo libraryFieldInfo) {}
-    public void visitLibraryMethodInfo(LibraryClassFile libraryClassFile, LibraryMethodInfo libraryMethodInfo) {}
-
-
-    // Small utility methods.
-
-    /**
-     * Marks the given class member as having a conflicting name.
-     * @param memberInfo the class member.
-     */
-    static void markConflictingName(MemberInfo memberInfo)
-    {
-        MemberInfoObfuscator.setNewMemberName(memberInfo, CONFLICT);
-    }
-
-
-    /**
-     * Returns whether the given class member has been marked as having a
-     * conflicting name.
-     * @param memberInfo the class member.
-     */
-    static boolean hasConflictingName(MemberInfo memberInfo)
-    {
-        String newName = MemberInfoObfuscator.newMemberName(memberInfo);
-
-        return newName != null &&
-               newName.equals(CONFLICT);
-    }
-}
diff --git a/src/proguard/obfuscate/MemberInfoNameConflictFixer.java b/src/proguard/obfuscate/MemberInfoNameConflictFixer.java
new file mode 100644
index 0000000..454550c
--- /dev/null
+++ b/src/proguard/obfuscate/MemberInfoNameConflictFixer.java
@@ -0,0 +1,156 @@
+/* $Id: MemberInfoNameConflictFixer.java,v 1.1.2.2 2007/01/31 21:50:12 eric Exp $
+ *
+ * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
+ *
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package proguard.obfuscate;
+
+import proguard.classfile.util.*;
+import proguard.classfile.visitor.MemberInfoVisitor;
+import proguard.classfile.*;
+
+import java.util.*;
+
+/**
+ * This MemberInfoVisitor solves obfuscation naming conflicts in all class
+ * members that it visits. It avoids names from the given descriptor map,
+ * delegating to the given obfuscator in order to get a new name if necessary.
+ *
+ * @author Eric Lafortune
+ */
+public class MemberInfoNameConflictFixer implements MemberInfoVisitor
+{
+    private boolean              allowAggressiveOverloading;
+    private Map                  descriptorMap;
+    private WarningPrinter       warningPrinter;
+    private MemberInfoObfuscator memberInfoObfuscator;
+
+
+    /**
+     * Creates a new MemberInfoNameConflictFixer.
+     * @param allowAggressiveOverloading a flag that specifies whether class
+     *                                   members can be overloaded aggressively.
+     * @param descriptorMap              the map of descriptors to
+     *                                   [new name - old name] maps.
+     * @param warningPrinter             an optional warning printer to which
+     *                                   warnings about conflicting name
+     *                                   mappings can be printed.
+     * @param memberInfoObfuscator       the obfuscator that can assign new
+     *                                   names to members with conflicting
+     *                                   names.
+     */
+    public MemberInfoNameConflictFixer(boolean              allowAggressiveOverloading,
+                                       Map                  descriptorMap,
+                                       WarningPrinter       warningPrinter,
+                                       MemberInfoObfuscator memberInfoObfuscator)
+    {
+        this.allowAggressiveOverloading = allowAggressiveOverloading;
+        this.descriptorMap              = descriptorMap;
+        this.warningPrinter             = warningPrinter;
+        this.memberInfoObfuscator       = memberInfoObfuscator;
+    }
+
+
+
+
+    // Implementations for MemberInfoVisitor.
+
+    public void visitProgramFieldInfo(ProgramClassFile programClassFile, ProgramFieldInfo programFieldInfo)
+    {
+        visitMemberInfo(programClassFile, programFieldInfo, true);
+    }
+
+
+    public void visitProgramMethodInfo(ProgramClassFile programClassFile, ProgramMethodInfo programMethodInfo)
+    {
+        // Special cases: <clinit> and <init> are always kept unchanged.
+        // We can ignore them here.
+        String name = programMethodInfo.getName(programClassFile);
+        if (name.equals(ClassConstants.INTERNAL_METHOD_NAME_CLINIT) ||
+            name.equals(ClassConstants.INTERNAL_METHOD_NAME_INIT))
+        {
+            return;
+        }
+
+        visitMemberInfo(programClassFile, programMethodInfo, false);
+    }
+
+
+    public void visitLibraryFieldInfo(LibraryClassFile libraryClassFile, LibraryFieldInfo libraryFieldInfo) {}
+    public void visitLibraryMethodInfo(LibraryClassFile libraryClassFile, LibraryMethodInfo libraryMethodInfo) {}
+
+
+    /**
+     * Obfuscates the given class member.
+     * @param classFile  the class file of the given member.
+     * @param memberInfo the class member to be obfuscated.
+     * @param isField    speficies whether the class member is a field.
+     */
+    private void visitMemberInfo(ClassFile  classFile,
+                                 MemberInfo memberInfo,
+                                 boolean    isField)
+    {
+        // Get the member's name and descriptor.
+        String name       = memberInfo.getName(classFile);
+        String descriptor = memberInfo.getDescriptor(classFile);
+
+        // Check whether we're allowed to overload aggressively.
+        if (!allowAggressiveOverloading)
+        {
+            // Trim the return argument from the descriptor if not.
+            // Works for fields and methods alike.
+            descriptor = descriptor.substring(0, descriptor.indexOf(')')+1);
+        }
+
+        // Get the name map, creating a new one if necessary.
+        Map nameMap = MemberInfoObfuscator.retrieveNameMap(descriptorMap, descriptor);
+
+        // Get the member's new name.
+        String newName = MemberInfoObfuscator.newMemberName(memberInfo);
+
+        String previousName = (String)nameMap.get(newName);
+        if (!name.equals(previousName))
+        {
+            // There's a conflict! A member (with a given old name) in a
+            // first namespace has received the same new name as this
+            // member (with a different old name) in a second name space,
+            // and now these two have to live together in this name space.
+            if (MemberInfoObfuscator.hasFixedNewMemberName(memberInfo) &&
+                warningPrinter != null)
+            {
+                descriptor = memberInfo.getDescriptor(classFile);
+                warningPrinter.print("Warning: " + ClassUtil.externalClassName(classFile.getName()) +
+                                     (isField ?
+                                         ": field '" + ClassUtil.externalFullFieldDescription(0, name, descriptor) :
+                                         ": method '" + ClassUtil.externalFullMethodDescription(classFile.getName(), 0, name, descriptor)) +
+                                     "' can't be mapped to '" + newName +
+                                     "' because it would conflict with " +
+                                     (isField ?
+                                         "field '" :
+                                         "method '" ) + previousName +
+                                     "', which is already being mapped to '" + newName + "'");
+            }
+
+            // Clear the conflicting name.
+            MemberInfoObfuscator.setNewMemberName(memberInfo, null);
+
+            // Assign a new name.
+            memberInfo.accept(classFile, memberInfoObfuscator);
+        }
+    }
+}
diff --git a/src/proguard/obfuscate/MemberInfoObfuscator.java b/src/proguard/obfuscate/MemberInfoObfuscator.java
index cb54d59..a928cb8 100644
--- a/src/proguard/obfuscate/MemberInfoObfuscator.java
+++ b/src/proguard/obfuscate/MemberInfoObfuscator.java
@@ -1,8 +1,8 @@
-/* $Id: MemberInfoObfuscator.java,v 1.14.2.3 2006/11/25 16:56:11 eric Exp $
+/* $Id: MemberInfoObfuscator.java,v 1.14.2.5 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -42,7 +42,6 @@ public class MemberInfoObfuscator implements MemberInfoVisitor
     private boolean        allowAggressiveOverloading;
     private NameFactory    nameFactory;
     private Map            descriptorMap;
-    private WarningPrinter warningPrinter;
 
 
     /**
@@ -53,19 +52,14 @@ public class MemberInfoObfuscator implements MemberInfoVisitor
      *                                   obfuscated member names.
      * @param descriptorMap              the map of descriptors to
      *                                   [new name - old name] maps.
-     * @param warningPrinter             an optional warning printer to which
-     *                                   warnings about conflicting name
-     *                                   mappings can be printed.
      */
     public MemberInfoObfuscator(boolean        allowAggressiveOverloading,
                                 NameFactory    nameFactory,
-                                Map            descriptorMap,
-                                WarningPrinter warningPrinter)
+                                Map            descriptorMap)
     {
         this.allowAggressiveOverloading = allowAggressiveOverloading;
         this.nameFactory                = nameFactory;
         this.descriptorMap              = descriptorMap;
-        this.warningPrinter             = warningPrinter;
     }
 
 
@@ -75,7 +69,7 @@ public class MemberInfoObfuscator implements MemberInfoVisitor
 
     public void visitProgramFieldInfo(ProgramClassFile programClassFile, ProgramFieldInfo programFieldInfo)
     {
-        visitMemberInfo(programClassFile, programFieldInfo, true);
+        visitMemberInfo(programClassFile, programFieldInfo);
     }
 
 
@@ -90,7 +84,7 @@ public class MemberInfoObfuscator implements MemberInfoVisitor
             return;
         }
 
-        visitMemberInfo(programClassFile, programMethodInfo, false);
+        visitMemberInfo(programClassFile, programMethodInfo);
     }
 
 
@@ -102,17 +96,15 @@ public class MemberInfoObfuscator implements MemberInfoVisitor
      * Obfuscates the given class member.
      * @param classFile  the class file of the given member.
      * @param memberInfo the class member to be obfuscated.
-     * @param isField    speficies whether the class member is a field.
      */
     private void visitMemberInfo(ClassFile  classFile,
-                                 MemberInfo memberInfo,
-                                 boolean    isField)
+                                 MemberInfo memberInfo)
     {
         // Get the member's name and descriptor.
         String name       = memberInfo.getName(classFile);
         String descriptor = memberInfo.getDescriptor(classFile);
 
-        // Check whether we're allowed to do aggressive overloading
+        // Check whether we're allowed to overload aggressively.
         if (!allowAggressiveOverloading)
         {
             // Trim the return argument from the descriptor if not.
@@ -144,37 +136,6 @@ public class MemberInfoObfuscator implements MemberInfoVisitor
             // Assign the new name.
             setNewMemberName(memberInfo, newName);
         }
-        else
-        {
-            String previousName = (String)nameMap.get(newName);
-            if (!name.equals(previousName))
-            {
-                // There's a conflict! A member (with a given old name) in a
-                // first namespace has received the same new name as this
-                // member (with a different old name) in a second name space,
-                // and now these two have to live together in this name space.
-                if (hasFixedNewMemberName(memberInfo) &&
-                    warningPrinter != null)
-                {
-                    descriptor = memberInfo.getDescriptor(classFile);
-                    warningPrinter.print("Warning: " + ClassUtil.externalClassName(classFile.getName()) +
-                                         (isField ?
-                                             ": field '" + ClassUtil.externalFullFieldDescription(0, name, descriptor) :
-                                             ": method '" + ClassUtil.externalFullMethodDescription(classFile.getName(), 0, name, descriptor)) +
-                                         "' can't be mapped to '" + newName +
-                                         "' because it would conflict with " +
-                                         (isField ?
-                                             "field '" :
-                                             "method '" ) + previousName +
-                                         "', which is already being mapped to '" + newName + "'");
-                }
-
-                // TODO: Preferentially keep the fixed name.
-
-                // Mark the name as conflicting.
-                MemberInfoNameConflictFilter.markConflictingName(memberInfo);
-            }
-        }
     }
 
 
diff --git a/src/proguard/obfuscate/MemberInfoSpecialNameFilter.java b/src/proguard/obfuscate/MemberInfoSpecialNameFilter.java
index 1267dbc..2b2a8ed 100644
--- a/src/proguard/obfuscate/MemberInfoSpecialNameFilter.java
+++ b/src/proguard/obfuscate/MemberInfoSpecialNameFilter.java
@@ -1,8 +1,8 @@
-/* $Id: MemberInfoSpecialNameFilter.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: MemberInfoSpecialNameFilter.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/MultiMappingProcessor.java b/src/proguard/obfuscate/MultiMappingProcessor.java
index 69b591d..50789a5 100644
--- a/src/proguard/obfuscate/MultiMappingProcessor.java
+++ b/src/proguard/obfuscate/MultiMappingProcessor.java
@@ -1,8 +1,8 @@
-/* $Id: MultiMappingProcessor.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: MultiMappingProcessor.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/NameAndTypeShrinker.java b/src/proguard/obfuscate/NameAndTypeShrinker.java
index b4c1cbb..c46b3c0 100644
--- a/src/proguard/obfuscate/NameAndTypeShrinker.java
+++ b/src/proguard/obfuscate/NameAndTypeShrinker.java
@@ -1,8 +1,8 @@
-/* $Id: NameAndTypeShrinker.java,v 1.24.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: NameAndTypeShrinker.java,v 1.24.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/NameAndTypeUsageMarker.java b/src/proguard/obfuscate/NameAndTypeUsageMarker.java
index b0b1c30..777c20c 100644
--- a/src/proguard/obfuscate/NameAndTypeUsageMarker.java
+++ b/src/proguard/obfuscate/NameAndTypeUsageMarker.java
@@ -1,8 +1,8 @@
-/* $Id: NameAndTypeUsageMarker.java,v 1.14.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: NameAndTypeUsageMarker.java,v 1.14.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/NameFactory.java b/src/proguard/obfuscate/NameFactory.java
index 2eff8e2..a480bb5 100644
--- a/src/proguard/obfuscate/NameFactory.java
+++ b/src/proguard/obfuscate/NameFactory.java
@@ -1,8 +1,8 @@
-/* $Id: NameFactory.java,v 1.14.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: NameFactory.java,v 1.14.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/NameFactoryResetter.java b/src/proguard/obfuscate/NameFactoryResetter.java
index 6deb6f0..6d832a3 100644
--- a/src/proguard/obfuscate/NameFactoryResetter.java
+++ b/src/proguard/obfuscate/NameFactoryResetter.java
@@ -1,8 +1,8 @@
-/* $Id: NameFactoryResetter.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: NameFactoryResetter.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/NameMarker.java b/src/proguard/obfuscate/NameMarker.java
index 056833a..21b51d7 100644
--- a/src/proguard/obfuscate/NameMarker.java
+++ b/src/proguard/obfuscate/NameMarker.java
@@ -1,8 +1,8 @@
-/* $Id: NameMarker.java,v 1.17.2.2 2006/05/06 13:50:43 eric Exp $
+/* $Id: NameMarker.java,v 1.17.2.3 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/Obfuscator.java b/src/proguard/obfuscate/Obfuscator.java
index fa5066f..1e3b899 100644
--- a/src/proguard/obfuscate/Obfuscator.java
+++ b/src/proguard/obfuscate/Obfuscator.java
@@ -1,8 +1,8 @@
-/* $Id: Obfuscator.java,v 1.2.2.4 2006/11/25 16:56:11 eric Exp $
+/* $Id: Obfuscator.java,v 1.2.2.6 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -69,22 +69,16 @@ public class Obfuscator
         programClassPool.classFilesAccept(new ClassFileCleaner());
         libraryClassPool.classFilesAccept(new ClassFileCleaner());
 
-        // Do the class member names have to correspond globally?
-        if (configuration.useUniqueClassMemberNames)
-        {
-            // Link all class members in all classes.
-            ClassFileVisitor memberInfoLinker =
-                new AllMemberInfoVisitor(new MethodInfoLinker());
+        // If the class member names have to correspond globally,
+        // link all class members in all classes, otherwise
+        // link all non-private methods in all class hierarchies.
+        ClassFileVisitor memberInfoLinker =
+            configuration.useUniqueClassMemberNames ?
+                (ClassFileVisitor)new AllMemberInfoVisitor(new MethodInfoLinker()) :
+                (ClassFileVisitor)new BottomClassFileFilter(new MethodInfoLinker());
 
-            programClassPool.classFilesAccept(memberInfoLinker);
-            libraryClassPool.classFilesAccept(memberInfoLinker);
-        }
-        else
-        {
-            // Link all non-private methods in all class hierarchies.
-            programClassPool.classFilesAccept(new BottomClassFileFilter(
-                                              new MethodInfoLinker()));
-        }
+        programClassPool.classFilesAccept(memberInfoLinker);
+        libraryClassPool.classFilesAccept(memberInfoLinker);
 
         // Create a visitor for marking the seeds.
         NameMarker nameMarker = new NameMarker();
@@ -200,8 +194,7 @@ public class Obfuscator
                 new AllMemberInfoVisitor(
                 new MemberInfoObfuscator(configuration.overloadAggressively,
                                          nameFactory,
-                                         descriptorMap,
-                                         warningPrinter)));
+                                         descriptorMap)));
         }
         else
         {
@@ -209,28 +202,27 @@ public class Obfuscator
             programClassPool.classFilesAccept(
                 new MultiClassFileVisitor(new ClassFileVisitor[]
                 {
-                    // Collect all private member names in this class.
+                    // Collect all private member names in this class and down
+                    // the hierarchy.
+                    new ClassFileHierarchyTraveler(true, false, false, true,
                     new AllMemberInfoVisitor(
                     new MemberInfoAccessFilter(ClassConstants.INTERNAL_ACC_PRIVATE, 0,
                     new MemberInfoNameCollector(configuration.overloadAggressively,
-                                                descriptorMap))),
+                                                descriptorMap)))),
 
                     // Collect all non-private member names anywhere in the hierarchy.
-                    new ClassFileHierarchyTraveler(true, false, false, true,
-                    new BottomClassFileFilter(
-                    new ClassFileHierarchyTraveler(true, true, true, false,
+                    new ClassFileHierarchyTraveler(true, true, true, true,
                     new AllMemberInfoVisitor(
                     new MemberInfoAccessFilter(0, ClassConstants.INTERNAL_ACC_PRIVATE,
                     new MemberInfoNameCollector(configuration.overloadAggressively,
-                                                descriptorMap)))))),
+                                                descriptorMap)))),
 
                     // Assign new names to all non-private members in this class.
                     new AllMemberInfoVisitor(
                     new MemberInfoAccessFilter(0, ClassConstants.INTERNAL_ACC_PRIVATE,
                     new MemberInfoObfuscator(configuration.overloadAggressively,
                                              nameFactory,
-                                             descriptorMap,
-                                             warningPrinter))),
+                                             descriptorMap))),
 
                     // Clear the collected names.
                     new MapCleaner(descriptorMap)
@@ -257,8 +249,7 @@ public class Obfuscator
                     new MemberInfoAccessFilter(ClassConstants.INTERNAL_ACC_PRIVATE, 0,
                     new MemberInfoObfuscator(configuration.overloadAggressively,
                                              nameFactory,
-                                             descriptorMap,
-                                             warningPrinter))),
+                                             descriptorMap))),
 
                     // Clear the collected names.
                     new MapCleaner(descriptorMap)
@@ -266,32 +257,91 @@ public class Obfuscator
         }
 
         // Some class members may have ended up with conflicting names.
-        // Collect all special member names.
+        // Come up with new, globally unique names for them.
+        NameFactory specialNameFactory =
+            new SpecialNameFactory(new SimpleNameFactory());
+
+        // Collect a map of special names to avoid
+        // [descriptor - new name - old name].
+        Map specialDescriptorMap = new HashMap();
+
         programClassPool.classFilesAccept(
             new AllMemberInfoVisitor(
             new MemberInfoSpecialNameFilter(
             new MemberInfoNameCollector(configuration.overloadAggressively,
-                                        descriptorMap))));
+                                        specialDescriptorMap))));
 
         libraryClassPool.classFilesAccept(
             new AllMemberInfoVisitor(
             new MemberInfoSpecialNameFilter(
             new MemberInfoNameCollector(configuration.overloadAggressively,
-                                        descriptorMap))));
+                                        specialDescriptorMap))));
 
-        // Replace the conflicting member names with special, globally unique
-        // names.
+        // Replace conflicting non-private member names with special names.
         programClassPool.classFilesAccept(
-            new AllMemberInfoVisitor(
-            new MemberInfoNameConflictFilter(
-            new MultiMemberInfoVisitor(new MemberInfoVisitor[]
+            new MultiClassFileVisitor(new ClassFileVisitor[]
             {
-                new MemberInfoNameCleaner(),
+                // Collect all private member names in this class and down
+                // the hierarchy.
+                new ClassFileHierarchyTraveler(true, false, false, true,
+                new AllMemberInfoVisitor(
+                new MemberInfoAccessFilter(ClassConstants.INTERNAL_ACC_PRIVATE, 0,
+                new MemberInfoNameCollector(configuration.overloadAggressively,
+                                            descriptorMap)))),
+
+                // Collect all non-private member names anywhere in the hierarchy.
+                new ClassFileHierarchyTraveler(true, true, true, true,
+                new AllMemberInfoVisitor(
+                new MemberInfoAccessFilter(0, ClassConstants.INTERNAL_ACC_PRIVATE,
+                new MemberInfoNameCollector(configuration.overloadAggressively,
+                                            descriptorMap)))),
+
+                // Assign new names to all conflicting non-private members in
+                // this class.
+                new AllMemberInfoVisitor(
+                new MemberInfoAccessFilter(0, ClassConstants.INTERNAL_ACC_PRIVATE,
+                new MemberInfoNameConflictFixer(configuration.overloadAggressively,
+                                                descriptorMap,
+                                                warningPrinter,
+                new MemberInfoObfuscator(configuration.overloadAggressively,
+                                         specialNameFactory,
+                                         specialDescriptorMap)))),
+
+                // Clear the collected names.
+                new MapCleaner(descriptorMap)
+            }));
+
+        // Replace conflicting private member names with special names.
+        // This is only possible if those names were kept or mapped.
+        programClassPool.classFilesAccept(
+            new MultiClassFileVisitor(new ClassFileVisitor[]
+            {
+                // Collect all member names in this class.
+                new AllMemberInfoVisitor(
+                new MemberInfoNameCollector(configuration.overloadAggressively,
+                                            descriptorMap)),
+
+                // Collect all non-private member names higher up the hierarchy.
+                new ClassFileHierarchyTraveler(false, true, true, false,
+                new AllMemberInfoVisitor(
+                new MemberInfoAccessFilter(0, ClassConstants.INTERNAL_ACC_PRIVATE,
+                new MemberInfoNameCollector(configuration.overloadAggressively,
+                                            descriptorMap)))),
+
+                // Assign new names to all conflicting private members in this
+                // class.
+                new AllMemberInfoVisitor(
+                new MemberInfoAccessFilter(ClassConstants.INTERNAL_ACC_PRIVATE, 0,
+                new MemberInfoNameConflictFixer(configuration.overloadAggressively,
+                                                descriptorMap,
+                                                warningPrinter,
                 new MemberInfoObfuscator(configuration.overloadAggressively,
-                                         new SpecialNameFactory(new SimpleNameFactory()),
-                                         descriptorMap,
-                                         warningPrinter),
-            }))));
+                                         specialNameFactory,
+                                         specialDescriptorMap)))),
+
+                // Clear the collected names.
+                new MapCleaner(descriptorMap)
+            }));
 
         // Print out any warnings about member name conflicts.
         if (configuration.warn)
diff --git a/src/proguard/obfuscate/SimpleNameFactory.java b/src/proguard/obfuscate/SimpleNameFactory.java
index c28d79f..f5c518c 100644
--- a/src/proguard/obfuscate/SimpleNameFactory.java
+++ b/src/proguard/obfuscate/SimpleNameFactory.java
@@ -1,8 +1,8 @@
-/* $Id: SimpleNameFactory.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: SimpleNameFactory.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/SourceFileRenamer.java b/src/proguard/obfuscate/SourceFileRenamer.java
index 9e83f18..75280b0 100644
--- a/src/proguard/obfuscate/SourceFileRenamer.java
+++ b/src/proguard/obfuscate/SourceFileRenamer.java
@@ -1,8 +1,8 @@
-/* $Id: SourceFileRenamer.java,v 1.2.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: SourceFileRenamer.java,v 1.2.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/SpecialNameFactory.java b/src/proguard/obfuscate/SpecialNameFactory.java
index b911059..0425cca 100644
--- a/src/proguard/obfuscate/SpecialNameFactory.java
+++ b/src/proguard/obfuscate/SpecialNameFactory.java
@@ -1,8 +1,8 @@
-/* $Id: SpecialNameFactory.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: SpecialNameFactory.java,v 1.3.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/Utf8Shrinker.java b/src/proguard/obfuscate/Utf8Shrinker.java
index 6113cb1..5a48d37 100644
--- a/src/proguard/obfuscate/Utf8Shrinker.java
+++ b/src/proguard/obfuscate/Utf8Shrinker.java
@@ -1,8 +1,8 @@
-/* $Id: Utf8Shrinker.java,v 1.27.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: Utf8Shrinker.java,v 1.27.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/obfuscate/Utf8UsageMarker.java b/src/proguard/obfuscate/Utf8UsageMarker.java
index 7b6dd1d..7943fd1 100644
--- a/src/proguard/obfuscate/Utf8UsageMarker.java
+++ b/src/proguard/obfuscate/Utf8UsageMarker.java
@@ -1,8 +1,8 @@
-/* $Id: Utf8UsageMarker.java,v 1.23.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: Utf8UsageMarker.java,v 1.23.2.2 2007/01/18 21:31:52 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/ChangedCodePrinter.java b/src/proguard/optimize/ChangedCodePrinter.java
index e909002..6af8159 100644
--- a/src/proguard/optimize/ChangedCodePrinter.java
+++ b/src/proguard/optimize/ChangedCodePrinter.java
@@ -1,8 +1,8 @@
-/* $Id: ChangedCodePrinter.java,v 1.7.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ChangedCodePrinter.java,v 1.7.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/MethodOptimizationInfo.java b/src/proguard/optimize/MethodOptimizationInfo.java
index dd8bede..5d4b34e 100644
--- a/src/proguard/optimize/MethodOptimizationInfo.java
+++ b/src/proguard/optimize/MethodOptimizationInfo.java
@@ -1,8 +1,8 @@
-/* $Id: MethodOptimizationInfo.java,v 1.4.2.2 2006/06/07 22:36:52 eric Exp $
+/* $Id: MethodOptimizationInfo.java,v 1.4.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/MethodOptimizationInfoSetter.java b/src/proguard/optimize/MethodOptimizationInfoSetter.java
index eaeb562..594bd85 100644
--- a/src/proguard/optimize/MethodOptimizationInfoSetter.java
+++ b/src/proguard/optimize/MethodOptimizationInfoSetter.java
@@ -1,8 +1,8 @@
-/* $Id: MethodOptimizationInfoSetter.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: MethodOptimizationInfoSetter.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/NoSideEffectMethodMarker.java b/src/proguard/optimize/NoSideEffectMethodMarker.java
index 4714849..03df23b 100644
--- a/src/proguard/optimize/NoSideEffectMethodMarker.java
+++ b/src/proguard/optimize/NoSideEffectMethodMarker.java
@@ -1,8 +1,8 @@
-/* $Id: NoSideEffectMethodMarker.java,v 1.5.2.3 2006/06/07 22:36:52 eric Exp $
+/* $Id: NoSideEffectMethodMarker.java,v 1.5.2.4 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/NonPrivateMethodMarker.java b/src/proguard/optimize/NonPrivateMethodMarker.java
index 6495525..2956bac 100644
--- a/src/proguard/optimize/NonPrivateMethodMarker.java
+++ b/src/proguard/optimize/NonPrivateMethodMarker.java
@@ -1,8 +1,8 @@
-/* $Id: NonPrivateMethodMarker.java,v 1.7.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: NonPrivateMethodMarker.java,v 1.7.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/Optimizer.java b/src/proguard/optimize/Optimizer.java
index f4e0859..a929c7c 100644
--- a/src/proguard/optimize/Optimizer.java
+++ b/src/proguard/optimize/Optimizer.java
@@ -1,8 +1,8 @@
-/* $Id: Optimizer.java,v 1.9.2.4 2006/02/13 00:19:28 eric Exp $
+/* $Id: Optimizer.java,v 1.9.2.6 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -107,6 +107,8 @@ public class Optimizer
         // Link all methods that should get the same optimization info.
         programClassPool.classFilesAccept(new BottomClassFileFilter(
                                           new MethodInfoLinker()));
+        libraryClassPool.classFilesAccept(new BottomClassFileFilter(
+                                          new MethodInfoLinker()));
 
         // Create a visitor for marking the seeds.
         KeepMarker keepMarker = new KeepMarker();
diff --git a/src/proguard/optimize/ParameterShrinker.java b/src/proguard/optimize/ParameterShrinker.java
index 38a5752..980ac3b 100644
--- a/src/proguard/optimize/ParameterShrinker.java
+++ b/src/proguard/optimize/ParameterShrinker.java
@@ -1,8 +1,8 @@
-/* $Id: ParameterShrinker.java,v 1.6.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ParameterShrinker.java,v 1.6.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/ParameterUsageMarker.java b/src/proguard/optimize/ParameterUsageMarker.java
index 3fc769a..87312d2 100644
--- a/src/proguard/optimize/ParameterUsageMarker.java
+++ b/src/proguard/optimize/ParameterUsageMarker.java
@@ -1,8 +1,8 @@
-/* $Id: ParameterUsageMarker.java,v 1.4.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ParameterUsageMarker.java,v 1.4.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/SideEffectInstructionChecker.java b/src/proguard/optimize/SideEffectInstructionChecker.java
index 0cdeed3..287ff93 100644
--- a/src/proguard/optimize/SideEffectInstructionChecker.java
+++ b/src/proguard/optimize/SideEffectInstructionChecker.java
@@ -1,8 +1,8 @@
-/* $Id: SideEffectInstructionChecker.java,v 1.12.2.4 2006/04/17 02:19:37 eric Exp $
+/* $Id: SideEffectInstructionChecker.java,v 1.12.2.5 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/SideEffectMethodMarker.java b/src/proguard/optimize/SideEffectMethodMarker.java
index a1b19f0..046a52b 100644
--- a/src/proguard/optimize/SideEffectMethodMarker.java
+++ b/src/proguard/optimize/SideEffectMethodMarker.java
@@ -1,8 +1,8 @@
-/* $Id: SideEffectMethodMarker.java,v 1.6.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: SideEffectMethodMarker.java,v 1.6.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/VariableUsageMarker.java b/src/proguard/optimize/VariableUsageMarker.java
index ebbb83c..3884cc3 100644
--- a/src/proguard/optimize/VariableUsageMarker.java
+++ b/src/proguard/optimize/VariableUsageMarker.java
@@ -1,8 +1,8 @@
-/* $Id: VariableUsageMarker.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: VariableUsageMarker.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/WriteOnlyFieldFilter.java b/src/proguard/optimize/WriteOnlyFieldFilter.java
index 87915c2..7ef32cc 100644
--- a/src/proguard/optimize/WriteOnlyFieldFilter.java
+++ b/src/proguard/optimize/WriteOnlyFieldFilter.java
@@ -1,8 +1,8 @@
-/* $Id: WriteOnlyFieldFilter.java,v 1.1.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: WriteOnlyFieldFilter.java,v 1.1.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/WriteOnlyFieldMarker.java b/src/proguard/optimize/WriteOnlyFieldMarker.java
index ae3f25b..b922f15 100644
--- a/src/proguard/optimize/WriteOnlyFieldMarker.java
+++ b/src/proguard/optimize/WriteOnlyFieldMarker.java
@@ -1,8 +1,8 @@
-/* $Id: WriteOnlyFieldMarker.java,v 1.7.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: WriteOnlyFieldMarker.java,v 1.7.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/BranchUnit.java b/src/proguard/optimize/evaluation/BranchUnit.java
index 08c246f..2d47ec9 100644
--- a/src/proguard/optimize/evaluation/BranchUnit.java
+++ b/src/proguard/optimize/evaluation/BranchUnit.java
@@ -1,8 +1,8 @@
-/* $Id: BranchUnit.java,v 1.4.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: BranchUnit.java,v 1.4.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/EvaluationSimplifier.java b/src/proguard/optimize/evaluation/EvaluationSimplifier.java
index ef8e11f..44c7b0d 100644
--- a/src/proguard/optimize/evaluation/EvaluationSimplifier.java
+++ b/src/proguard/optimize/evaluation/EvaluationSimplifier.java
@@ -1,8 +1,8 @@
-/* $Id: EvaluationSimplifier.java,v 1.4.2.15 2006/10/07 12:08:25 eric Exp $
+/* $Id: EvaluationSimplifier.java,v 1.4.2.17 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -1984,7 +1984,8 @@ implements   MemberInfoVisitor,
         {
             int offset = offsets.instructionOffset(offsetIndex);
 
-            if (all ^ (isNecessary[offset] && (producer || !isSimplified[offset])))
+            if (all ^ (offset == PartialEvaluator.AT_METHOD_ENTRY ||
+                       (isNecessary[offset] && (producer || !isSimplified[offset]))))
             {
                 return !all;
             }
diff --git a/src/proguard/optimize/evaluation/PartialEvaluator.java b/src/proguard/optimize/evaluation/PartialEvaluator.java
index cf18331..90332b8 100644
--- a/src/proguard/optimize/evaluation/PartialEvaluator.java
+++ b/src/proguard/optimize/evaluation/PartialEvaluator.java
@@ -1,8 +1,8 @@
-/* $Id: PartialEvaluator.java,v 1.37.2.5 2006/06/12 20:50:39 eric Exp $
+/* $Id: PartialEvaluator.java,v 1.37.2.6 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/Processor.java b/src/proguard/optimize/evaluation/Processor.java
index 66ba5e0..9670157 100644
--- a/src/proguard/optimize/evaluation/Processor.java
+++ b/src/proguard/optimize/evaluation/Processor.java
@@ -1,8 +1,8 @@
-/* $Id: Processor.java,v 1.13.2.2 2006/04/01 12:40:37 eric Exp $
+/* $Id: Processor.java,v 1.13.2.5 2007/04/05 21:40:07 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -271,7 +271,18 @@ implements   InstructionVisitor,
                 break;
 
             case InstructionConstants.OP_LDIV:
-                stack.push(stack.lpop().divideOf(stack.lpop()));
+                try
+                {
+                    stack.push(stack.lpop().remainderOf(stack.lpop()));
+                }
+                catch (ArithmeticException ex)
+                {
+                    stack.push(LongValueFactory.create());
+                    // TODO: Forward ArithmeticExceptions.
+                    //stack.clear();
+                    //stack.push(valueFactory.createReference(false));
+                    //branchUnit.throwException();
+                }
                 break;
 
             case InstructionConstants.OP_FDIV:
@@ -298,7 +309,18 @@ implements   InstructionVisitor,
                 break;
 
             case InstructionConstants.OP_LREM:
-                stack.push(stack.lpop().remainderOf(stack.lpop()));
+                try
+                {
+                    stack.push(stack.lpop().remainderOf(stack.lpop()));
+                }
+                catch (ArithmeticException ex)
+                {
+                    stack.push(LongValueFactory.create());
+                    // TODO: Forward ArithmeticExceptions.
+                    //stack.clear();
+                    //stack.push(valueFactory.createReference(false));
+                    //branchUnit.throwException();
+                }
                 break;
 
             case InstructionConstants.OP_FREM:
@@ -518,6 +540,14 @@ implements   InstructionVisitor,
             case InstructionConstants.OP_LDC:
             case InstructionConstants.OP_LDC_W:
             case InstructionConstants.OP_LDC2_W:
+                Value cpValue = cpValue(classFile, cpIndex);
+                // The constant can be a class constant, which actually loads
+                // the java.lang.Class type.
+                stack.push(cpValue.computationalType() == Value.TYPE_REFERENCE ?
+                    ReferenceValueFactory.create(false) :
+                    cpValue);
+                break;
+
             case InstructionConstants.OP_GETSTATIC:
                 stack.push(cpValue(classFile, cpIndex));
                 break;
@@ -540,8 +570,8 @@ implements   InstructionVisitor,
             case InstructionConstants.OP_INVOKESPECIAL:
             case InstructionConstants.OP_INVOKESTATIC:
             case InstructionConstants.OP_INVOKEINTERFACE:
-                Value cpValue        = cpValue(classFile, cpIndex);
-                int   parameterCount = parameterCount(classFile, cpIndex);
+                cpValue = cpValue(classFile, cpIndex);
+                int parameterCount = parameterCount(classFile, cpIndex);
 
                 for (int counter = 0; counter < parameterCount; counter++)
                 {
diff --git a/src/proguard/optimize/evaluation/Stack.java b/src/proguard/optimize/evaluation/Stack.java
index 0a94071..b4da1f0 100644
--- a/src/proguard/optimize/evaluation/Stack.java
+++ b/src/proguard/optimize/evaluation/Stack.java
@@ -1,8 +1,8 @@
-/* $Id: Stack.java,v 1.8.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: Stack.java,v 1.8.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/TracedBranchUnit.java b/src/proguard/optimize/evaluation/TracedBranchUnit.java
index d0e4205..75a023b 100644
--- a/src/proguard/optimize/evaluation/TracedBranchUnit.java
+++ b/src/proguard/optimize/evaluation/TracedBranchUnit.java
@@ -1,8 +1,8 @@
-/* $Id: TracedBranchUnit.java,v 1.5.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: TracedBranchUnit.java,v 1.5.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/TracedStack.java b/src/proguard/optimize/evaluation/TracedStack.java
index 327f2d8..20fde4d 100644
--- a/src/proguard/optimize/evaluation/TracedStack.java
+++ b/src/proguard/optimize/evaluation/TracedStack.java
@@ -1,8 +1,8 @@
-/* $Id: TracedStack.java,v 1.10.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: TracedStack.java,v 1.10.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/TracedVariables.java b/src/proguard/optimize/evaluation/TracedVariables.java
index 436056c..0a42a3e 100644
--- a/src/proguard/optimize/evaluation/TracedVariables.java
+++ b/src/proguard/optimize/evaluation/TracedVariables.java
@@ -1,8 +1,8 @@
-/* $Id: TracedVariables.java,v 1.10.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: TracedVariables.java,v 1.10.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/UnusedParameterCleaner.java b/src/proguard/optimize/evaluation/UnusedParameterCleaner.java
index ac134fe..5abc04b 100644
--- a/src/proguard/optimize/evaluation/UnusedParameterCleaner.java
+++ b/src/proguard/optimize/evaluation/UnusedParameterCleaner.java
@@ -1,8 +1,8 @@
-/* $Id: UnusedParameterCleaner.java,v 1.5.2.2 2006/08/10 20:53:12 eric Exp $
+/* $Id: UnusedParameterCleaner.java,v 1.5.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/Variables.java b/src/proguard/optimize/evaluation/Variables.java
index 5bf4545..062cf40 100644
--- a/src/proguard/optimize/evaluation/Variables.java
+++ b/src/proguard/optimize/evaluation/Variables.java
@@ -1,8 +1,8 @@
-/* $Id: Variables.java,v 1.7.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: Variables.java,v 1.7.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/Category1Value.java b/src/proguard/optimize/evaluation/value/Category1Value.java
index e65d95c..78a152f 100644
--- a/src/proguard/optimize/evaluation/value/Category1Value.java
+++ b/src/proguard/optimize/evaluation/value/Category1Value.java
@@ -1,8 +1,8 @@
-/* $Id: Category1Value.java,v 1.4.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: Category1Value.java,v 1.4.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/Category2Value.java b/src/proguard/optimize/evaluation/value/Category2Value.java
index 69b78ca..c1c4678 100644
--- a/src/proguard/optimize/evaluation/value/Category2Value.java
+++ b/src/proguard/optimize/evaluation/value/Category2Value.java
@@ -1,8 +1,8 @@
-/* $Id: Category2Value.java,v 1.4.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: Category2Value.java,v 1.4.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/DoubleValue.java b/src/proguard/optimize/evaluation/value/DoubleValue.java
index 5b046d5..f05bb61 100644
--- a/src/proguard/optimize/evaluation/value/DoubleValue.java
+++ b/src/proguard/optimize/evaluation/value/DoubleValue.java
@@ -1,8 +1,8 @@
-/* $Id: DoubleValue.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: DoubleValue.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/DoubleValueFactory.java b/src/proguard/optimize/evaluation/value/DoubleValueFactory.java
index 172f0c6..9ee80c3 100644
--- a/src/proguard/optimize/evaluation/value/DoubleValueFactory.java
+++ b/src/proguard/optimize/evaluation/value/DoubleValueFactory.java
@@ -1,8 +1,8 @@
-/* $Id: DoubleValueFactory.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: DoubleValueFactory.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/FloatValue.java b/src/proguard/optimize/evaluation/value/FloatValue.java
index 9e66d86..922c17a 100644
--- a/src/proguard/optimize/evaluation/value/FloatValue.java
+++ b/src/proguard/optimize/evaluation/value/FloatValue.java
@@ -1,8 +1,8 @@
-/* $Id: FloatValue.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: FloatValue.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/FloatValueFactory.java b/src/proguard/optimize/evaluation/value/FloatValueFactory.java
index 5fb0141..ade8e05 100644
--- a/src/proguard/optimize/evaluation/value/FloatValueFactory.java
+++ b/src/proguard/optimize/evaluation/value/FloatValueFactory.java
@@ -1,8 +1,8 @@
-/* $Id: FloatValueFactory.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: FloatValueFactory.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/InstructionOffsetValue.java b/src/proguard/optimize/evaluation/value/InstructionOffsetValue.java
index c30b7b4..b759f32 100644
--- a/src/proguard/optimize/evaluation/value/InstructionOffsetValue.java
+++ b/src/proguard/optimize/evaluation/value/InstructionOffsetValue.java
@@ -1,8 +1,8 @@
-/* $Id: InstructionOffsetValue.java,v 1.7.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: InstructionOffsetValue.java,v 1.7.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/InstructionOffsetValueFactory.java b/src/proguard/optimize/evaluation/value/InstructionOffsetValueFactory.java
index 3fdfe03..e006c06 100644
--- a/src/proguard/optimize/evaluation/value/InstructionOffsetValueFactory.java
+++ b/src/proguard/optimize/evaluation/value/InstructionOffsetValueFactory.java
@@ -1,8 +1,8 @@
-/* $Id: InstructionOffsetValueFactory.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: InstructionOffsetValueFactory.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/IntegerValue.java b/src/proguard/optimize/evaluation/value/IntegerValue.java
index 6f1016e..fa57725 100644
--- a/src/proguard/optimize/evaluation/value/IntegerValue.java
+++ b/src/proguard/optimize/evaluation/value/IntegerValue.java
@@ -1,8 +1,8 @@
-/* $Id: IntegerValue.java,v 1.4.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: IntegerValue.java,v 1.4.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/IntegerValueFactory.java b/src/proguard/optimize/evaluation/value/IntegerValueFactory.java
index 13bc391..fbab3c3 100644
--- a/src/proguard/optimize/evaluation/value/IntegerValueFactory.java
+++ b/src/proguard/optimize/evaluation/value/IntegerValueFactory.java
@@ -1,8 +1,8 @@
-/* $Id: IntegerValueFactory.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: IntegerValueFactory.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/LongValue.java b/src/proguard/optimize/evaluation/value/LongValue.java
index d7495dd..a745aa4 100644
--- a/src/proguard/optimize/evaluation/value/LongValue.java
+++ b/src/proguard/optimize/evaluation/value/LongValue.java
@@ -1,8 +1,8 @@
-/* $Id: LongValue.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: LongValue.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/LongValueFactory.java b/src/proguard/optimize/evaluation/value/LongValueFactory.java
index 7955c5f..15414a5 100644
--- a/src/proguard/optimize/evaluation/value/LongValueFactory.java
+++ b/src/proguard/optimize/evaluation/value/LongValueFactory.java
@@ -1,8 +1,8 @@
-/* $Id: LongValueFactory.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: LongValueFactory.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/ReferenceValue.java b/src/proguard/optimize/evaluation/value/ReferenceValue.java
index 070fa14..4b8f853 100644
--- a/src/proguard/optimize/evaluation/value/ReferenceValue.java
+++ b/src/proguard/optimize/evaluation/value/ReferenceValue.java
@@ -1,8 +1,8 @@
-/* $Id: ReferenceValue.java,v 1.4.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ReferenceValue.java,v 1.4.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/ReferenceValueFactory.java b/src/proguard/optimize/evaluation/value/ReferenceValueFactory.java
index 0f765a4..c83e886 100644
--- a/src/proguard/optimize/evaluation/value/ReferenceValueFactory.java
+++ b/src/proguard/optimize/evaluation/value/ReferenceValueFactory.java
@@ -1,8 +1,8 @@
-/* $Id: ReferenceValueFactory.java,v 1.5.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ReferenceValueFactory.java,v 1.5.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/SpecificArrayReferenceValue.java b/src/proguard/optimize/evaluation/value/SpecificArrayReferenceValue.java
index 3f9b023..1423686 100644
--- a/src/proguard/optimize/evaluation/value/SpecificArrayReferenceValue.java
+++ b/src/proguard/optimize/evaluation/value/SpecificArrayReferenceValue.java
@@ -1,8 +1,8 @@
-/* $Id: SpecificArrayReferenceValue.java,v 1.5.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: SpecificArrayReferenceValue.java,v 1.5.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/SpecificDoubleValue.java b/src/proguard/optimize/evaluation/value/SpecificDoubleValue.java
index 3de7a31..9f79951 100644
--- a/src/proguard/optimize/evaluation/value/SpecificDoubleValue.java
+++ b/src/proguard/optimize/evaluation/value/SpecificDoubleValue.java
@@ -1,8 +1,8 @@
-/* $Id: SpecificDoubleValue.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: SpecificDoubleValue.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/SpecificFloatValue.java b/src/proguard/optimize/evaluation/value/SpecificFloatValue.java
index b444e47..205a6aa 100644
--- a/src/proguard/optimize/evaluation/value/SpecificFloatValue.java
+++ b/src/proguard/optimize/evaluation/value/SpecificFloatValue.java
@@ -1,8 +1,8 @@
-/* $Id: SpecificFloatValue.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: SpecificFloatValue.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/SpecificIntegerValue.java b/src/proguard/optimize/evaluation/value/SpecificIntegerValue.java
index 66663e7..354fa18 100644
--- a/src/proguard/optimize/evaluation/value/SpecificIntegerValue.java
+++ b/src/proguard/optimize/evaluation/value/SpecificIntegerValue.java
@@ -1,8 +1,8 @@
-/* $Id: SpecificIntegerValue.java,v 1.4.2.2 2006/01/27 23:34:31 eric Exp $
+/* $Id: SpecificIntegerValue.java,v 1.4.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/SpecificLongValue.java b/src/proguard/optimize/evaluation/value/SpecificLongValue.java
index 0546813..94efe3a 100644
--- a/src/proguard/optimize/evaluation/value/SpecificLongValue.java
+++ b/src/proguard/optimize/evaluation/value/SpecificLongValue.java
@@ -1,8 +1,8 @@
-/* $Id: SpecificLongValue.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: SpecificLongValue.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/SpecificReferenceValue.java b/src/proguard/optimize/evaluation/value/SpecificReferenceValue.java
index 43c2dba..3ac663a 100644
--- a/src/proguard/optimize/evaluation/value/SpecificReferenceValue.java
+++ b/src/proguard/optimize/evaluation/value/SpecificReferenceValue.java
@@ -1,8 +1,8 @@
-/* $Id: SpecificReferenceValue.java,v 1.5.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: SpecificReferenceValue.java,v 1.5.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/Value.java b/src/proguard/optimize/evaluation/value/Value.java
index 0e0032e..827b884 100644
--- a/src/proguard/optimize/evaluation/value/Value.java
+++ b/src/proguard/optimize/evaluation/value/Value.java
@@ -1,8 +1,8 @@
-/* $Id: Value.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: Value.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/evaluation/value/ValueFactory.java b/src/proguard/optimize/evaluation/value/ValueFactory.java
index 0a0b99f..2dd4460 100644
--- a/src/proguard/optimize/evaluation/value/ValueFactory.java
+++ b/src/proguard/optimize/evaluation/value/ValueFactory.java
@@ -1,8 +1,8 @@
-/* $Id: ValueFactory.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ValueFactory.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/BranchTargetFinder.java b/src/proguard/optimize/peephole/BranchTargetFinder.java
index bd1f179..3030446 100644
--- a/src/proguard/optimize/peephole/BranchTargetFinder.java
+++ b/src/proguard/optimize/peephole/BranchTargetFinder.java
@@ -1,8 +1,8 @@
-/* $Id: BranchTargetFinder.java,v 1.8.2.2 2006/06/12 20:50:39 eric Exp $
+/* $Id: BranchTargetFinder.java,v 1.8.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/GetterSetterInliner.java b/src/proguard/optimize/peephole/GetterSetterInliner.java
index 9589f69..5fc77fc 100644
--- a/src/proguard/optimize/peephole/GetterSetterInliner.java
+++ b/src/proguard/optimize/peephole/GetterSetterInliner.java
@@ -1,8 +1,8 @@
-/* $Id: GetterSetterInliner.java,v 1.18.2.2 2006/02/13 00:20:43 eric Exp $
+/* $Id: GetterSetterInliner.java,v 1.18.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/GotoCommonCodeReplacer.java b/src/proguard/optimize/peephole/GotoCommonCodeReplacer.java
index 95c243a..7cd8c9a 100644
--- a/src/proguard/optimize/peephole/GotoCommonCodeReplacer.java
+++ b/src/proguard/optimize/peephole/GotoCommonCodeReplacer.java
@@ -1,8 +1,8 @@
-/* $Id: GotoCommonCodeReplacer.java,v 1.2.2.5 2006/05/23 21:14:32 eric Exp $
+/* $Id: GotoCommonCodeReplacer.java,v 1.2.2.6 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/GotoGotoReplacer.java b/src/proguard/optimize/peephole/GotoGotoReplacer.java
index 2cb099b..d2982f9 100644
--- a/src/proguard/optimize/peephole/GotoGotoReplacer.java
+++ b/src/proguard/optimize/peephole/GotoGotoReplacer.java
@@ -1,8 +1,8 @@
-/* $Id: GotoGotoReplacer.java,v 1.2.2.2 2006/02/13 00:20:43 eric Exp $
+/* $Id: GotoGotoReplacer.java,v 1.2.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/GotoReturnReplacer.java b/src/proguard/optimize/peephole/GotoReturnReplacer.java
index 107a64b..ae3fbb1 100644
--- a/src/proguard/optimize/peephole/GotoReturnReplacer.java
+++ b/src/proguard/optimize/peephole/GotoReturnReplacer.java
@@ -1,8 +1,8 @@
-/* $Id: GotoReturnReplacer.java,v 1.8.2.2 2006/02/13 00:20:43 eric Exp $
+/* $Id: GotoReturnReplacer.java,v 1.8.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/LoadStoreRemover.java b/src/proguard/optimize/peephole/LoadStoreRemover.java
index 01aaad8..4c26f6e 100644
--- a/src/proguard/optimize/peephole/LoadStoreRemover.java
+++ b/src/proguard/optimize/peephole/LoadStoreRemover.java
@@ -1,8 +1,8 @@
-/* $Id: LoadStoreRemover.java,v 1.10.2.2 2006/02/13 00:20:43 eric Exp $
+/* $Id: LoadStoreRemover.java,v 1.10.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/MethodPrivatizer.java b/src/proguard/optimize/peephole/MethodPrivatizer.java
index c3802c3..8525ab5 100644
--- a/src/proguard/optimize/peephole/MethodPrivatizer.java
+++ b/src/proguard/optimize/peephole/MethodPrivatizer.java
@@ -1,8 +1,8 @@
-/* $Id: MethodPrivatizer.java,v 1.7.2.2 2006/02/13 00:20:43 eric Exp $
+/* $Id: MethodPrivatizer.java,v 1.7.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/NopRemover.java b/src/proguard/optimize/peephole/NopRemover.java
index fa2272a..0b72a09 100644
--- a/src/proguard/optimize/peephole/NopRemover.java
+++ b/src/proguard/optimize/peephole/NopRemover.java
@@ -1,8 +1,8 @@
-/* $Id: NopRemover.java,v 1.7.2.2 2006/02/13 00:20:43 eric Exp $
+/* $Id: NopRemover.java,v 1.7.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/PushPopRemover.java b/src/proguard/optimize/peephole/PushPopRemover.java
index 27a1bed..25a2df6 100644
--- a/src/proguard/optimize/peephole/PushPopRemover.java
+++ b/src/proguard/optimize/peephole/PushPopRemover.java
@@ -1,8 +1,8 @@
-/* $Id: PushPopRemover.java,v 1.11.2.2 2006/02/13 00:20:43 eric Exp $
+/* $Id: PushPopRemover.java,v 1.11.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/SingleImplementationFixer.java b/src/proguard/optimize/peephole/SingleImplementationFixer.java
index f12bd1a..809ba67 100644
--- a/src/proguard/optimize/peephole/SingleImplementationFixer.java
+++ b/src/proguard/optimize/peephole/SingleImplementationFixer.java
@@ -1,8 +1,8 @@
-/* $Id: SingleImplementationFixer.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: SingleImplementationFixer.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/SingleImplementationInliner.java b/src/proguard/optimize/peephole/SingleImplementationInliner.java
index a0c72c7..6cd498f 100644
--- a/src/proguard/optimize/peephole/SingleImplementationInliner.java
+++ b/src/proguard/optimize/peephole/SingleImplementationInliner.java
@@ -1,8 +1,8 @@
-/* $Id: SingleImplementationInliner.java,v 1.10.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: SingleImplementationInliner.java,v 1.10.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/SingleImplementationMarker.java b/src/proguard/optimize/peephole/SingleImplementationMarker.java
index 40d267e..a048fc6 100644
--- a/src/proguard/optimize/peephole/SingleImplementationMarker.java
+++ b/src/proguard/optimize/peephole/SingleImplementationMarker.java
@@ -1,8 +1,8 @@
-/* $Id: SingleImplementationMarker.java,v 1.8.2.2 2006/02/13 00:20:43 eric Exp $
+/* $Id: SingleImplementationMarker.java,v 1.8.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/optimize/peephole/StoreLoadReplacer.java b/src/proguard/optimize/peephole/StoreLoadReplacer.java
index f6479a4..9298e6b 100644
--- a/src/proguard/optimize/peephole/StoreLoadReplacer.java
+++ b/src/proguard/optimize/peephole/StoreLoadReplacer.java
@@ -1,8 +1,8 @@
-/* $Id: StoreLoadReplacer.java,v 1.11.2.2 2006/02/13 00:20:43 eric Exp $
+/* $Id: StoreLoadReplacer.java,v 1.11.2.3 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/retrace/ReTrace.java b/src/proguard/retrace/ReTrace.java
index 98d8ccd..f758db2 100644
--- a/src/proguard/retrace/ReTrace.java
+++ b/src/proguard/retrace/ReTrace.java
@@ -1,8 +1,8 @@
-/* $Id: ReTrace.java,v 1.10.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ReTrace.java,v 1.10.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/retrace/StackTrace.java b/src/proguard/retrace/StackTrace.java
index fc6d8f3..ce302a5 100644
--- a/src/proguard/retrace/StackTrace.java
+++ b/src/proguard/retrace/StackTrace.java
@@ -1,8 +1,8 @@
-/* $Id: StackTrace.java,v 1.8.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: StackTrace.java,v 1.8.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/retrace/StackTraceItem.java b/src/proguard/retrace/StackTraceItem.java
index c6b580e..8146bef 100644
--- a/src/proguard/retrace/StackTraceItem.java
+++ b/src/proguard/retrace/StackTraceItem.java
@@ -1,8 +1,8 @@
-/* $Id: StackTraceItem.java,v 1.9.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: StackTraceItem.java,v 1.9.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/shrink/ClassFileShrinker.java b/src/proguard/shrink/ClassFileShrinker.java
index d81175a..32520f7 100644
--- a/src/proguard/shrink/ClassFileShrinker.java
+++ b/src/proguard/shrink/ClassFileShrinker.java
@@ -1,8 +1,8 @@
-/* $Id: ClassFileShrinker.java,v 1.27.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ClassFileShrinker.java,v 1.27.2.3 2007/01/25 21:01:01 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -48,8 +48,6 @@ public class ClassFileShrinker
 
     /**
      * Creates a new ClassFileShrinker.
-    /**
-     * Creates a new InnerUsageMarker.
      * @param usageMarker the usage marker that is used to mark the classes
      *                    and class members.
      * @param codeLength an estimate of the maximum length of all the code that
diff --git a/src/proguard/shrink/InnerUsageMarker.java b/src/proguard/shrink/InnerUsageMarker.java
index b7af318..f9187ae 100644
--- a/src/proguard/shrink/InnerUsageMarker.java
+++ b/src/proguard/shrink/InnerUsageMarker.java
@@ -1,8 +1,8 @@
-/* $Id: InnerUsageMarker.java,v 1.18.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: InnerUsageMarker.java,v 1.18.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/shrink/InterfaceUsageMarker.java b/src/proguard/shrink/InterfaceUsageMarker.java
index 7d7c2ee..041259e 100644
--- a/src/proguard/shrink/InterfaceUsageMarker.java
+++ b/src/proguard/shrink/InterfaceUsageMarker.java
@@ -1,8 +1,8 @@
-/* $Id: InterfaceUsageMarker.java,v 1.14.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: InterfaceUsageMarker.java,v 1.14.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/shrink/ShortestUsageMark.java b/src/proguard/shrink/ShortestUsageMark.java
index e571df0..85263cf 100644
--- a/src/proguard/shrink/ShortestUsageMark.java
+++ b/src/proguard/shrink/ShortestUsageMark.java
@@ -1,8 +1,8 @@
-/* $Id: ShortestUsageMark.java,v 1.4.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ShortestUsageMark.java,v 1.4.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/shrink/ShortestUsageMarker.java b/src/proguard/shrink/ShortestUsageMarker.java
index 87e76d0..1b30498 100644
--- a/src/proguard/shrink/ShortestUsageMarker.java
+++ b/src/proguard/shrink/ShortestUsageMarker.java
@@ -1,8 +1,8 @@
-/* $Id: ShortestUsageMarker.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ShortestUsageMarker.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/shrink/ShortestUsagePrinter.java b/src/proguard/shrink/ShortestUsagePrinter.java
index c825a31..795bc4d 100644
--- a/src/proguard/shrink/ShortestUsagePrinter.java
+++ b/src/proguard/shrink/ShortestUsagePrinter.java
@@ -1,8 +1,8 @@
-/* $Id: ShortestUsagePrinter.java,v 1.3.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ShortestUsagePrinter.java,v 1.3.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/shrink/Shrinker.java b/src/proguard/shrink/Shrinker.java
index 5c49036..087bc65 100644
--- a/src/proguard/shrink/Shrinker.java
+++ b/src/proguard/shrink/Shrinker.java
@@ -1,8 +1,8 @@
-/* $Id: Shrinker.java,v 1.1.2.3 2006/11/25 16:56:11 eric Exp $
+/* $Id: Shrinker.java,v 1.1.2.5 2007/01/25 21:01:01 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
@@ -47,7 +47,7 @@ public class Shrinker
 
 
     /**
-     * Performs obfuscation of the given program class pool.
+     * Performs shrinking of the given program class pool.
      */
     public ClassPool execute(ClassPool programClassPool,
                              ClassPool libraryClassPool) throws IOException
diff --git a/src/proguard/shrink/UsageMarker.java b/src/proguard/shrink/UsageMarker.java
index 89561dc..52bec8d 100644
--- a/src/proguard/shrink/UsageMarker.java
+++ b/src/proguard/shrink/UsageMarker.java
@@ -1,8 +1,8 @@
-/* $Id: UsageMarker.java,v 1.46.2.3 2006/10/14 12:33:22 eric Exp $
+/* $Id: UsageMarker.java,v 1.46.2.4 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/shrink/UsagePrinter.java b/src/proguard/shrink/UsagePrinter.java
index db460f7..0cda3ef 100644
--- a/src/proguard/shrink/UsagePrinter.java
+++ b/src/proguard/shrink/UsagePrinter.java
@@ -1,8 +1,8 @@
-/* $Id: UsagePrinter.java,v 1.19.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: UsagePrinter.java,v 1.19.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/shrink/UsedClassFileFilter.java b/src/proguard/shrink/UsedClassFileFilter.java
index 5a783bb..d16fe7f 100644
--- a/src/proguard/shrink/UsedClassFileFilter.java
+++ b/src/proguard/shrink/UsedClassFileFilter.java
@@ -1,8 +1,8 @@
-/* $Id: UsedClassFileFilter.java,v 1.11.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: UsedClassFileFilter.java,v 1.11.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/util/ExtensionMatcher.java b/src/proguard/util/ExtensionMatcher.java
index 28d94fb..12311fa 100644
--- a/src/proguard/util/ExtensionMatcher.java
+++ b/src/proguard/util/ExtensionMatcher.java
@@ -1,8 +1,8 @@
-/* $Id: ExtensionMatcher.java,v 1.4.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ExtensionMatcher.java,v 1.4.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/util/ListUtil.java b/src/proguard/util/ListUtil.java
index db16510..e269394 100644
--- a/src/proguard/util/ListUtil.java
+++ b/src/proguard/util/ListUtil.java
@@ -1,8 +1,8 @@
-/* $Id: ListUtil.java,v 1.6.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ListUtil.java,v 1.6.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free
diff --git a/src/proguard/wtk/ProGuardObfuscator.java b/src/proguard/wtk/ProGuardObfuscator.java
index dbc2153..f51958e 100644
--- a/src/proguard/wtk/ProGuardObfuscator.java
+++ b/src/proguard/wtk/ProGuardObfuscator.java
@@ -1,8 +1,8 @@
-/* $Id: ProGuardObfuscator.java,v 1.15.2.1 2006/01/16 22:57:56 eric Exp $
+/* $Id: ProGuardObfuscator.java,v 1.15.2.2 2007/01/18 21:31:53 eric Exp $
  *
  * ProGuard -- shrinking, optimization, and obfuscation of Java class files.
  *
- * Copyright (c) 2002-2006 Eric Lafortune (eric at graphics.cornell.edu)
+ * Copyright (c) 2002-2007 Eric Lafortune (eric at graphics.cornell.edu)
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the Free

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/proguard.git



More information about the pkg-java-commits mailing list