f145a90845
Fix method slot ID collision between instance and static methods
...
When createField() was called with a pre-assigned methodId, the ID was
used but methodIdMap was not updated and nextMethodId was not advanced.
This caused assignMethodId() for static methods to reuse slot IDs
already occupied by instance methods.
In complex.lyng, fromInt/imaginary got IDs 12/14 (same as plus/mul),
causing binary operator dispatch via CALL_MEMBER_SLOT to call the wrong
function (e.g. a*b would invoke imaginary instead of mul).
Fix: after computing effectiveMethodId in createField, always register
it in methodIdMap and advance nextMethodId past it so subsequent
auto-assignments start from a clean range.
Also pre-assigns method IDs for non-static fun/fn declarations during
class body pre-scan so forward references resolve correctly in class
bodies, and adds ComplexModuleTest coverage for operator slot dispatch.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 19:41:18 +03:00
2f145a0ea7
Fix nullable let member inference
2026-04-07 09:33:40 +03:00
583067780f
Support object extension indexers
2026-04-07 00:49:51 +03:00
1fca2b112f
Fix parsing of generic extension functions
2026-04-06 19:29:06 +03:00
35628c8453
Support extensions on singleton objects
2026-04-06 19:24:28 +03:00
51b0d1fdfc
dynamic tests moved to a right suite
2026-02-20 11:16:57 +03:00
6bf99d354b
Refactor scope handling and caching, improve dynamic access and tests, bump version to 1.5.1-SNAPSHOT
2026-02-19 16:17:35 +03:00
43a6a7aaf4
Implement qualified cast views for MI
2026-02-04 23:31:41 +03:00
68122df6d7
Fix implicit extension calls and apply scope captures
2026-01-30 16:20:55 +03:00
9a15470cdb
Enforce bytecode-only compilation in tests
2026-01-28 19:39:21 +03:00
a4f41f17bf
Fix ctor param reassignment regression
2026-01-25 12:35:36 +03:00
7b1ba71ef0
rename testToJsonString and add new test for @Transient serialization
2026-01-18 20:34:58 +03:00
8b94432f66
fixed samples: wrong ?? operator to supported elvis ?:
2026-01-18 20:28:03 +03:00
f848d79d39
more OO tests
2026-01-16 20:43:10 +03:00
05e15e8e42
Add isEmpty, isNotEmpty, and isBlank methods to ObjString, update tests and docs
2026-01-16 07:06:22 +03:00
7bc17037f9
1.2.1-SNAPSHOT: improved visibility check for inheritance
2026-01-15 18:18:35 +03:00
827df9c8cd
Fix argument priority handling in ObjInstance resolution logic and add corresponding tests
2026-01-10 20:25:06 +01:00
eec732d11a
implemented object expressions (anonymous classes)
2026-01-06 01:25:01 +01:00
514ad96148
AccessException -< IllegalAccessException; added TODO() and NotImplementedException
2026-01-05 11:14:05 +01:00
e0a59c8db6
cleaning up OOTest
2026-01-05 10:35:38 +01:00
f5a3fbe9a3
docs refined
2026-01-04 22:50:49 +01:00
11eadc1d9f
abstract classes, interfaces, MI auto implementation and fine-grained visibility
2026-01-04 22:30:24 +01:00
eca451b5a3
Implement restricted setter visibility (private set / protected set) for class fields and properties.
2026-01-03 23:38:53 +01:00
54af50d6d6
Implement support for late-initialized val fields in classes. Added ObjUnset, UnsetException, compile-time initialization checks, and write-once enforcement for val fields.
2026-01-03 22:05:29 +01:00
ce0fc3650d
"cache" bug found and fixed, causing some improvemts in lambda processing.
2026-01-03 21:06:09 +01:00
cd2b1a9cb7
Extensions methods and properties now are correctly isolated, respect visibility rules and allow adding class properties and class vals.
2025-12-24 00:29:10 +01:00
0732202c80
improved vairable tracking, fixed plugin to wirk with 1.0.10, fixed lambda comparison
2025-12-22 14:55:53 +01:00
76a1804dc1
Implement init blocks for instance initialization, refactor class initialization logic to ensure correct inheritance and constructor chaining, update documentation and add tests.
2025-12-21 18:14:51 +01:00
b8d6ff01a6
fixed invoke overriden field problem in dynamic and the dynamic's Lyng class.
2025-11-01 22:07:22 +01:00
ba725fc9ed
less debug noise
...
open ObjDynamic
found a pfoblem with dynamic, see todo in OOTest.kt
2025-11-01 18:33:37 +01:00
c854b06683
fixed comment before else in if;
...
dynamic now support indexing access
2025-10-04 11:25:19 +04:00
8d1cafae80
fix #55 newlines in function declarations and constructors
2025-08-20 11:07:49 +03:00
2adb0ff512
+copyrght, apache 2.0
2025-08-13 23:22:04 +03:00
6d8eed7b8c
added "dynamic" fields (get/set/call fields by name using dynamic standard function
2025-08-12 00:15:45 +03:00
e916d9805a
correct end-block token processing (detect more errors)
2025-08-11 22:48:43 +03:00
53a6a88924
fix #42 class static fields and methods
2025-08-06 22:48:32 +03:00
63b2808109
well redesigned class vals and vars, classScope introduced for class functions
2025-08-06 11:46:17 +03:00