diff options
author | Alex Blewitt | 2016-04-15 22:41:51 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2016-04-16 16:17:48 +0000 |
commit | fc07efa909ea2702da76fe9842d258b96b4bc925 (patch) | |
tree | 7517debc7b91ae0d31e948c22b3a6a3c22638467 /qt | |
parent | 0b7b2a87d365db7620ce42f571733bb6453225ca (diff) | |
download | org.eclipse.cdt-fc07efa909ea2702da76fe9842d258b96b4bc925.tar.gz org.eclipse.cdt-fc07efa909ea2702da76fe9842d258b96b4bc925.tar.xz org.eclipse.cdt-fc07efa909ea2702da76fe9842d258b96b4bc925.zip |
Bug 491825 - Remove primitive wrapper creation
Using `new Integer` and other wrapper types such as `new Character` results in
potential extra heap utilisation as the values are not cached. The built-in
`Integer.valueOf` will perform caching on numbers in the range -128..127 (at
least) using a flyweight pattern. In addition, parsing `int` values can be done
with `Integer.parseInt` which avoids object construction.
Adjust tests such as `"true".equals(expr)` to `Boolean.parseBoolean(expr)`.
Change-Id: I0408a5c69afc4ca6ede71acaf6cc4abd67538006
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Diffstat (limited to 'qt')
-rw-r--r-- | qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/QmlASTNodeHandler.java | 4 | ||||
-rw-r--r-- | qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/QObjectConnectCompletion.java | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/QmlASTNodeHandler.java b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/QmlASTNodeHandler.java index e20a6b0e1b8..46e98663935 100644 --- a/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/QmlASTNodeHandler.java +++ b/qt/org.eclipse.cdt.qt.core/src/org/eclipse/cdt/internal/qt/core/QmlASTNodeHandler.java @@ -1,5 +1,5 @@ /*******************************************************************************
- * Copyright (c) 2015 QNX Software Systems and others.
+ * Copyright (c) 2015, 2016 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -194,7 +194,7 @@ public class QmlASTNodeHandler implements InvocationHandler { if (value instanceof Number) {
return value;
}
- return new Integer(0);
+ return 0;
} else if (expectedType.isEnum()) {
return expectedType.getMethod(CREATE_ENUM_METHOD, Object.class).invoke(null, value);
} else if (value instanceof Bindings) {
diff --git a/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/QObjectConnectCompletion.java b/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/QObjectConnectCompletion.java index 13627e3c13a..aef8dadb422 100644 --- a/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/QObjectConnectCompletion.java +++ b/qt/org.eclipse.cdt.qt.ui/src/org/eclipse/cdt/internal/qt/ui/QObjectConnectCompletion.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2015 QNX Software Systems and others. + * Copyright (c) 2013, 2016 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -154,12 +154,12 @@ public class QObjectConnectCompletion { final int length = code.length(); int pos = 0; List<Integer> positions = new ArrayList<Integer>(); - positions.add(new Integer(-1)); + positions.add(-1); while (pos < length && pos != -1) { char ch = code.charAt(pos); switch (ch) { case ',': - positions.add(new Integer(pos)); + positions.add(Integer.valueOf(pos)); break; case '(': pos = indexOfClosingPeer(code, '(', ')', pos); @@ -176,7 +176,7 @@ public class QObjectConnectCompletion { if (pos != -1) pos++; } - positions.add(new Integer(length)); + positions.add(Integer.valueOf(length)); int[] fields = new int[positions.size()]; for (int i = 0; i < fields.length; i++) |