This is an automated email from the ASF dual-hosted git repository. bwalker pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push: new 1f1da7337c Use the copy constructor when that all one needs. Avoid using reflection and creating a clone as it can be expensive. (#4325) 1f1da7337c is described below commit 1f1da7337cd9e60d8007c37dd04dd262aee87f3b Author: Brad Walker <bwal...@musings.com> AuthorDate: Sun Jul 3 00:36:17 2022 -0400 Use the copy constructor when that all one needs. Avoid using reflection and creating a clone as it can be expensive. (#4325) Warnings like this are cleaned up.. [repeat] /home/bwalker/src/netbeans/platform/openide.nodes/src/org/openide/nodes/Children.java:1783: warning: [rawtypes] found raw type: Dupl [repeat] Dupl d = (Dupl) this.clone(); [repeat] ^ [repeat] missing type arguments for generic class Dupl<T> [repeat] where T is a type-variable: [repeat] T extends Object declared in class Dupl Also, cleanup some improper usage of emptyList() and it's friends. --- .../src/org/netbeans/modules/maven/apisupport/ExamineManifest.java | 2 +- .../modules/glassfish/eecommon/api/ProgressEventSupport.java | 2 +- .../netbeans/modules/payara/eecommon/api/ProgressEventSupport.java | 2 +- .../src/org/netbeans/api/debugger/DebuggerManager.java | 2 +- .../src/org/netbeans/spi/debugger/ActionsProviderSupport.java | 2 +- .../src/org/netbeans/modules/bugtracking/RepositoryImpl.java | 2 +- .../org/netbeans/modules/editor/settings/storage/StorageImpl.java | 2 +- .../org/netbeans/modules/debugger/ui/DebuggerManagerListener.java | 4 ++-- .../src/org/netbeans/modules/ant/debugger/CallStackModel.java | 2 +- .../src/org/netbeans/modules/ant/debugger/VariablesModel.java | 2 +- .../src/org/netbeans/modules/ant/debugger/WatchesModel.java | 2 +- .../netbeans/modules/ant/debugger/breakpoints/BreakpointModel.java | 2 +- .../modules/debugger/jpda/projects/SourcePathProviderImpl.java | 6 +++--- .../java/lsp/server/debugging/launch/NbLaunchRequestHandler.java | 4 ++-- .../modules/javafx2/editor/completion/beans/BeanModelBuilder.java | 6 +++--- .../src/org/netbeans/core/windows/persistence/ModeParser.java | 4 ++-- .../openide.explorer/src/org/openide/explorer/DefaultEMLookup.java | 2 +- .../src/org/openide/explorer/propertysheet/RadioInplaceEditor.java | 2 +- platform/openide.util/src/org/openide/util/Task.java | 7 ++++--- .../modules/javascript2/source/query/SourceElementsQueryImpl.java | 2 +- 20 files changed, 30 insertions(+), 29 deletions(-) diff --git a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/ExamineManifest.java b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/ExamineManifest.java index d0f469856c..e7f97cfedc 100644 --- a/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/ExamineManifest.java +++ b/apisupport/maven.apisupport/src/org/netbeans/modules/maven/apisupport/ExamineManifest.java @@ -51,7 +51,7 @@ public class ExamineManifest { private String locBundle; private boolean publicPackages; private boolean populateDependencies = false; - private List<String> dependencyTokens = Collections.<String>emptyList(); + private List<String> dependencyTokens = Collections.emptyList(); public void checkFile() throws MojoExecutionException { diff --git a/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/ProgressEventSupport.java b/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/ProgressEventSupport.java index 856ecc923c..1ab4cfefd0 100644 --- a/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/ProgressEventSupport.java +++ b/enterprise/glassfish.eecommon/src/org/netbeans/modules/glassfish/eecommon/api/ProgressEventSupport.java @@ -100,7 +100,7 @@ public class ProgressEventSupport { Vector<ProgressListener> targets = null; synchronized (this) { if (listeners != null) { - targets = (Vector<ProgressListener>)listeners.clone(); + targets = new Vector<>(listeners); } } diff --git a/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/ProgressEventSupport.java b/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/ProgressEventSupport.java index b59379288e..f0f64381c4 100644 --- a/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/ProgressEventSupport.java +++ b/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/ProgressEventSupport.java @@ -100,7 +100,7 @@ public class ProgressEventSupport { Vector<ProgressListener> targets = null; synchronized (this) { if (listeners != null) { - targets = (Vector) listeners.clone(); + targets = new Vector<>(listeners); } } diff --git a/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java b/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java index 2c59029fcc..77f9c32aa1 100644 --- a/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java +++ b/ide/api.debugger/src/org/netbeans/api/debugger/DebuggerManager.java @@ -704,7 +704,7 @@ public final class DebuggerManager implements ContextProvider { throw new IllegalArgumentException("Permutation of length "+permutation.length+", but have "+watches.size()+" watches."); } checkPermutation(permutation); - Vector<Watch> v = (Vector<Watch>)watches.clone(); + Vector<Watch> v = new Vector<>(watches); for (int i = 0; i < v.size(); i++) { watches.set(permutation[i], v.get(i)); } diff --git a/ide/api.debugger/src/org/netbeans/spi/debugger/ActionsProviderSupport.java b/ide/api.debugger/src/org/netbeans/spi/debugger/ActionsProviderSupport.java index 6a09c1a017..3612434e27 100644 --- a/ide/api.debugger/src/org/netbeans/spi/debugger/ActionsProviderSupport.java +++ b/ide/api.debugger/src/org/netbeans/spi/debugger/ActionsProviderSupport.java @@ -80,7 +80,7 @@ public abstract class ActionsProviderSupport extends ActionsProvider { * @param enabled the new state */ protected void fireActionStateChanged (Object action, boolean enabled) { - Vector<ActionsProviderListener> v = (Vector<ActionsProviderListener>)listeners.clone(); + Vector<ActionsProviderListener> v = new Vector<>(listeners); int i, k = v.size (); for (i = 0; i < k; i++) v.elementAt (i).actionStateChange ( diff --git a/ide/bugtracking/src/org/netbeans/modules/bugtracking/RepositoryImpl.java b/ide/bugtracking/src/org/netbeans/modules/bugtracking/RepositoryImpl.java index efd10d3f68..2425f02cb3 100644 --- a/ide/bugtracking/src/org/netbeans/modules/bugtracking/RepositoryImpl.java +++ b/ide/bugtracking/src/org/netbeans/modules/bugtracking/RepositoryImpl.java @@ -426,7 +426,7 @@ public final class RepositoryImpl<R, Q, I> { public Collection<IssueImpl> getUnsubmittedIssues () { Collection<I> issues = issueStatusProvider != null ? issueStatusProvider.getUnsubmittedIssues(r) : null; if (issues == null || issues.isEmpty()) { - return Collections.<IssueImpl>emptyList(); + return Collections.emptyList(); } List<IssueImpl> ret = new ArrayList<>(issues.size()); for (I i : issues) { diff --git a/ide/editor.settings.lib/src/org/netbeans/modules/editor/settings/storage/StorageImpl.java b/ide/editor.settings.lib/src/org/netbeans/modules/editor/settings/storage/StorageImpl.java index 707aa95b22..61327c09a5 100644 --- a/ide/editor.settings.lib/src/org/netbeans/modules/editor/settings/storage/StorageImpl.java +++ b/ide/editor.settings.lib/src/org/netbeans/modules/editor/settings/storage/StorageImpl.java @@ -441,7 +441,7 @@ public final class StorageImpl <K extends Object, V extends Object> { } Filters filtersForId = filters.get(storageDescriptionId); - return filtersForId == null ? Collections.<StorageFilter>emptyList() : filtersForId.filtersForId; + return filtersForId == null ? Collections.emptyList() : filtersForId.filtersForId; } } diff --git a/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/DebuggerManagerListener.java b/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/DebuggerManagerListener.java index dbf7013a43..9b3a4ea3f0 100644 --- a/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/DebuggerManagerListener.java +++ b/ide/spi.debugger.ui/src/org/netbeans/modules/debugger/ui/DebuggerManagerListener.java @@ -457,7 +457,7 @@ public class DebuggerManagerListener extends DebuggerManagerAdapter { } } } - final List<ComponentInfo> windowsToClose = new ArrayList<ComponentInfo>(openedWindows); + final List<ComponentInfo> windowsToClose = new ArrayList<>(openedWindows); //windowsToClose.removeAll(retainOpened); try { SwingUtilities.invokeLater(new Runnable() { @@ -482,7 +482,7 @@ public class DebuggerManagerListener extends DebuggerManagerAdapter { } } } - List<ComponentInfo> windowsToCloseCopy = (ArrayList<ComponentInfo>) ((ArrayList) windowsToClose).clone(); + List<ComponentInfo> windowsToCloseCopy = new ArrayList<>(windowsToClose); for (ComponentInfo ci : windowsToCloseCopy) { Component c = ci.getComponent(); if (retainOpenedComponents.contains(c)) { diff --git a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/CallStackModel.java b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/CallStackModel.java index dbc8a5c8b8..159690421b 100644 --- a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/CallStackModel.java +++ b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/CallStackModel.java @@ -356,7 +356,7 @@ NodeActionsProvider, TableModel { // other mothods ........................................................... void fireChanges () { - Vector<ModelListener> v = (Vector<ModelListener>)listeners.clone(); + Vector<ModelListener> v = new Vector<>(listeners); int i, k = v.size (); for (i = 0; i < k; i++) v.get (i).modelChanged(new ModelEvent.TreeChanged(this)); diff --git a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/VariablesModel.java b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/VariablesModel.java index 25cb6af8ca..06a81dab0b 100644 --- a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/VariablesModel.java +++ b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/VariablesModel.java @@ -264,7 +264,7 @@ public class VariablesModel implements TreeModel, NodeModel, TableModel { // other mothods ........................................................... void fireChanges () { - Vector<ModelListener> v = (Vector<ModelListener>)listeners.clone(); + Vector<ModelListener> v = new Vector<>(listeners); int i, k = v.size (); for (i = 0; i < k; i++) v.get(i).modelChanged(new ModelEvent.TreeChanged(this)); diff --git a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/WatchesModel.java b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/WatchesModel.java index db46a5ee59..645abee8bc 100644 --- a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/WatchesModel.java +++ b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/WatchesModel.java @@ -212,7 +212,7 @@ public class WatchesModel implements NodeModelFilter, TableModel { // other mothods ........................................................... void fireChanges () { - Vector<ModelListener> v = (Vector<ModelListener>)listeners.clone(); + Vector<ModelListener> v = new Vector<>(listeners); int i, k = v.size (); for (i = 0; i < k; i++) v.get(i).modelChanged(new ModelEvent.TreeChanged(this)); diff --git a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/breakpoints/BreakpointModel.java b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/breakpoints/BreakpointModel.java index 9ec05bcf15..16bd4f8aaa 100644 --- a/java/ant.debugger/src/org/netbeans/modules/ant/debugger/breakpoints/BreakpointModel.java +++ b/java/ant.debugger/src/org/netbeans/modules/ant/debugger/breakpoints/BreakpointModel.java @@ -138,7 +138,7 @@ public class BreakpointModel implements NodeModel { public void fireChanges () { - Vector<ModelListener> v = (Vector<ModelListener>)listeners.clone(); + Vector<ModelListener> v = new Vector<>(listeners); int i, k = v.size (); for (i = 0; i < k; i++) v.get(i).modelChanged(new ModelEvent.TreeChanged(this)); diff --git a/java/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/SourcePathProviderImpl.java b/java/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/SourcePathProviderImpl.java index 40ba9fad0b..fcba0defeb 100644 --- a/java/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/SourcePathProviderImpl.java +++ b/java/debugger.jpda.projects/src/org/netbeans/modules/debugger/jpda/projects/SourcePathProviderImpl.java @@ -409,7 +409,7 @@ public class SourcePathProviderImpl extends SourcePathProvider { Properties sourcesProperties = Properties.getDefault ().getProperties ("debugger").getProperties ("sources"); List<String> additionalSourceRoots = (List<String>) sourcesProperties. getProperties("additional_source_roots"). - getCollection("src_roots", Collections.<String>emptyList()); + getCollection("src_roots", Collections.emptyList()); if (additionalSourceRoots == null || additionalSourceRoots.isEmpty()) { return null; } @@ -472,7 +472,7 @@ public class SourcePathProviderImpl extends SourcePathProvider { private Set<String> getRemoteDisabledSourceRoots() { Properties sourcesProperties = Properties.getDefault ().getProperties ("debugger").getProperties ("sources"); return (Set<String>) sourcesProperties.getProperties("source_roots"). - getCollection("remote_disabled", Collections.<String>emptySet()); + getCollection("remote_disabled", Collections.emptySet()); } private void storeDisabledSourceRoots(Set<String> disabledSourceRoots) { @@ -516,7 +516,7 @@ public class SourcePathProviderImpl extends SourcePathProvider { public static Map<String, Integer> getRemoteSourceRootsOrder() { Properties sourcesProperties = Properties.getDefault ().getProperties ("debugger").getProperties ("sources"); return (Map<String, Integer>) sourcesProperties.getProperties("source_roots"). - getMap("remote_order", Collections.<String, Integer>emptyMap()); + getMap("remote_order", Collections.emptyMap()); } private static void storeSourceRootsOrder(File baseDir, String[] roots, int[] permutation) { diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java index 65bb084c0f..5ec31be351 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java @@ -60,8 +60,8 @@ public final class NbLaunchRequestHandler { activeLaunchHandler = noDebug ? new NbLaunchWithoutDebuggingDelegate(terminateHandle) : new NbLaunchWithDebuggingDelegate(terminateHandle); // validation - List<String> modulePaths = (List<String>) launchArguments.getOrDefault("modulePaths", Collections.<String>emptyList()); - List<String> classPaths = (List<String>) launchArguments.getOrDefault("classPaths", Collections.<String>emptyList()); + List<String> modulePaths = (List<String>) launchArguments.getOrDefault("modulePaths", Collections.emptyList()); + List<String> classPaths = (List<String>) launchArguments.getOrDefault("classPaths", Collections.emptyList()); // "file" key is provided by DAP client infrastructure, sometimes in an unsuitable manner, e.g. some cryptic ID for Output window etc. // the "projectFile" allows to override the infrastructure from client logic. diff --git a/javafx/javafx2.editor/src/org/netbeans/modules/javafx2/editor/completion/beans/BeanModelBuilder.java b/javafx/javafx2.editor/src/org/netbeans/modules/javafx2/editor/completion/beans/BeanModelBuilder.java index e595ab671d..3e13fc4ac1 100644 --- a/javafx/javafx2.editor/src/org/netbeans/modules/javafx2/editor/completion/beans/BeanModelBuilder.java +++ b/javafx/javafx2.editor/src/org/netbeans/modules/javafx2/editor/completion/beans/BeanModelBuilder.java @@ -92,11 +92,11 @@ public final class BeanModelBuilder { /** * Names of factory methods usable to create the bean instance */ - private Map<String, TypeMirrorHandle> factoryMethods = Collections.<String, TypeMirrorHandle>emptyMap(); + private Map<String, TypeMirrorHandle> factoryMethods = Collections.emptyMap(); private FxBean resultInfo; - private Set<String> constants = Collections.<String>emptySet(); + private Set<String> constants = Collections.emptySet(); /** * Type element for the class. @@ -741,7 +741,7 @@ public final class BeanModelBuilder { events.put(ei.getName(), ei); } - private Map<String, FxEvent> events = Collections.<String, FxEvent>emptyMap(); + private Map<String, FxEvent> events = Collections.emptyMap(); private FxBeanCache beanCache; diff --git a/platform/core.windows/src/org/netbeans/core/windows/persistence/ModeParser.java b/platform/core.windows/src/org/netbeans/core/windows/persistence/ModeParser.java index b8e7486064..6109773a89 100644 --- a/platform/core.windows/src/org/netbeans/core/windows/persistence/ModeParser.java +++ b/platform/core.windows/src/org/netbeans/core/windows/persistence/ModeParser.java @@ -80,7 +80,7 @@ class ModeParser { private InternalConfig internalConfig; /** Map of TCRefParser instances. Used for fast access. */ - private Map<String, TCRefParser> tcRefParserMap = new HashMap<String, TCRefParser>(19); + private Map<String, TCRefParser> tcRefParserMap = new HashMap<>(19); /** map of names of tcRefs to their index or null */ private Map<String,Integer> tcRefOrder; @@ -730,7 +730,7 @@ class ModeParser { // Update order List<TCRefParser> localList = new ArrayList<TCRefParser>(10); - Map<String,TCRefParser> localMap = (Map) ((HashMap) tcRefParserMap).clone(); + Map<String, TCRefParser> localMap = new HashMap<>(tcRefParserMap); if( null == tcRefOrder ) { //#232307 diff --git a/platform/openide.explorer/src/org/openide/explorer/DefaultEMLookup.java b/platform/openide.explorer/src/org/openide/explorer/DefaultEMLookup.java index a17884b4b6..95ef4203ed 100644 --- a/platform/openide.explorer/src/org/openide/explorer/DefaultEMLookup.java +++ b/platform/openide.explorer/src/org/openide/explorer/DefaultEMLookup.java @@ -82,7 +82,7 @@ final class DefaultEMLookup extends ProxyLookup implements LookupListener, Prope synchronized (this) { if (attachedTo == null) { - copy = Collections.<Lookup, Lookup.Result>emptyMap(); + copy = Collections.emptyMap(); } else { copy = new HashMap<>(attachedTo); } diff --git a/platform/openide.explorer/src/org/openide/explorer/propertysheet/RadioInplaceEditor.java b/platform/openide.explorer/src/org/openide/explorer/propertysheet/RadioInplaceEditor.java index c208d29d70..183f6be9b9 100644 --- a/platform/openide.explorer/src/org/openide/explorer/propertysheet/RadioInplaceEditor.java +++ b/platform/openide.explorer/src/org/openide/explorer/propertysheet/RadioInplaceEditor.java @@ -383,7 +383,7 @@ class RadioInplaceEditor extends JPanel implements InplaceEditor, ActionListener return; } - list = (List<ActionListener>) ((ArrayList) actionListenerList).clone(); + list = new ArrayList<>(actionListenerList); } final List<ActionListener> theList = list; diff --git a/platform/openide.util/src/org/openide/util/Task.java b/platform/openide.util/src/org/openide/util/Task.java index 54af6e9bb2..817299112a 100644 --- a/platform/openide.util/src/org/openide/util/Task.java +++ b/platform/openide.util/src/org/openide/util/Task.java @@ -20,6 +20,7 @@ package org.openide.util; import java.util.HashSet; import java.util.Iterator; +import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; @@ -68,7 +69,7 @@ public class Task extends Object implements Runnable { private boolean finished; /** listeners for the finish of task (TaskListener) */ - private HashSet<TaskListener> list; + private Set<TaskListener> list; /** Create a new task. * The runnable should provide its own error-handling, as @@ -207,7 +208,7 @@ public class Task extends Object implements Runnable { return; } - it = ((HashSet<TaskListener>) list.clone()).iterator(); + it = (new HashSet<>(list)).iterator(); } while (it.hasNext()) { @@ -246,7 +247,7 @@ public class Task extends Object implements Runnable { boolean callNow; synchronized (this) { if (list == null) { - list = new HashSet<TaskListener>(); + list = new HashSet<>(); } list.add(l); diff --git a/webcommon/javascript2.source.query/src/org/netbeans/modules/javascript2/source/query/SourceElementsQueryImpl.java b/webcommon/javascript2.source.query/src/org/netbeans/modules/javascript2/source/query/SourceElementsQueryImpl.java index 061e79b93a..0f60f30558 100644 --- a/webcommon/javascript2.source.query/src/org/netbeans/modules/javascript2/source/query/SourceElementsQueryImpl.java +++ b/webcommon/javascript2.source.query/src/org/netbeans/modules/javascript2/source/query/SourceElementsQueryImpl.java @@ -44,7 +44,7 @@ public class SourceElementsQueryImpl implements SourceElementsQuery { @Override public Collection<Var> getVarsAt(Source source, int offset) { - final Collection[] vars = new Collection[] { Collections.<Var>emptyList()}; + final Collection<Var>[] vars = new Collection[] { Collections.emptyList()}; try { ParserManager.parse(Collections.singleton(source), new UserTask() { public @Override --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists