-
-
Notifications
You must be signed in to change notification settings - Fork 21
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
[BUG] - Remove comment and white space lines #100
Labels
Milestone
Comments
hakancelikdev
added
changelog
Changes should be written to the changelog file.
needs test
labels
Sep 12, 2020
I did some code debugging, I ended with a bug on from typing import Union
import libcst as cst
class RemoveUnusedImportTransformer(cst.CSTTransformer):
def leave_ImportFrom(
self, original_node: cst.ImportFrom, updated_node: cst.ImportFrom
) -> Union[cst.RemovalSentinel, cst.ImportFrom]:
if updated_node.names[0].name.value == "token": # Hard coded name.
return cst.RemoveFromParent() # Here we have a bug!
return updated_node
def refactor_string(source: str) -> str:
transformer = RemoveUnusedImportTransformer()
cst_tree = cst.parse_module(source)
return cst_tree.visit(transformer).code
if __name__ == "__main__":
refactored_code = refactor_string(
"""# Python imports
import os
from typing import Union
# Local imports
from .pgen2 import token
from .pgen2 import driver
from .pgen2.grammar import Grammar
os, Union, driver, Grammar"""
)
print(refactored_code) Output: # Python imports
import os
from typing import Union
from .pgen2 import driver
from .pgen2.grammar import Grammar
os, Union, driver, Grammar |
If that's the case, I'm gonna open an issue on the |
Yes I think the issue need to open. |
Please take a look at Instagram/LibCST#390 |
I think we should implement a method that preserves node comment/empty-line from removal! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Code
Expected situation
Actual situation
The text was updated successfully, but these errors were encountered: