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

Detect side-effects in method arguments of virtual string literals #2476

Merged
merged 2 commits into from Oct 3, 2018

Conversation

lukastaegert
Copy link
Member

This PR contains:

  • bugfix
  • feature
  • refactor
  • documentation
  • other

Are tests included?

  • yes (bugfixes and features will not be merged without tests)
  • no

Breaking Changes?

  • yes (breaking changes will not be merged unless absolutely necessary)
  • no

List any relevant issue numbers:
Resolves #2475

Description

As it turns out, the logic to detect side-effects when arguments of string prototype are called was present but not wired up properly in the case where the string itself was the return value of another prototype method. I.e.

'abc'.replace('b', () => console.log('effect'));

was retained but

'abc'.trim().replace('b', () => console.log('effect'));

was removed. This PR fixes this.

@lukastaegert lukastaegert merged commit 177b95e into master Oct 3, 2018
@lukastaegert lukastaegert deleted the builtin-argument-side-effects branch October 3, 2018 11:54
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.

Code treeshaken when method on string literal is called
1 participant