Skip to content

Commit

Permalink
unskipped previous tests + added tests for return qualified names + r…
Browse files Browse the repository at this point in the history
…emoved hack in importer's #visitReturnStatement:
  • Loading branch information
anquetil committed Nov 16, 2023
1 parent 4ea8e72 commit e4e6724
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ JavaSmaCCLocalVariableIntegerTest >> testReturnStatementExpressionName [

{ #category : #tests }
JavaSmaCCLocalVariableIntegerTest >> testReturnStatementExpressionType [
self assert: fastMethod statementBlock statements second expression class equals: FASTJavaIdentifier.
self assert: fastMethod statementBlock statements second expression class equals: FASTJavaVariableExpression.
]

{ #category : #tests }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,10 @@ JavaSmaCCReturnAttributeAccessTest >> javaMethod [
]

{ #category : #tests }
JavaSmaCCReturnAttributeAccessTest >> testReturnStatementExpressionType [

self skip: 'need work, skipping to let CI pass'.

JavaSmaCCReturnAttributeAccessTest >> testReturnExpressionType [
self
assert: (fastModel allWithType: FASTJavaReturnStatement) anyOne expression class
equals: FASTJavaQualifiedName
equals: FASTJavaQualifiedName
]

{ #category : #tests }
Expand Down
34 changes: 31 additions & 3 deletions src/FAST-Java-SmaCC-Importer-Tests/JavaSmaCCReturnTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,38 @@ JavaSmaCCReturnTest >> javaMethod [

{ #category : #tests }
JavaSmaCCReturnTest >> testIdentifierInModelSize [
self assert: (fastModel allWithType: FASTJavaVariableExpression) size equals: 1
self assert: (fastModel allWithType: FASTJavaVariableExpression) size equals: 2
]

{ #category : #tests }
JavaSmaCCReturnTest >> testNamedEntityInModelSize [
self assert: (fastModel allWithType: FASTJavaVariableExpression) size equals: 1
JavaSmaCCReturnTest >> testParameterName [
self
assert: (fastModel allWithType: FASTJavaParameter) anyOne variable name
equals: 'i'
]

{ #category : #tests }
JavaSmaCCReturnTest >> testParameterNumber [
self assert: (fastModel allWithType: FASTJavaParameter) size equals: 1
]

{ #category : #tests }
JavaSmaCCReturnTest >> testReturnExpressionType [
self
assert: (fastModel allWithType: FASTJavaReturnStatement) anyOne expression class
equals: FASTJavaVariableExpression
]

{ #category : #tests }
JavaSmaCCReturnTest >> testReturnStatementNumber [
self
assert: (fastModel allWithType: FASTJavaReturnStatement) size
equals: 1
]

{ #category : #tests }
JavaSmaCCReturnTest >> testReturnVariableName [
self
assert: (fastModel allWithType: FASTJavaReturnStatement) anyOne expression name
equals: 'i'
]
Original file line number Diff line number Diff line change
Expand Up @@ -1121,12 +1121,10 @@ JavaSmaCCProgramNodeImporterVisitor >> visitQualifiedTypeName: aQualifiedTypeNam

{ #category : #visitor }
JavaSmaCCProgramNodeImporterVisitor >> visitReturnStatement: aReturnStatement [
currentFASTEntity := self addToModel: FASTJavaReturnStatement new.
self setStartEndPos: aReturnStatement.
(aReturnStatement expression isKindOf: JavaNameNode)
ifTrue:
[ "If the element is named. It is more than propably an Identifier and not just an named element. So you pass over the normal rules of the importer" currentFASTEntity expression: (self addToModel: (self clone visitIdentifier: aReturnStatement expression)) ]
ifFalse: [ aReturnStatement expression ifNotNil: [ :expression | currentFASTEntity expression: (self clone accept: expression) ] ].
currentFASTEntity := self create: FASTJavaReturnStatement from: aReturnStatement.

currentFASTEntity expression: (self clone accept: aReturnStatement expression).

^ currentFASTEntity
]

Expand Down
2 changes: 0 additions & 2 deletions src/FAST-Java-Tools-Tests/FASTJavaExportVisitorTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,6 @@ FASTJavaExportVisitorTest >> testVisitFASTEmptyReturn [
FASTJavaExportVisitorTest >> testVisitFASTEmptyReturnAttributeAccess [

| ast |

self skip: 'need work, skipping to let CI pass'.

ast := self methodAST: 'void mth() { return a.b; }'.

Expand Down

0 comments on commit e4e6724

Please sign in to comment.