• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. Compiler
  4. Java Corpus Tools

Page History

Versions Compared

Old Version 29

changes.mady.by.user J. Duke

Saved on Jul 20, 2012

compared with

New Version 30

changes.mady.by.user J. Duke

Saved on Jul 20, 2012

  • Previous Change: Difference between versions 28 and 29
  • Next Change: Difference between versions 30 and 31
  • View Page History

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Use Case 4: Find overloaded methods with multiple parameters that share a single type.

Covariant Arrays

Wiki Markup
In Java and C#, array subtyping is covariant, meaning that type B\[\] is considered a subtype of A\[\] whenever B is a subtype of A. However, this relation can cause runtime exceptions. Consider the following Java code where Banana and Apple are subtypes of Fruit:

Code Block
    Banana[] bananas = new Banana[5];
    Fruit[] fruit = bananas;
    fruits[0] = new Apple(); // ArrayStore Exception 
    peelBanana(bananas[0]); // Apple????

Wiki Markup
The assignment to the first element of the variable fruit on line 3 will cause an ArrayStore exception. Although statically, the variable fruit has type Fruit\[\], its runtime type is Banana\[\] and thus we cannot use it to store an Apple.

Use Case 5: Find occurences of covariant array uses in assignment, method calls, constructor instantiations and return statements.

...

  • doesn't detect local inner classes (local & anonymous). Only inner classes (doesn't differentiate): class in all classes
  • no access to local variable declared in methods
  • no support for generics on declaration.
  • no support for constructors (considered as method init) 
  • no AST structural matching. (e.g loops ...)
  • no variable binding/unification
  • set operators (union, intersection)
  • support for read/write of fields references

Wiki Markup
*{+}SOUL \[authors replying on Tuesday\]+*
SOUL

  •  

Jquery

  • http://jquery.cs.ubc.ca/documentation/toc.html
  • http://jquery.cs.ubc.ca/documentation/appendix2.html
  • variable binding through predicates
  • Wiki Markup
    support for read & mutation of fields (write) \[writes(?B,?F,?L) means: "Block ?B writes to field ?F at location ?L"\]
  • no structural matching (e.g pattern match on a loop or body of a method)
  • no generics support

Wiki Markup
*+.QL \[emailed Oege\]+*

  •  

Wiki Markup
*{+}Jackpot \[emailed Jan\]+*

  • https://bitbucket.org/jlahoda/jackpot30/wiki/RulesLanguageAdditionalDocs

...

Overview
Content Tools
ThemeBuilder

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.23
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 402, "requestCorrelationId": "28398c38ef65402b"}