[ 
https://issues.apache.org/jira/browse/TINKERPOP-1165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15153039#comment-15153039
 ] 

ASF GitHub Bot commented on TINKERPOP-1165:
-------------------------------------------

Github user zackurey commented on the pull request:

    
https://github.com/apache/incubator-tinkerpop/pull/231#issuecomment-185905949
  
    @spmallette Off the top of my head:
    1.  Maybe security through obfuscation?  But this is a open source library 
and one can easily know which method does what based on matching the version of 
the library with the type signatures
    2.  This will make class files a little larger since before Java8 only the 
method signature was stored.  Also this does appear to only be supported by 
Java8, which is fine since Tinkerpop requires it:  
https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html.  
Note, not there for Java7.
    
    I do see some mention of the larger memory footprint issue here:  
http://docs.oracle.com/javase/tutorial/reflect/member/methodparameterreflection.html.
  So that is a consideration.  In this case, with gremlin-core the difference 
seems to be about 1K when looking at the uncompressed class file size 
difference.
    
      


> Tooling Support:  Compile with -parameters
> ------------------------------------------
>
>                 Key: TINKERPOP-1165
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1165
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: build-release
>    Affects Versions: 3.1.1-incubating
>            Reporter: Zachary Kurey
>
> For tools that provide content assist of parameter names for methods, it 
> would be good to have parameter names retained within the compiled class 
> files.  There may be a good reason I can't think of not to enable this, but 
> enabling it is as simple as adding {{-parameters}} to the maven compile 
> plugin configuration:
> {code}
>             <plugin>
>                     <groupId>org.apache.maven.plugins</groupId>
>                     <artifactId>maven-compiler-plugin</artifactId>
>                     <version>3.1</version>
>                     <configuration>
>                         <source>1.8</source>
>                         <target>1.8</target>
>                         <compilerArgs>
>                                 <arg>-parameters</arg> 
>                         </compilerArgs>
>                     </configuration>
>                 </plugin>
> {code}
> In the root pom.xml of the project.  
> Of course there are other ways to go about this processing the sources or 
> javadoc(provided every public method is very well documented), but this is 
> the simplest way to expose the meaningful param names to tooling.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to