01编译器插件入门
编译器插件是什么 · 为什么需要 · 架构概览
02开发环境搭建
Gradle配置 · 编译器源码编译 · IDE插件环境
03第一个编译器插件
创建Gradle项目 · 注册插件 · 编写IR转换
04Kotlin IR中间表示
IR概念 · 树结构 · 元素类型 · IR构建器
05IR访问与转换
访问者模式 · IR转换器 · 修改IR树实战
06符号与描述符
符号解析 · 描述符系统 · 查找类与函数
07注解处理
自定义注解 · 注解处理器 · 编译期读取注解
08代码生成基础
生成函数 · 生成类 · 生成属性
09生成控制流
if-else · when表达式 · 循环生成
10生成表达式
方法调用 · 属性访问 · lambda表达式
11类型系统操作
类型解析 · 泛型处理 · 类型转换
12编译器插件测试
单元测试框架 · IR比对 · 集成测试
13插件配置与扩展
命令行参数 · Gradle扩展 · 多模块支持
14源码到IR的映射
源码位置追踪 · 行号映射 · 调试信息
15编译器插件与Lint
自定义检查规则 · 编译期报错 · 警告输出
16性能优化
IR缓存 · 增量编译 · 避免重复计算
17跨平台编译器插件
JVM · JS · Native目标支持
18与KSP集成
KSP简介 · 在插件中使用KSP · 符号处理
19序列化代码生成
自动生成序列化方法 · Parcelable实现
20依赖注入代码生成
生成工厂类 · 模块注册代码
21状态管理代码生成
生成状态机 · Redux样板代码
22数据库ORM代码生成
生成表映射 · 查询方法
23网络请求代码生成
生成API接口 · 参数封装
24插件发布与分发
Maven Central · Gradle Plugin Portal
25调试编译器插件
断点调试 · 日志输出 · IR dump
26编译器插件安全
沙箱机制 · 代码注入防护 · 权限控制
27与Lombok对比
Kotlin插件 vs Lombok · 优劣 · 迁移策略