Skip to content

Feature/generic view modifiers - #270

Open
gurmeherchawla wants to merge 2 commits into
skiptools:mainfrom
Clockworks-Solutions:feature/generic-view-modifiers
Open

Feature/generic view modifiers#270
gurmeherchawla wants to merge 2 commits into
skiptools:mainfrom
Clockworks-Solutions:feature/generic-view-modifiers

Conversation

@gurmeherchawla

@gurmeherchawla gurmeherchawla commented Aug 28, 2026

Copy link
Copy Markdown
  • Add support for code generation of generic View Modifiers in typeErasedPeerSwift(for: variableDeclarations: functionDeclarations: stateVariables: visibility:) in SkipSyntax/Kotlin/KotlinBridgeToKotlinVisitor.swift

  • Add Test Case for Generic View Modifier via testGenericCustomModifier() in Tests

  • REQUIRED: I have signed the Contributor Agreement

  • REQUIRED: I have tested my change locally with swift test

  • OPTIONAL: I have tested my change on an iOS simulator or device

  • OPTIONAL: I have tested my change on an Android emulator or device


  • AI was used to generate or assist with generating this PR. Please specify below how you used AI to help you, and what steps you have taken to manually verify the changes.

](https://github.com/Clockworks-Solutions/skipstone.git)

…sedPeerSwift(for: variableDeclarations: functionDeclarations: stateVariables: visibility:)` in SkipSyntax/Kotlin/KotlinBridgeToKotlinVisitor.swift
@cla-bot cla-bot Bot added the cla-signed label Aug 28, 2026
@marcprux

Copy link
Copy Markdown
Member

This could be a very useful feature!

FTR, the CI failure is due to the test case needing to be updated, but it looks like something broke with the spacing (e.g. returnAnyBridging.toJavaObject with no space after return).

The diff is:

37a38
>         typeErased.body = { [unowned typeErased] in (typeErased.genericvalue as! Self).body($0) }
43,44c44
<     init(_ value: Any) {
<         self.genericvalue = value
---
>     init(_ value: Any) {self.genericvalue = value
73c73
<     returnAnyBridging.toJavaObject(f_return_swift, options: [])!
---
>     return AnyBridging.toJavaObject(f_return_swift, options: [])!

@gurmeherchawla

gurmeherchawla commented Aug 31, 2026

Copy link
Copy Markdown
Author

Thank you! I've verified the code but the whitespaces seem okay.
I'm uncertain why the checks are failing.

In full disclosure, the test case was written by AI and if that's the root case, it reinstates my faith in LLMs.

PS I have a PR open for a custom font issue in SkipUI as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants