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

Support multiple definitions: Locals #30

Merged
merged 2 commits into from
Feb 17, 2022

Conversation

julienduchesne
Copy link
Member

Yet another case for #6
This supports two cases:

  • Definitions across multiple files
  • The case where a local is used in the second file. We were currently using the initial stack to find the bind for that var. Across files, that doesn't work, we have to work with the stack where the var is being used

Yet another case for #6
This supports two cases:
- Definitions across multiple files
- The case where a local is used in the second file. We were currently using the initial stack to find the bind for that var. Across files, that doesn't work, we have to work with the stack where the var is being used
julienduchesne added a commit that referenced this pull request Feb 17, 2022
In a multiple definitions context, having an import somewhere along the line would cut the chain since it overwrote the `foundDesugaredObjects` slice

This builds upon #30

Issue: #6
@julienduchesne julienduchesne changed the title Support definitions across multiples files Support multiple definitions: Locals Feb 17, 2022
julienduchesne added a commit that referenced this pull request Feb 17, 2022
Whenever a binary operator was in the chain, it would make all fields to not be found further down the line
This supports find fields in constructs like this:
```
{
  my_field+: (import 'test') + (import 'test2')
}
```

Note: the tests are getting pretty intense. I'm planning a refactor once I've got the cases I want working. I'll probably set up some benchmarking as well, see if I can find some low-hanging fruits for performance improvements

This builds upon #30 and #31
Issue: #6
@julienduchesne julienduchesne merged commit 85e63dc into main Feb 17, 2022
@julienduchesne julienduchesne deleted the julienduchesne/multiple-definitions-3 branch February 17, 2022 17:19
julienduchesne added a commit that referenced this pull request Feb 17, 2022
In a multiple definitions context, having an import somewhere along the line would cut the chain since it overwrote the `foundDesugaredObjects` slice

This builds upon #30

Issue: #6
julienduchesne added a commit that referenced this pull request Feb 17, 2022
In a multiple definitions context, having an import somewhere along the line would cut the chain since it overwrote the `foundDesugaredObjects` slice

This builds upon #30

Issue: #6
julienduchesne added a commit that referenced this pull request Feb 17, 2022
Whenever a binary operator was in the chain, it would make all fields to not be found further down the line
This supports find fields in constructs like this:
```
{
  my_field+: (import 'test') + (import 'test2')
}
```

Note: the tests are getting pretty intense. I'm planning a refactor once I've got the cases I want working. I'll probably set up some benchmarking as well, see if I can find some low-hanging fruits for performance improvements

This builds upon #30 and #31
Issue: #6
julienduchesne added a commit that referenced this pull request Feb 17, 2022
Whenever a binary operator was in the chain, it would make all fields to not be found further down the line
This supports find fields in constructs like this:
```
{
  my_field+: (import 'test') + (import 'test2')
}
```

Note: the tests are getting pretty intense. I'm planning a refactor once I've got the cases I want working. I'll probably set up some benchmarking as well, see if I can find some low-hanging fruits for performance improvements

This builds upon #30 and #31
Issue: #6
Copy link
Contributor

@zzehring zzehring left a comment

Choose a reason for hiding this comment

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

Incredible work on this! :shipit:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants