[Kotlin] Attach JvmStatic annotation to each method in companion object (#6052)
authorYoon Kyong Sik <sam1287@gmail.com>
Tue, 18 Aug 2020 16:44:43 +0000 (01:44 +0900)
committerGitHub <noreply@github.com>
Tue, 18 Aug 2020 16:44:43 +0000 (09:44 -0700)
commite86d5b8e97c09d4eac46dbbb8541f180d05f1da2
treed896a41cd0e13f12dba26c0325d1999230496ae0
parentdb2aa9b4eca0edc94aea9e2059c21ce8786fc762
[Kotlin] Attach JvmStatic annotation to each method in companion object (#6052)

* Attach JvmStatic annotation to each method of companion object

Kotlin does not have static accessor so companion object used instead of static.
It's so natural. But when use kotlin companion object methods on java it is very inconvenient.
```java
GeneratedClassByFlatBuffer.Companion.someMethod()
```

If use @JvmStatic annotation it can be shorten like below.
```java
GeneratedClassByFlatBuffer.someMethod()
```

* Formatting by Idea Google C++ style

* Add comments - Commit for missing cla

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Add comments - Commit for missing cla

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Reset code formatting except modified lines

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Pass missing flag to validateVersion method

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Add annotations to missing method in companion object

* addVector
* createVector
* endVector
* tableCreator

And also I tried add compiler option for generate annotation who don't like this operation.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Modify unmatched option name in compiler usage

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Add missing operation for finishSizePrefixed and finishStructBuffer method.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Add compiled example with --kotlin-gen-jvmstatic option.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Fix Compiler.md

Change option name from --gen-jvm-static-annotation to --kotlin-gen-jvmstatic

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Use IDLOptions reference instead of bool parameter.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Change option name - kotlin_gen_jvmstatic to gen_jvmstatic

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Use IDLOptions reference instead of bool parameter and missing process @JvmStatic as suffix.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Add code generation for --gen-jvmstatic option

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Miss typo directory for including.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Miss typo variable suffix for including.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Fix camel case to snake case.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Rollback generate code for gen_jvmstatic option.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Delete generated test files.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* add missing new line at end of file.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
* Remove generated test file by command line.

Signed-off-by: Yoon KyongSik <sam1287@gmail.com>
Co-authored-by: sam <sam@jennifersoft.com>
docs/source/Compiler.md
include/flatbuffers/idl.h
src/flatc.cpp
src/idl_gen_kotlin.cpp