From 72194b7982ddfa8e9864d0a9934905bb76b90f33 Mon Sep 17 00:00:00 2001 From: Lars Grefer Date: Sat, 8 Aug 2020 03:06:37 +0200 Subject: 'for' loop replaceable with enhanced 'for' loop Reports for loops which iterate over collections or arrays, and can be replaced with an enhanced for loop (i.e. the foreach iteration syntax). Signed-off-by: Lars Grefer --- .../aspectj/tools/ajbrowser/BrowserManager.java | 6 +- .../java/org/aspectj/tools/ajbrowser/Main.java | 4 +- .../core/BrowserCompilerConfiguration.java | 3 +- .../ajbrowser/ui/swing/MessageHandlerPanel.java | 4 +- .../ajde/core/internal/AjdeCoreBuildManager.java | 8 +- .../org/aspectj/ajde/core/AjdeCoreTestCase.java | 7 +- .../ajde/core/TestCompilerConfiguration.java | 10 +- .../org/aspectj/ajde/core/tests/AjConfigTest.java | 3 +- .../org/aspectj/ajde/core/tests/InpathTest.java | 7 +- .../aspectj/ajde/core/tests/ResourceCopyTest.java | 14 +- .../ajde/core/tests/ShowWeaveMessagesTest.java | 8 +- .../core/tests/model/AsmRelationshipsTest.java | 6 +- .../ajde/core/tests/model/StructureModelTest.java | 7 +- ajde/src/main/java/org/aspectj/ajde/Ajde.java | 4 +- .../ajde/internal/LstBuildConfigFileUpdater.java | 26 +- .../ajde/internal/LstBuildConfigManager.java | 8 +- .../aspectj/ajde/ui/StructureSearchManager.java | 3 +- .../java/org/aspectj/ajde/ui/StructureView.java | 4 +- .../org/aspectj/ajde/ui/StructureViewManager.java | 8 +- .../aspectj/ajde/ui/StructureViewNodeFactory.java | 7 +- .../ajde/ui/internal/TreeStructureViewBuilder.java | 4 +- .../ajde/ui/internal/UserPreferencesStore.java | 4 +- .../JavaCompilerWarningsOptionsPanel.java | 6 +- .../ui/swing/BrowserStructureViewToolPanel.java | 34 +-- .../org/aspectj/ajde/ui/swing/BrowserView.java | 6 +- .../aspectj/ajde/ui/swing/BrowserViewPanel.java | 12 +- .../ajde/ui/swing/BuildConfigPopupMenu.java | 34 +-- .../org/aspectj/ajde/ui/swing/OptionsFrame.java | 6 +- .../aspectj/ajde/ui/swing/StructureViewPanel.java | 4 +- .../aspectj/ajde/ui/swing/SwingTreeViewNode.java | 6 +- .../ajde/ui/swing/TreeViewBuildConfigEditor.java | 7 +- .../test/java/org/aspectj/ajde/AjdeTestCase.java | 3 +- .../test/java/org/aspectj/ajde/ExtensionTest.java | 11 +- .../aspectj/ajde/ui/StructureViewManagerTest.java | 3 +- .../ajde/ui/utils/TestBuildProgressMonitor.java | 10 +- .../ajde/ui/utils/TestCompilerConfiguration.java | 10 +- .../org/aspectj/tools/ajdoc/HtmlDecorator.java | 24 +- .../main/java/org/aspectj/tools/ajdoc/Main.java | 32 +- .../org/aspectj/tools/ajdoc/StructureUtil.java | 15 +- .../org/aspectj/tools/ajdoc/StubFileGenerator.java | 11 +- .../aspectj/tools/ajdoc/AjdocOutputChecker.java | 8 +- .../org/aspectj/tools/ajdoc/AjdocTestCase.java | 13 +- asm/src/main/java/org/aspectj/asm/AsmManager.java | 25 +- .../main/java/org/aspectj/asm/IProgramElement.java | 10 +- .../main/java/org/aspectj/asm/IRelationship.java | 6 +- .../asm/internal/JDTLikeHandleProvider.java | 6 +- .../org/aspectj/asm/internal/ProgramElement.java | 7 +- .../org/aspectj/asm/internal/RelationshipMap.java | 3 +- .../apache/bcel/classfile/AttributeUtils.java | 42 +-- .../apache/bcel/classfile/BootstrapMethods.java | 12 +- .../org/aspectj/apache/bcel/classfile/Code.java | 35 ++- .../apache/bcel/classfile/FieldOrMethod.java | 3 +- .../aspectj/apache/bcel/classfile/JavaClass.java | 58 ++-- .../org/aspectj/apache/bcel/classfile/Method.java | 25 +- .../org/aspectj/apache/bcel/classfile/Module.java | 8 +- .../apache/bcel/classfile/ModulePackages.java | 8 +- .../org/aspectj/apache/bcel/classfile/Utility.java | 40 +-- .../bcel/classfile/annotation/AnnotationGen.java | 3 +- .../classfile/annotation/ArrayElementValue.java | 4 +- .../bcel/classfile/annotation/RuntimeAnnos.java | 3 +- .../classfile/annotation/RuntimeParamAnnos.java | 7 +- .../classfile/annotation/RuntimeTypeAnnos.java | 4 +- .../classfile/annotation/TypeAnnotationGen.java | 8 +- .../org/aspectj/apache/bcel/generic/ClassGen.java | 21 +- .../org/aspectj/apache/bcel/generic/FieldGen.java | 15 +- .../apache/bcel/generic/InstructionFactory.java | 8 +- .../apache/bcel/generic/InstructionList.java | 28 +- .../apache/bcel/generic/InstructionSelect.java | 12 +- .../org/aspectj/apache/bcel/generic/MethodGen.java | 55 ++-- .../aspectj/apache/bcel/generic/ReferenceType.java | 8 +- .../java/org/aspectj/apache/bcel/generic/Type.java | 8 +- .../bcel/util/NonCachingClassLoaderRepository.java | 3 +- .../apache/bcel/classfile/tests/BcelTestCase.java | 22 +- .../bcel/classfile/tests/FieldAnnotationsTest.java | 12 +- .../tests/GeneratingAnnotatedClassesTest.java | 3 +- .../tests/GenericSignatureParsingTest.java | 55 ++-- .../classfile/tests/GenericsErasureTesting.java | 5 +- .../tests/LocalVariableTypeTableTest.java | 12 +- .../classfile/tests/MethodAnnotationsTest.java | 12 +- .../classfile/tests/ParameterAnnotationsTest.java | 4 +- .../RuntimeVisibleAnnotationAttributeTest.java | 8 +- ...imeVisibleParameterAnnotationAttributeTest.java | 45 ++- .../apache/bcel/classfile/tests/VarargsTest.java | 12 +- .../main/java/org/aspectj/bridge/MessageUtil.java | 4 +- .../test/java/org/aspectj/bridge/MessageTest.java | 24 +- .../main/java/$installer$/org/aspectj/Main.java | 11 +- .../internal/tools/ant/taskdefs/AJInstaller.java | 29 +- .../internal/tools/ant/taskdefs/AntBuilder.java | 19 +- .../tools/ant/taskdefs/ConditionalTask.java | 10 +- .../tools/ant/taskdefs/StripNonBodyHtml.java | 14 +- .../org/aspectj/internal/tools/build/Builder.java | 113 ++++--- .../org/aspectj/internal/tools/build/Module.java | 100 +++---- .../internal/tools/build/SampleGatherer.java | 124 ++++---- .../org/aspectj/internal/tools/build/Util.java | 44 +-- .../java/org/aspectj/build/BuildModuleTests.java | 33 +-- .../aspectj/internal/build/BuildModuleTest.java | 69 +++-- .../org/aspectj/internal/build/ModulesTest.java | 35 ++- .../aspectj/internal/tools/build/UtilsTest.java | 35 ++- .../main/java/org/aspectj/weaver/loadtime/Aj.java | 6 +- .../weaver/loadtime/ClassLoaderWeavingAdaptor.java | 37 ++- .../weaver/loadtime/ConcreteAspectCodeGen.java | 191 ++++++------ .../java/org/aspectj/weaver/loadtime/Options.java | 6 +- .../aspectj/weaver/loadtime/JRockitAgentTest.java | 4 +- .../java/org/aspectj/ajdt/ajc/AjdtCommand.java | 16 +- .../java/org/aspectj/ajdt/ajc/BuildArgParser.java | 12 +- .../java/org/aspectj/ajdt/ajc/ConfigParser.java | 8 +- .../ajdt/internal/compiler/AjCompilerAdapter.java | 16 +- .../compiler/AjPipeliningCompilerAdapter.java | 40 ++- .../compiler/ClassFileBasedByteCodeProvider.java | 8 +- .../ajdt/internal/compiler/CommonPrinter.java | 4 +- .../ajdt/internal/compiler/WeaverAdapter.java | 4 +- .../internal/compiler/WeaverMessageHandler.java | 6 +- .../internal/compiler/ast/AdviceDeclaration.java | 3 +- .../compiler/ast/AjConstructorDeclaration.java | 4 +- .../internal/compiler/ast/AjMethodDeclaration.java | 4 +- .../internal/compiler/ast/AspectDeclaration.java | 36 ++- .../ast/InterTypeConstructorDeclaration.java | 10 +- .../compiler/ast/InterTypeDeclaration.java | 4 +- .../compiler/ast/InterTypeFieldDeclaration.java | 3 +- .../compiler/ast/InterTypeMethodDeclaration.java | 16 +- .../internal/compiler/ast/PointcutDeclaration.java | 4 +- .../ajdt/internal/compiler/ast/Proceed.java | 6 +- .../ajdt/internal/compiler/ast/PseudoTokens.java | 4 +- .../internal/compiler/ast/SuperFixerVisitor.java | 6 +- .../ast/ValidateAtAspectJAnnotationsVisitor.java | 38 +-- .../compiler/lookup/AjLookupEnvironment.java | 93 +++--- .../lookup/EclipseAnnotationConvertor.java | 5 +- .../internal/compiler/lookup/EclipseFactory.java | 8 +- .../compiler/lookup/EclipseResolvedMember.java | 11 +- .../internal/compiler/lookup/EclipseScope.java | 17 +- .../compiler/lookup/EclipseSourceType.java | 48 ++- .../compiler/lookup/EclipseTypeMunger.java | 13 +- .../compiler/lookup/InterTypeMemberFinder.java | 19 +- .../compiler/lookup/InterTypeMethodBinding.java | 8 +- .../compiler/lookup/PrivilegedHandler.java | 4 +- .../compiler/problem/AjProblemReporter.java | 21 +- .../ajdt/internal/core/builder/AjBuildConfig.java | 14 +- .../ajdt/internal/core/builder/AjBuildManager.java | 328 ++++++++++----------- .../ajdt/internal/core/builder/AjState.java | 159 +++++----- .../internal/core/builder/AsmElementFormatter.java | 14 +- .../internal/core/builder/AsmHierarchyBuilder.java | 12 +- .../internal/core/builder/EclipseAdapterUtils.java | 10 +- .../core/builder/EclipseSourceContext.java | 11 +- .../core/builder/EmacsStructureModelManager.java | 7 +- .../core/builder/IncrementalStateManager.java | 13 +- .../org/eclipse/jdt/core/dom/AjASTConverter.java | 95 +++--- .../eclipse/jdt/core/dom/AjNaiveASTFlattener.java | 60 ++-- .../eclipse/jdt/core/dom/AjTypeDeclaration.java | 7 +- .../eclipse/jdt/core/dom/AspectDeclaration.java | 3 +- .../src/main/java/org/aspectj/tools/ajc/Main.java | 8 +- .../aspectj/ajdt/ajc/BuildArgParserTestCase.java | 30 +- .../internal/compiler/batch/CommandTestCase.java | 9 +- .../compiler/batch/DeclareParentsTest.java | 8 +- .../internal/compiler/batch/IncrementalCase.java | 31 +- .../internal/compiler/batch/WorkingTestMain.java | 10 +- .../java/org/aspectj/tools/ajc/AjAST5Test.java | 88 +++--- .../test/java/org/aspectj/tools/ajc/AjASTTest.java | 114 ++++--- .../java/org/aspectj/tools/ajc/AjASTTestCase.java | 6 +- .../src/test/java/org/aspectj/tools/ajc/Ajc.java | 28 +- .../java/org/aspectj/tools/ajc/AjcTestCase.java | 4 +- .../org/aspectj/tools/ajc/CompilationResult.java | 24 +- .../aspectj/tools/ajc/DelegatingOutputStream.java | 32 +- .../org/aspectj/weaver/AbstractAnnotationAJ.java | 5 +- .../weaver/AbstractReferenceTypeDelegate.java | 4 +- .../main/java/org/aspectj/weaver/AjAttribute.java | 6 +- .../org/aspectj/weaver/ArrayReferenceType.java | 4 +- .../org/aspectj/weaver/BoundedReferenceType.java | 8 +- .../org/aspectj/weaver/CrosscuttingMembers.java | 23 +- .../org/aspectj/weaver/CrosscuttingMembersSet.java | 54 ++-- .../src/main/java/org/aspectj/weaver/Dump.java | 10 +- .../src/main/java/org/aspectj/weaver/Lint.java | 4 +- .../main/java/org/aspectj/weaver/MemberImpl.java | 4 +- .../aspectj/weaver/MethodDelegateTypeMunger.java | 3 +- .../java/org/aspectj/weaver/ReferenceType.java | 54 ++-- .../org/aspectj/weaver/ResolvedMemberImpl.java | 43 ++- .../main/java/org/aspectj/weaver/ResolvedType.java | 90 +++--- .../src/main/java/org/aspectj/weaver/Shadow.java | 43 ++- .../java/org/aspectj/weaver/SignatureUtils.java | 8 +- .../org/aspectj/weaver/StandardAnnotation.java | 10 +- .../main/java/org/aspectj/weaver/TypeFactory.java | 4 +- .../main/java/org/aspectj/weaver/TypeVariable.java | 33 +-- .../aspectj/weaver/TypeVariableReferenceType.java | 6 +- .../java/org/aspectj/weaver/UnresolvedType.java | 11 +- .../src/main/java/org/aspectj/weaver/Utils.java | 6 +- .../weaver/patterns/AnnotationPatternList.java | 28 +- .../weaver/patterns/AnnotationPointcut.java | 7 +- .../weaver/patterns/ArgsAnnotationPointcut.java | 6 +- .../org/aspectj/weaver/patterns/ArgsPointcut.java | 10 +- .../java/org/aspectj/weaver/patterns/Bindings.java | 6 +- .../patterns/ExactAnnotationFieldTypePattern.java | 3 +- .../patterns/ExactAnnotationTypePattern.java | 9 +- .../org/aspectj/weaver/patterns/ExposedState.java | 4 +- .../weaver/patterns/HasMemberTypePattern.java | 3 +- .../org/aspectj/weaver/patterns/NamePattern.java | 4 +- .../aspectj/weaver/patterns/PointcutRewriter.java | 3 +- .../aspectj/weaver/patterns/SignaturePattern.java | 17 +- .../org/aspectj/weaver/patterns/SimpleScope.java | 9 +- .../aspectj/weaver/patterns/TypePatternList.java | 26 +- .../weaver/patterns/TypePatternQuestions.java | 9 +- .../weaver/patterns/TypeVariablePattern.java | 8 +- .../weaver/patterns/TypeVariablePatternList.java | 14 +- .../weaver/patterns/WildAnnotationTypePattern.java | 18 +- .../aspectj/weaver/patterns/WildTypePattern.java | 48 ++- .../weaver/tools/StandardPointcutParser.java | 4 +- .../CommonAdvancedPointcutExpressionTests.java | 8 +- .../tools/CommonPointcutExpressionTests.java | 10 +- .../java/org/aspectj/weaver/CommonWorldTests.java | 52 ++-- .../weaver/patterns/DumpPointcutVisitor.java | 4 +- .../weaver/patterns/ModifiersPatternTestCase.java | 10 +- .../weaver/patterns/NamePatternParserTestCase.java | 3 +- .../weaver/patterns/NamePatternTestCase.java | 8 +- .../weaver/patterns/PointcutRewriterTest.java | 24 +- .../SignaturePatternMatchSpeedTestCase.java | 8 +- .../weaver/patterns/SignaturePatternTestCase.java | 8 +- .../weaver/patterns/TypePatternListTestCase.java | 4 +- .../weaver/patterns/TypePatternTestCase.java | 4 +- .../internal/lang/reflect/StringToType.java | 6 +- .../internal/cflowstack/ThreadCounterImpl11.java | 4 +- .../runtime/reflect/MethodSignatureImpl.java | 4 +- .../lang/reflect/AjTypeWithAspectsTest.java | 6 +- .../java/org/aspectj/tools/ant/taskdefs/Ajc10.java | 50 ++-- .../java/org/aspectj/tools/ant/taskdefs/Ajc2.java | 16 +- .../tools/ant/taskdefs/AjcCompilerAdapter.java | 6 +- .../org/aspectj/tools/ant/taskdefs/AjcTask.java | 23 +- .../java/org/aspectj/tools/ant/taskdefs/Ajdoc.java | 83 +++--- .../aspectj/tools/ant/taskdefs/compilers/Ajc.java | 36 ++- .../ant/taskdefs/Ajc11CompilerAdapterTest.java | 10 +- .../aspectj/tools/ant/taskdefs/AjcTaskTest.java | 86 +++--- .../src/main/java/org/aspectj/testing/Tester.java | 24 +- .../java/org/aspectj/testing/drivers/Harness.java | 6 +- .../aspectj/testing/drivers/HarnessJUnitUtil.java | 12 +- .../testing/drivers/HarnessSelectionTest.java | 14 +- .../java/org/aspectj/testing/util/TestUtil.java | 16 +- .../java/org/aspectj/testingutil/TestUtilTest.java | 12 +- .../internal/tools/ant/taskdefs/Ajctest.java | 284 +++++++++--------- .../testing/AutowiredXMLBasedAjcTestCase.java | 43 ++- .../test/java/org/aspectj/testing/WeaveSpec.java | 12 +- .../org/aspectj/testing/XMLBasedAjcTestCase.java | 16 +- .../org/aspectj/testing/ajde/CompileCommand.java | 4 +- .../testing/harness/bridge/AbstractRunSpec.java | 3 +- .../testing/harness/bridge/AjcMessageHandler.java | 32 +- .../testing/harness/bridge/AjcSpecTest.java | 3 +- .../aspectj/testing/harness/bridge/AjcTest.java | 171 ++++++----- .../testing/harness/bridge/CompilerRun.java | 144 +++++---- .../harness/bridge/CompilerRunSpecTest.java | 34 +-- .../aspectj/testing/harness/bridge/DirChanges.java | 59 ++-- .../testing/harness/bridge/IncCompilerRun.java | 10 +- .../testing/harness/bridge/ParseTestCase.java | 18 +- .../aspectj/testing/harness/bridge/Sandbox.java | 49 ++- .../aspectj/testing/harness/bridge/Validator.java | 24 +- .../java/org/aspectj/testing/run/RunStatus.java | 12 +- .../java/org/aspectj/testing/util/BridgeUtil.java | 8 +- .../test/java/org/aspectj/testing/util/Diffs.java | 11 +- .../java/org/aspectj/testing/util/FileUtil.java | 65 ++-- .../java/org/aspectj/testing/util/LangUtil.java | 122 ++++---- .../org/aspectj/testing/util/LangUtilTest.java | 4 +- .../java/org/aspectj/testing/util/LineReader.java | 26 +- .../java/org/aspectj/testing/util/LinkCheck.java | 28 +- .../org/aspectj/testing/util/MessageUtilTest.java | 27 +- .../java/org/aspectj/testing/util/SFileReader.java | 18 +- .../aspectj/testing/util/StructureModelUtil.java | 13 +- .../org/aspectj/testing/util/TestClassLoader.java | 12 +- .../java/org/aspectj/testing/util/TestDiffs.java | 30 +- .../org/aspectj/testing/util/options/Option.java | 10 +- .../org/aspectj/testing/util/options/Options.java | 14 +- .../aspectj/testing/util/options/OptionsTest.java | 6 +- .../org/aspectj/testing/util/options/Values.java | 112 +++---- .../org/aspectj/testing/xml/AjcSpecXmlReader.java | 30 +- .../aspectj/testing/xml/AjcSpecXmlReaderTest.java | 49 ++- .../testing/xml/MessageListXmlReaderTest.java | 4 +- .../java/org/aspectj/testing/xml/SoftMessage.java | 14 +- .../java/org/aspectj/testing/xml/XMLWriter.java | 37 ++- .../org/aspectj/systemtest/ajc150/Ajc150Tests.java | 3 +- .../org/aspectj/systemtest/ajc150/Annotations.java | 5 +- .../systemtest/ajc150/GenericITDsDesign.java | 14 +- .../aspectj/systemtest/ajc150/GenericsTests.java | 23 +- .../ajc152/SynchronizationTransformTests.java | 6 +- .../ajc153/JDTLikeHandleProviderTests.java | 8 +- .../ajc154/CustomMungerExtensionTest.java | 8 +- .../org/aspectj/systemtest/ajc160/SanityTests.java | 9 +- .../org/aspectj/systemtest/ajc161/Ajc161Tests.java | 4 +- .../aspectj/systemtest/ajc1610/NewFeatures.java | 6 +- .../aspectj/systemtest/ajc1612/Ajc1612Tests.java | 3 +- .../org/aspectj/systemtest/ajc163/Ajc163Tests.java | 9 +- .../org/aspectj/systemtest/ajc164/Ajc164Tests.java | 3 +- .../org/aspectj/systemtest/ajc165/Ajc165Tests.java | 4 +- .../org/aspectj/systemtest/ajc173/Ajc173Tests.java | 4 +- .../org/aspectj/systemtest/ajc190/Annotations.java | 3 +- .../systemtest/ajc190/EfficientTJPTests.java | 5 +- .../org/aspectj/systemtest/ajc190/ModuleTests.java | 9 +- ...tiProjectIncrementalAjdeInteractionTestbed.java | 17 +- .../incremental/tools/AjdeInteractionTestbed.java | 33 +-- .../tools/MoreOutputLocationManagerTests.java | 3 +- .../tools/MultiProjectIncrementalTests.java | 40 +-- .../aspectj/systemtest/model/ModelTestCase.java | 9 +- util/src/main/java/org/aspectj/util/FileUtil.java | 215 +++++++------- .../java/org/aspectj/util/GenericSignature.java | 24 +- .../org/aspectj/util/GenericSignatureParser.java | 4 +- .../main/java/org/aspectj/util/PartialOrder.java | 7 +- .../src/main/java/org/aspectj/util/Reflection.java | 32 +- .../java/org/aspectj/util/UtilClassLoader.java | 12 +- .../test/java/org/aspectj/util/FileUtilTest.java | 26 +- .../org/aspectj/weaver/bcel/AtAjAttributes.java | 44 ++- .../java/org/aspectj/weaver/bcel/BcelAdvice.java | 13 +- .../org/aspectj/weaver/bcel/BcelAnnotation.java | 4 +- .../org/aspectj/weaver/bcel/BcelClassWeaver.java | 80 ++--- .../bcel/BcelGenericSignatureToTypeXConverter.java | 14 +- .../java/org/aspectj/weaver/bcel/BcelMethod.java | 24 +- .../org/aspectj/weaver/bcel/BcelObjectType.java | 24 +- .../java/org/aspectj/weaver/bcel/BcelShadow.java | 47 ++- .../org/aspectj/weaver/bcel/BcelTypeMunger.java | 36 +-- .../java/org/aspectj/weaver/bcel/BcelWeaver.java | 44 ++- .../java/org/aspectj/weaver/bcel/BcelWorld.java | 3 +- .../org/aspectj/weaver/bcel/ClassPathManager.java | 4 +- .../java/org/aspectj/weaver/bcel/LazyClassGen.java | 151 +++++----- .../org/aspectj/weaver/bcel/LazyMethodGen.java | 16 +- .../main/java/org/aspectj/weaver/bcel/Utility.java | 4 +- .../loadtime/definition/SimpleAOPParser.java | 4 +- .../main/java/org/aspectj/weaver/ltw/LTWWorld.java | 4 +- .../weaver/model/AsmRelationshipProvider.java | 16 +- .../weaver/reflect/Java15AnnotationFinder.java | 9 +- ...Java15ReflectionBasedReferenceTypeDelegate.java | 8 +- .../java/org/aspectj/weaver/tools/Jdk14Trace.java | 3 +- .../org/aspectj/weaver/tools/WeavingAdaptor.java | 4 +- .../tools/cache/DefaultCacheKeyResolver.java | 7 +- .../aspectj/weaver/GenericSignatureParserTest.java | 12 +- .../test/java/org/aspectj/weaver/Member15Test.java | 24 +- .../java/org/aspectj/weaver/Member15TestCase.java | 24 +- .../weaver/ParameterizedReferenceTypeTestCase.java | 22 +- .../org/aspectj/weaver/WeaverMessagesTestCase.java | 9 +- .../weaver/bcel/ClassLoaderRepositoryTest.java | 8 +- .../org/aspectj/weaver/bcel/WeaveTestCase.java | 15 +- .../weaver/patterns/AnnotationPatternTestCase.java | 4 +- .../ReflectionBasedReferenceTypeDelegateTest.java | 22 +- .../weaver/tools/Java15PointcutExpressionTest.java | 14 +- .../weaver/tools/ReadingAttributesTest.java | 8 +- 336 files changed, 3619 insertions(+), 4045 deletions(-) diff --git a/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/BrowserManager.java b/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/BrowserManager.java index 84bb63683..e59c16103 100644 --- a/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/BrowserManager.java +++ b/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/BrowserManager.java @@ -183,9 +183,9 @@ public class BrowserManager { private List getConfigFilesList(String[] configFiles) { List configs = new ArrayList(); - for (int i = 0; i < configFiles.length; i++) { - if (configFiles[i].endsWith(BuildConfigManager.CONFIG_FILE_SUFFIX)) { - configs.add(configFiles[i]); + for (String configFile : configFiles) { + if (configFile.endsWith(BuildConfigManager.CONFIG_FILE_SUFFIX)) { + configs.add(configFile); } } return configs; diff --git a/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/Main.java b/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/Main.java index 76c1b50e2..6d56a6f2a 100644 --- a/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/Main.java +++ b/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/Main.java @@ -42,8 +42,8 @@ public class Main { return false; } int numConfigFiles = 0; - for (int i = 0; i < args.length; i++) { - if ((null != args[i]) && args[i].endsWith(".lst")) { + for (String arg : args) { + if ((null != arg) && arg.endsWith(".lst")) { numConfigFiles++; } } diff --git a/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/core/BrowserCompilerConfiguration.java b/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/core/BrowserCompilerConfiguration.java index 35f676e1b..0295a9a24 100644 --- a/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/core/BrowserCompilerConfiguration.java +++ b/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/core/BrowserCompilerConfiguration.java @@ -43,8 +43,7 @@ public class BrowserCompilerConfiguration implements ICompilerConfiguration { classpath.append(userPath); } List outputDirs = getOutputLocationManager().getAllOutputLocations(); - for (Iterator iterator = outputDirs.iterator(); iterator.hasNext();) { - File dir = (File) iterator.next(); + for (File dir : outputDirs) { classpath.append(File.pathSeparator + dir.getAbsolutePath() + File.pathSeparator); } classpath.append(System.getProperty("java.class.path", ".")); diff --git a/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/ui/swing/MessageHandlerPanel.java b/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/ui/swing/MessageHandlerPanel.java index fa24f709f..d3abd95eb 100644 --- a/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/ui/swing/MessageHandlerPanel.java +++ b/ajbrowser/src/main/java/org/aspectj/tools/ajbrowser/ui/swing/MessageHandlerPanel.java @@ -73,8 +73,8 @@ public class MessageHandlerPanel extends JPanel { private void createList(List messages) { list = new JList(); listModel = new DefaultListModel(); - for (Iterator iterator = messages.iterator(); iterator.hasNext();) { - listModel.addElement(iterator.next()); + for (IMessage message : messages) { + listModel.addElement(message); } } diff --git a/ajde.core/src/main/java/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java b/ajde.core/src/main/java/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java index 08d3ee377..a83ab5be2 100644 --- a/ajde.core/src/main/java/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java +++ b/ajde.core/src/main/java/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java @@ -250,11 +250,11 @@ public class AjdeCoreBuildManager { args = new String[l.size() + xmlfiles.size() + 1]; // TODO speedup int p = 0; - for (int i = 0; i < l.size(); i++) { - args[p++] = l.get(i); + for (String s : l) { + args[p++] = s; } - for (int i = 0; i < xmlfiles.size(); i++) { - args[p++] = xmlfiles.get(i); + for (String xmlfile : xmlfiles) { + args[p++] = xmlfile; } args[p++] = "-xmlConfigured"; } else { diff --git a/ajde.core/src/test/java/org/aspectj/ajde/core/AjdeCoreTestCase.java b/ajde.core/src/test/java/org/aspectj/ajde/core/AjdeCoreTestCase.java index 052d547c6..eafa22f04 100644 --- a/ajde.core/src/test/java/org/aspectj/ajde/core/AjdeCoreTestCase.java +++ b/ajde.core/src/test/java/org/aspectj/ajde/core/AjdeCoreTestCase.java @@ -85,8 +85,7 @@ public abstract class AjdeCoreTestCase extends TestCase { String contents[] = from.list(); if (contents == null) return; - for (int i = 0; i < contents.length; i++) { - String string = contents[i]; + for (String string : contents) { File f = new File(from, string); File t = new File(to, string); @@ -141,8 +140,8 @@ public abstract class AjdeCoreTestCase extends TestCase { public List getSourceFileList(String[] files) { List sourceFiles = new ArrayList(); - for (int i = 0; i < files.length; i++) { - sourceFiles.add(getAbsoluteProjectDir() + File.separator + files[i]); + for (String file : files) { + sourceFiles.add(getAbsoluteProjectDir() + File.separator + file); } return sourceFiles; } diff --git a/ajde.core/src/test/java/org/aspectj/ajde/core/TestCompilerConfiguration.java b/ajde.core/src/test/java/org/aspectj/ajde/core/TestCompilerConfiguration.java index 57d1ce73a..e8432c8cf 100644 --- a/ajde.core/src/test/java/org/aspectj/ajde/core/TestCompilerConfiguration.java +++ b/ajde.core/src/test/java/org/aspectj/ajde/core/TestCompilerConfiguration.java @@ -116,17 +116,17 @@ public class TestCompilerConfiguration implements ICompilerConfiguration { /* Allow the user to override the testProjectPath by using sourceRoots */ File[] srcBase = new File[] { new File(projectPath + File.separator + srcDirName) }; - for (int j = 0; j < srcBase.length; j++) { - File[] fromResources = FileUtil.listFiles(srcBase[j], new FileFilter() { + for (File file : srcBase) { + File[] fromResources = FileUtil.listFiles(file, new FileFilter() { public boolean accept(File pathname) { String name = pathname.getName().toLowerCase(); return !name.endsWith(".class") && !name.endsWith(".java") && !name.endsWith(".aj") && !name.endsWith(".lst") && !name.endsWith(".jar"); } }); - for (int i = 0; i < fromResources.length; i++) { - String normPath = FileUtil.normalizedPath(fromResources[i], srcBase[j]); - sourcePathResources.put(normPath, fromResources[i]); + for (File fromResource : fromResources) { + String normPath = FileUtil.normalizedPath(fromResource, file); + sourcePathResources.put(normPath, fromResource); } } diff --git a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/AjConfigTest.java b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/AjConfigTest.java index eb7d67b9c..15d2ff696 100644 --- a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/AjConfigTest.java +++ b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/AjConfigTest.java @@ -135,8 +135,7 @@ public class AjConfigTest extends AjdeCoreTestCase { compilerConfig.setSourcePathResources(m); AjBuildConfig buildConfig = genAjBuildConfig(); Map found = buildConfig.getSourcePathResources(); - for (Iterator i = found.keySet().iterator(); i.hasNext();) { - String resource = i.next(); + for (String resource : found.keySet()) { assertEquals("expected to find resource with name newFile.txt but " + "found " + resource, "newFile.txt", resource); File from = buildConfig.getSourcePathResources().get(resource); assertEquals("expected to find resource with file " + getWorkingDir() + "but found " + from, getWorkingDir(), from); diff --git a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/InpathTest.java b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/InpathTest.java index af1040e5f..0696aa908 100644 --- a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/InpathTest.java +++ b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/InpathTest.java @@ -294,8 +294,7 @@ public class InpathTest extends AjdeCoreTestCase { File binBase = openFile(outdirName); String[] toResources = FileUtil.listFiles(binBase); - for (int i = 0; i < toResources.length; i++) { - String fileName = toResources[i]; + for (String fileName : toResources) { if (fileName.indexOf("CVS") == -1) { boolean b = expectedOutdirContents.remove(fileName); assertTrue("Extraneous resources: " + fileName, b); @@ -308,8 +307,8 @@ public class InpathTest extends AjdeCoreTestCase { private void listSourceResources(String indirName, Set resources) { File srcBase = openFile(indirName); File[] fromResources = FileUtil.listFiles(srcBase, aspectjResourceFileFilter); - for (int i = 0; i < fromResources.length; i++) { - String name = FileUtil.normalizedPath(fromResources[i], srcBase); + for (File fromResource : fromResources) { + String name = FileUtil.normalizedPath(fromResource, srcBase); // System.err.println("Checking "+name); if (!name.startsWith("CVS/") && (-1 == name.indexOf("/CVS/")) && !name.endsWith("/CVS")) { resources.add(name); diff --git a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/ResourceCopyTest.java b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/ResourceCopyTest.java index c75da5b04..b6f44ae7d 100644 --- a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/ResourceCopyTest.java +++ b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/ResourceCopyTest.java @@ -155,8 +155,8 @@ public class ResourceCopyTest extends AjdeCoreTestCase { HashSet resources = new HashSet<>(); listSourceResources(indirName, resources); - for (int i = 0; i < toResources.length; i++) { - String fileName = FileUtil.normalizedPath(toResources[i], binBase); + for (File toResource : toResources) { + String fileName = FileUtil.normalizedPath(toResource, binBase); boolean b = resources.remove(fileName); assertTrue("Extraneous resources: " + fileName, b); } @@ -167,8 +167,8 @@ public class ResourceCopyTest extends AjdeCoreTestCase { private void listSourceResources(String indirName, Set resources) { File srcBase = openFile(indirName); File[] fromResources = FileUtil.listFiles(srcBase, aspectjResourceFileFilter); - for (int i = 0; i < fromResources.length; i++) { - String name = FileUtil.normalizedPath(fromResources[i], srcBase); + for (File fromResource : fromResources) { + String name = FileUtil.normalizedPath(fromResource, srcBase); if (!name.startsWith("CVS/") && (-1 == name.indexOf("/CVS/")) && !name.endsWith("/CVS")) { resources.add(name); } @@ -263,12 +263,12 @@ public class ResourceCopyTest extends AjdeCoreTestCase { File binBase = openFile(outdirName); File[] toResources = FileUtil.listFiles(binBase, aspectjResourceFileFilter); - for (int i = 0; i < toResources.length; i++) { - String fileName = FileUtil.normalizedPath(toResources[i], binBase); + for (File toResource : toResources) { + String fileName = FileUtil.normalizedPath(toResource, binBase); /* Ensure we copied the right JAR manifest */ if (fileName.equalsIgnoreCase("meta-inf/Manifest.mf")) { - byte[] outManifest = FileUtil.readAsByteArray(toResources[i]); + byte[] outManifest = FileUtil.readAsByteArray(toResource); assertTrue("Wrong manifest has been copied", Arrays.equals(inManifest, outManifest)); } boolean b = resources.remove(fileName); diff --git a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/ShowWeaveMessagesTest.java b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/ShowWeaveMessagesTest.java index c13462620..bc4263f4e 100644 --- a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/ShowWeaveMessagesTest.java +++ b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/ShowWeaveMessagesTest.java @@ -376,8 +376,8 @@ public class ShowWeaveMessagesTest extends AjdeCoreTestCase { // See if the messages match int msgCount = 0; List l = handler.getMessages(); - for (Iterator iter = l.iterator(); iter.hasNext();) { - IMessage msg = iter.next().getContainedMessage(); + for (TestMessageHandler.TestMessage testMessage : l) { + IMessage msg = testMessage.getContainedMessage(); if (debugTests) System.out.println("Looking at [" + msg + "]"); if (msg.getKind().equals(IMessage.WEAVEINFO)) { @@ -416,8 +416,8 @@ public class ShowWeaveMessagesTest extends AjdeCoreTestCase { try { fw = new FileWriter(f); List l = handler.getMessages(); - for (Iterator iter = l.iterator(); iter.hasNext();) { - IMessage msg = iter.next().getContainedMessage(); + for (TestMessageHandler.TestMessage testMessage : l) { + IMessage msg = testMessage.getContainedMessage(); if (msg.getKind().equals(IMessage.WEAVEINFO)) { fw.write(msg.getMessage() + "\n"); } diff --git a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/model/AsmRelationshipsTest.java b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/model/AsmRelationshipsTest.java index 20b6e346e..4feefedcb 100644 --- a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/model/AsmRelationshipsTest.java +++ b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/model/AsmRelationshipsTest.java @@ -139,8 +139,7 @@ public class AsmRelationshipsTest extends AjdeCoreTestCase { .findElementForLabel(aspect, IProgramElement.Kind.ADVICE, beforeExec); assertNotNull(beforeExecNode); IRelationship rel = manager.getRelationshipMap().get(beforeExecNode, IRelationship.Kind.ADVICE, relName); - for (Iterator it = rel.getTargets().iterator(); it.hasNext();) { - String currHandle = it.next(); + for (String currHandle : rel.getTargets()) { if (manager.getHierarchy().findElementForHandle(currHandle).toLabelString().equals(to)) return; } @@ -186,8 +185,7 @@ public class AsmRelationshipsTest extends AjdeCoreTestCase { // String set = to; IRelationship rel2 = manager.getRelationshipMap().get(clazz, IRelationship.Kind.DECLARE_INTER_TYPE, backRelName); // String handle2 = (String)rel2.getTargets().get(0); - for (Iterator it = rel2.getTargets().iterator(); it.hasNext();) { - String currHandle = it.next(); + for (String currHandle : rel2.getTargets()) { if (manager.getHierarchy().findElementForHandle(currHandle).toLabelString().equals(from)) return; } diff --git a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/model/StructureModelTest.java b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/model/StructureModelTest.java index 6755ca57e..739daee32 100644 --- a/ajde.core/src/test/java/org/aspectj/ajde/core/tests/model/StructureModelTest.java +++ b/ajde.core/src/test/java/org/aspectj/ajde/core/tests/model/StructureModelTest.java @@ -116,8 +116,7 @@ public class StructureModelTest extends AjdeCoreTestCase { } private void testModelIntegrityHelper(IProgramElement node) throws Exception { - for (Iterator it = node.getChildren().iterator(); it.hasNext();) { - IProgramElement child = (IProgramElement) it.next(); + for (IProgramElement child : node.getChildren()) { if (node == child.getParent()) { testModelIntegrityHelper(child); } else { @@ -131,8 +130,8 @@ public class StructureModelTest extends AjdeCoreTestCase { public void preProcess(IProgramElement node) { if (node.getChildren() == null) return; - for (Iterator it = node.getChildren().iterator(); it.hasNext();) { - if (it.next() == null) + for (IProgramElement iProgramElement : node.getChildren()) { + if (iProgramElement == null) throw new NullPointerException("null child on node: " + node.getName()); } } diff --git a/ajde/src/main/java/org/aspectj/ajde/Ajde.java b/ajde/src/main/java/org/aspectj/ajde/Ajde.java index 2e25e50fc..b458eb9da 100644 --- a/ajde/src/main/java/org/aspectj/ajde/Ajde.java +++ b/ajde/src/main/java/org/aspectj/ajde/Ajde.java @@ -262,8 +262,8 @@ public class Ajde { } else { StringBuffer sb = new StringBuffer(); List outputDirs = compilerConfig.getOutputLocationManager().getAllOutputLocations(); - for (Iterator iterator = outputDirs.iterator(); iterator.hasNext();) { - File dir = (File) iterator.next(); + for (Object outputDir : outputDirs) { + File dir = (File) outputDir; sb.append(dir.getAbsolutePath() + File.pathSeparator); } classpath = LangUtil.makeClasspath(null, compilerConfig.getClasspath(), sb.toString(), compilerConfig.getOutJar()); diff --git a/ajde/src/main/java/org/aspectj/ajde/internal/LstBuildConfigFileUpdater.java b/ajde/src/main/java/org/aspectj/ajde/internal/LstBuildConfigFileUpdater.java index ac6264436..f3e2154cd 100644 --- a/ajde/src/main/java/org/aspectj/ajde/internal/LstBuildConfigFileUpdater.java +++ b/ajde/src/main/java/org/aspectj/ajde/internal/LstBuildConfigFileUpdater.java @@ -56,20 +56,20 @@ class LstBuildConfigFileUpdater { * Adds an entry to multiple build configuration files. */ public void updateBuildConfigFiles(List buildConfigFiles, List filesToUpdate, boolean addToConfiguration) { - for (int i = 0; i < buildConfigFiles.size(); i++) { - List fileContents = readConfigFile((String) buildConfigFiles.get(i)); + for (Object buildConfigFile : buildConfigFiles) { + List fileContents = readConfigFile((String) buildConfigFile); if (addToConfiguration) { - for (int j = 0; j < filesToUpdate.size(); j++) { - fileContents.add(filesToUpdate.get(j)); + for (String s : filesToUpdate) { + fileContents.add(s); } } else { - for (int k = 0; k < filesToUpdate.size(); k++) { - if (fileContents.contains(filesToUpdate.get(k))) { - fileContents.remove(filesToUpdate.get(k)); + for (String s : filesToUpdate) { + if (fileContents.contains(s)) { + fileContents.remove(s); } } } - writeConfigFile((String) buildConfigFiles.get(i), fileContents); + writeConfigFile((String) buildConfigFile, fileContents); } } @@ -122,16 +122,14 @@ class LstBuildConfigFileUpdater { String fileContentsString = ""; // List filesToWrite = null; Set includedFiles = new HashSet<>(); - for (Iterator it = importedNodes.iterator(); it.hasNext();) { - BuildConfigNode node = it.next(); + for (BuildConfigNode node : importedNodes) { fileContentsString += '@' + node.getResourcePath() + "\n"; String parentPath = new File(filePath).getParent(); String importedFilePath = parentPath + File.separator + node.getResourcePath(); includedFiles.addAll(getIncludedFiles(importedFilePath, parentPath)); } - for (Iterator it = files.iterator(); it.hasNext();) { - BuildConfigNode node = it.next(); + for (BuildConfigNode node : files) { if (node.getName().endsWith(".lst") && !node.getResourcePath().startsWith("..")) { fileContentsString += '@'; fileContentsString += node.getResourcePath() + "\n"; @@ -150,8 +148,8 @@ class LstBuildConfigFileUpdater { configParser.parseConfigFile(new File(path)); List files = configParser.getFiles(); List relativeFiles = new ArrayList(); - for (Iterator it = files.iterator(); it.hasNext();) { - relativeFiles.add(relativizePath(it.next().getPath(), rootPath)); + for (File file : files) { + relativeFiles.add(relativizePath(file.getPath(), rootPath)); } return relativeFiles; } catch (ConfigParser.ParseException pe) { diff --git a/ajde/src/main/java/org/aspectj/ajde/internal/LstBuildConfigManager.java b/ajde/src/main/java/org/aspectj/ajde/internal/LstBuildConfigManager.java index 6bd0c23da..feda7df0c 100644 --- a/ajde/src/main/java/org/aspectj/ajde/internal/LstBuildConfigManager.java +++ b/ajde/src/main/java/org/aspectj/ajde/internal/LstBuildConfigManager.java @@ -173,8 +173,8 @@ public class LstBuildConfigManager implements BuildConfigManager { } node.addChild(dir); // boolean foundMatch = false; - for (Iterator it = importedFiles.iterator(); it.hasNext();) { - File importedFile = (File) it.next(); + for (Object file : importedFiles) { + File importedFile = (File) file; if (importedFile.getParentFile().getAbsolutePath().equals(dir2.getAbsolutePath())) { // foundMatch = true; BuildConfigNode importedFileNode = new BuildConfigNode(importedFile.getName(), BuildConfigNode.Kind.FILE_LST, @@ -215,8 +215,8 @@ public class LstBuildConfigManager implements BuildConfigManager { } private void addFilesToDirTree(BuildConfigModel model, List configFiles, List badEntries) { - for (Iterator it = configFiles.iterator(); it.hasNext();) { - String path = (String) it.next(); + for (Object configFile : configFiles) { + String path = (String) configFile; if (path.startsWith("..")) { File file = new File(path); BuildConfigNode node = new BuildConfigNode(file.getName(), BuildConfigNode.Kind.FILE_JAVA, path); diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/StructureSearchManager.java b/ajde/src/main/java/org/aspectj/ajde/ui/StructureSearchManager.java index b6631b3a8..d9e9a0f52 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/StructureSearchManager.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/StructureSearchManager.java @@ -51,8 +51,7 @@ public class StructureSearchManager { } } if (node != null && node.getChildren() != null) { - for (Iterator it = node.getChildren().iterator(); it.hasNext();) { - IProgramElement nextNode = it.next(); + for (IProgramElement nextNode : node.getChildren()) { if (nextNode != null) { findMatchesHelper(nextNode, pattern, kind, matches); } diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/StructureView.java b/ajde/src/main/java/org/aspectj/ajde/ui/StructureView.java index edbae4698..7d6e4838b 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/StructureView.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/StructureView.java @@ -83,8 +83,8 @@ public abstract class StructureView { } if (node != null && node.getChildren() != null) { - for (Iterator it = node.getChildren().iterator(); it.hasNext(); ) { - IStructureViewNode foundNode = findCorrespondingViewNodeHelper((IStructureViewNode)it.next(), pNode); + for (Object o : node.getChildren()) { + IStructureViewNode foundNode = findCorrespondingViewNodeHelper((IStructureViewNode) o, pNode); if (foundNode != null) return foundNode; } } diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/StructureViewManager.java b/ajde/src/main/java/org/aspectj/ajde/ui/StructureViewManager.java index eb8fdc033..9b23439e4 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/StructureViewManager.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/StructureViewManager.java @@ -46,8 +46,8 @@ public class StructureViewManager { public void elementsUpdated(IHierarchy model) { // updating structure views: - for (Iterator it = structureViews.iterator(); it.hasNext();) { - treeViewBuilder.buildView((StructureView) it.next(), (AspectJElementHierarchy) model); + for (Object structureView : structureViews) { + treeViewBuilder.buildView((StructureView) structureView, (AspectJElementHierarchy) model); } } }; @@ -119,8 +119,8 @@ public class StructureViewManager { } } - for (Iterator it = structureViews.iterator(); it.hasNext();) { - StructureView view = (StructureView) it.next(); + for (Object structureView : structureViews) { + StructureView view = (StructureView) structureView; if (!(view instanceof GlobalStructureView) || !recordHistory || defaultFileView == null) { if (node.getKind().equals(IProgramElement.Kind.CODE)) { IProgramElement parentNode = node.getParent(); diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/StructureViewNodeFactory.java b/ajde/src/main/java/org/aspectj/ajde/ui/StructureViewNodeFactory.java index cb82a65db..43513c14b 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/StructureViewNodeFactory.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/StructureViewNodeFactory.java @@ -49,14 +49,13 @@ public abstract class StructureViewNodeFactory { IRelationshipMap relMap = (manager == null ? null : manager.getRelationshipMap()); List relationships = (relMap == null ? null : relMap.get(nodeHandle)); if (relationships != null) { - for (Iterator it = relationships.iterator(); it.hasNext();) { - IRelationship rel = (IRelationship) it.next(); + for (Object relationship : relationships) { + IRelationship rel = (IRelationship) relationship; if (rel != null && rel.getTargets().size() > 0) { IStructureViewNode relNode = createRelationship(rel, iconRegistry.getIcon(rel.getKind())); if (relNode != null) { svNode.add(relNode, 0); - for (Iterator it2 = rel.getTargets().iterator(); it2.hasNext();) { - String handle = (String) it2.next(); + for (String handle : rel.getTargets()) { IProgramElement link = Ajde.getDefault().getModel().getHierarchy().findElementForHandle(handle); if (link != null) { IStructureViewNode linkNode = createLink(link, iconRegistry.getStructureIcon(link.getKind(), diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/internal/TreeStructureViewBuilder.java b/ajde/src/main/java/org/aspectj/ajde/ui/internal/TreeStructureViewBuilder.java index 728ed9069..23f999ac8 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/internal/TreeStructureViewBuilder.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/internal/TreeStructureViewBuilder.java @@ -197,8 +197,8 @@ public class TreeStructureViewBuilder { private void sortView(IStructureViewNode node, Comparator comparator) { if (node == null || node.getChildren() == null) return; Collections.sort(node.getChildren(), comparator); - for (Iterator it = node.getChildren().iterator(); it.hasNext(); ) { - IStructureViewNode nextNode = (IStructureViewNode)it.next(); + for (Object o : node.getChildren()) { + IStructureViewNode nextNode = (IStructureViewNode) o; if (nextNode != null) sortView(nextNode, comparator); } } diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/internal/UserPreferencesStore.java b/ajde/src/main/java/org/aspectj/ajde/ui/internal/UserPreferencesStore.java index 572506aed..611af0b4e 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/internal/UserPreferencesStore.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/internal/UserPreferencesStore.java @@ -76,8 +76,8 @@ public class UserPreferencesStore implements UserPreferencesAdapter { @Override public void setProjectMultivalPreference(String name, List values) { String valuesString = ""; - for (Iterator it = values.iterator(); it.hasNext(); ) { - valuesString += (String)it.next() + ';'; + for (Object value : values) { + valuesString += (String) value + ';'; } properties.setProperty(name, valuesString); saveProperties(); diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/javaoptions/JavaCompilerWarningsOptionsPanel.java b/ajde/src/main/java/org/aspectj/ajde/ui/javaoptions/JavaCompilerWarningsOptionsPanel.java index 09d76afc8..51248d6c4 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/javaoptions/JavaCompilerWarningsOptionsPanel.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/javaoptions/JavaCompilerWarningsOptionsPanel.java @@ -67,10 +67,10 @@ public class JavaCompilerWarningsOptionsPanel extends OptionsPanel { public void saveOptions() throws IOException { Set s = warningComboBoxes.entrySet(); - for (Iterator iterator = s.iterator(); iterator.hasNext();) { - Map.Entry entry = (Entry) iterator.next(); + for (Object o : s) { + Entry entry = (Entry) o; String javaOption = (String) entry.getKey(); - JComboBox combo = (JComboBox)entry.getValue(); + JComboBox combo = (JComboBox) entry.getValue(); String value = (String) combo.getSelectedItem(); javaBuildOptions.setOption(javaOption, value); } diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserStructureViewToolPanel.java b/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserStructureViewToolPanel.java index 6988536da..6431eb851 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserStructureViewToolPanel.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserStructureViewToolPanel.java @@ -72,8 +72,8 @@ public class BrowserStructureViewToolPanel extends JPanel { view_comboBox = new JComboBox(); view_comboBox.setFont(AjdeWidgetStyles.DEFAULT_LABEL_FONT); - for (Iterator it = structureViews.iterator(); it.hasNext(); ) { - view_comboBox.addItem(it.next()); + for (Object structureView : structureViews) { + view_comboBox.addItem(structureView); } try { @@ -120,26 +120,26 @@ public class BrowserStructureViewToolPanel extends JPanel { private JPopupMenu createFilterMenu() { JPopupMenu filterMenu = new JPopupMenu(); IProgramElement.Accessibility[] accessibility = IProgramElement.Accessibility.ALL; - for (int i = 0; i < accessibility.length; i++) { - CheckBoxSelectionMenuButton menuItem = new CheckBoxSelectionMenuButton(accessibility[i]); - menuItem.setIcon(Ajde.getDefault().getIconRegistry().getAccessibilitySwingIcon(accessibility[i])); + for (IProgramElement.Accessibility value : accessibility) { + CheckBoxSelectionMenuButton menuItem = new CheckBoxSelectionMenuButton(value); + menuItem.setIcon(Ajde.getDefault().getIconRegistry().getAccessibilitySwingIcon(value)); filterMenu.add(menuItem); } filterMenu.add(new JSeparator()); IProgramElement.Kind[] kinds = IProgramElement.Kind.ALL; - for (int i = 0; i < kinds.length; i++) { - if (kinds[i].isMember()) { - CheckBoxSelectionMenuButton menuItem = new CheckBoxSelectionMenuButton(kinds[i]); - menuItem.setIcon((Icon)Ajde.getDefault().getIconRegistry().getIcon(kinds[i]).getIconResource()); + for (IProgramElement.Kind kind : kinds) { + if (kind.isMember()) { + CheckBoxSelectionMenuButton menuItem = new CheckBoxSelectionMenuButton(kind); + menuItem.setIcon((Icon) Ajde.getDefault().getIconRegistry().getIcon(kind).getIconResource()); filterMenu.add(menuItem); } } filterMenu.add(new JSeparator()); IProgramElement.Modifiers[] modifiers = IProgramElement.Modifiers.ALL; - for (int i = 0; i < modifiers.length; i++) { - CheckBoxSelectionMenuButton menuItem = new CheckBoxSelectionMenuButton(modifiers[i]); + for (IProgramElement.Modifiers modifier : modifiers) { + CheckBoxSelectionMenuButton menuItem = new CheckBoxSelectionMenuButton(modifier); filterMenu.add(menuItem); } return filterMenu; @@ -149,10 +149,10 @@ public class BrowserStructureViewToolPanel extends JPanel { JPopupMenu relationsMenu = new JPopupMenu(); java.util.List relations = Ajde.getDefault().getStructureViewManager().getAvailableRelations(); - for (Iterator it = relations.iterator(); it.hasNext(); ) { - IRelationship.Kind relation = (IRelationship.Kind)it.next(); + for (Object o : relations) { + IRelationship.Kind relation = (IRelationship.Kind) o; CheckBoxSelectionMenuButton menuItem = new CheckBoxSelectionMenuButton(relation); - menuItem.setIcon((Icon)Ajde.getDefault().getIconRegistry().getIcon(relation).getIconResource()); + menuItem.setIcon((Icon) Ajde.getDefault().getIconRegistry().getIcon(relation).getIconResource()); relationsMenu.add(menuItem); } @@ -164,10 +164,10 @@ public class BrowserStructureViewToolPanel extends JPanel { StructureViewProperties.Granularity[] granularity = StructureViewProperties.Granularity.ALL; ButtonGroup group = new ButtonGroup(); - for (int i = 0; i < granularity.length; i++) { - RadioSelectionMenuButton menuItem = new RadioSelectionMenuButton(granularity[i], group); + for (StructureViewProperties.Granularity value : granularity) { + RadioSelectionMenuButton menuItem = new RadioSelectionMenuButton(value, group); orderMenu.add(menuItem); - if (granularity[i].equals(StructureViewProperties.Granularity.MEMBER)) { + if (value.equals(StructureViewProperties.Granularity.MEMBER)) { menuItem.setSelected(true); } } diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserView.java b/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserView.java index d41827a41..e9c1196e2 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserView.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserView.java @@ -121,9 +121,9 @@ class BrowserView extends JPanel { public void updateConfigs(java.util.List configsList) { configs_comboBox.removeAllItems(); - for (Iterator it = configsList.iterator(); it.hasNext(); ) { - configs_comboBox.addItem(it.next()); - } + for (Object o : configsList) { + configs_comboBox.addItem(o); + } } public void setSelectedConfig(String config) { diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserViewPanel.java b/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserViewPanel.java index 0b15049b6..a32c53c52 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserViewPanel.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/swing/BrowserViewPanel.java @@ -67,12 +67,12 @@ public class BrowserViewPanel extends JPanel implements StructureViewRenderer { public BrowserViewPanel(IconRegistry icons, java.util.List views, StructureViewProperties.Hierarchy visibleViewHierarchy) { try { view_comboBox = new JComboBox(views.toArray()); - for (Iterator it = views.iterator(); it.hasNext(); ) { - StructureViewProperties.Hierarchy hierarchy = (StructureViewProperties.Hierarchy)it.next(); - if (hierarchy == visibleViewHierarchy) { - view_comboBox.setSelectedItem(hierarchy); - } - } + for (Object view : views) { + StructureViewProperties.Hierarchy hierarchy = (StructureViewProperties.Hierarchy) view; + if (hierarchy == visibleViewHierarchy) { + view_comboBox.setSelectedItem(hierarchy); + } + } //GlobalViewProperties visibleView = (GlobalViewProperties)viewProperties.get(visibleViewHierarchy.toString()); treeManager = new StructureTreeManager();//, visibleView); jbInit(); diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java b/ajde/src/main/java/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java index 7ca7a35fd..0a59ab71a 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java @@ -39,23 +39,23 @@ public class BuildConfigPopupMenu extends JPopupMenu { public BuildConfigPopupMenu(final AbstractAction action) { List configFiles = Ajde.getDefault().getBuildConfigManager().getAllBuildConfigFiles(); - for (Iterator it = configFiles.iterator(); it.hasNext(); ) { - final String buildConfig = (String)it.next(); - JMenuItem buildItem = new JMenuItem(buildConfig); - buildItem.setFont(AjdeWidgetStyles.DEFAULT_LABEL_FONT); - buildItem.addActionListener( - new ActionListener() { - public void actionPerformed(ActionEvent e) { - Ajde.getDefault().getBuildConfigManager().setActiveConfigFile(buildConfig); - // A separate thread is required here because the buildProgresssMonitor - // that monitors the build needs to be in a different thread - // to that which is doing the build (swing threading issues) - Ajde.getDefault().runBuildInDifferentThread(buildConfig, true); - action.actionPerformed(e); - } - }); - buildItem.setIcon((Icon)Ajde.getDefault().getIconRegistry().getIcon(IProgramElement.Kind.FILE_LST).getIconResource()); - this.add(buildItem); + for (Object configFile : configFiles) { + final String buildConfig = (String) configFile; + JMenuItem buildItem = new JMenuItem(buildConfig); + buildItem.setFont(AjdeWidgetStyles.DEFAULT_LABEL_FONT); + buildItem.addActionListener( + new ActionListener() { + public void actionPerformed(ActionEvent e) { + Ajde.getDefault().getBuildConfigManager().setActiveConfigFile(buildConfig); + // A separate thread is required here because the buildProgresssMonitor + // that monitors the build needs to be in a different thread + // to that which is doing the build (swing threading issues) + Ajde.getDefault().runBuildInDifferentThread(buildConfig, true); + action.actionPerformed(e); + } + }); + buildItem.setIcon((Icon) Ajde.getDefault().getIconRegistry().getIcon(IProgramElement.Kind.FILE_LST).getIconResource()); + this.add(buildItem); } } } diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/swing/OptionsFrame.java b/ajde/src/main/java/org/aspectj/ajde/ui/swing/OptionsFrame.java index 3eb852346..1729ac87a 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/swing/OptionsFrame.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/swing/OptionsFrame.java @@ -160,9 +160,9 @@ public class OptionsFrame extends JFrame { private void saveOptions() { try { Component[] components = main_tabbedPane.getComponents(); - for (int i = 0; i < components.length; i++) { - if (components[i] instanceof OptionsPanel) { - ((OptionsPanel)components[i]).saveOptions(); + for (Component component : components) { + if (component instanceof OptionsPanel) { + ((OptionsPanel) component).saveOptions(); } } } catch (IOException ioe) { diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/swing/StructureViewPanel.java b/ajde/src/main/java/org/aspectj/ajde/ui/swing/StructureViewPanel.java index c1435051a..add41298c 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/swing/StructureViewPanel.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/swing/StructureViewPanel.java @@ -63,8 +63,8 @@ public class StructureViewPanel extends JPanel implements StructureViewRenderer public StructureViewPanel(java.util.List structureViews) { // this.structureViews = structureViews; - for (Iterator it = structureViews.iterator(); it.hasNext(); ) { - initView((StructureView)it.next()); + for (Object structureView : structureViews) { + initView((StructureView) structureView); } currentView = (StructureView)structureViews.get(0); structureToolBar_panel = new BrowserStructureViewToolPanel(structureViews, currentView, this); diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/swing/SwingTreeViewNode.java b/ajde/src/main/java/org/aspectj/ajde/ui/swing/SwingTreeViewNode.java index 3e3f08935..ef756f6e4 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/swing/SwingTreeViewNode.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/swing/SwingTreeViewNode.java @@ -48,10 +48,10 @@ public class SwingTreeViewNode extends DefaultMutableTreeNode implements IStruct this.kind = Kind.DECLARATION; if (children != null) { - for (Iterator it = children.iterator(); it.hasNext(); ) { - SwingTreeViewNode child = (SwingTreeViewNode)it.next(); + for (Object o : children) { + SwingTreeViewNode child = (SwingTreeViewNode) o; if (StructureViewNodeFactory.acceptNode(programElement, child.getStructureNode())) { - super.add(child); + super.add(child); } } } diff --git a/ajde/src/main/java/org/aspectj/ajde/ui/swing/TreeViewBuildConfigEditor.java b/ajde/src/main/java/org/aspectj/ajde/ui/swing/TreeViewBuildConfigEditor.java index 3d332c865..02f9aaf8f 100644 --- a/ajde/src/main/java/org/aspectj/ajde/ui/swing/TreeViewBuildConfigEditor.java +++ b/ajde/src/main/java/org/aspectj/ajde/ui/swing/TreeViewBuildConfigEditor.java @@ -107,10 +107,9 @@ public class TreeViewBuildConfigEditor extends JPanel implements BuildConfigEdit private ConfigTreeNode buildTree(BuildConfigNode node) { ConfigTreeNode treeNode = new ConfigTreeNode(node); - for (Iterator it = node.getChildren().iterator(); it.hasNext(); ) { - BuildConfigNode childNode = (BuildConfigNode)it.next(); - treeNode.add(buildTree(childNode)); - } + for (BuildConfigNode childNode : node.getChildren()) { + treeNode.add(buildTree(childNode)); + } return treeNode; } diff --git a/ajde/src/test/java/org/aspectj/ajde/AjdeTestCase.java b/ajde/src/test/java/org/aspectj/ajde/AjdeTestCase.java index 0c5c5c306..f1d979181 100644 --- a/ajde/src/test/java/org/aspectj/ajde/AjdeTestCase.java +++ b/ajde/src/test/java/org/aspectj/ajde/AjdeTestCase.java @@ -91,8 +91,7 @@ public abstract class AjdeTestCase extends TestCase { String contents[] = from.list(); if (contents == null) return; - for (int i = 0; i < contents.length; i++) { - String string = contents[i]; + for (String string : contents) { File f = new File(from, string); File t = new File(to, string); diff --git a/ajde/src/test/java/org/aspectj/ajde/ExtensionTest.java b/ajde/src/test/java/org/aspectj/ajde/ExtensionTest.java index 43d75f8d4..a8ce3d922 100644 --- a/ajde/src/test/java/org/aspectj/ajde/ExtensionTest.java +++ b/ajde/src/test/java/org/aspectj/ajde/ExtensionTest.java @@ -78,8 +78,7 @@ public class ExtensionTest extends AjcTestCase { private IProgramElement getChild(IProgramElement parent, String s) { List kids = parent.getChildren(); - for (Iterator iter = kids.iterator(); iter.hasNext();) { - IProgramElement element = (IProgramElement) iter.next(); + for (IProgramElement element : kids) { if (element.getName().indexOf(s) != -1) return element; } @@ -97,8 +96,8 @@ public class ExtensionTest extends AjcTestCase { } if (ipe.getChildren() != null) { List kids = ipe.getChildren(); - for (Iterator iter = kids.iterator(); iter.hasNext();) { - IProgramElement element = (IProgramElement) iter.next(); + for (Object kid : kids) { + IProgramElement element = (IProgramElement) kid; findChild(s, element); } } @@ -113,8 +112,8 @@ public class ExtensionTest extends AjcTestCase { System.out.println(ipe.toLabelString());// getName()); if (ipe.getChildren() != null) { List kids = ipe.getChildren(); - for (Iterator iter = kids.iterator(); iter.hasNext();) { - IProgramElement element = (IProgramElement) iter.next(); + for (Object kid : kids) { + IProgramElement element = (IProgramElement) kid; walkit(element, indent + 2); } } diff --git a/ajde/src/test/java/org/aspectj/ajde/ui/StructureViewManagerTest.java b/ajde/src/test/java/org/aspectj/ajde/ui/StructureViewManagerTest.java index 0c1aa53ef..eca56feec 100644 --- a/ajde/src/test/java/org/aspectj/ajde/ui/StructureViewManagerTest.java +++ b/ajde/src/test/java/org/aspectj/ajde/ui/StructureViewManagerTest.java @@ -98,8 +98,7 @@ public class StructureViewManagerTest extends AjdeTestCase { } private void testModelIntegrityHelper(IProgramElement node) throws Exception { - for (Iterator it = node.getChildren().iterator(); it.hasNext();) { - IProgramElement child = (IProgramElement) it.next(); + for (IProgramElement child : node.getChildren()) { if (node == child.getParent()) { testModelIntegrityHelper(child); } else { diff --git a/ajde/src/test/java/org/aspectj/ajde/ui/utils/TestBuildProgressMonitor.java b/ajde/src/test/java/org/aspectj/ajde/ui/utils/TestBuildProgressMonitor.java index 935dcc363..6ccddefc0 100644 --- a/ajde/src/test/java/org/aspectj/ajde/ui/utils/TestBuildProgressMonitor.java +++ b/ajde/src/test/java/org/aspectj/ajde/ui/utils/TestBuildProgressMonitor.java @@ -77,18 +77,18 @@ public class TestBuildProgressMonitor implements IBuildProgressMonitor { } public boolean containsMessage(String prefix,String distinguishingMarks) { - for (Iterator iter = messagesReceived.iterator(); iter.hasNext();) { - String element = (String) iter.next(); + for (Object o : messagesReceived) { + String element = (String) o; if (element.startsWith(prefix) && - element.indexOf(distinguishingMarks)!=-1) return true; + element.indexOf(distinguishingMarks) != -1) return true; } return false; } public void dumpMessages() { System.out.println("ProgressMonitorMessages"); - for (Iterator iter = messagesReceived.iterator(); iter.hasNext();) { - String element = (String) iter.next(); + for (Object o : messagesReceived) { + String element = (String) o; System.out.println(element); } } diff --git a/ajde/src/test/java/org/aspectj/ajde/ui/utils/TestCompilerConfiguration.java b/ajde/src/test/java/org/aspectj/ajde/ui/utils/TestCompilerConfiguration.java index 04a73d2f4..a6fec514d 100644 --- a/ajde/src/test/java/org/aspectj/ajde/ui/utils/TestCompilerConfiguration.java +++ b/ajde/src/test/java/org/aspectj/ajde/ui/utils/TestCompilerConfiguration.java @@ -116,17 +116,17 @@ public class TestCompilerConfiguration implements ICompilerConfiguration { /* Allow the user to override the testProjectPath by using sourceRoots */ File[] srcBase = new File[] { new File(projectPath + File.separator + srcDirName) }; - for (int j = 0; j < srcBase.length; j++) { - File[] fromResources = FileUtil.listFiles(srcBase[j], new FileFilter() { + for (File file : srcBase) { + File[] fromResources = FileUtil.listFiles(file, new FileFilter() { public boolean accept(File pathname) { String name = pathname.getName().toLowerCase(); return !name.endsWith(".class") && !name.endsWith(".java") && !name.endsWith(".aj") && !name.endsWith(".lst") && !name.endsWith(".jar"); } }); - for (int i = 0; i < fromResources.length; i++) { - String normPath = FileUtil.normalizedPath(fromResources[i], srcBase[j]); - sourcePathResources.put(normPath, fromResources[i]); + for (File fromResource : fromResources) { + String normPath = FileUtil.normalizedPath(fromResource, file); + sourcePathResources.put(normPath, fromResource); } } diff --git a/ajdoc/src/main/java/org/aspectj/tools/ajdoc/HtmlDecorator.java b/ajdoc/src/main/java/org/aspectj/tools/ajdoc/HtmlDecorator.java index 7dd50b4ef..35e84ca5a 100644 --- a/ajdoc/src/main/java/org/aspectj/tools/ajdoc/HtmlDecorator.java +++ b/ajdoc/src/main/java/org/aspectj/tools/ajdoc/HtmlDecorator.java @@ -58,8 +58,8 @@ class HtmlDecorator { rootDir = newRootDir; declIDTable = table; docVisibilityModifier = docModifier; - for (int i = 0; i < inputFiles.length; i++) { - decorateHTMLFromIPEs(getProgramElements(model, inputFiles[i].getCanonicalPath()), rootDir.getCanonicalPath() + for (File inputFile : inputFiles) { + decorateHTMLFromIPEs(getProgramElements(model, inputFile.getCanonicalPath()), rootDir.getCanonicalPath() + Config.DIR_SEP_CHAR, docModifier, false); } } @@ -67,8 +67,7 @@ class HtmlDecorator { static void decorateHTMLFromIPEs(IProgramElement[] decls, String base, String docModifier, boolean exceededNestingLevel) throws IOException { if (decls != null) { - for (int i = 0; i < decls.length; i++) { - IProgramElement decl = decls[i]; + for (IProgramElement decl : decls) { decorateHTMLFromIPE(decl, base, docModifier, exceededNestingLevel); } } @@ -311,8 +310,7 @@ class HtmlDecorator { if (fieldsDeclaredOn != null && !constDeclaredOn.isEmpty()) { insertDeclarationsSummary(fileBuffer, constDeclaredOn, ITD_CONSTRUCTOR_SUMMARY, index); } - for (Iterator it = node.getChildren().iterator(); it.hasNext();) { - IProgramElement member = it.next(); + for (IProgramElement member : node.getChildren()) { if (member.getKind().equals(IProgramElement.Kind.POINTCUT)) { pointcuts.add(member); } else if (member.getKind().equals(IProgramElement.Kind.ADVICE)) { @@ -365,8 +363,8 @@ class HtmlDecorator { insertIndex += tableHead.length(); // insert the body of the table - for (int i = 0; i < decls.size(); i++) { - IProgramElement decl = (IProgramElement) decls.get(i); + for (Object o : decls) { + IProgramElement decl = (IProgramElement) o; if (isAboveVisibility(decl)) { // insert the table row accordingly String comment = generateSummaryComment(decl); @@ -413,8 +411,8 @@ class HtmlDecorator { private static boolean declsAboveVisibilityExist(List decls) { boolean exist = false; - for (Iterator it = decls.iterator(); it.hasNext();) { - IProgramElement element = (IProgramElement) it.next(); + for (Object decl : decls) { + IProgramElement element = (IProgramElement) decl; if (isAboveVisibility(element)) exist = true; } @@ -810,11 +808,11 @@ class HtmlDecorator { static String generateHREFName(IProgramElement decl) { StringBuffer hrefLinkBuffer = new StringBuffer(); char[] declChars = decl.toLabelString().toCharArray(); - for (int i = 0; i < declChars.length; i++) { - if (declChars[i] == '"') { + for (char declChar : declChars) { + if (declChar == '"') { hrefLinkBuffer.append("quot;"); } else { - hrefLinkBuffer.append(declChars[i]); + hrefLinkBuffer.append(declChar); } } return hrefLinkBuffer.toString(); diff --git a/ajdoc/src/main/java/org/aspectj/tools/ajdoc/Main.java b/ajdoc/src/main/java/org/aspectj/tools/ajdoc/Main.java index e4cf8be44..0f01a058f 100644 --- a/ajdoc/src/main/java/org/aspectj/tools/ajdoc/Main.java +++ b/ajdoc/src/main/java/org/aspectj/tools/ajdoc/Main.java @@ -171,14 +171,14 @@ public class Main implements Config { */ private static void packageHTML(AsmManager model, File[] inputFiles) throws IOException { ArrayList dirList = new ArrayList(); - for (int i = 0; i < inputFiles.length; i++) { - String packageName = StructureUtil.getPackageDeclarationFromFile(model, inputFiles[i]); + for (File inputFile : inputFiles) { + String packageName = StructureUtil.getPackageDeclarationFromFile(model, inputFile); // Only copy the package.html file once. if (dirList.contains(packageName)) continue; // Check to see if there exist a package.html file for this package. - String dir = inputFiles[i].getAbsolutePath().substring(0, inputFiles[i].getAbsolutePath().lastIndexOf(File.separator)); + String dir = inputFile.getAbsolutePath().substring(0, inputFile.getAbsolutePath().lastIndexOf(File.separator)); File input = new File(dir + Config.DIR_SEP_CHAR + "package.html"); File inDir = new File(dir + Config.DIR_SEP_CHAR + "doc-files"); // If it does not exist lets go to the next package. @@ -226,8 +226,8 @@ public class Main implements Config { for (; i < ajcOptions.size(); i++) { argsToCompiler[i] = ajcOptions.elementAt(i); } - for (int j = 0; j < inputFiles.length; j++) { - argsToCompiler[i] = inputFiles[j].getAbsolutePath(); + for (File inputFile : inputFiles) { + argsToCompiler[i] = inputFile.getAbsolutePath(); // System.out.println(">> file to ajc: " + inputFiles[j].getAbsolutePath()); i++; } @@ -281,8 +281,8 @@ public class Main implements Config { for (int k = 0; k < signatureFiles.length; k++) { javadocargs[options.size() + k] = StructureUtil.translateAjPathName(signatureFiles[k].getCanonicalPath()); } - for (int k = 0; k < signatureFiles.length; k++) { - files.add(StructureUtil.translateAjPathName(signatureFiles[k].getCanonicalPath())); + for (File signatureFile : signatureFiles) { + files.add(StructureUtil.translateAjPathName(signatureFile.getCanonicalPath())); } } if (LangUtil.is19VMOrGreater()) { @@ -321,8 +321,8 @@ public class Main implements Config { return f.getName().equals("package-summary.html"); } }); - for (int j = 0; j < files.length; j++) { - removeDeclIDsFromFile(files[j].getAbsolutePath(), false); + for (File file : files) { + removeDeclIDsFromFile(file.getAbsolutePath(), false); } } } @@ -478,8 +478,8 @@ public class Main implements Config { // System.err.println(argList); args = new String[argList.size()]; int counter = 0; - for (Iterator it = argList.iterator(); it.hasNext();) { - args[counter] = it.next(); + for (String s : argList) { + args[counter] = s; counter++; } } catch (FileNotFoundException e) { @@ -530,8 +530,8 @@ public class Main implements Config { if (vargs.size() == 0) { displayHelpAndExit(null); } - for (int i = 0; i < vargs.size(); i++) { - String arg = (String) vargs.get(i); + for (Object varg : vargs) { + String arg = (String) varg; ignoreArg = false; if (addNextAsDocDir) { docDir = arg; @@ -694,16 +694,16 @@ public class Main implements Config { int index2 = name.length(); if ((index1 >= 0 && index2 >= 0) && (name.substring(index1, index2).equals(".java") || name.substring(index1, index2) - .equals(".aj"))) { + .equals(".aj"))) { return true; } else { return false; } } }); - for (int j = 0; j < files.length; j++) { + for (String file : files) { filenames.addElement(sourcepath.elementAt(c) + Config.DIR_SEP_CHAR + arg - + Config.DIR_SEP_CHAR + files[j]); + + Config.DIR_SEP_CHAR + file); } } else if (c == sourcepath.size()) { // last element on classpath System.out.println("ajdoc: No package, class, or source file " + "found named " + arg + "."); diff --git a/ajdoc/src/main/java/org/aspectj/tools/ajdoc/StructureUtil.java b/ajdoc/src/main/java/org/aspectj/tools/ajdoc/StructureUtil.java index 3d866b625..2fdd95698 100644 --- a/ajdoc/src/main/java/org/aspectj/tools/ajdoc/StructureUtil.java +++ b/ajdoc/src/main/java/org/aspectj/tools/ajdoc/StructureUtil.java @@ -47,16 +47,14 @@ public class StructureUtil { if (rels != null) { relations.addAll(rels); } - for (Iterator iter = node.getChildren().iterator(); iter.hasNext();) { - IProgramElement child = (IProgramElement) iter.next(); + for (IProgramElement child : node.getChildren()) { // if we're not a type, or if we are and the child is code, then // we want to get the relationships for this child - this means that the // correct relationships appear against the type in the ajdoc if (!node.getKind().isType() || child.getKind().equals(IProgramElement.Kind.CODE)) { List childRelations = node.getModel().getRelationshipMap().get(child); if (childRelations != null) { - for (Iterator iterator = childRelations.iterator(); iterator.hasNext();) { - IRelationship rel = (IRelationship) iterator.next(); + for (IRelationship rel : childRelations) { if (!relations.contains(rel)) { relations.add(rel); } @@ -67,11 +65,10 @@ public class StructureUtil { if (relations == null || relations.isEmpty()) return null; List targets = new ArrayList(); - for (Iterator it = relations.iterator(); it.hasNext();) { - IRelationship rtn = (IRelationship) it.next(); + for (IRelationship rtn : relations) { if (rtn.getKind().equals(kind) && ((relName != null && relName.equals(rtn.getName())) || relName == null)) { List targs = rtn.getTargets(); - for (String element: targs) { + for (String element : targs) { if (!targets.contains(element)) { targets.add(element); } @@ -125,8 +122,8 @@ public class StructureUtil { } String modifiers = ""; - for (Iterator modIt = node.getModifiers().iterator(); modIt.hasNext();) { - modifiers += modIt.next() + " "; + for (IProgramElement.Modifiers value : node.getModifiers()) { + modifiers += value + " "; } if (node.getKind().equals(IProgramElement.Kind.METHOD) || node.getKind().equals(IProgramElement.Kind.FIELD)) { diff --git a/ajdoc/src/main/java/org/aspectj/tools/ajdoc/StubFileGenerator.java b/ajdoc/src/main/java/org/aspectj/tools/ajdoc/StubFileGenerator.java index 6b5c816f7..cd8a01e26 100644 --- a/ajdoc/src/main/java/org/aspectj/tools/ajdoc/StubFileGenerator.java +++ b/ajdoc/src/main/java/org/aspectj/tools/ajdoc/StubFileGenerator.java @@ -59,8 +59,7 @@ class StubFileGenerator { } IProgramElement fileNode = model.getHierarchy().findElementForSourceFile(inputFile.getAbsolutePath()); - for (Iterator it = fileNode.getChildren().iterator(); it.hasNext();) { - IProgramElement node = (IProgramElement) it.next(); + for (IProgramElement node : fileNode.getChildren()) { if (node.getKind().isPackageDeclaration()) { // skip } else if (node.getKind().equals(IProgramElement.Kind.IMPORT_REFERENCE)) { @@ -84,8 +83,8 @@ class StubFileGenerator { private static void processImportDeclaration(IProgramElement node, PrintWriter writer) throws IOException { List imports = node.getChildren(); - for (Iterator i = imports.iterator(); i.hasNext();) { - IProgramElement importNode = (IProgramElement) i.next(); + for (Object anImport : imports) { + IProgramElement importNode = (IProgramElement) anImport; writer.println(importNode.getSourceSignature()); } } @@ -111,8 +110,8 @@ class StubFileGenerator { private static void processMembers(List/* IProgramElement */members, PrintWriter writer, boolean declaringTypeIsInterface) throws DocException { - for (Iterator it = members.iterator(); it.hasNext();) { - IProgramElement member = (IProgramElement) it.next(); + for (Object o : members) { + IProgramElement member = (IProgramElement) o; if (member.getKind().isType()) { if (!member.getParent().getKind().equals(IProgramElement.Kind.METHOD) && !StructureUtil.isAnonymous(member)) {// don't diff --git a/ajdoc/src/test/java/org/aspectj/tools/ajdoc/AjdocOutputChecker.java b/ajdoc/src/test/java/org/aspectj/tools/ajdoc/AjdocOutputChecker.java index 2100f7dba..b22d1250d 100644 --- a/ajdoc/src/test/java/org/aspectj/tools/ajdoc/AjdocOutputChecker.java +++ b/ajdoc/src/test/java/org/aspectj/tools/ajdoc/AjdocOutputChecker.java @@ -61,8 +61,7 @@ public class AjdocOutputChecker { */ public static List getMissingStringsInFile(File htmlFile, String[] requiredStrings) throws Exception { List missingStrings = new ArrayList(); - for (int i = 0; i < requiredStrings.length; i++) { - String string = requiredStrings[i]; + for (String string : requiredStrings) { if (!containsString(htmlFile, string)) { missingStrings.add(string); } @@ -122,9 +121,8 @@ public class AjdocOutputChecker { public static List getMissingStringsInSection(File htmlFile, String[] requiredStrings, String sectionHeader) throws Exception { List missingStrings = new ArrayList(); - for (int i = 0; i < requiredStrings.length; i++) { - String string = requiredStrings[i]; - if (!containsStringWithinSection(htmlFile,string,sectionHeader)) { + for (String string : requiredStrings) { + if (!containsStringWithinSection(htmlFile, string, sectionHeader)) { missingStrings.add(string); } } diff --git a/ajdoc/src/test/java/org/aspectj/tools/ajdoc/AjdocTestCase.java b/ajdoc/src/test/java/org/aspectj/tools/ajdoc/AjdocTestCase.java index 26dda1187..6dfd5633f 100644 --- a/ajdoc/src/test/java/org/aspectj/tools/ajdoc/AjdocTestCase.java +++ b/ajdoc/src/test/java/org/aspectj/tools/ajdoc/AjdocTestCase.java @@ -97,8 +97,7 @@ public abstract class AjdocTestCase extends TestCase { String contents[] = from.list(); if (contents == null) return; - for (int i = 0; i < contents.length; i++) { - String string = contents[i]; + for (String string : contents) { File f = new File(from, string); File t = new File(to, string); @@ -209,9 +208,9 @@ public abstract class AjdocTestCase extends TestCase { if (inputFiles.length == 0) { fail("need to pass some files into ajdoc"); } - for (int i = 0; i < inputFiles.length; i++) { - if (!inputFiles[i].exists()) { - fail(inputFiles[i].getAbsolutePath() + " does not exist"); + for (File inputFile : inputFiles) { + if (!inputFile.exists()) { + fail(inputFile.getAbsolutePath() + " does not exist"); } } @@ -305,8 +304,8 @@ public abstract class AjdocTestCase extends TestCase { public void runAjdoc(List options) { String[] args = new String[options.size()]; int i = 0; - for (Iterator iter = options.iterator(); iter.hasNext();) { - String element = (String) iter.next(); + for (Object option : options) { + String element = (String) option; args[i] = element; i++; } diff --git a/asm/src/main/java/org/aspectj/asm/AsmManager.java b/asm/src/main/java/org/aspectj/asm/AsmManager.java index 2ab34c862..6972dda3a 100644 --- a/asm/src/main/java/org/aspectj/asm/AsmManager.java +++ b/asm/src/main/java/org/aspectj/asm/AsmManager.java @@ -157,8 +157,7 @@ public class AsmManager implements IStructureModel { IProgramElement fileNode = node; ArrayList peNodes = new ArrayList(); getAllStructureChildren(fileNode, peNodes, showSubMember, showMemberAndType); - for (Iterator it = peNodes.iterator(); it.hasNext();) { - IProgramElement peNode = it.next(); + for (IProgramElement peNode : peNodes) { List entries = new ArrayList(); entries.add(peNode); ISourceLocation sourceLoc = peNode.getSourceLocation(); @@ -733,8 +732,8 @@ public class AsmManager implements IStructureModel { if (relationshipsToRemove.size() == relationships.size()) { sourcesToRemove.add(hid); } else { - for (int i = 0; i < relationshipsToRemove.size(); i++) { - relationships.remove(relationshipsToRemove.get(i)); + for (IRelationship iRelationship : relationshipsToRemove) { + relationships.remove(iRelationship); } } } @@ -815,8 +814,8 @@ public class AsmManager implements IStructureModel { if (relationshipsToRemove.size() == relationships.size()) { sourcesToRemove.add(hid); } else { - for (int i = 0; i < relationshipsToRemove.size(); i++) { - relationships.remove(relationshipsToRemove.get(i)); + for (IRelationship iRelationship : relationshipsToRemove) { + relationships.remove(iRelationship); } } } @@ -960,15 +959,13 @@ public class AsmManager implements IStructureModel { List relationshipsToRemove = new ArrayList(); // Iterate through the relationships against this source // handle - for (Iterator reliter = relationships.iterator(); reliter.hasNext();) { - IRelationship rel = reliter.next(); + for (IRelationship rel : relationships) { List targets = rel.getTargets(); List targetsToRemove = new ArrayList(); // Iterate through the targets for this relationship - for (Iterator targetIter = targets.iterator(); targetIter.hasNext();) { - String targethid = targetIter.next(); -// tgthandlecounter++; + for (String targethid : targets) { + // tgthandlecounter++; // Do we already know it doesn't exist? if (nonExistingHandles.contains(targethid)) { if (dumpDeltaProcessing) { @@ -1040,8 +1037,7 @@ public class AsmManager implements IStructureModel { } else { // MEMORY LEAK - we don't remove the // relationships !! - for (int i = 0; i < relationshipsToRemove.size(); i++) { - IRelationship irel = relationshipsToRemove.get(i); + for (IRelationship irel : relationshipsToRemove) { verifyAssumption(mapper.remove(hid, irel), "Failed to remove relationship " + irel.getName() + " for shid " + hid); } @@ -1055,8 +1051,7 @@ public class AsmManager implements IStructureModel { } } // Remove sources that have no valid relationships any more - for (Iterator srciter = sourcesToRemove.iterator(); srciter.hasNext();) { - String hid = srciter.next(); + for (String hid : sourcesToRemove) { mapper.removeAll(hid); IProgramElement ipe = hierarchy.getElement(hid); if (ipe != null) { diff --git a/asm/src/main/java/org/aspectj/asm/IProgramElement.java b/asm/src/main/java/org/aspectj/asm/IProgramElement.java index 19e6d95ac..402376217 100644 --- a/asm/src/main/java/org/aspectj/asm/IProgramElement.java +++ b/asm/src/main/java/org/aspectj/asm/IProgramElement.java @@ -330,11 +330,11 @@ public interface IProgramElement extends Serializable { }; public static Kind getKindForString(String kindString) { - for (int i = 0; i < ALL.length; i++) { - if (ALL[i].toString().equals(kindString)) { - return ALL[i]; - } - } + for (Kind kind : ALL) { + if (kind.toString().equals(kindString)) { + return kind; + } + } return ERROR; } diff --git a/asm/src/main/java/org/aspectj/asm/IRelationship.java b/asm/src/main/java/org/aspectj/asm/IRelationship.java index 86633cf36..441a3d2d0 100644 --- a/asm/src/main/java/org/aspectj/asm/IRelationship.java +++ b/asm/src/main/java/org/aspectj/asm/IRelationship.java @@ -75,9 +75,9 @@ public interface IRelationship extends Serializable { * @return the Kind instance */ public static Kind getKindFor(String stringFormOfRelationshipKind) { - for (int i = 0; i < ALL.length; i++) { - if (ALL[i].name.equals(stringFormOfRelationshipKind)) { - return ALL[i]; + for (Kind kind : ALL) { + if (kind.name.equals(stringFormOfRelationshipKind)) { + return kind; } } return null; diff --git a/asm/src/main/java/org/aspectj/asm/internal/JDTLikeHandleProvider.java b/asm/src/main/java/org/aspectj/asm/internal/JDTLikeHandleProvider.java index 3751dfc1b..15eb990ee 100644 --- a/asm/src/main/java/org/aspectj/asm/internal/JDTLikeHandleProvider.java +++ b/asm/src/main/java/org/aspectj/asm/internal/JDTLikeHandleProvider.java @@ -136,8 +136,7 @@ public class JDTLikeHandleProvider implements IElementHandleProvider { List parameterTypes = ipe.getParameterSignatures(); StringBuffer sb = new StringBuffer(); if (sourceRefs != null) { - for (int i = 0; i < sourceRefs.size(); i++) { - String sourceRef = sourceRefs.get(i); + for (String sourceRef : sourceRefs) { sb.append(HandleProviderDelimiter.getDelimiter(ipe)); sb.append(sourceRef); } @@ -164,8 +163,7 @@ public class JDTLikeHandleProvider implements IElementHandleProvider { if (ipe.getKind().isInterTypeMember()) { int count = 1; List kids = ipe.getParent().getChildren(); - for (Iterator iterator = kids.iterator(); iterator.hasNext();) { - IProgramElement object = iterator.next(); + for (IProgramElement object : kids) { if (object.equals(ipe)) { break; } diff --git a/asm/src/main/java/org/aspectj/asm/internal/ProgramElement.java b/asm/src/main/java/org/aspectj/asm/internal/ProgramElement.java index 51aafd936..c1479f70f 100644 --- a/asm/src/main/java/org/aspectj/asm/internal/ProgramElement.java +++ b/asm/src/main/java/org/aspectj/asm/internal/ProgramElement.java @@ -544,8 +544,8 @@ public class ProgramElement implements IProgramElement { if (children == null) { return; } - for (Iterator it = children.iterator(); it.hasNext();) { - (it.next()).setParent(this); + for (IProgramElement child : children) { + child.setParent(this); } } @@ -751,8 +751,7 @@ public class ProgramElement implements IProgramElement { return Collections.emptyList(); } List params = new ArrayList(); - for (Iterator iter = l.iterator(); iter.hasNext();) { - char[] param = iter.next(); + for (char[] param : l) { params.add(NameConvertor.convertFromSignature(param)); } return params; diff --git a/asm/src/main/java/org/aspectj/asm/internal/RelationshipMap.java b/asm/src/main/java/org/aspectj/asm/internal/RelationshipMap.java index 1fea7bb85..0df2fdd89 100644 --- a/asm/src/main/java/org/aspectj/asm/internal/RelationshipMap.java +++ b/asm/src/main/java/org/aspectj/asm/internal/RelationshipMap.java @@ -62,8 +62,7 @@ public class RelationshipMap extends HashMap> implem super.put(source, relationships); return rel; } else { - for (Iterator it = relationships.iterator(); it.hasNext();) { - IRelationship curr = it.next(); + for (IRelationship curr : relationships) { if (curr.getKind() == kind && curr.getName().equals(relationshipName) && curr.hasRuntimeTest() == runtimeTest) { return curr; } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/AttributeUtils.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/AttributeUtils.java index 45d1597a7..d28a4f9f4 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/AttributeUtils.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/AttributeUtils.java @@ -30,57 +30,57 @@ public class AttributeUtils { file.writeShort(0); } else { file.writeShort(attributes.length); - for (int i = 0; i < attributes.length; i++) { - attributes[i].dump(file); + for (Attribute attribute : attributes) { + attribute.dump(file); } } } public static Signature getSignatureAttribute(Attribute[] attributes) { - for (int i = 0; i < attributes.length; i++) { - if (attributes[i].tag == Constants.ATTR_SIGNATURE) { - return (Signature) attributes[i]; + for (Attribute attribute : attributes) { + if (attribute.tag == Constants.ATTR_SIGNATURE) { + return (Signature) attribute; } } return null; } public static Code getCodeAttribute(Attribute[] attributes) { - for (int i = 0; i < attributes.length; i++) { - if (attributes[i].tag == Constants.ATTR_CODE) { - return (Code) attributes[i]; + for (Attribute attribute : attributes) { + if (attribute.tag == Constants.ATTR_CODE) { + return (Code) attribute; } } return null; } public static ExceptionTable getExceptionTableAttribute(Attribute[] attributes) { - for (int i = 0; i < attributes.length; i++) { - if (attributes[i].tag == Constants.ATTR_EXCEPTIONS) { - return (ExceptionTable) attributes[i]; + for (Attribute attribute : attributes) { + if (attribute.tag == Constants.ATTR_EXCEPTIONS) { + return (ExceptionTable) attribute; } } return null; } public static ConstantValue getConstantValueAttribute(Attribute[] attributes) { - for (int i = 0; i < attributes.length; i++) { - if (attributes[i].getTag() == Constants.ATTR_CONSTANT_VALUE) { - return (ConstantValue) attributes[i]; + for (Attribute attribute : attributes) { + if (attribute.getTag() == Constants.ATTR_CONSTANT_VALUE) { + return (ConstantValue) attribute; } } return null; } public static void accept(Attribute[] attributes, ClassVisitor visitor) { - for (int i = 0; i < attributes.length; i++) { - attributes[i].accept(visitor); + for (Attribute attribute : attributes) { + attribute.accept(visitor); } } public static boolean hasSyntheticAttribute(Attribute[] attributes) { - for (int i = 0; i < attributes.length; i++) { - if (attributes[i].tag == Constants.ATTR_SYNTHETIC) { + for (Attribute attribute : attributes) { + if (attribute.tag == Constants.ATTR_SYNTHETIC) { return true; } } @@ -88,9 +88,9 @@ public class AttributeUtils { } public static SourceFile getSourceFileAttribute(Attribute[] attributes) { - for (int i = 0; i < attributes.length; i++) { - if (attributes[i].tag == Constants.ATTR_SOURCE_FILE) { - return (SourceFile) attributes[i]; + for (Attribute attribute : attributes) { + if (attribute.tag == Constants.ATTR_SOURCE_FILE) { + return (SourceFile) attribute; } } return null; diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/BootstrapMethods.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/BootstrapMethods.java index f708c0cab..699cdc3ef 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/BootstrapMethods.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/BootstrapMethods.java @@ -133,8 +133,8 @@ public final class BootstrapMethods extends Attribute { file.writeShort(bootstrapMethodRef); int len = bootstrapArguments.length; file.writeShort(len); - for (int i=0;i 0) { buf.append("\nException handler(s) = \n" + "From\tTo\tHandler\tType\n"); - for (int i = 0; i < exceptionTable.length; i++) { - buf.append(exceptionTable[i].toString(cpool, verbose) + "\n"); + for (CodeException e : exceptionTable) { + buf.append(e.toString(cpool, verbose) + "\n"); } } if (attributes.length > 0) { buf.append("\nAttribute(s) = \n"); - for (int i = 0; i < attributes.length; i++) { - buf.append(attributes[i].toString() + "\n"); + for (Attribute attribute : attributes) { + buf.append(attribute.toString() + "\n"); } } @@ -372,8 +372,7 @@ public final class Code extends Attribute { codeString.append(Utility.codeToString(code, cpool, 0, -1, true)); if (exceptionTable.length > 0) { codeString.append("\n").append("Exception entries = ").append(exceptionTable.length).append("\n"); - for (int i = 0; i < exceptionTable.length; i++) { - CodeException exc = exceptionTable[i]; + for (CodeException exc : exceptionTable) { int type = exc.getCatchType(); String name = "finally"; if (type != 0) { diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/FieldOrMethod.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/FieldOrMethod.java index a152b616f..8689e31b9 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/FieldOrMethod.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/FieldOrMethod.java @@ -168,8 +168,7 @@ public abstract class FieldOrMethod extends Modifiers implements Node { if (annotations == null) { // Find attributes that contain annotation data List accumulatedAnnotations = new ArrayList(); - for (int i = 0; i < attributes.length; i++) { - Attribute attribute = attributes[i]; + for (Attribute attribute : attributes) { if (attribute instanceof RuntimeAnnos) { RuntimeAnnos runtimeAnnotations = (RuntimeAnnos) attribute; accumulatedAnnotations.addAll(runtimeAnnotations.getAnnotations()); diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/JavaClass.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/JavaClass.java index 25c415295..59c092239 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/JavaClass.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/JavaClass.java @@ -260,18 +260,18 @@ public class JavaClass extends Modifiers implements Cloneable, Node { file.writeShort(superclassnameIdx); file.writeShort(interfaces.length); - for (int i = 0; i < interfaces.length; i++) { - file.writeShort(interfaces[i]); + for (int anInterface : interfaces) { + file.writeShort(anInterface); } file.writeShort(fields.length); - for (int i = 0; i < fields.length; i++) { - fields[i].dump(file); + for (Field field : fields) { + field.dump(file); } file.writeShort(methods.length); - for (int i = 0; i < methods.length; i++) { - methods[i].dump(file); + for (Method method : methods) { + method.dump(file); } AttributeUtils.writeAttributes(attributes, file); @@ -287,8 +287,7 @@ public class JavaClass extends Modifiers implements Cloneable, Node { if (annotationsOutOfDate) { // Find attributes that contain annotation data List accumulatedAnnotations = new ArrayList(); - for (int i = 0; i < attributes.length; i++) { - Attribute attribute = attributes[i]; + for (Attribute attribute : attributes) { if (attribute instanceof RuntimeAnnos) { RuntimeAnnos runtimeAnnotations = (RuntimeAnnos) attribute; accumulatedAnnotations.addAll(runtimeAnnotations.getAnnotations()); @@ -366,9 +365,7 @@ public class JavaClass extends Modifiers implements Cloneable, Node { * @return A org.aspectj.apache.bcel.classfile.Method corresponding to java.lang.reflect.Method if any */ public Method getMethod(java.lang.reflect.Method m) { - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; - + for (Method method : methods) { if (m.getName().equals(method.getName()) && m.getModifiers() == method.getModifiers() && Type.getSignature(m).equals(method.getSignature())) { return method; @@ -379,8 +376,7 @@ public class JavaClass extends Modifiers implements Cloneable, Node { } public Method getMethod(java.lang.reflect.Constructor c) { - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; + for (Method method : methods) { if (method.getName().equals("") && c.getModifiers() == method.getModifiers() && Type.getSignature(c).equals(method.getSignature())) { return method; @@ -552,29 +548,29 @@ public class JavaClass extends Modifiers implements Cloneable, Node { if (attributes.length > 0) { buf.append("\nAttribute(s):\n"); - for (int i = 0; i < attributes.length; i++) { - buf.append(indent(attributes[i])); + for (Attribute attribute : attributes) { + buf.append(indent(attribute)); } } if (annotations != null && annotations.length > 0) { buf.append("\nAnnotation(s):\n"); - for (int i = 0; i < annotations.length; i++) { - buf.append(indent(annotations[i])); + for (AnnotationGen annotation : annotations) { + buf.append(indent(annotation)); } } if (fields.length > 0) { buf.append("\n" + fields.length + " fields:\n"); - for (int i = 0; i < fields.length; i++) { - buf.append("\t" + fields[i] + '\n'); + for (Field field : fields) { + buf.append("\t" + field + '\n'); } } if (methods.length > 0) { buf.append("\n" + methods.length + " methods:\n"); - for (int i = 0; i < methods.length; i++) { - buf.append("\t" + methods[i] + '\n'); + for (Method method : methods) { + buf.append("\t" + method + '\n'); } } @@ -615,12 +611,12 @@ public class JavaClass extends Modifiers implements Cloneable, Node { return; } // Attribute[] attrs = attributes.getAttributes(); - for (int i = 0; i < attributes.length; i++) { - if (attributes[i] instanceof InnerClasses) { - InnerClass[] innerClasses = ((InnerClasses) attributes[i]).getInnerClasses(); - for (int j = 0; j < innerClasses.length; j++) { + for (Attribute attribute : attributes) { + if (attribute instanceof InnerClasses) { + InnerClass[] innerClasses = ((InnerClasses) attribute).getInnerClasses(); + for (InnerClass innerClass : innerClasses) { boolean innerClassAttributeRefersToMe = false; - String inner_class_name = cpool.getConstantString(innerClasses[j].getInnerClassIndex(), + String inner_class_name = cpool.getConstantString(innerClass.getInnerClassIndex(), Constants.CONSTANT_Class); inner_class_name = Utility.compactClassName(inner_class_name); if (inner_class_name.equals(getClassName())) { @@ -628,7 +624,7 @@ public class JavaClass extends Modifiers implements Cloneable, Node { } if (innerClassAttributeRefersToMe) { this.isNested = true; - if (innerClasses[j].getInnerNameIndex() == 0) { + if (innerClass.getInnerNameIndex() == 0) { this.isAnonymous = true; } } @@ -684,8 +680,8 @@ public class JavaClass extends Modifiers implements Cloneable, Node { JavaClass[] super_classes = getSuperClasses(); - for (int i = 0; i < super_classes.length; i++) { - if (super_classes[i].equals(super_class)) { + for (JavaClass superClass : super_classes) { + if (superClass.equals(super_class)) { return true; } } @@ -795,8 +791,8 @@ public class JavaClass extends Modifiers implements Cloneable, Node { } } - for (int i = 0; i < interfaces.length; i++) { - queue.add(interfaces[i]); + for (JavaClass anInterface : interfaces) { + queue.add(anInterface); } } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Method.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Method.java index 46aeac845..baa0629c6 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Method.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Method.java @@ -165,11 +165,10 @@ public final class Method extends FieldOrMethod { signature = Utility.methodSignatureToString(signature, name, access, true, getLocalVariableTable()); buf = new StringBuffer(signature); - for (int i = 0; i < attributes.length; i++) { - Attribute a = attributes[i]; - if (!((a instanceof Code) || (a instanceof ExceptionTable))) - buf.append(" [" + a.toString() + "]"); - } + for (Attribute a : attributes) { + if (!((a instanceof Code) || (a instanceof ExceptionTable))) + buf.append(" [" + a.toString() + "]"); + } ExceptionTable e = getExceptionTable(); if (e != null) { @@ -212,14 +211,14 @@ public final class Method extends FieldOrMethod { // Find attributes that contain annotation data Attribute[] attrs = getAttributes(); - for (int i = 0; i < attrs.length; i++) { - Attribute attribute = attrs[i]; - if (attribute instanceof RuntimeVisParamAnnos) { - parameterAnnotationsVis = (RuntimeVisParamAnnos) attribute; - } else if (attribute instanceof RuntimeInvisParamAnnos) { - parameterAnnotationsInvis = (RuntimeInvisParamAnnos) attribute; - } - } + for (Attribute attribute : attrs) { + if (attribute instanceof RuntimeVisParamAnnos) { + parameterAnnotationsVis = (RuntimeVisParamAnnos) attribute; + } + else if (attribute instanceof RuntimeInvisParamAnnos) { + parameterAnnotationsInvis = (RuntimeInvisParamAnnos) attribute; + } + } boolean foundSome = false; // Build a list of annotation arrays, one per argument diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Module.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Module.java index 5eef18cde..1302aeede 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Module.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Module.java @@ -438,10 +438,10 @@ public final class Module extends Attribute { file.writeShort(moduleVersionIndex); file.writeShort(requires.length); - for (int i = 0; i < requires.length; i++) { - file.writeShort(requires[i].moduleIndex); - file.writeShort(requires[i].flags); - file.writeShort(requires[i].versionIndex); + for (Require require : requires) { + file.writeShort(require.moduleIndex); + file.writeShort(require.flags); + file.writeShort(require.versionIndex); } file.writeShort(exports.length); for (Export export : exports) { diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/ModulePackages.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/ModulePackages.java index 37da4bc47..6f96ae0fd 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/ModulePackages.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/ModulePackages.java @@ -97,8 +97,8 @@ public final class ModulePackages extends Attribute { public final void dump(DataOutputStream stream) throws IOException { super.dump(stream); stream.writeShort(packageIndices.length); - for (int i = 0; i < packageIndices.length; i++) { - stream.writeShort(packageIndices[i]); + for (int packageIndex : packageIndices) { + stream.writeShort(packageIndex); } } @@ -117,8 +117,8 @@ public final class ModulePackages extends Attribute { @Override public final String toString() { StringBuffer buf = new StringBuffer(); - for (int i = 0; i < packageIndices.length; i++) { - buf.append(cpool.getPackageName(packageIndices[i]) + "\n"); + for (int packageIndex : packageIndices) { + buf.append(cpool.getPackageName(packageIndex) + "\n"); } return buf.toString(); } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Utility.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Utility.java index 98f5952ae..2d4b2a81f 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Utility.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/Utility.java @@ -522,26 +522,26 @@ public abstract class Utility { char[] ch = label.toCharArray(); StringBuffer buf = new StringBuffer(); - for (int i = 0; i < ch.length; i++) { - switch (ch[i]) { - case '\n': - buf.append("\\n"); - break; - case '\r': - buf.append("\\r"); - break; - case '\"': - buf.append("\\\""); - break; - case '\'': - buf.append("\\'"); - break; - case '\\': - buf.append("\\\\"); - break; - default: - buf.append(ch[i]); - break; + for (char c : ch) { + switch (c) { + case '\n': + buf.append("\\n"); + break; + case '\r': + buf.append("\\r"); + break; + case '\"': + buf.append("\\\""); + break; + case '\'': + buf.append("\\'"); + break; + case '\\': + buf.append("\\\\"); + break; + default: + buf.append(c); + break; } } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/AnnotationGen.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/AnnotationGen.java index 9a0a42909..8074e383e 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/AnnotationGen.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/AnnotationGen.java @@ -82,8 +82,7 @@ public class AnnotationGen { public void dump(DataOutputStream dos) throws IOException { dos.writeShort(typeIndex); // u2 index of type name in cpool dos.writeShort(pairs.size()); // u2 element_value pair count - for (int i = 0; i < pairs.size(); i++) { - NameValuePair envp = pairs.get(i); + for (NameValuePair envp : pairs) { envp.dump(dos); } } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/ArrayElementValue.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/ArrayElementValue.java index 3dd19af71..4cb5f5fe8 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/ArrayElementValue.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/ArrayElementValue.java @@ -55,8 +55,8 @@ public class ArrayElementValue extends ElementValue { public void dump(DataOutputStream dos) throws IOException { dos.writeByte(type); // u1 type of value (ARRAY == '[') dos.writeShort(evalues.length); - for (int i = 0; i < evalues.length; i++) { - evalues[i].dump(dos); + for (ElementValue evalue : evalues) { + evalue.dump(dos); } } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos.java index ac145087b..ecb1d539d 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/RuntimeAnnos.java @@ -64,8 +64,7 @@ public abstract class RuntimeAnnos extends Attribute { dos.write(annotation_data, 0, length); } else { dos.writeShort(annotations.size()); - for (Iterator i = annotations.iterator(); i.hasNext();) { - AnnotationGen ann = i.next(); + for (AnnotationGen ann : annotations) { ann.dump(dos); } } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/RuntimeParamAnnos.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/RuntimeParamAnnos.java index 517ebee62..42bf903a1 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/RuntimeParamAnnos.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/classfile/annotation/RuntimeParamAnnos.java @@ -115,11 +115,10 @@ public abstract class RuntimeParamAnnos extends Attribute { dos.write(annotation_data,0,length); } else { dos.writeByte(parameterAnnotations.size()); - for (int i=0; i l = runtimeAnnotations.getAnnotations(); - for (Iterator it = l.iterator(); it.hasNext();) { - AnnotationGen element = it.next(); + for (AnnotationGen element : l) { addAnnotation(new AnnotationGen(element, cp, false)); } } else { - addAttribute(attrs[i]); + addAttribute(attr); } } } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionFactory.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionFactory.java index 4e1e6c8a8..a3b1fb30e 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionFactory.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionFactory.java @@ -119,8 +119,8 @@ public class InstructionFactory implements InstructionConstants { return new InvokeInstruction(Constants.INVOKESTATIC, index); case Constants.INVOKEINTERFACE: int nargs = 0; - for (int i = 0; i < arg_types.length; i++) { - nargs += arg_types[i].getSize(); + for (Type arg_type : arg_types) { + nargs += arg_type.getSize(); } return new INVOKEINTERFACE(index, nargs + 1, 0); default: @@ -148,8 +148,8 @@ public class InstructionFactory implements InstructionConstants { case Constants.INVOKEINTERFACE: Type[] argumentTypes = Type.getArgumentTypes(signature); int nargs = 0; - for (int i = 0; i < argumentTypes.length; i++) {// Count size of arguments - nargs += argumentTypes[i].getSize(); + for (Type argumentType : argumentTypes) {// Count size of arguments + nargs += argumentType.getSize(); } return new INVOKEINTERFACE(index, nargs + 1, 0); default: diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionList.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionList.java index b08a2b77c..dbdfb7fdb 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionList.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionList.java @@ -953,8 +953,8 @@ public class InstructionList implements Serializable { if (i instanceof InstructionSelect) { InstructionHandle[] targets = ((InstructionSelect) i).getTargets(); - for (int j = 0; j < targets.length; j++) { - inst = targets[j].instruction; + for (InstructionHandle target : targets) { + inst = target.instruction; if (!contains(inst)) { throw new ClassGenException("Branch target of " + Constants.OPCODE_NAMES[i.opcode] + ":" + inst + " not in instruction list"); @@ -1247,15 +1247,15 @@ public class InstructionList implements Serializable { * @see MethodGen */ public void redirectLocalVariables(LocalVariableGen[] lg, InstructionHandle old_target, InstructionHandle new_target) { - for (int i = 0; i < lg.length; i++) { - InstructionHandle start = lg[i].getStart(); - InstructionHandle end = lg[i].getEnd(); + for (LocalVariableGen localVariableGen : lg) { + InstructionHandle start = localVariableGen.getStart(); + InstructionHandle end = localVariableGen.getEnd(); if (start == old_target) { - lg[i].setStart(new_target); + localVariableGen.setStart(new_target); } if (end == old_target) { - lg[i].setEnd(new_target); + localVariableGen.setEnd(new_target); } } } @@ -1269,17 +1269,17 @@ public class InstructionList implements Serializable { * @see MethodGen */ public void redirectExceptionHandlers(CodeExceptionGen[] exceptions, InstructionHandle old_target, InstructionHandle new_target) { - for (int i = 0; i < exceptions.length; i++) { - if (exceptions[i].getStartPC() == old_target) { - exceptions[i].setStartPC(new_target); + for (CodeExceptionGen exception : exceptions) { + if (exception.getStartPC() == old_target) { + exception.setStartPC(new_target); } - if (exceptions[i].getEndPC() == old_target) { - exceptions[i].setEndPC(new_target); + if (exception.getEndPC() == old_target) { + exception.setEndPC(new_target); } - if (exceptions[i].getHandlerPC() == old_target) { - exceptions[i].setHandlerPC(new_target); + if (exception.getHandlerPC() == old_target) { + exception.setHandlerPC(new_target); } } } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionSelect.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionSelect.java index b4e00c027..408f801ff 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionSelect.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/InstructionSelect.java @@ -88,8 +88,8 @@ public abstract class InstructionSelect extends InstructionBranch { super(opcode, target); this.targets = targets; - for (int i = 0; i < targets.length; i++) { - notifyTarget(null, targets[i], this); + for (InstructionHandle instructionHandle : targets) { + notifyTarget(null, instructionHandle, this); } this.match = match; @@ -236,8 +236,8 @@ public abstract class InstructionSelect extends InstructionBranch { return true; } - for (int i = 0; i < targets.length; i++) { - if (targets[i] == ih) { + for (InstructionHandle target : targets) { + if (target == ih) { return true; } } @@ -251,8 +251,8 @@ public abstract class InstructionSelect extends InstructionBranch { void dispose() { super.dispose(); - for (int i = 0; i < targets.length; i++) { - targets[i].removeTargeter(this); + for (InstructionHandle target : targets) { + target.removeTargeter(this); } } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/MethodGen.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/MethodGen.java index 3938beb35..46b558146 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/MethodGen.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/MethodGen.java @@ -212,8 +212,8 @@ public class MethodGen extends FieldGenOrMethodGen { .getCode()) : null, cp); Attribute[] attributes = m.getAttributes(); - for (int i = 0; i < attributes.length; i++) { - Attribute a = attributes[i]; + for (Attribute attribute : attributes) { + Attribute a = attribute; if (a instanceof Code) { Code code = (Code) a; @@ -254,15 +254,14 @@ public class MethodGen extends FieldGenOrMethodGen { } Attribute[] codeAttrs = code.getAttributes(); - for (int j = 0; j < codeAttrs.length; j++) { - a = codeAttrs[j]; + for (Attribute codeAttr : codeAttrs) { + a = codeAttr; if (a instanceof LineNumberTable) { LineNumber[] ln = ((LineNumberTable) a).getLineNumberTable(); if (useTags) { // abracadabra, lets create tags rather than linenumbergens. - for (int k = 0; k < ln.length; k++) { - LineNumber l = ln[k]; + for (LineNumber l : ln) { int lnum = l.getLineNumber(); if (lnum > highestLineNumber) { highestLineNumber = lnum; @@ -271,8 +270,7 @@ public class MethodGen extends FieldGenOrMethodGen { il.findHandle(l.getStartPC(), arrayOfInstructions, true).addTargeter(lt); } } else { - for (int k = 0; k < ln.length; k++) { - LineNumber l = ln[k]; + for (LineNumber l : ln) { addLineNumber(il.findHandle(l.getStartPC(), arrayOfInstructions, true), l.getLineNumber()); } } @@ -282,8 +280,7 @@ public class MethodGen extends FieldGenOrMethodGen { if (useTags) { LocalVariable[] lv = ((LocalVariableTable) a).getLocalVariableTable(); - for (int k = 0; k < lv.length; k++) { - LocalVariable l = lv[k]; + for (LocalVariable l : lv) { Type t = Type.getType(l.getSignature()); LocalVariableTag lvt = new LocalVariableTag(t, l.getSignature(), l.getName(), l.getIndex(), l .getStartPC()); @@ -307,8 +304,7 @@ public class MethodGen extends FieldGenOrMethodGen { removeLocalVariables(); - for (int k = 0; k < lv.length; k++) { - LocalVariable l = lv[k]; + for (LocalVariable l : lv) { InstructionHandle start = il.findHandle(l.getStartPC(), arrayOfInstructions); InstructionHandle end = il.findHandle(l.getStartPC() + l.getLength(), arrayOfInstructions); // AMC, this actually gives us the first instruction AFTER the range, @@ -333,8 +329,8 @@ public class MethodGen extends FieldGenOrMethodGen { } } else if (a instanceof ExceptionTable) { String[] names = ((ExceptionTable) a).getExceptionNames(); - for (int j = 0; j < names.length; j++) { - addException(names[j]); + for (String s : names) { + addException(s); } } else if (a instanceof RuntimeAnnos) { RuntimeAnnos runtimeAnnotations = (RuntimeAnnos) a; @@ -647,8 +643,8 @@ public class MethodGen extends FieldGenOrMethodGen { } Attribute[] attrs = Utility.getParameterAnnotationAttributes(cp, param_annotations); if (attrs != null) { - for (int i = 0; i < attrs.length; i++) { - addAttribute(attrs[i]); + for (Attribute attr : attrs) { + addAttribute(attr); } } } @@ -722,8 +718,8 @@ public class MethodGen extends FieldGenOrMethodGen { * Each attribute causes 6 additional header bytes */ int attrs_len = 0; - for (int i = 0; i < code_attrs.length; i++) { - attrs_len += (code_attrs[i].getLength() + 6); + for (Attribute code_attr : code_attrs) { + attrs_len += (code_attr.getLength() + 6); } CodeException[] c_exc = getCodeExceptions(); @@ -734,8 +730,7 @@ public class MethodGen extends FieldGenOrMethodGen { if ((il != null) && !isAbstract()) { // Remove any stale code attribute List attributes = getAttributes(); - for (int i = 0; i < attributes.size(); i++) { - Attribute a = attributes.get(i); + for (Attribute a : attributes) { if (a instanceof Code) { removeAttribute(a); } @@ -897,8 +892,8 @@ public class MethodGen extends FieldGenOrMethodGen { int max = isStatic() ? 0 : 1; if (parameterTypes != null) { - for (int i = 0; i < parameterTypes.length; i++) { - max += parameterTypes[i].getSize(); + for (Type parameterType : parameterTypes) { + max += parameterType.getSize(); } } @@ -985,8 +980,8 @@ public class MethodGen extends FieldGenOrMethodGen { * Initially, populate the branch stack with the exception handlers, because these aren't (necessarily) branched to * explicitly. In each case, the stack will have depth 1, containing the exception object. */ - for (int i = 0, max = et.length; i < max; i++) { - InstructionHandle handlerPos = et[i].getHandlerPC(); + for (CodeExceptionGen codeExceptionGen : et) { + InstructionHandle handlerPos = codeExceptionGen.getHandlerPC(); if (handlerPos != null) { // it must be at least 1 since there is an exception handler maxStackDepth = 1; @@ -1014,8 +1009,8 @@ public class MethodGen extends FieldGenOrMethodGen { // explore all of the select's targets. the default target is handled below. InstructionSelect select = (InstructionSelect) branch; InstructionHandle[] targets = select.getTargets(); - for (int i = 0; i < targets.length; i++) { - branchTargets.push(targets[i], stackDepth); + for (InstructionHandle target : targets) { + branchTargets.push(target, stackDepth); } // nothing to fall through to. ih = null; @@ -1069,8 +1064,8 @@ public class MethodGen extends FieldGenOrMethodGen { StringBuffer buf = new StringBuffer(signature); if (exceptionsThrown.size() > 0) { - for (Iterator e = exceptionsThrown.iterator(); e.hasNext();) { - buf.append("\n\t\tthrows " + e.next()); + for (String s : exceptionsThrown) { + buf.append("\n\t\tthrows " + s); } } @@ -1145,8 +1140,8 @@ public class MethodGen extends FieldGenOrMethodGen { private List /* AnnotationGen */ makeMutableVersion(AnnotationGen[] mutableArray) { List result = new ArrayList(); - for (int i = 0; i < mutableArray.length; i++) { - result.add(new AnnotationGen(mutableArray[i], getConstantPool(), false)); + for (AnnotationGen annotationGen : mutableArray) { + result.add(new AnnotationGen(annotationGen, getConstantPool(), false)); } return result; } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/ReferenceType.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/ReferenceType.java index 1e290f5a4..f29569cb5 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/ReferenceType.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/ReferenceType.java @@ -280,10 +280,10 @@ public abstract class ReferenceType extends Type { this_sups[0] = Repository.lookupClass(thiz.getClassName()); t_sups[0] = Repository.lookupClass(other.getClassName()); - for (int i = 0; i < t_sups.length; i++) { - for (int j = 0; j < this_sups.length; j++) { - if (this_sups[j].equals(t_sups[i])) { - return new ObjectType(this_sups[j].getClassName()); + for (JavaClass t_sup : t_sups) { + for (JavaClass this_sup : this_sups) { + if (this_sup.equals(t_sup)) { + return new ObjectType(this_sup.getClassName()); } } } diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/Type.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/Type.java index 9ce007b4f..68b68f3d6 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/Type.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/generic/Type.java @@ -466,8 +466,8 @@ public abstract class Type { StringBuffer sb = new StringBuffer("("); Class[] params = meth.getParameterTypes(); // avoid clone - for (int j = 0; j < params.length; j++) { - sb.append(getType(params[j]).getSignature()); + for (Class param : params) { + sb.append(getType(param).getSignature()); } sb.append(")"); @@ -479,8 +479,8 @@ public abstract class Type { StringBuffer sb = new StringBuffer("("); Class[] params = cons.getParameterTypes(); // avoid clone - for (int j = 0; j < params.length; j++) { - sb.append(getType(params[j]).getSignature()); + for (Class param : params) { + sb.append(getType(param).getSignature()); } sb.append(")V"); diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/util/NonCachingClassLoaderRepository.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/util/NonCachingClassLoaderRepository.java index a53b9dc35..fe43a7bef 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/util/NonCachingClassLoaderRepository.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/util/NonCachingClassLoaderRepository.java @@ -148,8 +148,7 @@ public class NonCachingClassLoaderRepository implements Repository { public void clear() { processQueue(); Set keys = map.keySet(); - for (Iterator iterator = keys.iterator(); iterator.hasNext();) { - Object name = iterator.next(); + for (Object name : keys) { map.remove(name); } } diff --git a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/BcelTestCase.java b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/BcelTestCase.java index 7c7013f62..57505a9c5 100644 --- a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/BcelTestCase.java +++ b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/BcelTestCase.java @@ -54,8 +54,7 @@ public abstract class BcelTestCase extends TestCase { protected Method getMethod(JavaClass cl, String methodname) { Method[] methods = cl.getMethods(); - for (int i = 0; i < methods.length; i++) { - Method m = methods[i]; + for (Method m : methods) { if (m.getName().equals(methodname)) { return m; } @@ -65,8 +64,7 @@ public abstract class BcelTestCase extends TestCase { protected Field getField(JavaClass cl, String fieldname) { Field[] fields = cl.getFields(); - for (int i = 0; i < fields.length; i++) { - Field f = fields[i]; + for (Field f : fields) { if (f.getName().equals(fieldname)) { return f; } @@ -96,22 +94,22 @@ public abstract class BcelTestCase extends TestCase { protected Attribute[] findAttribute(String name, JavaClass clazz) { Attribute[] all = clazz.getAttributes(); List chosenAttrsList = new ArrayList(); - for (int i = 0; i < all.length; i++) { + for (Attribute attribute : all) { if (verbose) - System.err.println("Attribute: " + all[i].getName()); - if (all[i].getName().equals(name)) - chosenAttrsList.add(all[i]); + System.err.println("Attribute: " + attribute.getName()); + if (attribute.getName().equals(name)) + chosenAttrsList.add(attribute); } return chosenAttrsList.toArray(new Attribute[] {}); } protected Attribute findAttribute(String name, Attribute[] all) { List chosenAttrsList = new ArrayList(); - for (int i = 0; i < all.length; i++) { + for (Attribute attribute : all) { if (verbose) - System.err.println("Attribute: " + all[i].getName()); - if (all[i].getName().equals(name)) - chosenAttrsList.add(all[i]); + System.err.println("Attribute: " + attribute.getName()); + if (attribute.getName().equals(name)) + chosenAttrsList.add(attribute); } assertTrue("Should be one match: " + chosenAttrsList.size(), chosenAttrsList.size() == 1); return chosenAttrsList.get(0); diff --git a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/FieldAnnotationsTest.java b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/FieldAnnotationsTest.java index 6f5a4f8f3..038a1381e 100644 --- a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/FieldAnnotationsTest.java +++ b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/FieldAnnotationsTest.java @@ -102,12 +102,11 @@ public class FieldAnnotationsTest extends BcelTestCase { String annotationName,String annotationElementName,String annotationElementValue) { Field[] fields = clazz.getFields(); - for (int i = 0; i < fields.length; i++) { - Field f = fields[i]; + for (Field f : fields) { AnnotationGen[] fieldAnnotations = f.getAnnotations(); if (f.getName().equals(fieldname)) { - checkAnnotation(fieldAnnotations[0],annotationName,annotationElementName,annotationElementValue); - + checkAnnotation(fieldAnnotations[0], annotationName, annotationElementName, annotationElementValue); + } } } @@ -127,11 +126,10 @@ public class FieldAnnotationsTest extends BcelTestCase { // helper methods public void checkValue(AnnotationGen a,String name,String tostring) { - for (Iterator i = a.getValues().iterator(); i.hasNext();) { - NameValuePair element = i.next(); + for (NameValuePair element : a.getValues()) { if (element.getNameString().equals(name)) { if (!element.getValue().stringifyValue().equals(tostring)) { - fail("Expected element "+name+" to have value "+tostring+" but it had value "+element.getValue().stringifyValue()); + fail("Expected element " + name + " to have value " + tostring + " but it had value " + element.getValue().stringifyValue()); } return; } diff --git a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/GeneratingAnnotatedClassesTest.java b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/GeneratingAnnotatedClassesTest.java index f7ab04d4a..b826fc7a0 100644 --- a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/GeneratingAnnotatedClassesTest.java +++ b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/GeneratingAnnotatedClassesTest.java @@ -240,8 +240,7 @@ public class GeneratingAnnotatedClassesTest extends BcelTestCase { assertTrue("Expected one annotation but found " + annotations.length, annotations.length == 1); List l = annotations[0].getValues(); boolean found = false; - for (Iterator iter = l.iterator(); iter.hasNext();) { - NameValuePair element = iter.next(); + for (NameValuePair element : l) { if (element.getNameString().equals("dval")) { if (((SimpleElementValue) element.getValue()).stringifyValue().equals("33.4")) found = true; diff --git a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/GenericSignatureParsingTest.java b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/GenericSignatureParsingTest.java index f64e4440f..b15e5f325 100644 --- a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/GenericSignatureParsingTest.java +++ b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/GenericSignatureParsingTest.java @@ -187,10 +187,9 @@ public class GenericSignatureParsingTest extends BcelTestCase { public Signature getSignatureAttribute(JavaClass clazz,String name) { Method m = getMethod(clazz,name); Attribute[] as = m.getAttributes(); - for (int i = 0; i < as.length; i++) { - Attribute attribute = as[i]; + for (Attribute attribute : as) { if (attribute.getName().equals("Signature")) { - return (Signature)attribute; + return (Signature) attribute; } } return null; @@ -292,23 +291,23 @@ public class GenericSignatureParsingTest extends BcelTestCase { char[] chars = brackets.toCharArray(); int count = 0; boolean open = false; - - for(int i=0; i")) { - errormessage="Expected signature of 'TreasureChest' for tc1 but got "+sig; + errormessage = "Expected signature of 'TreasureChest' for tc1 but got " + sig; } else { tc1OK = true; } } - if (lvtable[i].getName().equals("tc2")) { + if (localVariable.getName().equals("tc2")) { if (!sig.equals("TreasureChest")) { - errormessage="Expected signature of 'TreasureChest' for tc2 but got "+sig; + errormessage = "Expected signature of 'TreasureChest' for tc2 but got " + sig; } else { tc2OK = true; } diff --git a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/MethodAnnotationsTest.java b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/MethodAnnotationsTest.java index 14d009cf0..8876813d2 100644 --- a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/MethodAnnotationsTest.java +++ b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/MethodAnnotationsTest.java @@ -63,12 +63,11 @@ public class MethodAnnotationsTest extends BcelTestCase { String annotationName,String annotationElementName,String annotationElementValue) { Method[] methods = clazz.getMethods(); - for (int i = 0; i < methods.length; i++) { - Method m = methods[i]; + for (Method m : methods) { AnnotationGen[] methodAnnotations = m.getAnnotations(); if (m.getName().equals(methodname)) { - checkAnnotation(methodAnnotations[0],annotationName,annotationElementName,annotationElementValue); - + checkAnnotation(methodAnnotations[0], annotationName, annotationElementName, annotationElementValue); + } } } @@ -88,11 +87,10 @@ public class MethodAnnotationsTest extends BcelTestCase { // helper methods public void checkValue(AnnotationGen a,String name,String tostring) { - for (Iterator i = a.getValues().iterator(); i.hasNext();) { - NameValuePair element = i.next(); + for (NameValuePair element : a.getValues()) { if (element.getNameString().equals(name)) { if (!element.getValue().stringifyValue().equals(tostring)) { - fail("Expected element "+name+" to have value "+tostring+" but it had value "+element.getValue().stringifyValue()); + fail("Expected element " + name + " to have value " + tostring + " but it had value " + element.getValue().stringifyValue()); } return; } diff --git a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/ParameterAnnotationsTest.java b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/ParameterAnnotationsTest.java index 0e9c4fadd..f49b4fb46 100644 --- a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/ParameterAnnotationsTest.java +++ b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/ParameterAnnotationsTest.java @@ -271,8 +271,8 @@ public class ParameterAnnotationsTest extends BcelTestCase { private Method findMethod(ClassGen c,String mname) { Method[] ms = c.getMethods(); - for (int i = 0; i < ms.length; i++) { - if (ms[i].getName().equals(mname)) return ms[i]; + for (Method m : ms) { + if (m.getName().equals(mname)) return m; } return null; } diff --git a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/RuntimeVisibleAnnotationAttributeTest.java b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/RuntimeVisibleAnnotationAttributeTest.java index 669d942f5..af3df5c6a 100644 --- a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/RuntimeVisibleAnnotationAttributeTest.java +++ b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/RuntimeVisibleAnnotationAttributeTest.java @@ -208,11 +208,10 @@ public class RuntimeVisibleAnnotationAttributeTest extends BcelTestCase { } private void checkValue(AnnotationGen a,String name,String tostring) { - for (Iterator i = a.getValues().iterator(); i.hasNext();) { - NameValuePair element = i.next(); + for (NameValuePair element : a.getValues()) { if (element.getNameString().equals(name)) { if (!element.getValue().stringifyValue().equals(tostring)) { - fail("Expected element "+name+" to have value "+tostring+" but it had value "+element.getValue().stringifyValue()); + fail("Expected element " + name + " to have value " + tostring + " but it had value " + element.getValue().stringifyValue()); } return; } @@ -385,8 +384,7 @@ public class RuntimeVisibleAnnotationAttributeTest extends BcelTestCase { public static List getListOfAnnotationNames(AnnotationGen a) { List l = a.getValues(); List names = new ArrayList(); - for (Iterator i = l.iterator(); i.hasNext();) { - NameValuePair element = i.next(); + for (NameValuePair element : l) { names.add(element.getNameString()); } return names; diff --git a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/RuntimeVisibleParameterAnnotationAttributeTest.java b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/RuntimeVisibleParameterAnnotationAttributeTest.java index 1b8af7419..eb594974c 100644 --- a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/RuntimeVisibleParameterAnnotationAttributeTest.java +++ b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/RuntimeVisibleParameterAnnotationAttributeTest.java @@ -38,30 +38,29 @@ public class RuntimeVisibleParameterAnnotationAttributeTest extends BcelTestCase Attribute[] rvaAttr = findAttribute("RuntimeVisibleParameterAnnotations",clazz); Method[] methods = clazz.getMethods(); - for (int i = 0; i < methods.length; i++) { - Method m = methods[i]; + for (Method m : methods) { if (m.getName().equals("foo")) { - RuntimeVisParamAnnos paramAnns = - (RuntimeVisParamAnnos) findAttribute("RuntimeVisibleParameterAnnotations",m.getAttributes()); - assertTrue("foo takes two parameters, not "+paramAnns.getParameterAnnotations().size(), - paramAnns.getParameterAnnotations().size()==2); + RuntimeVisParamAnnos paramAnns = + (RuntimeVisParamAnnos) findAttribute("RuntimeVisibleParameterAnnotations", m.getAttributes()); + assertTrue("foo takes two parameters, not " + paramAnns.getParameterAnnotations().size(), + paramAnns.getParameterAnnotations().size() == 2); AnnotationGen[] firstParamAnnotations = paramAnns.getAnnotationsOnParameter(0); - checkAnnotation(firstParamAnnotations[0],"SimpleAnnotation","id","2"); + checkAnnotation(firstParamAnnotations[0], "SimpleAnnotation", "id", "2"); AnnotationGen[] secondParamAnnotations = paramAnns.getAnnotationsOnParameter(1); - checkAnnotation(secondParamAnnotations[0],"SimpleAnnotation","id","3"); - checkAnnotation(secondParamAnnotations[1],"AnnotationEnumElement","enumval","LSimpleEnum;Red"); - + checkAnnotation(secondParamAnnotations[0], "SimpleAnnotation", "id", "3"); + checkAnnotation(secondParamAnnotations[1], "AnnotationEnumElement", "enumval", "LSimpleEnum;Red"); + } if (m.getName().equals("main")) { - RuntimeVisParamAnnos paramAnns = - (RuntimeVisParamAnnos) findAttribute("RuntimeVisibleParameterAnnotations",m.getAttributes()); - assertTrue("main takes one parameter, not "+paramAnns.getParameterAnnotations().size(), - paramAnns.getParameterAnnotations().size()==1); + RuntimeVisParamAnnos paramAnns = + (RuntimeVisParamAnnos) findAttribute("RuntimeVisibleParameterAnnotations", m.getAttributes()); + assertTrue("main takes one parameter, not " + paramAnns.getParameterAnnotations().size(), + paramAnns.getParameterAnnotations().size() == 1); AnnotationGen[] firstParamAnnotations = paramAnns.getAnnotationsOnParameter(0); - checkAnnotation(firstParamAnnotations[0],"SimpleAnnotation","id","1"); + checkAnnotation(firstParamAnnotations[0], "SimpleAnnotation", "id", "1"); } } } @@ -94,17 +93,16 @@ public class RuntimeVisibleParameterAnnotationAttributeTest extends BcelTestCase public void checkFooMethod(JavaClass clazz) { Method[] methods = clazz.getMethods(); - for (int i = 0; i < methods.length; i++) { - Method m = methods[i]; + for (Method m : methods) { if (m.getName().equals("foo")) { AnnotationGen[] firstParamAnnotations = m.getAnnotationsOnParameter(0); - checkAnnotation(firstParamAnnotations[0],"SimpleAnnotation","id","2"); + checkAnnotation(firstParamAnnotations[0], "SimpleAnnotation", "id", "2"); AnnotationGen[] secondParamAnnotations = m.getAnnotationsOnParameter(1); - checkAnnotation(secondParamAnnotations[0],"SimpleAnnotation","id","3"); - checkAnnotation(secondParamAnnotations[1],"AnnotationEnumElement","enumval","LSimpleEnum;Red"); - + checkAnnotation(secondParamAnnotations[0], "SimpleAnnotation", "id", "3"); + checkAnnotation(secondParamAnnotations[1], "AnnotationEnumElement", "enumval", "LSimpleEnum;Red"); + } } } @@ -124,11 +122,10 @@ public class RuntimeVisibleParameterAnnotationAttributeTest extends BcelTestCase // helper methods public void checkValue(AnnotationGen a,String name,String tostring) { - for (Iterator i = a.getValues().iterator(); i.hasNext();) { - NameValuePair element = i.next(); + for (NameValuePair element : a.getValues()) { if (element.getNameString().equals(name)) { if (!element.getValue().stringifyValue().equals(tostring)) { - fail("Expected element "+name+" to have value "+tostring+" but it had value "+element.getValue().stringifyValue()); + fail("Expected element " + name + " to have value " + tostring + " but it had value " + element.getValue().stringifyValue()); } return; } diff --git a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/VarargsTest.java b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/VarargsTest.java index 877594728..bf41bb3c1 100644 --- a/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/VarargsTest.java +++ b/bcel-builder/src/test/java/org/aspectj/apache/bcel/classfile/tests/VarargsTest.java @@ -65,11 +65,10 @@ public class VarargsTest extends BcelTestCase { public void checkMarkedVarargs(JavaClass clazz,String methodname,boolean shouldBeMarked) { Method[] methods = clazz.getMethods(); - for (int i = 0; i < methods.length; i++) { - Method m = methods[i]; + for (Method m : methods) { if (m.getName().equals(methodname)) { - assertTrue("Method '"+methodname+"' should answer varargs="+shouldBeMarked, - m.isVarargs()==shouldBeMarked); + assertTrue("Method '" + methodname + "' should answer varargs=" + shouldBeMarked, + m.isVarargs() == shouldBeMarked); } } } @@ -78,11 +77,10 @@ public class VarargsTest extends BcelTestCase { // helper methods public void checkValue(AnnotationGen a,String name,String tostring) { - for (Iterator i = a.getValues().iterator(); i.hasNext();) { - NameValuePair element = i.next(); + for (NameValuePair element : a.getValues()) { if (element.getNameString().equals(name)) { if (!element.getValue().stringifyValue().equals(tostring)) { - fail("Expected element "+name+" to have value "+tostring+" but it had value "+element.getValue().stringifyValue()); + fail("Expected element " + name + " to have value " + tostring + " but it had value " + element.getValue().stringifyValue()); } return; } diff --git a/bridge/src/main/java/org/aspectj/bridge/MessageUtil.java b/bridge/src/main/java/org/aspectj/bridge/MessageUtil.java index 6d85ea6f9..0393a5a58 100644 --- a/bridge/src/main/java/org/aspectj/bridge/MessageUtil.java +++ b/bridge/src/main/java/org/aspectj/bridge/MessageUtil.java @@ -1101,8 +1101,8 @@ public class MessageUtil { return true; } boolean result = true; - for (int i = 0; i < sources.length; i++) { - if (!sink.handleMessage(sources[i])) { + for (IMessage source : sources) { + if (!sink.handleMessage(source)) { if (fastFail) { return false; } diff --git a/bridge/src/test/java/org/aspectj/bridge/MessageTest.java b/bridge/src/test/java/org/aspectj/bridge/MessageTest.java index be30c48ba..d3bd73be6 100644 --- a/bridge/src/test/java/org/aspectj/bridge/MessageTest.java +++ b/bridge/src/test/java/org/aspectj/bridge/MessageTest.java @@ -74,18 +74,18 @@ public class MessageTest extends TestCase { public void testKind_isSameOrLessThan() { IMessage.Kind last; IMessage.Kind next = null; - for (Iterator iter = IMessage.KINDS.iterator(); iter.hasNext();) { - last = next; - next = iter.next(); - if (null == last) { - continue; - } - String label = "last: " + last + " next: " + next; - assertTrue(label, !next.isSameOrLessThan(null)); - assertTrue(label, !next.isSameOrLessThan(last)); - assertTrue(label, last.isSameOrLessThan(next)); - assertTrue(label, next.isSameOrLessThan(next)); - } + for (IMessage.Kind kind : IMessage.KINDS) { + last = next; + next = kind; + if (null == last) { + continue; + } + String label = "last: " + last + " next: " + next; + assertTrue(label, !next.isSameOrLessThan(null)); + assertTrue(label, !next.isSameOrLessThan(last)); + assertTrue(label, last.isSameOrLessThan(next)); + assertTrue(label, next.isSameOrLessThan(next)); + } } public void testMessageHandler() { diff --git a/build/src/main/java/$installer$/org/aspectj/Main.java b/build/src/main/java/$installer$/org/aspectj/Main.java index 6ecebae63..2ffc8b889 100644 --- a/build/src/main/java/$installer$/org/aspectj/Main.java +++ b/build/src/main/java/$installer$/org/aspectj/Main.java @@ -707,8 +707,8 @@ class InstallContext { public boolean isTextFile(File file) { String name = file.getName(); - for (int i = 0; i < TEXT_EXTENSIONS.length; i++) { - if (name.endsWith(TEXT_EXTENSIONS[i])) { + for (String textExtension : TEXT_EXTENSIONS) { + if (name.endsWith(textExtension)) { return true; } } @@ -1243,10 +1243,9 @@ class ConfigureLauncherPane extends WizardPane { paths = unixPaths; } - for (int suffixIndex = 0; suffixIndex < suffixes.length; suffixIndex++) { - String suffix = suffixes[suffixIndex]; - for (int prefixIndex = 0; prefixIndex < paths.length; prefixIndex++) { - String prefix = paths[prefixIndex]; + for (String suffix : suffixes) { + for (String path : paths) { + String prefix = path; prefix = applyProperties(prefix); File test = new File(prefix + suffix); if (isLegalJavaHome(test)) { diff --git a/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/AJInstaller.java b/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/AJInstaller.java index 2428e66d9..809ac1cbb 100644 --- a/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/AJInstaller.java +++ b/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/AJInstaller.java @@ -152,11 +152,10 @@ public class AJInstaller extends MatchingTask { StringBuffer buf = new StringBuffer(); buf.append(contentsBytes); buf.append(NEWLINE); - for (Iterator i = contentsNames.iterator(); i.hasNext(); ) { - String name = i.next(); - buf.append(name); - buf.append(NEWLINE); - } + for (String name : contentsNames) { + buf.append(name); + buf.append(NEWLINE); + } zipFile(new StringBufferInputStream(buf.toString()), zOut, CONTENTS_FILE, System.currentTimeMillis()); } @@ -347,19 +346,19 @@ public class AJInstaller extends MatchingTask { } protected void writeDirs(ZipOutputStream zOut, String[] dirs) throws IOException { - for (int i = 0; i < dirs.length; i++) { - File f = new File(baseDir,dirs[i]); - String name = dirs[i].replace(File.separatorChar,'/')+"/"; - zipDir(f, zOut, name); - } + for (String dir : dirs) { + File f = new File(baseDir, dir); + String name = dir.replace(File.separatorChar, '/') + "/"; + zipDir(f, zOut, name); + } } protected void writeFiles(ZipOutputStream zOut, String[] files) throws IOException { - for (int i = 0; i < files.length; i++) { - File f = new File(baseDir,files[i]); - String name = files[i].replace(File.separatorChar,'/'); - zipFile(f, zOut, name); - } + for (String file : files) { + File f = new File(baseDir, file); + String name = file.replace(File.separatorChar, '/'); + zipFile(f, zOut, name); + } } } diff --git a/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java b/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java index c4f8848d8..bef3fb0aa 100644 --- a/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java +++ b/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java @@ -95,8 +95,7 @@ public class AntBuilder extends Builder { Result[] reqs = result.getRequired(); StringBuffer depends = new StringBuffer(); boolean first = true; - for (int i = 0; i < reqs.length; i++) { - Result reqResult = reqs[i]; + for (Result reqResult : reqs) { if (!first) { depends.append(","); } else { @@ -110,8 +109,7 @@ public class AntBuilder extends Builder { targets.put(resultTargetName, target); // then recursively add any required results - for (int i = 0; i < reqs.length; i++) { - Result reqResult = reqs[i]; + for (Result reqResult : reqs) { makeTargetsForResult(reqResult, targets); } } @@ -311,8 +309,7 @@ public class AntBuilder extends Builder { public boolean setupClasspath(Result result, Path classpath) { // XXX fix test access boolean hasLibraries = false; // required libraries - for (Iterator iter = result.getLibJars().iterator(); iter.hasNext();) { - File file = iter.next(); + for (File file : result.getLibJars()) { classpath.createPathElement().setLocation(file); if (!hasLibraries) { hasLibraries = true; @@ -321,16 +318,15 @@ public class AntBuilder extends Builder { // Westodo Kind kind = result.getKind(); Result[] reqs = result.getRequired(); // required modules and their exported libraries - for (int i = 0; i < reqs.length; i++) { - Result requiredResult = reqs[i]; + for (Result requiredResult : reqs) { classpath.createPathElement().setLocation(requiredResult.getOutputFile()); if (!hasLibraries) { hasLibraries = true; } // also put on classpath libraries exported from required module // XXX exported modules not supported - for (Iterator iterator = requiredResult.getExportedLibJars().iterator(); iterator.hasNext();) { - classpath.createPathElement().setLocation(iterator.next()); + for (File file : requiredResult.getExportedLibJars()) { + classpath.createPathElement().setLocation(file); } } return hasLibraries; @@ -424,8 +420,7 @@ public class AntBuilder extends Builder { return new Result[0]; } ArrayList toReturn = new ArrayList(); - for (Iterator iter = result.iterator(); iter.hasNext();) { - Target target = iter.next(); + for (Target target : result) { String name = target.getName(); if (null == name) { throw new Error("null name?"); diff --git a/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/ConditionalTask.java b/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/ConditionalTask.java index ccb9c2149..e71795912 100644 --- a/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/ConditionalTask.java +++ b/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/ConditionalTask.java @@ -145,11 +145,11 @@ public abstract class ConditionalTask extends Task { return isOneOf(prop, trues) || isOneOf(prop, complement(falses)); } private boolean isOneOf(String prop, String[] strings) { - for (int i = 0; i < strings.length; i++) { - if (strings[i].equals(prop)) { - return true; - } - } + for (String string : strings) { + if (string.equals(prop)) { + return true; + } + } return false; } private String[] complement(String[] strings) { diff --git a/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/StripNonBodyHtml.java b/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/StripNonBodyHtml.java index a33505d95..61e29f3b3 100644 --- a/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/StripNonBodyHtml.java +++ b/build/src/main/java/org/aspectj/internal/tools/ant/taskdefs/StripNonBodyHtml.java @@ -81,13 +81,13 @@ public class StripNonBodyHtml extends MatchingTask { log("stripping " + files.length + " files"); int stripped = 0; - for (int i = 0, len = files.length; i < len; i++) { - if (processFile(files[i])) { - stripped++; - } else { - log(files[i] + " not stripped"); - } - } + for (String file : files) { + if (processFile(file)) { + stripped++; + } else { + log(file + " not stripped"); + } + } log(stripped + " files successfully stripped"); } diff --git a/build/src/main/java/org/aspectj/internal/tools/build/Builder.java b/build/src/main/java/org/aspectj/internal/tools/build/Builder.java index 8efea662a..1d7bfa7d8 100644 --- a/build/src/main/java/org/aspectj/internal/tools/build/Builder.java +++ b/build/src/main/java/org/aspectj/internal/tools/build/Builder.java @@ -281,10 +281,10 @@ public abstract class Builder { } finally { if (0 < errors.size()) { String label = "error building " + buildSpec + ": "; - for (Iterator iter = errors.iterator(); iter.hasNext();) { - String m = label + iter.next(); - handler.error(m); - } + for (String error : errors) { + String m = label + error; + handler.error(m); + } } } } @@ -294,15 +294,15 @@ public abstract class Builder { */ public boolean cleanup() { boolean noErr = true; - for (ListIterator iter = tempFiles.listIterator(); iter.hasNext();) { - File file = (File) iter.next(); - if (!Util.deleteContents(file) || !file.delete()) { - if (noErr) { - noErr = false; - } - handler.log("unable to clean up " + file); - } - } + for (Object tempFile : tempFiles) { + File file = (File) tempFile; + if (!Util.deleteContents(file) || !file.delete()) { + if (noErr) { + noErr = false; + } + handler.log("unable to clean up " + file); + } + } return noErr; } @@ -345,19 +345,18 @@ public abstract class Builder { if (isLogging()) { handler.log("modules to build: " + Arrays.asList(buildList)); } - for (int i = 0; i < buildList.length; i++) { - Result required = buildList[i]; - if (!buildingEnabled) { - return false; - } - String requiredName = required.getName(); - if (!doneList.contains(requiredName)) { - doneList.add(requiredName); - if (!buildOnly(required, errors)) { - return false; - } - } - } + for (Result required : buildList) { + if (!buildingEnabled) { + return false; + } + String requiredName = required.getName(); + if (!doneList.contains(requiredName)) { + doneList.add(requiredName); + if (!buildOnly(required, errors)) { + return false; + } + } + } } return true; } @@ -439,14 +438,14 @@ public abstract class Builder { handler); ProductModule[] productModules = discoverModules(buildSpec.productDir, modules); - for (int i = 0; i < productModules.length; i++) { - if (buildSpec.verbose) { - handler.log("building product module " + productModules[i]); - } - if (!buildProductModule(productModules[i])) { - return false; - } - } + for (ProductModule module : productModules) { + if (buildSpec.verbose) { + handler.log("building product module " + module); + } + if (!buildProductModule(module)) { + return false; + } + } if (buildSpec.verbose) { handler.log("assembling product module for " + buildSpec); } @@ -476,12 +475,12 @@ public abstract class Builder { String excludes = null; { StringBuffer buf = new StringBuffer(); - for (int i = 0; i < productModules.length; i++) { - if (0 < buf.length()) { - buf.append(","); - } - buf.append(productModules[i].relativePath); - } + for (ProductModule productModule : productModules) { + if (0 < buf.length()) { + buf.append(","); + } + buf.append(productModule.relativePath); + } if (0 < buf.length()) { excludes = buf.toString(); } @@ -492,14 +491,13 @@ public abstract class Builder { } // copy binaries associated with module flag files - for (int i = 0; i < productModules.length; i++) { - final ProductModule product = productModules[i]; - final Kind kind = Result.kind(Result.NORMAL, product.assembleAll); - Result result = product.module.getResult(kind); - String targPath = Util.path(targDirPath, product.relativePath); - File jarFile = result.getOutputFile(); - copyFile(jarFile, new File(targPath), FILTER_OFF); - } + for (final ProductModule product : productModules) { + final Kind kind = Result.kind(Result.NORMAL, product.assembleAll); + Result result = product.module.getResult(kind); + String targPath = Util.path(targDirPath, product.relativePath); + File jarFile = result.getOutputFile(); + copyFile(jarFile, new File(targPath), FILTER_OFF); + } handler.log("created product in " + targDir); // ---- create installer @@ -533,9 +531,9 @@ public abstract class Builder { Result result = module.module.getResult(productKind); return buildAll(result, errors); } finally { - for (Iterator iter = errors.iterator(); iter.hasNext();) { - handler.error("error building " + module + ": " + iter.next()); - } + for (String error : errors) { + handler.error("error building " + module + ": " + error); + } } } @@ -595,13 +593,12 @@ public abstract class Builder { File library = liter.next(); final String fname = library.getName(); if (null != fname) { - for (Iterator iter = SKIP_LIBRARIES.iterator(); iter.hasNext();) { - String name = iter.next(); - if (fname.equals(name)) { - liter.remove(); - break; - } - } + for (String name : SKIP_LIBRARIES) { + if (fname.equals(name)) { + liter.remove(); + break; + } + } } } } diff --git a/build/src/main/java/org/aspectj/internal/tools/build/Module.java b/build/src/main/java/org/aspectj/internal/tools/build/Module.java index 58789424f..acc8fd90b 100644 --- a/build/src/main/java/org/aspectj/internal/tools/build/Module.java +++ b/build/src/main/java/org/aspectj/internal/tools/build/Module.java @@ -79,13 +79,13 @@ public class Module { return; } File[] files = srcDir.listFiles(); - for (int i = 0; i < files.length; i++) { - if (files[i].isDirectory()) { - sourceFiles(files[i], result); - } else if (isSourceFile(files[i])) { - result.add(files[i]); - } - } + for (File file : files) { + if (file.isDirectory()) { + sourceFiles(file, result); + } else if (isSourceFile(file)) { + result.add(file); + } + } } private static void addIfNew(List source, List sink) { @@ -107,14 +107,13 @@ public class Module { addIfNew(result.getLibJars(), known); addIfNew(result.getExportedLibJars(), known); Result[] reqs = result.getRequired(); - for (int i = 0; i < reqs.length; i++) { - Result requiredResult = reqs[i]; - File requiredJar = requiredResult.getOutputFile(); - if (!known.contains(requiredJar)) { - known.add(requiredJar); - doFindJarRequirements(requiredResult, known); - } - } + for (Result requiredResult : reqs) { + File requiredJar = requiredResult.getOutputFile(); + if (!known.contains(requiredJar)) { + known.add(requiredJar); + doFindJarRequirements(requiredResult, known); + } + } } /** @return true if this is a source file */ @@ -238,31 +237,29 @@ public class Module { } final long time = outputFile.lastModified(); File file; - for (Iterator iter = result.getSrcDirs().iterator(); iter.hasNext();) { - File srcDir = iter.next(); - for (Iterator srcFiles = sourceFiles(srcDir); srcFiles.hasNext();) { - file = srcFiles.next(); - if (outOfDate(time, file)) { - return true; - } - } - } + for (File srcDir : result.getSrcDirs()) { + for (Iterator srcFiles = sourceFiles(srcDir); srcFiles.hasNext(); ) { + file = srcFiles.next(); + if (outOfDate(time, file)) { + return true; + } + } + } // required modules Result[] reqs = result.getRequired(); - for (int i = 0; i < reqs.length; i++) { - Result requiredResult = reqs[i]; - file = requiredResult.getOutputFile(); - if (outOfDate(time, file)) { - return true; - } - } + for (Result requiredResult : reqs) { + file = requiredResult.getOutputFile(); + if (outOfDate(time, file)) { + return true; + } + } // libraries - for (Iterator iter = result.getLibJars().iterator(); iter.hasNext();) { - file = iter.next(); - if (outOfDate(time, file)) { - return true; - } - } + for (File value : result.getLibJars()) { + file = value; + if (outOfDate(time, file)) { + return true; + } + } return false; } @@ -345,14 +342,13 @@ public class Module { Util.closeSilently(fin); } RequiredBundle[] bundles = bundle.getRequiredBundles(); - for (int i = 0; i < bundles.length; i++) { - RequiredBundle required = bundles[i]; - update("src", "/" + required.name, required.text, false); - } + for (RequiredBundle required : bundles) { + update("src", "/" + required.name, required.text, false); + } String[] libs = bundle.getClasspath(); - for (int i = 0; i < libs.length; i++) { - update("lib", libs[i], libs[i], false); - } + for (String lib : libs) { + update("lib", lib, lib, false); + } return true; } @@ -478,11 +474,11 @@ public class Module { private void warnVariable(String path, String toString) { String[] known = { "JRE_LIB", "ASPECTJRT_LIB", "JRE15_LIB" }; - for (int i = 0; i < known.length; i++) { - if (known[i].equals(path)) { - return; - } - } + for (String s : known) { + if (s.equals(path)) { + return; + } + } messager.log("Module cannot handle var yet: " + toString); } @@ -645,9 +641,9 @@ public class Module { public void acceptLine(String line) { String[] tokens = tokenize(line); - for (int i = 0; i < tokens.length; i++) { - next(tokens[i]); - } + for (String token : tokens) { + next(token); + } } private Properties attributesToProperties() { diff --git a/build/src/main/java/org/aspectj/internal/tools/build/SampleGatherer.java b/build/src/main/java/org/aspectj/internal/tools/build/SampleGatherer.java index 4e9f59011..4df90dbbe 100644 --- a/build/src/main/java/org/aspectj/internal/tools/build/SampleGatherer.java +++ b/build/src/main/java/org/aspectj/internal/tools/build/SampleGatherer.java @@ -89,9 +89,9 @@ public class SampleGatherer { return; } Samples result = new Samples(); - for (int i = 0; i < args.length; i++) { - result = gather(new File(args[i]), result); - } + for (String arg : args) { + result = gather(new File(arg), result); + } StringBuffer sb = HTMLSamplesRenderer.ME.render(result, null); @@ -144,9 +144,9 @@ public class SampleGatherer { } } else if (source.isDirectory() && source.canRead()) { File[] files = source.listFiles(); - for (int i = 0; i < files.length; i++) { - doGather(files[i], sink); - } + for (File file : files) { + doGather(file, sink); + } } } @@ -156,11 +156,11 @@ public class SampleGatherer { } String path = file.getName().toLowerCase(); String[] suffixes = Sample.Kind.SOURCE_SUFFIXES; - for (int i = 0; i < suffixes.length; i++) { - if (path.endsWith(suffixes[i])) { - return true; - } - } + for (String suffix : suffixes) { + if (path.endsWith(suffix)) { + return true; + } + } return false; } @@ -451,7 +451,8 @@ class SamplesRenderer { public static final String COPYRIGHT = "

Copyright 2003 Contributors. All Rights Reserved. " - + "This sample code is made available under the Common Public " + "License version 1.0 available at " + + "This sample code is made available under the Common Public " + + "License version 1.0 available at " + "" + "http://www.eclipse.org/legal/epl-v10.html." + "Contributors are listed in this document as authors. " @@ -473,18 +474,16 @@ class SamplesRenderer { startList(samples, sink); List list = samples.getSortedSamples(); String anchorName = null; - for (ListIterator iter = list.listIterator(); - iter.hasNext();) { - Sample sample = iter.next(); - String newAnchorName = sample.anchorName; - if ((null == anchorName) - || (!anchorName.equals(newAnchorName))) { - endAnchorName(anchorName, sink); - startAnchorName(newAnchorName, sample.anchorTitle, sink); - anchorName = newAnchorName; - } - render(sample, sink); - } + for (Sample sample : list) { + String newAnchorName = sample.anchorName; + if ((null == anchorName) + || (!anchorName.equals(newAnchorName))) { + endAnchorName(anchorName, sink); + startAnchorName(newAnchorName, sample.anchorTitle, sink); + anchorName = newAnchorName; + } + render(sample, sink); + } endAnchorName(anchorName, sink); endList(samples, sink); return sink; @@ -605,17 +604,16 @@ class HTMLSamplesRenderer extends SamplesRenderer { sampleSection.append(EOL); if (doFlags) { boolean flagHeaderDone = false; - for (Iterator iter = sample.flags.iterator(); iter.hasNext();) { - String flag = (String) iter.next(); - if (!flagHeaderDone) { - sampleSection.append("

Comments flagged:

    "); - sampleSection.append(EOL); - flagHeaderDone = true; - } - sampleSection.append("
  • "); - sampleSection.append(flag); - sampleSection.append("
  • "); - } + for (String flag : sample.flags) { + if (!flagHeaderDone) { + sampleSection.append("

    Comments flagged:

      "); + sampleSection.append(EOL); + flagHeaderDone = true; + } + sampleSection.append("
    • "); + sampleSection.append(flag); + sampleSection.append("
    • "); + } if (flagHeaderDone) { sampleSection.append("
    "); sampleSection.append(EOL); @@ -779,30 +777,29 @@ class HTMLSamplesRenderer extends SamplesRenderer { sink.append("

    Author Index

    "); List list = samples.getSortedSamples(Sample.AUTHOR_NAME_SOURCE_COMPARER); String lastAuthor = null; - for (ListIterator iter = list.listIterator(); iter.hasNext();) { - Sample sample = iter.next(); - String author = sample.author; - if (!author.equals(lastAuthor)) { - if (null != lastAuthor) { - sink.append("
"); - } - sink.append("
  • "); - sink.append(author); - sink.append(EOL); - sink.append(""); + } + sink.append("
  • "); + sink.append(author); + sink.append(EOL); + sink.append("