Kotlin反射从父类获取子类成员属性
摘要:背景 有部分需求需要反射获取相关信息,例如,由于子类太多100+,需要在父类写toString方法涵盖子类的相关信息 实现过程 逻辑通过反射获取子类构造方法的参数 通过当前实例调用参数的获取方法,获取参数值 在父类的toString中输出和组建toString 代码 获取构造方法的参数 val pc
阅读全文
posted @
2023-10-12 10:47
流浪的夜空
阅读(188)
推荐(0) 编辑
Kotlin源码分析
摘要:Compiler目录 cli src下面的是命令行下的编译入口,包括了jvm,重点是K2JVMCompiler执行编译过程和命令行接口 CLITool |--CLICompiler |--K2JSCompiler |--K2JsIrComiler |--K2JVMCompiler |--K2Meta
阅读全文
posted @
2023-05-09 17:07
流浪的夜空
阅读(64)
推荐(0) 编辑
Kotlin属性委托
摘要:业务定义 对于属性,我们可以读取(get)和赋值(set),在Java中会定义get和set方法来操作属性,Kotlin的属性建议直接操作,一些业务的要求会对属性有额外的功能需求,在Java中会在get和set中做逻辑去实现功能需求,kotlin叫做属性委托,单独承载这部分业务,由于set和get的
阅读全文
posted @
2023-02-15 09:10
流浪的夜空
阅读(109)
推荐(0) 编辑
Kotlin源码分析 - 元编程(使用自身语言编写生成自身代码)
摘要:Kotlin源码分析 Kotlin模块FIR分析发现,在生成fir tree的时候,kotlin使用了元编程的技术,以前看到这个技术还是在JastAdd上,使用jastadd语法去写代码,生成Java代码,使用切面编程的思想,由Jastadd去把这个逻辑生成Java源码的过程,可以保证了源码的整洁和
阅读全文
posted @
2023-02-14 14:58
流浪的夜空
阅读(170)
推荐(0) 编辑
IDEA EduTools Plugin Learning Cause
摘要:背景 编程培训需求,能够检测学生的输入内容与预期一致,有课程大纲 IDEA Plugin EduTools 是一个非常出色的培训工具,具备在IDE中学习,能够通过单元测试验证正确错误,能够设置用户输入的地方,能够空缺位置让用户输入,有插件版本,还可以提供Web平台,可以在线选择课程,可以课程分享和制
阅读全文
posted @
2023-01-03 22:56
流浪的夜空
阅读(24)
推荐(0) 编辑
基于Kotlin和Canvas的跨终端设计
摘要:背景 js弱类型非常混乱,不适合开发超过2w行代码的独立应用(普通Web除外) Web端和桌面端是主流工具应用的生存地 Canvas又是一个新兴的领域,能够提供多种多样的工具支持 设计一个基于Canvas,并且能够多端使用的应用还是比较重要的 设计 使用Kotlin作为开发语言 设计一些Canvas
阅读全文
posted @
2022-12-05 16:49
流浪的夜空
阅读(69)
推荐(0) 编辑