Skip to content

Commit b184bc6

Browse files
committed
Create parameters for typed parameters even if we did not manage yet the types in the parsers
1 parent cdd5588 commit b184bc6

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

src/Famix-Python-Importer-Tests/FamixPythonProject1Test.class.st

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2346,8 +2346,23 @@ FamixPythonProject1Test >> testFunctionTypedDefaultParameter [
23462346
{ #category : 'tests - parameters' }
23472347
FamixPythonProject1Test >> testFunctionTypedParameter [
23482348
2349-
self flag: #todo.
2350-
self skip
2349+
| function parameter |
2350+
function := self functionNamed: 'function_with_typed_parameter'.
2351+
parameter := self parameterNamed: 'typed_parameter'.
2352+
2353+
self assert: function parameters size equals: 1.
2354+
self assert: function keywordSeparatorPosition equals: nil.
2355+
self assert: function positionalSeparatorPosition equals: nil.
2356+
self assertCollection: function parameters hasSameElements: { parameter }.
2357+
self assert: parameter name equals: 'typed_parameter'.
2358+
self deny: parameter isStub.
2359+
self assert: parameter class equals: FamixPythonParameter.
2360+
self assert: parameter parentBehaviouralEntity equals: function.
2361+
self deny: parameter hasDefaultValue.
2362+
self deny: parameter isListSplat.
2363+
self deny: parameter isDictionarySplat.
2364+
2365+
self flag: #todo. "Add assertions on type because we currently only have assertions on the existance of the parameter."
23512366
]
23522367
23532368
{ #category : 'tests - functions' }

src/Famix-Python-Importer/FamixTSNodeWrapper.extension.st

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,15 @@ FamixTSNodeWrapper >> isParameterDeclaration [
9090
"In a default parameter, it represent the parameter if it's in the name field."
9191
"def f(arg=3):"
9292
(self parent type = #default_parameter and: [ self parent _name = self ]) ifTrue: [ ^ true ].
93-
93+
94+
"Typed parameter
95+
def f(arg: int):"
96+
(self parent type = #typed_parameter) ifTrue: [ ^ true].
97+
98+
"Typed default parameter
99+
def (arg: int = 5):"
100+
(self parent type = #typed_default_parameter) ifTrue: [ ^true ].
101+
94102
^ false
95103
]
96104

0 commit comments

Comments
 (0)