org.jetbrains.jet.codegen
Class DelegatingClassBuilder

java.lang.Object
  extended by org.jetbrains.jet.codegen.DelegatingClassBuilder
All Implemented Interfaces:
ClassBuilder
Direct Known Subclasses:
ClassBuilderOnDemand, OptimizationClassBuilder, RemappingClassBuilder

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


Constructor Summary
DelegatingClassBuilder()
           
 
Method Summary
 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()
           
protected abstract  ClassBuilder getDelegate()
           
 JvmSerializationBindings getSerializationBindings()
           
 java.lang.String getThisName()
           
 org.jetbrains.org.objectweb.asm.ClassVisitor getVisitor()
           
 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
 

Constructor Detail

DelegatingClassBuilder

public DelegatingClassBuilder()
Method Detail

getDelegate

@NotNull
protected abstract ClassBuilder getDelegate()

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

getVisitor

@NotNull
public org.jetbrains.org.objectweb.asm.ClassVisitor getVisitor()
Specified by:
getVisitor 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