Code Monkey home page Code Monkey logo

Comments (2)

nicoespeon avatar nicoespeon commented on August 17, 2024

Indeed, there is an issue when computing the position for the extraction. It's probably looking for the highest possible scope (I don't recall the details) and doesn't consider the position of the references it has.

We probably can refine this so it's created just before the highest reference, like illustrated in your expect.

Thanks for reporting @tjx666, always appreciated!

from abracadabra.

nicoespeon avatar nicoespeon commented on August 17, 2024

That was a specific one. Hopefully, your test was really helpful to repro. It was a combination of:

  • Replacing multiple occurrences
  • Extracting an expression that refers to a variable
  • Having the variable declared in the common ancestor of all extracted occurrences

By default, we were declaring the new variable at the top of that ancestor, resulting in the reported bug.

I fixed that so if there is a variable referenced that is declared in the scope, we make sure to declare the extracted variable after.

I captured that with a test and it's passing now 👍

Thank you @tjx666 for the detailed report. That was really, really helpful ❤️

from abracadabra.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.