All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jtransc.plugin.enum.EnumJTranscPlugin.kt Maven / Gradle / Ivy

package com.jtransc.plugin.enum

import com.jtransc.ast.*
import com.jtransc.ast.treeshaking.TreeShakingApi
import com.jtransc.plugin.JTranscPlugin

/**
 * Plugin that include values() method from enums
 */
class EnumJTranscPlugin : JTranscPlugin() {
	override fun onTreeShakingAddBasicClass(treeShaking: TreeShakingApi, fqname: FqName, oldclass: AstClass, newclass: AstClass) {
		if (oldclass.modifiers.isEnum && oldclass.extending == java.lang.Enum::class.java.fqname) {
			treeShaking.addMethod(AstMethodRef(fqname, "values", AstType.METHOD(ARRAY(oldclass.astType), listOf())), "EnumJTranscPlugin")
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy