Jayden
12/09/2019, 10:14 PMgirafferson
12/10/2019, 3:40 AMandroid {
defaultConfig {
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner
}}
Joey
12/10/2019, 5:36 AMList<String>
from a coroutine? My current code is this one but its kinda slow and affects my UI in android
fun fetchUsers(): List<String> {
val heartbeatApi = HeartbeatApi()
val users = runBlocking {
withContext(Dispatchers.Default) {heartbeatApi.fetchUsers() }
}
return users
}
Ashutosh Panda
12/10/2019, 7:48 AMclass book(){
var pages:Int=300
}
class puppy(b: book)
{
fun removePages():Int=b.pages-Random().nextInt(0,100)
}
fun book.getWeight():Double=pages*1.5
val hamlet=book()
val puppy=puppy(hamlet)
fun book.CountPages(i:Int):Int=pages-i
println("${hamlet.CountPages(20) } \n")
println("${hamlet.getWeight()} \n")
println("${puppy.removePages()+hamlet.CountPages(20)}")
Hoanghun5
12/10/2019, 12:50 PMeekboom
12/10/2019, 2:07 PMKris Wong
12/10/2019, 4:53 PMloop@ for ((key, value) in jsonEvent.getObject("properties").content) {
when (value) {
is JsonArray -> {
}
is JsonPrimitive -> {
value.booleanOrNull?.let {
event.properties[key] = it
return/break??
}
}
}
}
pniederw
12/10/2019, 8:18 PMwhen
had better smart casts. I'm often hitting this case:
open class Animal
class Cat : Animal()
class Dog : Animal()
when (any) {
is Cat, is Dog -> // I wish `any` had type `Animal` here, not `Any`
}
Slackbot
12/10/2019, 10:02 PMShootingStar
12/11/2019, 12:41 AMjava-library
plugin even though I already use kotlin gradle plugin?Aiden
12/11/2019, 3:10 AMKyooSik Lee
12/11/2019, 9:20 AMfun someFunction(something: Foo): Mono<Foo> {
var zoo: Foo = Foo();
fooRepository.find()
.doOnNext { zoo = functionThatReturnsZoo() } // change the value of zoo
.flatMap { ... }
.flatMap { fooRepository.save(zoo) } // use zoo
}
Will this be functional too?XQDD
12/11/2019, 9:29 AMtrathschlag
12/11/2019, 12:48 PMfun test() {
tailrec suspend fun Int.handle(): Int {
return when {
this <= 0 -> 0
else -> (this - 1).handle()
}
}
}
=>trathschlag
12/11/2019, 12:48 PMe: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtNamedFunction
File being compiled at position: [...]
The root cause java.lang.AssertionError was thrown at: org.jetbrains.kotlin.codegen.context.MethodContext.getReceiverExpression(MethodContext.java:66)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:324)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.genStatement(ExpressionCodegen.java:407)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.generateBlock(ExpressionCodegen.java:1269)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.generateBlock(ExpressionCodegen.java:1214)
at org.jetbrains.kotlin.codegen.CodegenStatementVisitor.visitBlockExpression(CodegenStatementVisitor.java:56)
at org.jetbrains.kotlin.codegen.CodegenStatementVisitor.visitBlockExpression(CodegenStatementVisitor.java:22)
at org.jetbrains.kotlin.psi.KtBlockExpression.accept(KtBlockExpression.java:78)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:302)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.genStatement(ExpressionCodegen.java:407)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.gen(ExpressionCodegen.java:364)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.returnExpression(ExpressionCodegen.java:1701)
at org.jetbrains.kotlin.codegen.FunctionGenerationStrategy$FunctionDefault.doGenerateBody(FunctionGenerationStrategy.java:64)
at org.jetbrains.kotlin.codegen.FunctionGenerationStrategy$CodegenBased.generateBody(FunctionGenerationStrategy.java:84)
at org.jetbrains.kotlin.codegen.FunctionCodegen.generateMethodBody(FunctionCodegen.java:666)
at org.jetbrains.kotlin.codegen.FunctionCodegen.generateMethodBody(FunctionCodegen.java:473)
at org.jetbrains.kotlin.codegen.FunctionCodegen.generateMethod(FunctionCodegen.java:260)
at org.jetbrains.kotlin.codegen.FunctionCodegen.generateMethod(FunctionCodegen.java:176)
at org.jetbrains.kotlin.codegen.FunctionCodegen.gen(FunctionCodegen.java:147)
at org.jetbrains.kotlin.codegen.MemberCodegen.genSimpleMember(MemberCodegen.java:197)
at org.jetbrains.kotlin.codegen.PackagePartCodegen.generateBody(PackagePartCodegen.java:95)
at org.jetbrains.kotlin.codegen.MemberCodegen.generate(MemberCodegen.java:129)
at org.jetbrains.kotlin.codegen.PackageCodegenImpl.generateFile(PackageCodegenImpl.java:148)
at org.jetbrains.kotlin.codegen.PackageCodegenImpl.generate(PackageCodegenImpl.java:68)
at org.jetbrains.kotlin.codegen.DefaultCodegenFactory.generatePackage(CodegenFactory.kt:96)
at org.jetbrains.kotlin.codegen.DefaultCodegenFactory.generateModule(CodegenFactory.kt:67)
at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.doGenerateFiles(KotlinCodegenFacade.java:47)
at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.compileCorrectFiles(KotlinCodegenFacade.java:39)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.generate(KotlinToJVMBytecodeCompiler.kt:637)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:195)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:165)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:55)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:84)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:42)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:104)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:349)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:105)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally(IncrementalCompilerRunner.kt:237)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:88)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:606)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:99)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1645)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.AssertionError
at org.jetbrains.kotlin.codegen.context.MethodContext.getReceiverExpression(MethodContext.java:66)
at org.jetbrains.kotlin.codegen.TailRecursionCodegen.generateTailRecursion(TailRecursionCodegen.kt:62)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.invokeMethodWithArguments(ExpressionCodegen.java:2511)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.invokeMethodWithArguments(ExpressionCodegen.java:2476)
at org.jetbrains.kotlin.codegen.Callable$invokeMethodWithArguments$1.invoke(Callable.kt:41)
at org.jetbrains.kotlin.codegen.Callable$invokeMethodWithArguments$1.invoke(Callable.kt:13)
at org.jetbrains.kotlin.codegen.OperationStackValue.putSelector(StackValue.kt:79)
at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:122)
at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:115)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.putStackValue(ExpressionCodegen.java:384)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.gen(ExpressionCodegen.java:365)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.lambda$generateWhenExpression$36(ExpressionCodegen.java:5028)
at org.jetbrains.kotlin.codegen.OperationStackValue.putSelector(StackValue.kt:79)
at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:122)
at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:115)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.putStackValue(ExpressionCodegen.java:384)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.lambda$visitReturnExpression$11(ExpressionCodegen.java:1612)
at org.jetbrains.kotlin.codegen.OperationStackValue.putSelector(StackValue.kt:79)
at org.jetbrains.kotlin.codegen.StackValueWithLeaveTask.putSelector(StackValue.kt:67)
at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:122)
at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:115)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.putStackValue(ExpressionCodegen.java:384)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.gen(ExpressionCodegen.java:365)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.returnExpression(ExpressionCodegen.java:1701)
at org.jetbrains.kotlin.codegen.FunctionGenerationStrategy$FunctionDefault.doGenerateBody(FunctionGenerationStrategy.java:64)
at org.jetbrains.kotlin.codegen.coroutines.CoroutineCodegenForLambda$generateResumeImpl$1.doGenerateBody(CoroutineCodegen.kt:498)
at org.jetbrains.kotlin.codegen.FunctionGenerationStrategy$CodegenBased.generateBody(FunctionGenerationStrategy.java:84)
at org.jetbrains.kotlin.codegen.FunctionCodegen.generateMethodBody(FunctionCodegen.java:666)
at org.jetbrains.kotlin.codegen.FunctionCodegen.generateMethodBody(FunctionCodegen.java:473)
at org.jetbrains.kotlin.codegen.FunctionCodegen.generateMethod(FunctionCodegen.java:260)
at org.jetbrains.kotlin.codegen.FunctionCodegen.generateMethod(FunctionCodegen.java:176)
at org.jetbrains.kotlin.codegen.coroutines.CoroutineCodegenForLambda.generateResumeImpl(CoroutineCodegen.kt:464)
at org.jetbrains.kotlin.codegen.coroutines.CoroutineCodegenForLambda.generateClosureBody(CoroutineCodegen.kt:239)
at org.jetbrains.kotlin.codegen.ClosureCodegen.generateBody(ClosureCodegen.java:169)
at org.jetbrains.kotlin.codegen.coroutines.CoroutineCodegenForLambda.generateBody(CoroutineCodegen.kt:247)
at org.jetbrains.kotlin.codegen.MemberCodegen.generate(MemberCodegen.java:129)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.genClosure(ExpressionCodegen.java:1031)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.genClosure(ExpressionCodegen.java:1001)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.visitNamedFunction(ExpressionCodegen.java:973)
at org.jetbrains.kotlin.codegen.CodegenStatementVisitor.visitNamedFunction(CodegenStatementVisitor.java:46)
at org.jetbrains.kotlin.codegen.CodegenStatementVisitor.visitNamedFunction(CodegenStatementVisitor.java:22)
at org.jetbrains.kotlin.psi.KtNamedFunction.accept(KtNamedFunction.java:50)
at org.jetbrains.kotlin.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:302)
... 57 more
Brian Estrada
12/11/2019, 1:32 PMsilvio
12/11/2019, 1:48 PMJohn
12/11/2019, 3:54 PMOr Cohen
12/11/2019, 4:26 PMPacane
12/11/2019, 10:20 PMMyEntity.new
in that layer, otherwise it complains that there's no transaction context.Joseph PH
12/12/2019, 4:53 AMfun foo(useHttps: Boolean, conn: URLConnection): <Return type should either be HttpURLConnection/HttpURLsConnection> {
// Logic here
return URLConnection as HttpURLConnection/HttpURLsConnection // based on config?
}
tony
12/12/2019, 8:01 AMimplementation
or api
. To do that, I need to know the ABI of a set of compiled .class files. I'd like a tool like ASM, but for Kotlin. I have found https://github.com/JetBrains/kotlin/tree/master/libraries/kotlinx-metadata/jvm, which is interesting, but it seems like it currently requires an actual KClass instance, when ideally I could just feed it a byte array (as in ASM)Alexjok
12/12/2019, 12:12 PMclass TypeClass<T>(
private val returnResultAs: Class<T>
) {
fun testCast(value: String): Result<Any, Exception> = when (returnResultAs) {
is String -> Result.of { value }
else -> Result.of { Gson().fromJson(value, returnResultAs) }
}
}
But if i added
returnResultAs as Any
it works.
class TypeClass<T>(
private val returnResultAs: Class<T>
) {
fun testCast(value: String): Result<Any, Exception> = when (returnResultAs as Any) {
is String -> Result.of { value }
else -> Result.of { Gson().fromJson(value, returnResultAs) }
}
}
Ashutosh Panda
12/12/2019, 1:03 PMAdalPari
12/12/2019, 2:49 PM(1..9).fold("a", { last, current -> last + current })
This just returns a123456789 but I actually need to create the following list: { "a1", "a12", "a123", "a1234", .. }
I would be more like a map but knowing previous element:
(1..9).map { "$previousElement$it" }
Kris Wong
12/12/2019, 8:14 PMKroppeb
12/12/2019, 9:17 PM::gcd
is referencing the Iterable<Int>.gcd()
instead of gcd(Int, Int)
.
Swapping ::gcd
to ::helpers.gcd
gives Unresolved reference: helpers
but renaming the function to something else and then back to gcd
will swap it to ::helpers.gcd
which is marked red with Internal Error occured while analyzing this expression
. How should I fix?Mehdi
12/13/2019, 12:51 AMbasher
12/13/2019, 2:19 AMAndreas Jost
12/13/2019, 9:15 AMAndreas Jost
12/13/2019, 9:15 AMstreetsofboston
12/13/2019, 9:40 AMfilter
on it. For large lists and if you call many operators on the list, you may want to convert it to a Sequence
.Andreas Jost
12/13/2019, 9:46 AMstreetsofboston
12/13/2019, 10:03 AMAndreas Jost
12/13/2019, 10:05 AMMatteo Mirk
12/24/2019, 9:36 AMlist.filter {}
and be fine. I support what Anton said: don’t optimize prematurely, only if you experience a slow execution.