org.jetbrains.kotlin.codegen
Class AbstractClassBuilder

java.lang.Object
  extended by org.jetbrains.kotlin.codegen.AbstractClassBuilder
All Implemented Interfaces:
ClassBuilder
Direct Known Subclasses:
AbstractClassBuilder.Concrete, StubClassBuilder

public abstract class AbstractClassBuilder
extends java.lang.Object
implements ClassBuilder


Nested Class Summary
static class AbstractClassBuilder.Concrete
           
 
Field Summary
protected static org.jetbrains.org.objectweb.asm.FieldVisitor EMPTY_FIELD_VISITOR
           
protected static org.jetbrains.org.objectweb.asm.MethodVisitor EMPTY_METHOD_VISITOR
           
 
Constructor Summary
AbstractClassBuilder()
           
 
Method Summary
 void addSMAP(FileMapping mapping)
           
 void defineClass(com.intellij.psi.PsiElement origin, int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
           
 void done()
           
 JvmSerializationBindings getSerializationBindings()
           
 java.lang.String getThisName()
           
 org.jetbrains.org.objectweb.asm.AnnotationVisitor newAnnotation(java.lang.String desc, boolean visible)
           
 org.jetbrains.org.objectweb.asm.FieldVisitor newField(JvmDeclarationOrigin origin, int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
           
 org.jetbrains.org.objectweb.asm.MethodVisitor newMethod(JvmDeclarationOrigin origin, int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
           
 void visitInnerClass(java.lang.String name, java.lang.String outerName, java.lang.String innerName, int access)
           
 void visitOuterClass(java.lang.String owner, java.lang.String name, java.lang.String desc)
           
 void visitSource(java.lang.String name, java.lang.String debug)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jetbrains.kotlin.codegen.ClassBuilder
getVisitor
 

Field Detail

EMPTY_METHOD_VISITOR

protected static final org.jetbrains.org.objectweb.asm.MethodVisitor EMPTY_METHOD_VISITOR

EMPTY_FIELD_VISITOR

protected static final org.jetbrains.org.objectweb.asm.FieldVisitor EMPTY_FIELD_VISITOR
Constructor Detail

AbstractClassBuilder

public AbstractClassBuilder()
Method Detail

newField

@NotNull
public org.jetbrains.org.objectweb.asm.FieldVisitor newField(@NotNull
                                                                     JvmDeclarationOrigin origin,
                                                                     int access,
                                                                     @NotNull
                                                                     java.lang.String name,
                                                                     @NotNull
                                                                     java.lang.String desc,
                                                                     @Nullable
                                                                     java.lang.String signature,
                                                                     @Nullable
                                                                     java.lang.Object value)
Specified by:
newField in interface ClassBuilder

newMethod

@NotNull
public org.jetbrains.org.objectweb.asm.MethodVisitor newMethod(@NotNull
                                                                       JvmDeclarationOrigin origin,
                                                                       int access,
                                                                       @NotNull
                                                                       java.lang.String name,
                                                                       @NotNull
                                                                       java.lang.String desc,
                                                                       @Nullable
                                                                       java.lang.String signature,
                                                                       @Nullable
                                                                       java.lang.String[] exceptions)
Specified by:
newMethod in interface ClassBuilder

getSerializationBindings

@NotNull
public JvmSerializationBindings getSerializationBindings()
Specified by:
getSerializationBindings in interface ClassBuilder

newAnnotation

@NotNull
public org.jetbrains.org.objectweb.asm.AnnotationVisitor newAnnotation(@NotNull
                                                                               java.lang.String desc,
                                                                               boolean visible)
Specified by:
newAnnotation in interface ClassBuilder

done

public void done()
Specified by:
done in interface ClassBuilder

defineClass

public void defineClass(@Nullable
                        com.intellij.psi.PsiElement origin,
                        int version,
                        int access,
                        @NotNull
                        java.lang.String name,
                        @Nullable
                        java.lang.String signature,
                        @NotNull
                        java.lang.String superName,
                        @NotNull
                        java.lang.String[] interfaces)
Specified by:
defineClass in interface ClassBuilder

visitSource

public void visitSource(@NotNull
                        java.lang.String name,
                        @Nullable
                        java.lang.String debug)
Specified by:
visitSource in interface ClassBuilder

visitOuterClass

public void visitOuterClass(@NotNull
                            java.lang.String owner,
                            @Nullable
                            java.lang.String name,
                            @Nullable
                            java.lang.String desc)
Specified by:
visitOuterClass in interface ClassBuilder

visitInnerClass

public void visitInnerClass(@NotNull
                            java.lang.String name,
                            @Nullable
                            java.lang.String outerName,
                            @Nullable
                            java.lang.String innerName,
                            int access)
Specified by:
visitInnerClass in interface ClassBuilder

getThisName

@NotNull
public java.lang.String getThisName()
Specified by:
getThisName in interface ClassBuilder

addSMAP

public void addSMAP(FileMapping mapping)
Specified by:
addSMAP in interface ClassBuilder