René's URL Explorer Experiment


Title: Static binding generator creates wrong files, when two extended classes have the same name · Issue #692 · NativeScript/android · GitHub

Open Graph Title: Static binding generator creates wrong files, when two extended classes have the same name · Issue #692 · NativeScript/android

X Title: Static binding generator creates wrong files, when two extended classes have the same name · Issue #692 · NativeScript/android

Description: Problem: Static binding generator creates wrong files, when two extended classes have the same name How can I reproduce the problem: The same class is extended 2 times in typescript https://github.com/NativeScript/NativeScript/blob/84c46...

Open Graph Description: Problem: Static binding generator creates wrong files, when two extended classes have the same name How can I reproduce the problem: The same class is extended 2 times in typescript https://github....

X Description: Problem: Static binding generator creates wrong files, when two extended classes have the same name How can I reproduce the problem: The same class is extended 2 times in typescript https://github....

Opengraph URL: https://github.com/NativeScript/android/issues/692

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Static binding generator creates wrong files, when two extended classes have the same name","articleBody":"_Problem:_\r\nStatic binding generator creates wrong files, when two extended classes have the same name\r\nHow can I reproduce the problem:\r\n* The same class is extended 2 times in typescript\r\nhttps://github.com/NativeScript/NativeScript/blob/84c469d61b148544bd1ef8b4f41ce689f9145754/tns-core-modules/ui/gestures/gestures.android.ts#L198\r\nhttps://github.com/NativeScript/NativeScript/blob/84c469d61b148544bd1ef8b4f41ce689f9145754/tns-core-modules/ui/gestures/gestures.android.ts#L339\r\n* Uglify is used and the names `SwipeGestureListener` and `TapAndDoubleTapGestureListener` become `e` or some other letter.\r\n* while we analyze the uglified, minified javascript the AST parser generates the same name for both classes: `GestureDetector_SimpleOnGestureListener_frnal_ts_helpers_l58_c38__e.java`.\r\n\r\nThe name is generated as follows: \r\n`\u003cextended_class_name\u003e_f\u003cfile_path\u003e_l\u003cline\u003e_c\u003ccolumn\u003e__\u003cunique_name\u003e.java`\r\n* Because both classes extend the same base class, both names start with the same `\u003cextended_class_name\u003e`\r\n* Because the typescript extends all pass through the [ts_helpers file](https://github.com/NativeScript/android-runtime/blob/master/build-artifacts/project-template-gradle/src/main/assets/internal/ts_helpers.js#L58), all files have the same `_f\u003cfile_path\u003e_l\u003cline\u003e_c\u003ccolumn\u003e`. \r\n* Because uglifyer minifies the names of both classes the `\u003cunique_name\u003e` is not so unique anymore.\r\n\r\n_Solution_\r\nThere are two general paths we can take:\r\n* Suggest the user makes an exception when uglifying for the `\u003cunique_name\u003e` so it stays unique\r\n* Find a different way to generate names, that will generate classes with different names, that's also compatible with the way the runtime binding generator would generate them.\r\n\r\nThis problem does not happen when extending an interface, because the native implementation name does not take part in finding the js counterpart implementation, and all can use the same implementation of an interface.","author":{"url":"https://github.com/Plamen5kov","@type":"Person","name":"Plamen5kov"},"datePublished":"2017-01-18T15:24:37.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":6},"url":"https://github.com/692/android/issues/692"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:afdf5876-577f-6129-b3b8-10eba1680f8e
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id8050:281933:CAF69B:116DAA7:6A625312
html-safe-noncee564f7718a4e5cffd812f2008f208e2c3f9ac3d385696b0cea917ab0188c0bc4
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MDUwOjI4MTkzMzpDQUY2OUI6MTE2REFBNzo2QTYyNTMxMiIsInZpc2l0b3JfaWQiOiI4ODQwNjgzMDM5NDUyNDUxNjAzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmacc2b0503688b616b64ea677a31448cd3c3767e824e9071c393d4695d54031ac26
hovercard-subject-tagissue:201604315
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/NativeScript/android/692/issue_layout
twitter:imagehttps://opengraph.githubassets.com/d6f20f8132009560d9b609eef37e83016a1306a3faf277bfa42b2bc98ebeba7f/NativeScript/android/issues/692
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/d6f20f8132009560d9b609eef37e83016a1306a3faf277bfa42b2bc98ebeba7f/NativeScript/android/issues/692
og:image:altProblem: Static binding generator creates wrong files, when two extended classes have the same name How can I reproduce the problem: The same class is extended 2 times in typescript https://github....
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamePlamen5kov
hostnamegithub.com
expected-hostnamegithub.com
None77f5af7d0fa3843b1779a53f60ec016b3f962e46051fb05c2e9b608a8138eefb
turbo-cache-controlno-preview
go-importgithub.com/NativeScript/android git https://github.com/NativeScript/android.git
octolytics-dimension-user_id7392261
octolytics-dimension-user_loginNativeScript
octolytics-dimension-repository_id29137950
octolytics-dimension-repository_nwoNativeScript/android
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id29137950
octolytics-dimension-repository_network_root_nwoNativeScript/android
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
released3ce7d369aae307e197872f810f80f3ed9051c78
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/NativeScript/android/issues/692#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FNativeScript%2Fandroid%2Fissues%2F692
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FNativeScript%2Fandroid%2Fissues%2F692
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=NativeScript%2Fandroid
Reloadhttps://github.com/NativeScript/android/issues/692
Reloadhttps://github.com/NativeScript/android/issues/692
Reloadhttps://github.com/NativeScript/android/issues/692
Please reload this pagehttps://github.com/NativeScript/android/issues/692
NativeScript https://github.com/NativeScript
androidhttps://github.com/NativeScript/android
Please reload this pagehttps://github.com/NativeScript/android/issues/692
Notifications https://github.com/login?return_to=%2FNativeScript%2Fandroid
Fork 144 https://github.com/login?return_to=%2FNativeScript%2Fandroid
Star 562 https://github.com/login?return_to=%2FNativeScript%2Fandroid
Code https://github.com/NativeScript/android
Issues 98 https://github.com/NativeScript/android/issues
Pull requests 12 https://github.com/NativeScript/android/pulls
Actions https://github.com/NativeScript/android/actions
Projects https://github.com/NativeScript/android/projects
Wiki https://github.com/NativeScript/android/wiki
Security and quality 0 https://github.com/NativeScript/android/security
Insights https://github.com/NativeScript/android/pulse
Code https://github.com/NativeScript/android
Issues https://github.com/NativeScript/android/issues
Pull requests https://github.com/NativeScript/android/pulls
Actions https://github.com/NativeScript/android/actions
Projects https://github.com/NativeScript/android/projects
Wiki https://github.com/NativeScript/android/wiki
Security and quality https://github.com/NativeScript/android/security
Insights https://github.com/NativeScript/android/pulse
Static binding generator creates wrong files, when two extended classes have the same namehttps://github.com/NativeScript/android/issues/692#top
https://github.com/petekanev
bughttps://github.com/NativeScript/android/issues?q=state%3Aopen%20label%3A%22bug%22
severity: lowhttps://github.com/NativeScript/android/issues?q=state%3Aopen%20label%3A%22severity%3A%20low%22
4.0.0https://github.com/NativeScript/android/milestone/27
https://github.com/Plamen5kov
Plamen5kovhttps://github.com/Plamen5kov
on Jan 18, 2017https://github.com/NativeScript/android/issues/692#issue-201604315
https://github.com/NativeScript/NativeScript/blob/84c469d61b148544bd1ef8b4f41ce689f9145754/tns-core-modules/ui/gestures/gestures.android.ts#L198https://github.com/NativeScript/NativeScript/blob/84c469d61b148544bd1ef8b4f41ce689f9145754/tns-core-modules/ui/gestures/gestures.android.ts#L198
https://github.com/NativeScript/NativeScript/blob/84c469d61b148544bd1ef8b4f41ce689f9145754/tns-core-modules/ui/gestures/gestures.android.ts#L339https://github.com/NativeScript/NativeScript/blob/84c469d61b148544bd1ef8b4f41ce689f9145754/tns-core-modules/ui/gestures/gestures.android.ts#L339
ts_helpers filehttps://github.com/NativeScript/android-runtime/blob/master/build-artifacts/project-template-gradle/src/main/assets/internal/ts_helpers.js#L58
petekanevhttps://github.com/petekanev
bughttps://github.com/NativeScript/android/issues?q=state%3Aopen%20label%3A%22bug%22
severity: lowhttps://github.com/NativeScript/android/issues?q=state%3Aopen%20label%3A%22severity%3A%20low%22
4.0.0https://github.com/NativeScript/android/milestone/27
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.