Branch: refs/heads/type-erasure-warnings Home: https://github.com/jenkinsci/cloudbees-folder-plugin Commit: 7560e30e94d7c4081718b8a87b6b37f65716da7c https://github.com/jenkinsci/cloudbees-folder-plugin/commit/7560e30e94d7c4081718b8a87b6b37f65716da7c Author: Stephen Connolly <stephen.alan.conno...@gmail.com> Date: 2016-11-17 (Thu, 17 Nov 2016)
Changed paths: M src/main/java/com/cloudbees/hudson/plugins/folder/AbstractFolder.java Log Message: ----------- Fix IDE warnings about unimplemented `onRenamed` and `onDeleted` methods - The type erasure means that the methods are the same - The generated bytecode only assumes `TopLevelItem` as the class: ``` public void onRenamed(I, java.lang.String, java.lang.String) throws java.io.IOException; Code: 0: aload_0 1: getfield #24 // Field items:Ljava/util/Map; 4: aload_2 5: invokeinterface #178, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 10: pop 11: aload_0 12: getfield #24 // Field items:Ljava/util/Map; 15: aload_3 16: aload_1 17: invokeinterface #179, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 22: pop 23: aload_0 24: getfield #6 // Field views:Ljava/util/concurrent/CopyOnWriteArrayList; 27: invokevirtual #180 // Method java/util/concurrent/CopyOnWriteArrayList.iterator:()Ljava/util/Iterator; 30: astore 4 32: aload 4 34: invokeinterface #30, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 39: ifeq 65 42: aload 4 44: invokeinterface #31, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 49: checkcast #124 // class hudson/model/View 52: astore 5 54: aload 5 56: aload_1 57: aload_2 58: aload_3 59: invokevirtual #181 // Method hudson/model/View.onJobRenamed:(Lhudson/model/Item;Ljava/lang/String;Ljava/lang/String;)V 62: goto 32 65: aload_0 66: invokevirtual #182 // Method save:()V 69: return public void onDeleted(I) throws java.io.IOException; Code: 0: aload_1 1: invokestatic #183 // Method hudson/model/listeners/ItemListener.fireOnDeleted:(Lhudson/model/Item;)V 4: aload_0 5: getfield #24 // Field items:Ljava/util/Map; 8: aload_1 9: invokeinterface #96, 1 // InterfaceMethod hudson/model/TopLevelItem.getName:()Ljava/lang/String; 14: invokeinterface #178, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 19: pop 20: aload_0 21: getfield #6 // Field views:Ljava/util/concurrent/CopyOnWriteArrayList; 24: invokevirtual #180 // Method java/util/concurrent/CopyOnWriteArrayList.iterator:()Ljava/util/Iterator; 27: astore_2 28: aload_2 29: invokeinterface #30, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 34: ifeq 62 37: aload_2 38: invokeinterface #31, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 43: checkcast #124 // class hudson/model/View 46: astore_3 47: aload_3 48: aload_1 49: aload_1 50: invokeinterface #96, 1 // InterfaceMethod hudson/model/TopLevelItem.getName:()Ljava/lang/String; 55: aconst_null 56: invokevirtual #181 // Method hudson/model/View.onJobRenamed:(Lhudson/model/Item;Ljava/lang/String;Ljava/lang/String;)V 59: goto 28 62: aload_0 63: invokevirtual #182 // Method save:()V 66: return ``` - We have synthetic `onDeleted(Item)` and `onRenamed(Item,String,String)` anyway (though unclear where they come from)``` Compiled from "AbstractFolder.java" public abstract class com.cloudbees.hudson.plugins.folder.AbstractFolder<I extends hudson.model.TopLevelItem> extends hudson.model.AbstractItem implements hudson.model.TopLevelItem, hudson.model.ItemGroup<I>, hudson.model.ModifiableViewGroup, org.kohsuke.stapler.StaplerFallback, jenkins.model.ModelObjectWithChildren, org.kohsuke.stapler.StaplerOverridable { protected transient java.util.Map<java.lang.String, I> items; public static void loadJobTotal(); protected com.cloudbees.hudson.plugins.folder.AbstractFolder(hudson.model.ItemGroup, java.lang.String); protected void init(); protected void initViews(java.util.List<hudson.model.View>) throws java.io.IOException; public void addAction(hudson.model.Action); public void replaceAction(hudson.model.Action); public void onLoad(hudson.model.ItemGroup<? extends hudson.model.Item>, java.lang.String) throws java.io.IOException; public com.cloudbees.hudson.plugins.folder.AbstractFolderDescriptor getDescriptor(); public hudson.util.DescribableList<com.cloudbees.hudson.plugins.folder.AbstractFolderProperty<?>, com.cloudbees.hudson.plugins.folder.AbstractFolderPropertyDescriptor> getProperties(); public void addProperty(com.cloudbees.hudson.plugins.folder.AbstractFolderProperty) throws java.io.IOException; protected java.io.File getJobsDir(); protected final java.io.File getRootDirFor(java.lang.String); public java.io.File getRootDirFor(I); public java.lang.String getUrlChildPrefix(); public I getJob(java.lang.String); public java.lang.String getPronoun(); public java.util.Collection<?> getOverrides(); public void addView(hudson.model.View) throws java.io.IOException; public boolean canDelete(hudson.model.View); public void deleteView(hudson.model.View) throws java.io.IOException; public hudson.model.View getView(java.lang.String); public java.util.Collection<hudson.model.View> getViews(); public hudson.model.View getPrimaryView(); public void setPrimaryView(hudson.model.View); public void onViewRenamed(hudson.model.View, java.lang.String, java.lang.String); public hudson.views.ViewsTabBar getViewsTabBar(); public hudson.model.ItemGroup<? extends hudson.model.TopLevelItem> getItemGroup(); public java.util.List<hudson.model.Action> getViewActions(); public hudson.model.View getStaplerFallback(); protected hudson.search.SearchIndexBuilder makeSearchIndex(); public jenkins.model.ModelObjectWithContextMenu$ContextMenu doChildrenContextMenu(org.kohsuke.stapler.StaplerRequest, org.kohsuke.stapler.StaplerResponse); public synchronized void doCreateView(org.kohsuke.stapler.StaplerRequest, org.kohsuke.stapler.StaplerResponse) throws java.io.IOException, javax.servlet.ServletException, java.text.ParseException, hudson.model.Descriptor$FormException; public hudson.util.FormValidation doViewExistsCheck(java.lang.String); public hudson.model.HealthReport getBuildHealth(); public java.util.List<hudson.model.HealthReport> getBuildHealthReports(); public hudson.util.DescribableList<com.cloudbees.hudson.plugins.folder.health.FolderHealthMetric, com.cloudbees.hudson.plugins.folder.health.FolderHealthMetricDescriptor> getHealthMetrics(); public org.kohsuke.stapler.HttpResponse doLastBuild(org.kohsuke.stapler.StaplerRequest); public com.cloudbees.hudson.plugins.folder.FolderIcon getIcon(); public void setIcon(com.cloudbees.hudson.plugins.folder.FolderIcon); public com.cloudbees.hudson.plugins.folder.FolderIcon getIconColor(); public java.util.Collection<? extends hudson.model.Job> getAllJobs(); public java.util.Collection<I> getItems(); public I getItem(java.lang.String) throws org.acegisecurity.AccessDeniedException; public void onRenamed(I, java.lang.String, java.lang.String) throws java.io.IOException; public void onDeleted(I) throws java.io.IOException; public void delete() throws java.io.IOException, java.lang.InterruptedException; public synchronized void save() throws java.io.IOException; public void renameTo(java.lang.String) throws java.io.IOException; public synchronized void doSubmitDescription(org.kohsuke.stapler.StaplerRequest, org.kohsuke.stapler.StaplerResponse) throws java.io.IOException, javax.servlet.ServletException; public void doConfigSubmit(org.kohsuke.stapler.StaplerRequest, org.kohsuke.stapler.StaplerResponse) throws java.io.IOException, javax.servlet.ServletException, hudson.model.Descriptor$FormException; protected java.lang.String getSuccessfulDestination(); protected void submit(org.kohsuke.stapler.StaplerRequest, org.kohsuke.stapler.StaplerResponse) throws java.io.IOException, javax.servlet.ServletException, hudson.model.Descriptor$FormException; public void doDoRename(org.kohsuke.stapler.StaplerRequest, org.kohsuke.stapler.StaplerResponse) throws java.io.IOException, javax.servlet.ServletException; protected java.lang.String renameBlocker(); public hudson.model.TopLevelItemDescriptor getDescriptor(); public hudson.model.Descriptor getDescriptor(); public void onDeleted(hudson.model.Item) throws java.io.IOException; public void onRenamed(hudson.model.Item, java.lang.String, java.lang.String) throws java.io.IOException; public java.io.File getRootDirFor(hudson.model.Item); public hudson.model.Item getItem(java.lang.String) throws org.acegisecurity.AccessDeniedException; public java.lang.Object getStaplerFallback(); static java.util.concurrent.CopyOnWriteArrayList access$000(com.cloudbees.hudson.plugins.folder.AbstractFolder); static java.lang.String access$100(com.cloudbees.hudson.plugins.folder.AbstractFolder); static java.lang.String access$102(com.cloudbees.hudson.plugins.folder.AbstractFolder, java.lang.String); static java.util.concurrent.atomic.AtomicInteger access$200(); static java.util.concurrent.atomic.AtomicInteger access$300(); static long access$400(); static long access$402(long); static java.util.logging.Logger access$500(); static {}; } ``` -- You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.