| 
 | 
fun addClass(classSpec: ClassSpec): Unit | 
| 
 | 
fun addField(fieldSpec: FieldSpec): Unit | 
| 
 | 
fun addMethod(methodSpec: MethodSpec): Unit | 
| 
 | 
fun addType(typeSpec: TypeSpec): Unit | 
| 
 | 
fun classDecl(name: String, modifiers: List<Modifier> = emptyList(), annotations: List<AnnotationSpec> = emptyList(), implements: List<TypeName> = emptyList(), extends: TypeName? = null, block: ClassSpecFunc): ClassSpec 
fun classDecl(name: ClassName, modifiers: List<Modifier> = emptyList(), annotations: List<AnnotationSpec> = emptyList(), implements: List<TypeName> = emptyList(), extends: TypeName? = null, block: ClassSpecFunc): ClassSpec | 
| 
 | 
fun constructorDecl(parameters: List<ParameterSpec> = emptyList(), modifiers: List<Modifier> = emptyList(), annotations: List<AnnotationSpec> = emptyList(), throws: List<TypeName> = emptyList(), varargs: Boolean = false, body: ConstructorCodeFunc): MethodSpec | 
| 
 | 
fun fieldDecl(type: TypeName, name: String, modifiers: List<Modifier> = emptyList(), annotations: List<AnnotationSpec> = emptyList(), initializer: CodeExpression? = null): FieldSpec 
fun fieldDecl(type: Type, name: String, modifiers: List<Modifier> = emptyList(), annotations: List<AnnotationSpec> = emptyList(), initializer: CodeExpression? = null): FieldSpec 
fun fieldDecl(type: KClass<*>, name: String, modifiers: List<Modifier> = emptyList(), annotations: List<AnnotationSpec> = emptyList(), initializer: CodeExpression? = null): FieldSpec | 
| 
 | 
fun initializerBlockDecl(block: CodeFunc): Unit | 
| 
 | 
fun methodDecl(name: String, parameters: List<ParameterSpec> = emptyList(), modifiers: List<Modifier> = emptyList(), annotations: List<AnnotationSpec> = emptyList(), throws: List<TypeName> = emptyList(), varargs: Boolean = false, body: MethodCodeFunc? = null): MethodSpec 
fun methodDecl(returns: TypeName, name: String, parameters: List<ParameterSpec> = emptyList(), modifiers: List<Modifier> = emptyList(), annotations: List<AnnotationSpec> = emptyList(), throws: List<TypeName> = emptyList(), varargs: Boolean = false, body: MethodCodeFunc? = null): MethodSpec 
fun methodDecl(returns: Type, name: String, parameters: List<ParameterSpec> = emptyList(), modifiers: List<Modifier> = emptyList(), annotations: List<AnnotationSpec> = emptyList(), throws: List<TypeName> = emptyList(), varargs: Boolean = false, body: MethodCodeFunc? = null): MethodSpec 
fun methodDecl(returns: KClass<*>, name: String, parameters: List<ParameterSpec> = emptyList(), modifiers: List<Modifier> = emptyList(), annotations: List<AnnotationSpec> = emptyList(), throws: List<TypeName> = emptyList(), varargs: Boolean = false, body: MethodCodeFunc? = null): MethodSpec | 
| 
 | 
fun staticInitializerBlockDecl(block: CodeFunc): Unit |