Skip to content

Commit 7b0aeee

Browse files
committed
Add stub type_params handling for class and function definitions
1 parent df2b5df commit 7b0aeee

13 files changed

+29
-1
lines changed

ast/src/source_locator.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ impl crate::fold::Fold<TextRange> for LinearLocator<'_> {
149149
keywords,
150150
body,
151151
decorator_list,
152+
type_params,
152153
range,
153154
} = node;
154155
let decorator_list = self.fold(decorator_list)?;
@@ -159,12 +160,15 @@ impl crate::fold::Fold<TextRange> for LinearLocator<'_> {
159160
let keywords = self.fold(keywords)?;
160161
let body = self.fold(body)?;
161162
let range = self.map_user(range, context)?;
163+
let type_params = self.fold(type_params)?;
164+
162165
Ok(crate::StmtClassDef {
163166
name,
164167
bases,
165168
keywords,
166169
body,
167170
decorator_list,
171+
type_params,
168172
range,
169173
})
170174
}
@@ -180,6 +184,7 @@ impl crate::fold::Fold<TextRange> for LinearLocator<'_> {
180184
returns,
181185
type_comment,
182186
range,
187+
type_params,
183188
} = node;
184189
let decorator_list = self.fold(decorator_list)?;
185190
let context = self.will_map_user(&range);
@@ -189,13 +194,15 @@ impl crate::fold::Fold<TextRange> for LinearLocator<'_> {
189194
let returns = self.fold(returns)?;
190195
let body = self.fold(body)?;
191196
let type_comment = self.fold(type_comment)?;
197+
let type_params = self.fold(type_params)?;
192198
let range = self.map_user(range, context)?;
193199
Ok(crate::StmtFunctionDef {
194200
name,
195201
args,
196202
body,
197203
decorator_list,
198204
returns,
205+
type_params,
199206
type_comment,
200207
range,
201208
})
@@ -211,6 +218,7 @@ impl crate::fold::Fold<TextRange> for LinearLocator<'_> {
211218
decorator_list,
212219
returns,
213220
type_comment,
221+
type_params,
214222
range,
215223
} = node;
216224
let decorator_list = self.fold(decorator_list)?;
@@ -221,6 +229,7 @@ impl crate::fold::Fold<TextRange> for LinearLocator<'_> {
221229
let returns = self.fold(returns)?;
222230
let body = self.fold(body)?;
223231
let type_comment = self.fold(type_comment)?;
232+
let type_params = self.fold(type_params)?;
224233
let range = self.map_user(range, context)?;
225234
Ok(crate::StmtAsyncFunctionDef {
226235
name,
@@ -229,6 +238,7 @@ impl crate::fold::Fold<TextRange> for LinearLocator<'_> {
229238
decorator_list,
230239
returns,
231240
type_comment,
241+
type_params,
232242
range,
233243
})
234244
}

parser/src/python.rs

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args.snap

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

parser/src/snapshots/rustpython_parser__function__tests__function_kw_only_args_with_defaults.snap

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

parser/src/snapshots/rustpython_parser__function__tests__function_no_args.snap

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args.snap

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults.snap

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs.snap

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

parser/src/snapshots/rustpython_parser__function__tests__function_pos_and_kw_only_args_with_defaults_and_varargs_and_kwargs.snap

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

parser/src/snapshots/rustpython_parser__function__tests__function_pos_args.snap

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)