diff options
| author | Lars Vogel | 2021-03-23 09:18:21 +0000 |
|---|---|---|
| committer | Fabrice Tiercelin | 2021-03-27 06:21:54 +0000 |
| commit | d582e1ad075577c3466006bbd2b9c77888da4254 (patch) | |
| tree | 825f233e3239dc505313f54d190008f307b7e73d | |
| parent | 16fa253bff25456c55ea94c2170898c19974f5e4 (diff) | |
| download | eclipse.jdt.core-d582e1ad075577c3466006bbd2b9c77888da4254.tar.gz eclipse.jdt.core-d582e1ad075577c3466006bbd2b9c77888da4254.tar.xz eclipse.jdt.core-d582e1ad075577c3466006bbd2b9c77888da4254.zip | |
Bug 572213 - Dogfooding - Use "Exit loop earlier" in JDT core
Uses and tests the "Exit loop earlier" cleanup feature:
- It reviews the feature.
- It improves performance as it skips unnecessary iterations in the
loop
Before:
for (int i = 0; i < typeArguments.length; i++) {
if(typeArguments[i] != null) {
isParameterized = true;
}
}
After:
for (int i = 0; i < typeArguments.length; i++) {
if(typeArguments[i] != null) {
isParameterized = true;
break;
}
}
Change-Id: I839c710d6f418d73b179d1f31ba7a2736dd26a0d
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
7 files changed, 12 insertions, 1 deletions
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CopyMoveResourcesTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CopyMoveResourcesTests.java index ab024f7355..05f5ca8bb4 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CopyMoveResourcesTests.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CopyMoveResourcesTests.java @@ -69,6 +69,7 @@ public IJavaElement copyPositive(IJavaElement element, IJavaElement container, I for (int i = 0; i < children.length; i++) { if (children[i] instanceof IPackageDeclaration) { found = true; + break; } } assertTrue("Should not find package decl", !found); diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CopyMoveTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CopyMoveTests.java index b7df04cad4..3a32c004a8 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CopyMoveTests.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CopyMoveTests.java @@ -93,6 +93,7 @@ public IJavaElement copyPositive(IJavaElement element, IJavaElement container, I for (int i = 0; i < children.length; i++) { if (children[i] instanceof IPackageDeclaration) { found = true; + break; } } assertTrue("Should not find package decl", !found); diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java index 87e75966bb..3f2f136a9d 100644 --- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java +++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java @@ -1630,6 +1630,7 @@ private boolean checkKeywordAndRestrictedIdentifiers() { for (int i = 0; i < unit.typeCount; i++) { if((unit.types[i].typeDeclaration.modifiers & ClassFileConstants.AccPublic) != 0) { hasNoPublicType = false; + break; } } if(hasNoPublicType) { @@ -4945,6 +4946,7 @@ public TypeReference createParameterizedQualifiedAssistTypeReference(char[][] pr for (int i = 0; i < typeArguments.length; i++) { if(typeArguments[i] != null) { isParameterized = true; + break; } } if(!isParameterized) { diff --git a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java index 3a1c337345..4d495c7ec4 100644 --- a/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java +++ b/org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java @@ -1566,6 +1566,7 @@ protected TypeReference getAssistTypeReferenceForGenericType(int dim, int identi for (int i = 0; i < typeArguments.length; i++) { if(typeArguments[i] != null) { isParameterized = true; + break; } } if(isParameterized || (assistTypeArguments != null && assistTypeArguments.length > 0)) { diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Annotation.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Annotation.java index 99b740c37e..862f2be6c7 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Annotation.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Annotation.java @@ -99,8 +99,10 @@ public abstract class Annotation extends Expression { private void inspectAnnotations(Annotation [] annotations) { for (int i = 0, length = annotations == null ? 0 : annotations.length; this.continueSearch && i < length; i++) { - if (annotations[i] == this.searchedAnnotation) + if (annotations[i] == this.searchedAnnotation) { this.continueSearch = false; + break; + } } } diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveredMethod.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveredMethod.java index 74235661ee..3e167b8df9 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveredMethod.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveredMethod.java @@ -450,6 +450,7 @@ public void updateFromParserState(){ for (int i = 1, max = length + 1; i < max; i++) { if(!(parser.astStack[astPtr + i ] instanceof TypeReference)) { canConsume = false; + break; } } } @@ -524,6 +525,7 @@ public void updateFromParserState(){ for (int i = 1, max = length + 1; i < max; i++) { if(!(parser.astStack[astPtr + i ] instanceof Argument)) { canConsume = false; + break; } } } diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveredType.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveredType.java index 82f5a2fb46..5a3ccddf0a 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveredType.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveredType.java @@ -735,6 +735,7 @@ public void updateFromParserState(){ for (int i = 1, max = length + 1; i < max; i++) { if(!(parser.astStack[astPtr + i ] instanceof TypeReference)) { canConsume = false; + break; } } } @@ -757,6 +758,7 @@ public void updateFromParserState(){ for (int i = 0; i < length; i++) { if(!(parser.genericsStack[genericsPtr - i] instanceof TypeParameter)) { canConsume = false; + break; } } } |
