擅长:python、mysql、java
<p>两种选择,按偏好降序排列:</p>
<ol>
<li><p>更改自动生成过程。不是调用<code>proprietary_autogen_process</code>,而是调用<code>custom_autogen_wrapper</code>。这个包装器首先调用专有的第三方工具,然后通过搜索导入模块<code>X</code>的代码来修改生成的模块源代码,并删除它之后的所有内容</p>
<p>这是相对简单的。您只需要注意不要通过执行太松散(或太严格)的导入代码匹配来引入误报或漏报。理想情况下,你会使用<a href="https://stackoverflow.com/q/36022935/1968">AST rewriter</a>,但这可能是过度杀伤力;对<code>import X</code>的正则表达式搜索可能会起作用,但如果此文本出现在注释、字符串文本或未执行的方法中,则会产生错误的结果</p></li>
<li><p>在导入自动生成模块时自动生成模块将在其中找到的位置生成存根模块X。我不建议这样做,因为它很乏味:您可能不能只生成一个空模块,因为自动生成的模块将要使用X。您需要生成有意义的方法存根</p></li>
</ol>