Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 03 Apr 2016 08:00:44 +0100] rev 3557
Correctly initialize `java.version` (and other) properties for used Java release
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 30 Mar 2016 22:14:50 +0100] rev 3556
Merge
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 29 Mar 2016 20:50:42 +0100] rev 3555
JavaLookup: Fixed JVM lookup to search interfaces as defined in JVM Spec
This save us from the bytecode-checking hack in JavaLookup::J2J>>
#lookupMethodForSelector:... introduced in commit e546e1df7a01.
Also this fixes a bug when invocation of an inherited abstract
method did not throw `java.lang.AbstractMethodError` but rather
smalltalk `AbstractMethodInvokationSignal` (tested by
INVOKEX#invokevirtualabstract())
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 28 Mar 2016 00:09:52 +0100] rev 3554
JavaLookup: Make JavaLookup not to use JavaClass>>lookupMethodFor:
Instead, implement method lookup as defined in JVM spec in
JavaLookuo::JVM>>lookupMethodForSelector:directedTo:
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 27 Mar 2016 22:29:04 +0100] rev 3553
JavaLookup: Make JavaResolver not to use JavaClass>>lookupMethodFor:
Essentially, method lookup (Sec 6.5 of JVM8 Spec) is different from
method resolution (Sec 5.4.3.3 and 6.5.3.4 of JVM8 Spec).
Nuked #lookupMethodByNameAndType: - not used anymore.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 23 Mar 2016 19:45:10 +0000] rev 3552
JavaLookup: Make Smalltalk-to-Java lookup to handle 'perform:' of static methods
...i.e., when one does something like
system perform: #'initializeSystemClass()V'.
then JavaLookup now returns the static method `java.lang.System#initializeSystemClass()`.
Arbitrary check for this `perform:`d methods with Java selectors has been
nuked from JavaClass>>perform:onReceiver:from:ifNotFound:
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 23 Mar 2016 10:07:43 +0000] rev 3551
JavaLookup: make Java-to-Java lookup returning a trampoline when method is not found.
The trampoline in turn throws `NoSuchMethodError` or `AbstractMethodError`. This
way, there's no need to detect Java-to-Java send in JavaObject>>doesNotUnderstand:
to correctly handle these (rare) cases (as done in commit e546e1df7a01)
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 22 Mar 2016 23:42:40 +0000] rev 3550
JavaLookuo: code for Java-to-Java lookup moved to JavaLookuo::J2J
This is a preparation for implementing new Java 8 INVOKEINTERFACE
semantics.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 22 Mar 2016 22:34:35 +0000] rev 3549
JavaLookup: renamed JavaLookup::Smalltalk2Java to shorter JavaLookup::S2J
...similarly, renamed JavaLookup::Java2Smalltalk to JavaLookup::J2S. This matches
instance variables in JavaLookup.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 27 Mar 2016 00:41:25 +0000] rev 3548
Use #allPackageIDs instead of #allProjectIDs
...as the latter become obsolete.