Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(rosetta): structs starting with I are incorrectly interpreted as non-structs #3040

Merged
merged 6 commits into from
Oct 8, 2021

Conversation

rix0rrr
Copy link
Contributor

@rix0rrr rix0rrr commented Oct 7, 2021

Not all interfaces that start with the name I are structs: only if
the second letter is also uppercase.

Also clean up type handling a bit, we were doing some things that the
TypeScript compiler has built-ins for.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Prettier is adding a lot of line breaks that are cluttering up the code.

Set the line width hint to 120, just for the Rosetta subproject.
Not all interfaces that start with the name `I` are structs: only if
the second letter is also uppercase.

Also clean up type handling a bit, we were doing some things that the
TypeScript compiler has built-ins for.
@rix0rrr rix0rrr requested a review from a team October 7, 2021 11:23
@rix0rrr rix0rrr self-assigned this Oct 7, 2021
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Oct 7, 2021
@mergify
Copy link
Contributor

mergify bot commented Oct 7, 2021

The title of this Pull Request does not conform with [Conventional Commits] guidelines. It will need to be adjusted before the PR can be merged.
[Conventional Commits]: https://www.conventionalcommits.org

@nija-at nija-at added the pr/do-not-merge This PR should not be merged at this time. label Oct 7, 2021
Comment on lines +7 to +8
// Start with an I and another uppercase character
return !/^I[A-Z]/.test(name);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a better heuristic perhaps but still some can slip in, no?

Is the intention to just make this better but not catch all? Would be useful to call that out in the PR description.

@@ -4,7 +4,8 @@ import { AstRenderer } from '../renderer';
import { typeContainsUndefined } from '../typescript/types';

export function isStructInterface(name: string) {
return !name.startsWith('I');
// Start with an I and another uppercase character
return !/^I[A-Z]/.test(name);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about honouring the @struct annotation that was recently introduced?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At this point we don't have any access to the jsii assembly, because there's no mapping between TypeScript symbols and jsii FQNs.

We will have that eventually, but not just yet.

@rix0rrr rix0rrr removed the pr/do-not-merge This PR should not be merged at this time. label Oct 8, 2021
@mergify
Copy link
Contributor

mergify bot commented Oct 8, 2021

Thank you for contributing! ❤️ I will now look into making sure the PR is up-to-date, then proceed to try and merge it!

@mergify mergify bot added the pr/ready-to-merge This PR is ready to be merged. label Oct 8, 2021
@mergify
Copy link
Contributor

mergify bot commented Oct 8, 2021

Merging (with squash)...

@mergify
Copy link
Contributor

mergify bot commented Oct 8, 2021

The title of this Pull Request does not conform with [Conventional Commits] guidelines. It will need to be adjusted before the PR can be merged.
[Conventional Commits]: https://www.conventionalcommits.org

@mergify mergify bot merged commit d564350 into main Oct 8, 2021
@mergify mergify bot deleted the huijbers/rosetta-istruct branch October 8, 2021 15:05
@mergify
Copy link
Contributor

mergify bot commented Oct 8, 2021

Merging (with squash)...

@mergify mergify bot removed the pr/ready-to-merge This PR is ready to be merged. label Oct 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contribution/core This is a PR that came from AWS.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants