Skip to content
This repository was archived by the owner on Jul 13, 2020. It is now read-only.

Commit 5e6e9a2

Browse files
committed
Update Anko to Kotlin Beta Candidate
1 parent 96fcb88 commit 5e6e9a2

File tree

67 files changed

+505
-493
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+505
-493
lines changed

.idea/runConfigurations/Collect_android_jar.xml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations/Generate_tests.xml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/runConfigurations/Hierarchy_collector.xml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dsl/props/mvn/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
buildscript {
2-
ext.kotlin_version = '0.14.449'
2+
ext.kotlin_version = '1.0.0-beta-1038'
33
repositories {
44
jcenter()
55
}

dsl/props/mvn/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
POM_ARTEFACT_GROUP=org.jetbrains.anko
22
POM_ARTEFACT_ID=anko-%ARTIFACT_VERSION
3-
POM_ARTEFACT_VERSION=0.7.1
3+
POM_ARTEFACT_VERSION=0.7.2
44
POM_PACKAGING=jar
55

66
projectUrl=https://github.com/JetBrains/anko

dsl/src/org/jetbrains/android/anko/Writer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class Writer(private val renderFacade: RenderFacade) {
3232

3333
fun write() {
3434
val versionType = config.getTargetArtifactType()
35-
AnkoFile.values().forEach { file ->
35+
values.forEach { file ->
3636
if (config[file] && versionType in file.types && file.shouldBeWritten(config)) {
3737
write(file)
3838
}
@@ -120,7 +120,7 @@ class Writer(private val renderFacade: RenderFacade) {
120120

121121
PrintWriter(file).useIt {
122122
if (config.generatePackage && generatePackage) {
123-
val facadeFilename = config.version.toCamelCase('-') + subsystem.name().toLowerCase().toCamelCase()
123+
val facadeFilename = config.version.toCamelCase('-') + subsystem.name.toLowerCase().toCamelCase()
124124
println("@file:JvmMultifileClass")
125125
println("@file:JvmName(\"${facadeFilename}Kt\")")
126126
println("package ${config.outputPackage}\n")

dsl/src/org/jetbrains/android/anko/config/AnkoConfiguration.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ import java.io.File
2828
abstract class AnkoConfiguration {
2929
open val indent: String = " "
3030

31-
open val files: MutableSet<AnkoFile> = hashSetOf(*AnkoFile.values())
32-
open val tunes: MutableSet<ConfigurationTune> = hashSetOf(*ConfigurationTune.values())
31+
open val files: MutableSet<AnkoFile> = hashSetOf(*AnkoFile.values)
32+
open val tunes: MutableSet<ConfigurationTune> = hashSetOf(*ConfigurationTune.values)
3333

3434
open val generateStaticFiles: Boolean = true
3535

@@ -53,7 +53,7 @@ abstract class AnkoConfiguration {
5353
abstract val sourceManager: SourceManager
5454
abstract val templateManager: TemplateManager
5555

56-
operator fun get(option: ConfigurationOption): Boolean = option in tunes || option in files
56+
operator fun get(option: ConfigurationOption): Boolean = tunes.containsRaw(option) || files.containsRaw(option)
5757

5858
abstract fun getOutputFile(ankoFile: AnkoFile): File
5959

dsl/src/org/jetbrains/android/anko/config/AnkoFile.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ enum class AnkoFile(
4646
val types: Set<TargetArtifactType> = type.toSet()
4747

4848
val filename: String by lazy {
49-
val name = name()
49+
val name = name
5050
val extension = if (name.endsWith("_JAVA")) ".java" else ".kt"
5151
name.substringBeforeLast("_JAVA").toCamelCase() + extension
5252
}

dsl/src/org/jetbrains/android/anko/generator/ListenerGenerator.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ class ListenerGenerator : Generator<ListenerElement> {
5353

5454
val rawName = setter.method.name
5555
//delete "set" ("add") end "Listener" parts of String
56-
val name = rawName.substring("set".length()).dropLast("Listener".length()).decapitalize()
56+
val name = rawName.substring("set".length).dropLast("Listener".length).decapitalize()
5757

58-
return when (methods?.size() ?: 0) {
58+
return when (methods?.size ?: 0) {
5959
1 -> { // It is a simple listener, with just one method
6060
val method = methods!![0]
6161
val methodWithClass = MethodNodeWithClass(listener, method)
@@ -76,5 +76,5 @@ class ListenerGenerator : Generator<ListenerElement> {
7676
}
7777
}
7878

79-
private fun String.dropLast(n: Int) = if (n >= length()) "" else substring(0, length() - n)
79+
private fun String.dropLast(n: Int) = if (n >= length) "" else substring(0, length - n)
8080
}

dsl/src/org/jetbrains/android/anko/generator/PropertyGenerator.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,13 @@ class PropertyGenerator : Generator<PropertyElement> {
5151
val settersList = setters.get(property.setterIdentifier) ?: listOf()
5252

5353
val (best, others) = settersList.partition {
54-
it.method.args.size() == 1 && it.method.args[0] == getter.method.returnType
54+
it.method.args.size == 1 && it.method.args[0] == getter.method.returnType
5555
}
5656

5757
existingProperties.add(property.setterIdentifier)
5858
PropertyElement(property.name, getter, best + others)
5959
}
60-
val propertyWithoutGetters = setters.values().map { setters ->
60+
val propertyWithoutGetters = setters.values.map { setters ->
6161
val property = setters.first().toProperty()
6262

6363
val id = property.setterIdentifier

dsl/src/org/jetbrains/android/anko/generator/layoutParamsUtils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ fun GenerationState.extractLayoutParams(viewGroup: ClassNode): LayoutElement? {
2929

3030
val generateMethod = viewGroup.methods.firstOrNull { method ->
3131
method.name == "generateLayoutParams"
32-
&& method.args.size() == 1
32+
&& method.args.size == 1
3333
&& method.args[0].internalName == "android/util/AttributeSet"
3434
} ?: return findForParent()
3535

dsl/src/org/jetbrains/android/anko/render/InterfaceWorkaroundsRenderer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class InterfaceWorkaroundsRenderer(config: AnkoConfiguration) : Renderer(config)
2828

2929
override val renderIf: Array<ConfigurationOption> = arrayOf(AnkoFile.INTERFACE_WORKAROUNDS_JAVA)
3030

31-
override fun processElements(state: GenerationState) = StringBuilder {
31+
override fun processElements(state: GenerationState) = StringBuilder().apply {
3232
val interfaces = state[InterfaceWorkaroundsGenerator::class.java].toList()
3333

3434
append(render("interface_workarounds") {

dsl/src/org/jetbrains/android/anko/render/LayoutRenderer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class LayoutRenderer(config: AnkoConfiguration) : Renderer(config), ViewConstruc
3333

3434
override val renderIf: Array<ConfigurationOption> = arrayOf(AnkoFile.LAYOUTS)
3535

36-
override fun processElements(state: GenerationState) = StringBuilder {
36+
override fun processElements(state: GenerationState) = StringBuilder().apply {
3737
append("private val defaultInit: Any.() -> Unit = {}").appendln().appendln()
3838
state[LayoutGenerator::class.java].forEach { append(renderLayout(it)) }
3939
}.toString()

dsl/src/org/jetbrains/android/anko/render/ListenerRenderer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class ListenerRenderer(config: AnkoConfiguration) : Renderer(config) {
3333

3434
override val renderIf: Array<ConfigurationOption> = arrayOf(AnkoFile.LISTENERS)
3535

36-
override fun processElements(state: GenerationState) = StringBuilder {
36+
override fun processElements(state: GenerationState) = StringBuilder().apply {
3737
val renderedClasses = hashSetOf<String>()
3838

3939
for (listener in state[ListenerGenerator::class.java]) {

dsl/src/org/jetbrains/android/anko/render/PropertyRenderer.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class PropertyRenderer(config: AnkoConfiguration) : Renderer(config) {
3030

3131
override val renderIf: Array<ConfigurationOption> = arrayOf(AnkoFile.PROPERTIES)
3232

33-
override fun processElements(state: GenerationState) = StringBuilder {
33+
override fun processElements(state: GenerationState) = StringBuilder().apply {
3434
state[PropertyGenerator::class.java].forEach {
3535
append(renderProperty(it))
3636
}
@@ -61,7 +61,7 @@ class PropertyRenderer(config: AnkoConfiguration) : Renderer(config) {
6161

6262
val nullability = if (nullable) "?" else ""
6363

64-
val otherSetters = if (property.setters.size() > 1) property.setters.drop(1) else listOf()
64+
val otherSetters = if (property.setters.size > 1) property.setters.drop(1) else listOf()
6565

6666
if (property.getter != null) {
6767
return buffer {
@@ -88,7 +88,7 @@ class PropertyRenderer(config: AnkoConfiguration) : Renderer(config) {
8888
{
8989
if (otherSetters.isNotEmpty() && supportsResourceSetter(returnType)) {
9090
val resourceSetter = otherSetters.firstOrNull {
91-
it.method.args.size() == 1 && (it.method.args[0].className == "int")
91+
it.method.args.size == 1 && (it.method.args[0].className == "int")
9292
}
9393

9494
if (resourceSetter != null) {

dsl/src/org/jetbrains/android/anko/render/ServiceRenderer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class ServiceRenderer(config: AnkoConfiguration) : Renderer(config) {
2828

2929
override val renderIf: Array<ConfigurationOption> = arrayOf(AnkoFile.SERVICES)
3030

31-
override fun processElements(state: GenerationState) = StringBuilder {
31+
override fun processElements(state: GenerationState) = StringBuilder().apply {
3232
append(render("services") {
3333
"services" % seq(state[ServiceGenerator::class.java]) {
3434
"name" % it.service.simpleName.decapitalize()

dsl/src/org/jetbrains/android/anko/render/SqlParserHelperRenderer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class SqlParserHelperRenderer(config: AnkoConfiguration) : Renderer(config) {
2626

2727
override val renderIf: Array<ConfigurationOption> = arrayOf(AnkoFile.SQL_PARSER_HELPERS)
2828

29-
override fun processElements(state: GenerationState) = StringBuilder {
29+
override fun processElements(state: GenerationState) = StringBuilder().apply {
3030
for (i in 1..22) {
3131
val types = (1..i).map { "T$it" }.joinToString(", ")
3232
val args = (1..i).map { "columns[${it - 1}] as T$it" }.joinToString(", ")

dsl/src/org/jetbrains/android/anko/render/viewConstructorUtils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ interface ViewConstructorUtils {
3434
ctxName: String,
3535
argumentNames: Boolean = false
3636
): String {
37-
if (constructors.size() != AVAILABLE_VIEW_CONSTRUCTORS.size()) throw IllegalArgumentException("Invalid constructors list")
37+
if (constructors.size != AVAILABLE_VIEW_CONSTRUCTORS.size) throw IllegalArgumentException("Invalid constructors list")
3838

3939
return if (argumentNames) {
4040
when {

dsl/src/org/jetbrains/android/anko/render/viewRenderers.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ import org.objectweb.asm.tree.ClassNode
2727
import org.objectweb.asm.tree.MethodNode
2828
import java.util.*
2929

30-
class ViewRenderer(config: AnkoConfiguration) : AbstractViewRenderer(config) {
30+
internal class ViewRenderer(config: AnkoConfiguration) : AbstractViewRenderer(config) {
3131
override fun processElements(state: GenerationState) =
3232
renderViews(state[ViewGenerator::class.java]) { it.fqName }
3333
}
3434

35-
class ViewGroupRenderer(config: AnkoConfiguration) : AbstractViewRenderer(config) {
35+
internal class ViewGroupRenderer(config: AnkoConfiguration) : AbstractViewRenderer(config) {
3636
override fun processElements(state: GenerationState) =
3737
renderViews(state[ViewGroupGenerator::class.java]) { "_" + it.simpleName }
3838
}
@@ -46,7 +46,7 @@ class ViewFactoryClass(val config: AnkoConfiguration, val suffix: String) {
4646
fun render(): String {
4747
if (entries.isEmpty()) return ""
4848

49-
return StringBuilder {
49+
return StringBuilder().apply {
5050
appendln("object $fullName {")
5151
entries.forEach { append(config.indent).appendln(it) }
5252
appendln("}").appendln()
@@ -60,12 +60,12 @@ private abstract class AbstractViewRenderer(
6060

6161
override val renderIf: Array<ConfigurationOption> = arrayOf(AnkoFile.VIEWS, ConfigurationTune.HELPER_CONSTRUCTORS)
6262

63-
protected fun renderViews(views: Iterable<ViewElement>, nameResolver: (ClassNode) -> String): String = StringBuilder {
63+
protected fun renderViews(views: Iterable<ViewElement>, nameResolver: (ClassNode) -> String): String = StringBuilder().apply {
6464
val renderViews = config[AnkoFile.VIEWS]
6565
val renderHelperConstructors = config[ConfigurationTune.HELPER_CONSTRUCTORS]
6666

6767
val factoryClass = ViewFactoryClass(config, this@AbstractViewRenderer.javaClass.simpleName.replace("Renderer", ""))
68-
val functions = StringBuilder {
68+
val functions = StringBuilder().apply {
6969
for (view in views.filter { !it.clazz.isAbstract }) {
7070
if (renderViews) renderView(view.clazz, view.isContainer, nameResolver(view.clazz), factoryClass)
7171

@@ -126,7 +126,7 @@ private abstract class AbstractViewRenderer(
126126
}
127127
}
128128

129-
private fun renderHelperConstructors(view: ViewElement, factoryClass: ViewFactoryClass) = StringBuilder {
129+
private fun renderHelperConstructors(view: ViewElement, factoryClass: ViewFactoryClass) = StringBuilder().apply {
130130
val className = view.fqName
131131

132132
val (className21, functionName) = handleTintedView(view.clazz, className)
@@ -171,10 +171,10 @@ private abstract class AbstractViewRenderer(
171171
return properties.map { property ->
172172
val methodName = "set" + property.name.capitalize()
173173
val methods = view.allMethods.filter {
174-
it.name == methodName && it.args.size() == 1 && it.args[0].fqName.endsWith(property.type)
174+
it.name == methodName && it.args.size == 1 && it.args[0].fqName.endsWith(property.type)
175175
}
176176

177-
when (methods.size()) {
177+
when (methods.size) {
178178
0 -> throw RuntimeException("Can't find a method $methodName for helper constructor ${view.fqName}($properties)")
179179
1 -> {}
180180
else -> throw RuntimeException("There are several methods $methodName for helper constructor ${view.fqName}($properties)")
@@ -186,7 +186,7 @@ private abstract class AbstractViewRenderer(
186186

187187
private fun handleTintedView(view: ClassNode, className: String): Pair<String?, String> {
188188
val tinted = view.isTinted()
189-
val className21 = if (tinted) className.substring(APP_COMPAT_VIEW_PREFIX.length()) else null
189+
val className21 = if (tinted) className.substring(APP_COMPAT_VIEW_PREFIX.length) else null
190190
val functionName = if (tinted) "tinted$className21" else view.simpleName.decapitalize()
191191
return className21 to functionName
192192
}

dsl/src/org/jetbrains/android/anko/sources/SourceManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class SourceManager(private val provider: SourceProvider) {
3434
object : VoidVisitorAdapter<Any>() {
3535
override fun visit(method: MethodDeclaration, arg: Any?) {
3636
if (done) return
37-
if (methodName != method.name || argumentJavaTypes.size() != method.parameters.size()) return
37+
if (methodName != method.name || argumentJavaTypes.size != method.parameters.size) return
3838
if (method.getParentClassName() != className) return
3939

4040
val parameters = method.parameters

dsl/src/org/jetbrains/android/anko/sources/sourceProviders.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class AndroidHomeSourceProvider(version: Int) : SourceProvider {
4141
val packageDir = File(baseDir, packageName.replace('.', '/'))
4242
if (!packageDir.exists()) return null
4343

44-
val filename = fqName.substring(packageName.length() + 1).substringBefore('.') + ".java"
44+
val filename = fqName.substring(packageName.length + 1).substringBefore('.') + ".java"
4545
val file = File(packageDir, filename)
4646
if (!file.exists()) return null
4747

dsl/src/org/jetbrains/android/anko/utils/Buffer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,10 @@ class Buffer(private val indentString: String, indent: Int = 0, val init: Buffer
7272
}
7373

7474
val size: Int
75-
get() = builder.length()
75+
get() = builder.length
7676

7777
val isEmpty: Boolean
78-
get() = builder.length() == 0
78+
get() = builder.length == 0
7979

8080
override fun toString() = builder.toString()
8181

dsl/src/org/jetbrains/android/anko/utils/ClassInfo.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import org.objectweb.asm.tree.ClassNode
2222
import org.objectweb.asm.tree.InnerClassNode
2323
import org.objectweb.asm.tree.MethodNode
2424

25-
internal data class MethodNodeWithClass(var clazz: ClassNode, val method: MethodNode) {
25+
data class MethodNodeWithClass(var clazz: ClassNode, val method: MethodNode) {
2626
val identifier = "${clazz.fqName}#${method.name}"
2727
}
2828

dsl/src/org/jetbrains/android/anko/utils/ClassTree.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ class ClassTree : Iterable<ClassNode>{
110110
}
111111
}
112112

113-
internal class ClassTreeIterator(var next: ClassTreeNode) : Iterator<ClassNode> {
113+
class ClassTreeIterator(var next: ClassTreeNode) : Iterator<ClassNode> {
114114

115115
var nodeQueue: Queue<ClassTreeNode> = ArrayDeque(next.children)
116116

dsl/src/org/jetbrains/android/anko/utils/MethodInfo.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ internal fun MethodNodeWithClass.processArguments(
7878
nameIndex += arg.size
7979
}
8080

81-
if ( buffer.length() >= 2) buffer.delete(buffer.length() - 2, buffer.length())
81+
if ( buffer.length >= 2) buffer.delete(buffer.length - 2, buffer.length)
8282
return buffer.toString()
8383
}
8484

@@ -118,15 +118,15 @@ internal fun MethodNodeWithClass.formatArgumentsNames(config: AnkoConfiguration)
118118

119119

120120
fun MethodNode.isGetter(): Boolean {
121-
val isNonBooleanGetter = name.startsWith("get") && name.length() > 3 && Character.isUpperCase(name.charAt(3))
122-
val isBooleanGetter = name.startsWith("is") && name.length() > 2 && Character.isUpperCase(name.charAt(2))
121+
val isNonBooleanGetter = name.startsWith("get") && name.length > 3 && Character.isUpperCase(name[3])
122+
val isBooleanGetter = name.startsWith("is") && name.length > 2 && Character.isUpperCase(name[2])
123123

124124
return (isNonBooleanGetter || isBooleanGetter) && args.isEmpty() && !returnType.isVoid && isPublic
125125
}
126126

127127
internal fun MethodNode.isNonListenerSetter(): Boolean {
128-
val isSetter = name.startsWith("set") && name.length() > 3 && Character.isUpperCase(name.charAt(3))
129-
return isSetter && !(isListenerSetter() || name.endsWith("Listener")) && args.size() == 1 && isPublic
128+
val isSetter = name.startsWith("set") && name.length > 3 && Character.isUpperCase(name[3])
129+
return isSetter && !(isListenerSetter() || name.endsWith("Listener")) && args.size == 1 && isPublic
130130
}
131131

132132
internal val MethodNode.isConstructor: Boolean

dsl/src/org/jetbrains/android/anko/utils/SignatureParser.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ internal fun parseGenericMethodSignature(signature: String): GenericMethodSignat
9393

9494
override fun visitParameterType(): SignatureVisitor {
9595
val parameterType = GenericTypeImpl()
96-
val param = ValueParameter(valueParameters.size(), parameterType)
96+
val param = ValueParameter(valueParameters.size, parameterType)
9797
valueParameters.add(param)
9898
return GenericTypeParser(parameterType)
9999
}

0 commit comments

Comments
 (0)