wala/ML

Missing cases for importing scripts from package initialization code

开放

#210 创建于 2024年7月22日

 (0 条评论) (0 个反应) (0 位负责人)Java (17 个派生)auto 404
PYTHONPATHenhancementhelp wanted

仓库指标

星标
 (27 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

We're missing some cases from #202 where we import scripts containing package initialization code that involve the syntax import A.B.C. It looks like we covered from A.B import C. Consider the following example:

# src/__init__.py
from .module import *

# src/module.py
import tensorflow as tf

def f(a):
    assert isinstance(a, tf.Tensor)

# client.py
from tensorflow import ones
import src

src.f(ones([1, 2]))

We cannot find a CG node for src.module.f. If we change the wildcard in src/__init__.py to explicitly reference f, it still doesn't work.

Regression

I don't think this is a bug. I think we just only handled the wildcard import case in the client.

贡献者指南