@@ -32,20 +32,19 @@ def __init__(self, parent: 'Frame' = None) -> None:
32
32
self .parent = parent
33
33
self .options_on_return = [] # type: List[Frame]
34
34
35
- def add_return_option (self , frame : 'Frame' , collapse_ancestry : bool = False ) -> None :
35
+ def add_return_option (self , frame : 'Frame' ) -> None :
36
36
"""When this frame is next visited, it may may have state `frame`.
37
37
38
- If collapse_ancestry is True, then frame must be a descendent of
39
- self, and we collapse the frame before adding it as an option .
38
+ The frame must be a descendent of self, and we incorporate every
39
+ intermediate frame.
40
40
"""
41
- if collapse_ancestry :
42
- frame_list = []
43
- while frame is not self :
44
- frame_list .append (frame )
45
- frame = frame .parent
46
- frame = Frame ()
47
- for f in frame_list [::- 1 ]:
48
- frame .update (f )
41
+ frame_list = []
42
+ while frame is not self :
43
+ frame_list .append (frame )
44
+ frame = frame .parent
45
+ frame = Frame ()
46
+ for f in frame_list [::- 1 ]:
47
+ frame .update (f )
49
48
self .options_on_return .append (frame )
50
49
51
50
@@ -188,7 +187,7 @@ def pop_frame(self, fall_through: int = 0) -> Frame:
188
187
189
188
if fall_through :
190
189
if not result .broken :
191
- self .frames [- fall_through ].add_return_option (result , True )
190
+ self .frames [- fall_through ].add_return_option (result )
192
191
self .breaking_out = False
193
192
194
193
options = self .frames [- 1 ].options_on_return
@@ -269,7 +268,7 @@ def most_recent_enclosing_type(self, expr: Node, type: Type) -> Type:
269
268
return enclosers [- 1 ]
270
269
271
270
def allow_jump (self , index : int ) -> None :
272
- self .frames [index ].add_return_option (self .frames [- 1 ], True )
271
+ self .frames [index ].add_return_option (self .frames [- 1 ])
273
272
274
273
def push_loop_frame (self ) -> None :
275
274
self .loop_frames .append (len (self .frames ) - 1 )
0 commit comments