-
Notifications
You must be signed in to change notification settings - Fork 46
Go support #1757
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
Go support #1757
Conversation
override val classId: GoTypeId, | ||
) : UtModel(classId) { | ||
open fun getRequiredImports(): Set<String> = emptySet() | ||
abstract fun canNotBeEqual(): Boolean |
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.
It is hard to understand code with negative assertion. canBeEqual
is easier to understand.
Please, use Mermaid to create document diagrams instead of binary images with diagrams (like |
utbot-go/docs/DEVELOPERS_GUIDE.md
Outdated
|
||
### Test code generation | ||
|
||
Finally, the last stage: the test cases are ready, UTBot Go needs only to generate code for them. Nothing terrible |
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.
Nothing terrible happens here
Sounds not very good for documentation.
utbot-go/docs/DEVELOPERS_GUIDE.md
Outdated
|
||
## How to test UTBot Go | ||
|
||
_**TODO:**_ Gradle `runIde` task and building CLI application JAR locally. |
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.
To build CLI version the build
on utbot-cli-go
should be called
tasks { | ||
compileKotlin { | ||
kotlinOptions { | ||
jvmTarget = "11" |
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.
It is preferrable to use 8 Java API for all modules except IntelliJ plugin and CLI
implementsError: Boolean | ||
) : GoTypeId(name, implementsError = implementsError) { | ||
override fun getRelativeName(packageName: String): String { | ||
TODO("Not yet implemented") |
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.
Suspicious TODO
*/ | ||
abstract class GoTypeId( | ||
name: String, elementClassId: GoTypeId? = null, val implementsError: Boolean = false | ||
) : ClassId(name, elementClassId) { |
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.
We need to rid off all dependencies of core-api, like ClassId
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.
We all have ClassId in dependencies (including Python, even though we have our own types). It is needed to use code generation, maybe some other places too.
Description
I added Go tests generation.
UI
Module
utbot-intellij-go
contains language-specific implementations of LanguageAssistant, DialogWrapper and other classes.CLI
Module
utbot-go-cli
contains command line generation and run tests interface for Go.How to test
Manual tests
Self-check list