@@ -91,6 +91,7 @@ def __init__(
9191 module_name : str ,
9292 is_trait : bool = False ,
9393 is_generated : bool = False ,
94+ is_environment : bool = False ,
9495 is_abstract : bool = False ,
9596 is_ext_class : bool = True ,
9697 is_final_class : bool = False ,
@@ -99,6 +100,8 @@ def __init__(
99100 self .module_name = module_name
100101 self .is_trait = is_trait
101102 self .is_generated = is_generated
103+ # True for env classes where attributes represent locals.
104+ self .is_environment = is_environment
102105 self .is_abstract = is_abstract
103106 self .is_ext_class = is_ext_class
104107 self .is_final_class = is_final_class
@@ -231,6 +234,7 @@ def __repr__(self) -> str:
231234 "ClassIR("
232235 "name={self.name}, module_name={self.module_name}, "
233236 "is_trait={self.is_trait}, is_generated={self.is_generated}, "
237+ "is_environment={self.is_environment}, "
234238 "is_abstract={self.is_abstract}, is_ext_class={self.is_ext_class}, "
235239 "is_final_class={self.is_final_class}"
236240 ")" .format (self = self )
@@ -380,6 +384,7 @@ def serialize(self) -> JsonDict:
380384 "is_ext_class" : self .is_ext_class ,
381385 "is_abstract" : self .is_abstract ,
382386 "is_generated" : self .is_generated ,
387+ "is_environment" : self .is_environment ,
383388 "is_augmented" : self .is_augmented ,
384389 "is_final_class" : self .is_final_class ,
385390 "inherits_python" : self .inherits_python ,
@@ -438,6 +443,7 @@ def deserialize(cls, data: JsonDict, ctx: DeserMaps) -> ClassIR:
438443
439444 ir .is_trait = data ["is_trait" ]
440445 ir .is_generated = data ["is_generated" ]
446+ ir .is_environment = data .get ("is_environment" , False )
441447 ir .is_abstract = data ["is_abstract" ]
442448 ir .is_ext_class = data ["is_ext_class" ]
443449 ir .is_augmented = data ["is_augmented" ]
0 commit comments