[Java 8] Support extension methods

Issue #15 resolved
Michael Eichberg
repo owner created an issue

The methods doing the lookup in super classes (super interfaces) need to be reevaluated w.r.t. extension methods.

Comments (52)

  1. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    Signed-off-by: Michael Eichberg mail@michael-eichberg.de

    Conflicts:

    OPAL/bi/src/main/scala/org/opalj/analyses/package.scala

    OPAL/br/src/main/scala/org/opalj/br/BootstrapMethod.scala

    OPAL/br/src/main/scala/org/opalj/fpcf/analysis/PurityAnalysis.scala

    OPAL/common/src/main/scala/org/opalj/collection/immutable/TrieLike.scala

    → <<cset e3aa86e466cf>>

  2. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    Signed-off-by: Michael Eichberg mail@michael-eichberg.de

    Conflicts:

    OPAL/ai/src/main/scala/org/opalj/fpcf/analysis/EntryPointsAnalysis.scala

    OPAL/br/src/main/scala/org/opalj/br/analyses/Project.scala

    OPAL/br/src/main/scala/org/opalj/fpcf/FPCFAnalysisRunner.scala

    OPAL/br/src/main/scala/org/opalj/fpcf/analysis/PurityAnalysis.scala

    OPAL/br/src/main/scala/org/opalj/fpcf/analysis/TypeExtensibilityAnalysis.scala

    OPAL/br/src/main/scala/org/opalj/fpcf/analysis/TypeImmutabilityAnalysis.scala

    OPAL/common/src/main/scala/org/opalj/fpcf/Property.scala

    → <<cset 6d06fdad443a>>

  3. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: (57 commits) preparing the explorer for opening method visualizations refined the documentation of the changes bitbucket-pipelines.yml created online with Bitbucket updated the version number preparing release of 0.8.11 refined the build script to offer a “buildAll” command added a method to get “all” sub-/supertypes at once added some logging information ignored some temporary graphviz files added a method to convert a dot graph to SVG using vis-js.com added some logging information ignored some temporary graphviz files added a method to convert a dot graph to SVG using vis-js.com improved error message updated documentation refactored the implementation of graphs to enable the creation of virtual graphs applied standard Scalariform formatting Thread API added a query for RecursiveDataStructures added an efficient representation for graphs ...

    Conflicts:

    OPAL/common/src/main/scala/org/opalj/graphs/package.scala

    src/docs/Hermes.md

    → <<cset e670127196e5>>

  4. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: added a discussion about registering queries added a remark that we are using Scala 2.11.11 updated the used Scala version Added missing import reordered the queries to ensure that slowest ones are executed first introduced a new super class from which queries can inherit formatting fix made the description more precise added a link to the Hermes documentation improved the output for field locations added a query to get information about field accesses added convenience factory methods for field accesses refined the class to get information about FieldAccesses refined the order in which the queries are executed (slowest first!) sorted the queries in descending order (roughly) added a remark regarding the order of the queries updated used libraries -> scala 2.11.10 fixed file name we are going to use Vis.js as the rendering engine, because it now supports reading and process dot files

    Conflicts:

    build.sbt

    → <<cset fd99c72366be>>

  5. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: we are no longer creating and deploying jars we now have our own docker image to more efficiently build OPAL moved the configuration of the used plugins to one file to make it easily referenceable used a better suited docker image changed the container to one that uses the OracleJDK fixed a strange typo adapted bitbucket-pipelines.yml from sat-perf for OPAL

    Conflicts:

    project/plugins.sbt

    → <<cset 10bc4c6a864b>>

  6. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: (53 commits) fixed some typos 0.8.12 set version number adding the sbt-pgp plugin locally, does not make sense… added “attribute” class updated changes fixed the handling of “Formal Parameters” (nameless parameters) complete overhaul how (type) annotations are represented we are now using “:” for separating values from their descriptors improved the formatting for lists setting the utf8 file encoding within the sbtops is not enough on all installations. added annotation to an instance of type check added the pgp plugin added a test case related to anntoations of types of intersection types used in casts added the sonatype plugin to OPAL (the gpg is still externally configured…) fixed toXHTML for Type_Argument_Target subtypes improved the test fixture related to type annotations added a link to the JSR docs fixed formatting violation clarrified the “one commit” and “no pull requests w.r.t. the master branch” rules ...

    Conflicts:

    CONTRIBUTING.md

    OPAL/da/src/main/scala/org/opalj/da/package.scala

    OPAL/de/src/test/scala/org/opalj/de/DependencyExtractorsHelper.scala

    README.markdown

    project/plugins.sbt

    → <<cset 9af1d5861f18>>

  7. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: ignoring “temp” fixed the names of the html files the content of the site is moved to “site” we are now building OPAL’s help site using Scalate and flexmark

    → <<cset fc93782d8191>>

  8. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: fixed a stupid bug where the order in wicht the locals were printed was reversed minor formatting changes fixed a bug: IINCs are using live variables! minor improvements

    → <<cset 448759b346fe>>

  9. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: removed outdated docu improved the documentation deleted legacy code and added some documentation added a first description related to the TAC towards making it much easier to query and process domain values introduced a new type CTIntType which abstracts over all computational type int values towards improving the querying of domain values build organization: task externalization, migrate to sbt 0.13 syntax

    → <<cset d37b70fe6817>>

  10. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: solved some minor formatting issues… a real reformatting using scalariform has not happend updated the formatting using OPAL’s scalariform settings changed the order to make it (in the future) possible to add some configuration to format the build file using scalariform killed the eclipse plugin formatting fixes improved the documentation of changes formatted the code removed empty line added some major new features of the next OPAL Merge MethodReferenceError with Methodreferences Remove unnecessary if case Remove unnecessary variable opal/bi/build extenralized test fixture compilation task Make receiverType variable construction more sane Try fixing method reference expressions Add more tests

    Conflicts:

    build.sbt

    → <<cset 0ecc4c2262ac>>

  11. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: fix if the last instruction is part of a method handler improved documentation/formatting removed method with unclear semantics added convenience method to convert methods to TAC on demand commented out the debug output formatting issue bumped library versions updated scalatest library opal/build: moved subvproject build files up into the root build.sbt file

    Conflicts:

    OPAL/br/build.sbt

    → <<cset 1fbcd897a4e1>>

  12. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: updated documentation and formatting improved documentation of the upcomming features Fix MethodReference for INVOKEINTERFACE fixed test names Add test fixture for method reference problem with sinks formatting fix fixed name of the class and reformatted code Fix typo Add fixture for interface default methods some formatting updates using the Eclipse settings Fix some compile warnings and make code more sane Revert Lambdas.java Remove file Try fixing merge conflict Remove unnecessary public modifier Move MethodReference fixtures to own package Add java fixtures for primitive parameters

    → <<cset 865766c82e65>>

  13. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: (21 commits) improved the message generated when an invoke(STATIC|SPECIAL) call cannot be resolved doc./formatting fixes added new test case related to indirect super calls resolved “name clash” with regular tests with the same name (which seems to cause troubles in IntelliJ) fixed architectural violation small update of the windows description fixed the list of projects unresolvable fields are only logged once (using a local set to avoid long-term memory usage) fixed line ending minor code improvements documentation improvements removed redundant braces bumped the default setting for javaOptions… we now require that the – for the development of OPAL - at least 8gb are available added a demo program that writes out the CFG and Def/Use graphs of a project’s methods OPAL/doc added readme troubleshooting bullet point for windows regarding how to set the heap size improved the documentation - in particular w.r.t. how to contribute new queries working on the documentation removed useless “val” declarations added a hint how to run the examples OPAL/build pulled up remaining subproject build.sbt files into root build.sbt ...

    → <<cset c5ebaa8771c5>>

  14. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    Signed-off-by: Michael Eichberg mail@michael-eichberg.de

    Conflicts:

    OPAL/bp/src/main/scala/org/opalj/bugpicker/core/analysis/BugPickerAnalysis.scala

    OPAL/br/src/main/resources/reference.conf

    OPAL/br/src/main/scala/org/opalj/fpcf/FPCFAnalysesManager.scala

    OPAL/br/src/main/scala/org/opalj/fpcf/FPCFAnalysis.scala

    OPAL/demos/src/main/scala/org/opalj/ai/RefineableNativeMethods.scala

    OPAL/demos/src/main/scala/org/opalj/fpcf/analysis/FactoryAnalysisDemo.scala

    OPAL/demos/src/main/scala/org/opalj/fpcf/analysis/InstantiabilityAnalysisDemo.scala

    OPAL/demos/src/main/scala/org/opalj/fpcf/analysis/LibraryLeakageAnalysisDemo.scala

    OPAL/demos/src/main/scala/org/opalj/fpcf/analysis/SimpleInstantiabilityAnalysisDemo.scala

    OPAL/incubation/old/main/scala/cg/EntryPointKey.scala

    OPAL/incubation/old/main/scala/fpcf/CallBySignatureResolution.scala

    OPAL/incubation/old/main/scala/fpcf/EscapeAnalysis.scala

    OPAL/incubation/old/main/scala/fpcf/InstantiableClassesIndexKey.scala

    → <<cset eead61b58490>>

  15. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: removed one obsolete guideline minor clean-up of the test fixture code fixed version information the output of the TAC tool now also contains information about the CFG and exception handlers updated the changes added convenience constructor added unapply method scaladoc style, TODO cleanup OPAL/bi build and test fixture refactoring

    Conflicts:

    CONTRIBUTING.md

    → <<cset ead21026038d>>

  16. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    Signed-off-by: Michael Eichberg mail@michael-eichberg.de

    Conflicts:

    OPAL/br/src/main/scala/org/opalj/br/analyses/MethodDeclarationContext.scala

    OPAL/br/src/main/scala/org/opalj/br/analyses/MethodInfo.scala

    OPAL/br/src/main/scala/org/opalj/br/analyses/StatisticsKey.scala

    OPAL/br/src/main/scala/org/opalj/br/collection/mutable/TypesSet.scala

    OPAL/br/src/main/scala/org/opalj/fpcf/FPCFAnalysesRegistryKey.scala

    → <<cset 2cf6c307ae4b>>

  17. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: moved FormalParameters to BR project; changed the origin information; added tests Adjusted comments to 100 character width Fixed name in comments (copy&paste mistake) Added a representation of formal parameters including a key to collect all formal parameters of all methods with a body.

    → <<cset e40185683c10>>

  18. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    Signed-off-by: Michael Eichberg mail@michael-eichberg.de

    Conflicts:

    OPAL/br/src/main/scala/org/opalj/fpcf/analysis/ObjectImmutabilityAnalysis.scala

    OPAL/da/src/main/scala/org/opalj/da/CONSTANT_MethodType_info.scala

    OPAL/da/src/main/scala/org/opalj/da/CONSTANT_NameAndType_info.scala

    TOOLS/ep/src/org/opalj/eclipse/Activator.java

    → <<cset 30f977f485f1>>

  19. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: (138 commits) fixed the command line help and the parameter (just “-csv” and not “—csv”) minor refactorings refined the name of the type id generator to better reflect the semantics ArrayOfObjects => ArrayOfObject qualified the kind of equality that is tested for added scala license these tests need to be completely reworked once the representation has finalized added a short description about the structure of the folders we are now iterating over all Jar/Folder projects formatting improved the TACAI integration test to also load the Scala test classes added the missing support for MethodType|HandleConstants improved debug output in case of a fatal error while handling an error… added a method to discover BITestProjects (folders in the classfiles folder are considered projects) added a configuration option to optionally log invokedynamics which are not known tweaked the performance of the Lambda Tests rewrote the collect methods using applyOrElse added singleton AnyToAnyThis method add improve solved formatting issue ...

    Conflicts:

    OPAL/br/src/main/scala/org/opalj/br/MethodHandle.scala

    OPAL/br/src/main/scala/org/opalj/br/reader/Java8LambdaExpressionsRewriting.scala

    OPAL/br/src/test/scala/org/opalj/br/analyses/ProjectTest.scala

    → <<cset d7923aacdadd>>

  20. Michael Eichberg reporter

    Merge branch 'develop' into feature/FixIssue#15

    • develop: (31 commits) bumped the versions of the used libraries Merged in florian_kuebler/opal/feature/AdvancedFieldMutabilityAnalysis (pull request #398) updated files updated scalariform (which led to a (more-consistent) reformatting of several classes refined build process Restore old behavior of AbstractFixpointAnalysisTest on annotations without explicitly specified value attribute Merged in errt/opal/feature/AbstractFixpointAnalysisTest_conditions (pull request #400) updated scalariform Revert scalaLambdaDeserialize exported Java Formatter preferences (“hopefully” identical - to the Eclipse settings) fixed a bug where the fixture project was not recompiled if a files was “just” deleted fixed compile time bugs minor refactorings fixed issue #103 fixed compile time bug! applied standard formatting documentation and formatting Merged in errt/opal/feature/PurityTests (pull request #401) added a method to easily/efficiently determing that some instruction has no successor reformatting ...

    Conflicts:

    OPAL/br/src/main/scala/org/opalj/br/StructureIdentifier.scala

    OPAL/br/src/main/scala/org/opalj/fpcf/properties/TypeExtensibility.scala

    → <<cset aeefc804a349>>

  21. Log in to comment