File tree 3 files changed +45
-3
lines changed
src/main/kotlin/de/rakhman/webextensions
3 files changed +45
-3
lines changed Original file line number Diff line number Diff line change @@ -23,12 +23,14 @@ repositories {
23
23
jcenter()
24
24
maven { url ' https://dl.bintray.com/kotlin/kotlin-eap' }
25
25
maven { url " https://oss.sonatype.org/content/repositories/snapshots" }
26
+ maven { url ' https://jitpack.io' }
26
27
}
27
28
28
29
dependencies {
29
30
implementation " org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version "
30
31
implementation " org.jetbrains.kotlin:kotlin-reflect:$kotlin_version "
31
- implementation ' com.squareup:kotlinpoet:1.0.0-RC1'
32
+ // implementation 'com.squareup:kotlinpoet:1.0.0-RC1'
33
+ implementation ' com.github.emrul:kotlinpoet:42556e2e67'
32
34
implementation ' org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5'
33
35
implementation ' com.google.code.gson:gson:2.8.2'
34
36
implementation ' com.beust:jcommander:1.72'
Original file line number Diff line number Diff line change @@ -33,6 +33,7 @@ class Generator(val dir: File) {
33
33
.addFunction(
34
34
FunSpec
35
35
.builder(" addListener" )
36
+ .addModifiers(KModifier .EXTERNAL )
36
37
.addParameter(
37
38
ParameterSpec .builder(
38
39
" listener" ,
@@ -44,6 +45,7 @@ class Generator(val dir: File) {
44
45
.addFunction(
45
46
FunSpec
46
47
.builder(" removeListener" )
48
+ .addModifiers(KModifier .EXTERNAL )
47
49
.addParameter(
48
50
ParameterSpec .builder(
49
51
" listener" ,
@@ -55,6 +57,7 @@ class Generator(val dir: File) {
55
57
.addFunction(
56
58
FunSpec
57
59
.builder(" hasListener" )
60
+ .addModifiers(KModifier .EXTERNAL )
58
61
.addParameter(
59
62
ParameterSpec .builder(
60
63
" listener" ,
@@ -181,7 +184,7 @@ class Generator(val dir: File) {
181
184
PropertySpec
182
185
.varBuilder(it.key, parameterType(it.key, it.value))
183
186
.apply { it.value.description?.let { addKdoc(it.cleanupDescription()) } }
184
- .initializer(it.key)
187
+ .initializer(it.key.escapeIfKeyword() )
185
188
.build()
186
189
})
187
190
.primaryConstructor(FunSpec .constructorBuilder()
@@ -277,7 +280,7 @@ class Generator(val dir: File) {
277
280
}
278
281
279
282
private fun generateFunction (f : Function , parameters : List <Parameter >): FunSpec {
280
- val builder = FunSpec .builder(f.name)
283
+ val builder = FunSpec .builder(f.name).addModifiers( KModifier . EXTERNAL )
281
284
282
285
f.description?.let { builder.addKdoc(it + " \n " ) }
283
286
Original file line number Diff line number Diff line change
1
+ package de.rakhman.webextensions
2
+
3
+ internal fun String.escapeIfKeyword () = if (isKeyword) " `${this } `" else this
4
+
5
+ internal val String .isKeyword get() = KEYWORDS .contains(this )
6
+
7
+ // https://github.com/JetBrains/kotlin/blob/master/core/descriptors/src/org/jetbrains/kotlin/renderer/KeywordStringsGenerated.java
8
+ private val KEYWORDS = setOf (
9
+ " package" ,
10
+ " as" ,
11
+ " typealias" ,
12
+ " class" ,
13
+ " this" ,
14
+ " super" ,
15
+ " val" ,
16
+ " var" ,
17
+ " fun" ,
18
+ " for" ,
19
+ " null" ,
20
+ " true" ,
21
+ " false" ,
22
+ " is" ,
23
+ " in" ,
24
+ " throw" ,
25
+ " return" ,
26
+ " break" ,
27
+ " continue" ,
28
+ " object" ,
29
+ " if" ,
30
+ " try" ,
31
+ " else" ,
32
+ " while" ,
33
+ " do" ,
34
+ " when" ,
35
+ " interface" ,
36
+ " typeof"
37
+ )
You can’t perform that action at this time.
0 commit comments