Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Vogel2021-03-23 09:18:21 +0000
committerFabrice Tiercelin2021-03-27 06:21:54 +0000
commitd582e1ad075577c3466006bbd2b9c77888da4254 (patch)
tree825f233e3239dc505313f54d190008f307b7e73d
parent16fa253bff25456c55ea94c2170898c19974f5e4 (diff)
downloadeclipse.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>
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CopyMoveResourcesTests.java1
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/CopyMoveTests.java1
-rw-r--r--org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/complete/CompletionParser.java2
-rw-r--r--org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistParser.java1
-rw-r--r--org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Annotation.java4
-rw-r--r--org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveredMethod.java2
-rw-r--r--org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/RecoveredType.java2
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;
}
}
}

Back to the top