You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@netbeans.apache.org by GitBox <gi...@apache.org> on 2020/11/03 13:57:32 UTC

[GitHub] [netbeans] sdedic commented on a change in pull request #2504: Snapshot of APIs for 12.2

sdedic commented on a change in pull request #2504:
URL: https://github.com/apache/netbeans/pull/2504#discussion_r515816256



##########
File path: ide/css.lib/nbproject/org-netbeans-modules-css-lib.sig
##########
@@ -1101,6 +1102,13 @@ meth protected java.util.List<java.lang.String> postfixes()
 supr org.netbeans.modules.css.lib.api.properties.TokenAcceptor$NumberPostfixAcceptor
 hfds POSTFIXES
 
+CLSS public static org.netbeans.modules.css.lib.api.properties.TokenAcceptor$Flex

Review comment:
       ad (a): friend API only means that there's a chance to trace and update dependents when an API change is made, not a permission to extend API clutter (= add unnecessary stuff).
   
   ad (b) there are at least 3 categories of TokenAcceptors; `TokenImageAcceptor`, `NumberPostfixAcceptor`, which serve as a base and +- could deserve to be `public` for possible extensions. Then there are `Date`, `Integer`, `Number` ... which might represent data types with possibly different handling in clients. And last, there are 'unit' acceptors, which do not interest anyone as they all represent a number. Your `Flex` additionl falls into the last category.
   
   This API is awkward from its inception, because:
   - `ACCEPTORS`, `ACCEPTORS_MAP` can be modified externally, making each other and `INSTANCES` inconsistent. No such mutation is in place, but the API is open.
   - no of the other 'terminal' unit classes are explicitly used anywhere else: there's no reason they should have ever been public/exported
   
   That said, I do not see 'keeping consistency' as a value in this case. This new addition to the clutter was caught 'in time', before it is released, so the clutter increase could be simply avoided. Please make the class non public. 
   
   For the rest, I've filed [NETBEANS-4977](https://issues.apache.org/jira/browse/NETBEANS-4977) - assigned to myself, so it does not take anyone's precious free time. I'd process the issue when more incompatible changes in web-friends accumulate.

##########
File path: ide/html.indexing/nbproject/org-netbeans-modules-html-indexing.sig
##########
@@ -0,0 +1,42 @@
+#Signature file v4.1
+#Version 1.0
+
+CLSS public java.lang.Object
+cons public init()
+meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException
+meth protected void finalize() throws java.lang.Throwable
+meth public boolean equals(java.lang.Object)
+meth public final java.lang.Class<?> getClass()
+meth public final void notify()
+meth public final void notifyAll()
+meth public final void wait() throws java.lang.InterruptedException
+meth public final void wait(long) throws java.lang.InterruptedException
+meth public final void wait(long,int) throws java.lang.InterruptedException
+meth public int hashCode()
+meth public java.lang.String toString()
+
+CLSS public org.netbeans.modules.html.editor.api.index.HtmlIndex
+fld public final static int VERSION = 2
+fld public final static java.lang.String NAME = "html"
+fld public final static java.lang.String REFERS_KEY = "imports"
+innr public static AllDependenciesMaps
+meth public java.util.Collection<org.openide.filesystems.FileObject> find(java.lang.String,java.lang.String)
+meth public java.util.List<java.net.URL> getAllRemoteDependencies() throws java.io.IOException
+meth public org.netbeans.modules.html.editor.api.index.HtmlIndex$AllDependenciesMaps getAllDependencies() throws java.io.IOException
+meth public org.netbeans.modules.web.common.api.DependenciesGraph getDependencies(org.openide.filesystems.FileObject)
+meth public static org.netbeans.modules.html.editor.api.index.HtmlIndex get(org.netbeans.api.project.Project) throws java.io.IOException
+meth public static org.netbeans.modules.html.editor.api.index.HtmlIndex get(org.netbeans.api.project.Project,boolean) throws java.io.IOException
+meth public void addChangeListener(javax.swing.event.ChangeListener)
+meth public void notifyChange()
+meth public void removeChangeListener(javax.swing.event.ChangeListener)
+supr java.lang.Object
+hfds INDEXES,changeSupport,querySupport
+
+CLSS public static org.netbeans.modules.html.editor.api.index.HtmlIndex$AllDependenciesMaps

Review comment:
       I have a prepared PR to make the class final + constructor nonpublic, but I think it would be formally against Friend API rules: there's no time for potential contributors to depending modules to comment; the `HtmlIndex` class has moved and had this public exposure for several releases. I propose to incompatibly-change this Friend API in the `master`.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists