-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NullPointerException on KDOC inspection #1334
Merged
Merged
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
e1d27ee
NullPointerException on KDOC inspection
Cheshiriks e4575d1
NullPointerException on KDOC inspection
Cheshiriks 6237abe
NullPointerException on KDOC inspection
Cheshiriks fd86fd8
NullPointerException on KDOC inspection
Cheshiriks 0a07e40
Merge branch 'master' into bugfix/npe-on-kdoc
Cheshiriks 8df28b7
NullPointerException on KDOC inspection
Cheshiriks 03fbaf8
NullPointerException on KDOC inspection
Cheshiriks 330d64d
Merge branch 'master' into bugfix/npe-on-kdoc
Cheshiriks 6d3766e
NullPointerException on KDOC inspection
Cheshiriks e64723e
NullPointerException on KDOC inspection
Cheshiriks 8d3a11b
NullPointerException on KDOC inspection
Cheshiriks 70c5b4b
NullPointerException on KDOC inspection
Cheshiriks 0d4aec1
NullPointerException on KDOC inspection
Cheshiriks File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14 changes: 14 additions & 0 deletions
14
diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example8Expected.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package org.cqfn.diktat | ||
|
||
fun foo() { | ||
val sum: (Int, Int, Int,) -> Int = fun( | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. please also add a unit test (at list for checks), even duplicated. Not only smoke is needed There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added |
||
x, | ||
y, | ||
z | ||
): Int = x + y + x | ||
println(sum(8, 8, 8)) | ||
} | ||
|
||
fun boo() { | ||
val message = fun() = println("Hello") | ||
} |
16 changes: 16 additions & 0 deletions
16
diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example8Test.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
package org.cqfn.diktat | ||
|
||
fun foo() { | ||
val sum: (Int, Int, Int,) -> Int = fun( | ||
x, | ||
y, | ||
z | ||
): Int { | ||
return x + y + x | ||
} | ||
println(sum(8, 8, 8)) | ||
} | ||
|
||
fun boo() { | ||
val message = fun()=println("Hello") | ||
} |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can it be a part of checking of this function instead of assumption?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it's needed here. We already everywhere have a check that this value is equal to FUN before calling this method
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so this function treats to node to be a
FUN
. it means that it's can be called onlynode.elementType == FUN && node.isAnonymousFunction()
, otherwise -- exceptionThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we then move it to
KdocMethods.kt
as private method, because it contains a specific logic for your cases onlyThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's the point. We do not want the developer to try to call this function on a different type of node, In this case, we will not know what to return