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
ce021e85f4
compiler bug with that can cause compilation infinite loop; object is always comparable to self instance or null
2026-01-03 21:05:56 +01:00
bc6613ec01
attempt to add navigation to plugin (partial success)
2026-01-03 11:59:50 +01:00
59aefc5bc2
fixed enum objects wrong package
2026-01-02 16:10:05 +01:00
fac58675d5
plugin: autocomplete for enums and members, better support for local symbols; fixed bug in space normalization
2026-01-02 16:03:57 +01:00
22f6c149db
better formatting for multi-line comments
2026-01-02 11:20:52 +01:00
54ecffc803
improved docs and tools for embedding kotlin classes with properties
2026-01-02 10:34:50 +01:00
0731d63adf
Improve error message for ObjList concatenation and set version to 1.1.0-SNAPSHOT.
2025-12-30 02:52:53 +01:00
55b27f831f
1.1.0-beta2 version
2025-12-25 22:35:13 +01:00
5586e027ea
more stdlib and docs
2025-12-24 18:56:30 +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
3b6504d3b1
Add flatten, flatMap, and filterNotNull functions with corresponding tests
2025-12-23 18:06:28 +01:00
357585d3ba
removed unneeded test via annotation
2025-12-23 13:36:20 +01:00
8300c2a3ab
v1.1.0-beta1: mini function declarations and working properties
2025-12-23 13:06:46 +01:00
7e8f1406b5
added optimizations for immutable numbers
2025-12-23 09:09:49 +01:00
3f235878c0
Add EfficientIterables.md documentation for Kotlin interop. Optimize ObjInt operations by integrating value caching and updating number operations. Introduce high-performance enumerate method for ObjList, ObjSet, ObjRange, and custom iterables. Update compiler and loop handling for improved enumeration logic.
2025-12-23 08:33:34 +01:00
5f3a54d08f
Make ObjInt and ObjReal immutable and update number operations accordingly. Add support for class properties with get/set accessors. Rework loop parsing logic to improve clarity and consistency. Update .gitignore and TextMate grammar. Enhance Changelog and document new features.
2025-12-23 08:02:48 +01:00
157b716eb7
Implement automatic substitution for named parameters (auto-named arguments). Supported name: shorthand for name: name in function calls and class constructors. Updated documentation and tests. Built and deployed IDEA plugin and site.
2025-12-22 18:11:38 +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
1e18a162c4
added exception reporting tests
2025-12-22 12:59:11 +01:00
0add0ab54c
fix #95 destructuring assignment and splats
2025-12-22 06:20:24 +01:00
3acd56f55a
fix #94 overridden toString() now is called correctly in known cases, default implementation is still generated for ObjInstances and some other classes
2025-12-22 05:32:19 +01:00
b7838b45ec
fixed bug with scopes usage
2025-12-22 05:04:47 +01:00
92cb088f36
lazy messages for check/require
2025-12-21 22:49:35 +01:00
3dfe98a93d
fixed inline map splats expansion in function calls
2025-12-21 21:12:06 +01:00
f6d51e9b94
fixed problems with documentation
2025-12-21 19:57:34 +01:00
3ac7fd7ceb
Add assert-related testing functions, findFirst/findFirstOrNull methods, and expand documentation.
2025-12-21 19:11:37 +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
6f86e6ff97
fixed bug when some Map operations wer restricted to string keys only
2025-12-20 23:37:56 +01:00
fa91afa92b
migrated to Kotlin 2.3.0
2025-12-18 01:33:49 +01:00
f7a4497f3f
Migrate to kotlin.time.Instant and kotlin.time.Clock, update dependencies to support Kotlin 2.2, and adopt JVM 17.
2025-12-17 19:53:36 +01:00
1aef64e0fa
Add lowercase and uppercase string functions, update documentation accordingly.
2025-12-17 17:59:51 +01:00
5d8fdce637
Move qualified identifier resolution to Scope as resolveQualifiedIdentifier, replace inline logic in LynonDecoder.
2025-12-14 00:20:43 +01:00
5a8881bfd5
Refactor decodeClassObj to mimic compiler behavior for qualified names, add evaluateQualifiedNameAsCompiled.
2025-12-14 00:06:46 +01:00
d487886c8f
some more trace on strange decpdeClassObj behavior
2025-12-13 23:41:52 +01:00
9e11519608
revert to wirking ugly fix for decodeClassObj
2025-12-13 23:11:28 +01:00
fba44622e5
Refactor toString implementations to support Scope context, add inspect, and improve assertions readability.
2025-12-13 13:48:57 +01:00
2737aaa14e
add mapNotNull to ObjIterable with documentation
2025-12-12 13:48:02 +01:00
fd473a32d8
refine some tests
2025-12-11 00:55:05 +01:00
d15dfb6087
core: prevent scope parent-chain cycles when reusing pooled frames
...
- Scope.resetForReuse: fully detach before re-parenting (clear state, parent=null, new frameId), then validate with ensureNoCycle and assign parent/args/pos/thisObj
- ScopePool.borrow (JVM/Android/JS/Native/Wasm): defensive fallback to fresh Scope allocation if resetForReuse detects a cycle
- docs: add docs/fix-scope-parent-cycle.md describing the change and expectations
- test: add ScopeCycleRegressionTest to ensure instance method call pattern does not crash and returns "ok"
2025-12-11 00:50:46 +01:00
bcabfc8962
fix endless recursion in scope resolution in some specific cases
2025-12-09 23:55:50 +01:00
c0fab3d60e
bump version to 1.0.7-SNAPSHOT; fix potential infinite loops in Scope traversal
2025-12-09 07:33:05 +01:00
708b908415
fix #88 fix #90 plugin with autocompletion
2025-12-08 03:28:27 +01:00
c35d684df1
started autocompletion in the plugin
2025-12-07 23:06:05 +01:00
678cfbf45e
fix #85 lynon empty list encoding
2025-12-07 21:50:47 +01:00
bfffea7e69
fix #83 import-aware quickdocs
2025-12-06 22:25:21 +01:00
40f11b6f29
fix #82 refactored and added builtin docs to all symbols
2025-12-06 21:10:40 +01:00
2e96d75b9f
fix #80 edge case !isSomething() bug fixed
...
+String.last()
2025-12-06 15:07:38 +01:00