NativeScript / NativeScript/android-dts-generator
Classes don't expose static fields from interfaces
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 96
- Forks
- 25
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I'm using the aforementioned experimental build option and it is quite handy.
What I noticed though is that if there is an inheritance then it is not possible to access the base class field from the derived class. Say, Android has the Telephony.Sms.Inbox.BODY where Inbox is
public static final class Inbox implements BaseColumns, TextBasedSmsColumns
and BODY is defined in the TextBasedSmsColumns. What ends up generated is:
export class Inbox extends java.lang.Object implements android.provider.BaseColumns, android.provider.Telephony.TextBasedSmsColumns {
public static CONTENT_URI: android.net.Uri;
public static DEFAULT_SORT_ORDER: string;
}
and basically an attempt to use in a native-like way android.provider.Telephony.Sms.Inbox.BODY fails, instead I need to do android.provider.Telephony.TextBasedSmsColumns.BODY.
Something you may want to check out and some point :)
Thank you!
P.S.: also keeping the original parameter names instead of paramX would have been nice, though I guess that's in the works too :)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the experimental build option that generates the declaration for Android's Telephony.Sms.Inbox and its implemented interfaces. Compare the generated Inbox declaration with TextBasedSmsColumns.BODY and determine how inherited static fields should appear. Done means Inbox.BODY is available in the generated TypeScript declarations, with coverage for this example.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, typescript
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100