@@ -106,16 +106,19 @@ class A(enum.Enum):
106106 items , values , ok = self .parse_enum_call_args (call , fullname .split ("." )[- 1 ])
107107 if not ok :
108108 # Error. Construct dummy return value.
109- info = self .build_enum_call_typeinfo (var_name , [], fullname , node .line )
109+ name = var_name
110+ if is_func_scope :
111+ name += "@" + str (call .line )
112+ info = self .build_enum_call_typeinfo (name , [], fullname , node .line )
110113 else :
111114 name = cast (StrExpr , call .args [0 ]).value
112115 if name != var_name or is_func_scope :
113116 # Give it a unique name derived from the line number.
114117 name += "@" + str (call .line )
115118 info = self .build_enum_call_typeinfo (name , items , fullname , call .line )
116- # Store generated TypeInfo under both names, see semanal_namedtuple for more details.
117- if name != var_name or is_func_scope :
118- self .api .add_symbol_skip_local (name , info )
119+ # Store generated TypeInfo under both names, see semanal_namedtuple for more details.
120+ if name != var_name or is_func_scope :
121+ self .api .add_symbol_skip_local (name , info )
119122 call .analyzed = EnumCallExpr (info , items , values )
120123 call .analyzed .set_line (call )
121124 info .line = node .line
0 commit comments