8000 源码中的 visitChildren 和 transformChildren 是什么意思? · Issue #77 · XianyuTech/aspectd · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

源码中的 visitChildren 和 transformChildren 是什么意思? #77

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

Closed
IamKing opened this issue Dec 9, 2020 · 4 comments
Closed

Comments

@IamKing
Copy link
IamKing commented Dec 9, 2020

image
kernal中没找到对应的注释说明

@IamKing
Copy link
Author
IamKing commented Dec 9, 2020

再补充一个,aspectD 如何进行 debug

@kangwang1988
Copy link
Contributor

image
kernal中没找到对应的注释说明

AST递归遍历

@kangwang1988
Copy link
Contributor

再补充一个,aspectD 如何进行 debug

首先你需要搞清楚flutter_tools工具链中dill如何生成的

这个过程中会涉及到frontend_server.dart.snapshot的调用

这个snapshot本身是可以自行重建或者调试的,

final List commands = [

  •    globals.artifacts.getArtifactPath(Artifact.engineDartBinary),
    
  •    '--deterministic',
    
  •    '--packages=$rebasedFrontendServerPackageConfigJsonFile',
    
  •    '--snapshot=$aspectdFlutterFrontendServerSnapshot',
    
  •    '--snapshot-kind=kernel',
    
  •    '${flutterFrontendServerDirectory.absolute.path}/starter.dart'
    
  •  ];
    

你把aspectd中的start.dart这部分,当做一个正常的dart command line app, 在as打开就可以去执行对应逻辑了。构建中会有transformer的调用和实现,就可以实现调试功能了。

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

No branches or pull requests

2 participants
0