org.jetbrains.jet.codegen
Class ClassFileFactory

java.lang.Object
  extended by org.jetbrains.jet.codegen.binding.BindingContextAware
      extended by org.jetbrains.jet.codegen.binding.BindingTraceAware
          extended by org.jetbrains.jet.codegen.state.TypeMapperAware
              extended by org.jetbrains.jet.codegen.state.GenerationStateAware
                  extended by org.jetbrains.jet.codegen.ClassFileFactory

public final class ClassFileFactory
extends GenerationStateAware


Field Summary
 
Fields inherited from class org.jetbrains.jet.codegen.state.GenerationStateAware
state
 
Fields inherited from class org.jetbrains.jet.codegen.state.TypeMapperAware
typeMapper
 
Fields inherited from class org.jetbrains.jet.codegen.binding.BindingTraceAware
bindingTrace
 
Fields inherited from class org.jetbrains.jet.codegen.binding.BindingContextAware
bindingContext
 
Constructor Summary
ClassFileFactory(GenerationState state)
           
 
Method Summary
 java.util.List<OutputFile> asList()
           
 java.lang.String createText()
           
 ClassBuilder forClassImplementation(ClassDescriptor aClass, com.intellij.psi.PsiFile sourceFile)
           
 ClassBuilder forLambdaInlining(org.jetbrains.asm4.Type lambaType, com.intellij.psi.PsiFile sourceFile)
           
 PackageCodegen forPackage(FqName fqName, java.util.Collection<JetFile> files)
           
 ClassBuilder forPackagePart(org.jetbrains.asm4.Type asmType, com.intellij.psi.PsiFile sourceFile)
           
 ClassBuilder forTraitImplementation(ClassDescriptor aClass, GenerationState state, com.intellij.psi.PsiFile file)
           
 OutputFile get(java.lang.String relativePath)
           
 void removeInlinedClasses(java.util.Set<java.lang.String> classNamesToRemove)
           
 void setBuilderFactory(ClassBuilderFactory builderFactory)
           
 
Methods inherited from class org.jetbrains.jet.codegen.state.GenerationStateAware
getState
 
Methods inherited from class org.jetbrains.jet.codegen.state.TypeMapperAware
getTypeMapper
 
Methods inherited from class org.jetbrains.jet.codegen.binding.BindingTraceAware
getBindingTrace
 
Methods inherited from class org.jetbrains.jet.codegen.binding.BindingContextAware
getBindingContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassFileFactory

public ClassFileFactory(@NotNull
                        GenerationState state)
Method Detail

setBuilderFactory

@Inject
public void setBuilderFactory(@NotNull
                                     ClassBuilderFactory builderFactory)

asList

@NotNull
public java.util.List<OutputFile> asList()

get

@Nullable
public OutputFile get(@NotNull
                               java.lang.String relativePath)

createText

public java.lang.String createText()

forPackage

public PackageCodegen forPackage(FqName fqName,
                                 java.util.Collection<JetFile> files)

forClassImplementation

public ClassBuilder forClassImplementation(ClassDescriptor aClass,
                                           com.intellij.psi.PsiFile sourceFile)

forLambdaInlining

public ClassBuilder forLambdaInlining(org.jetbrains.asm4.Type lambaType,
                                      com.intellij.psi.PsiFile sourceFile)

forPackagePart

@NotNull
public ClassBuilder forPackagePart(@NotNull
                                           org.jetbrains.asm4.Type asmType,
                                           @NotNull
                                           com.intellij.psi.PsiFile sourceFile)

forTraitImplementation

@NotNull
public ClassBuilder forTraitImplementation(@NotNull
                                                   ClassDescriptor aClass,
                                                   @NotNull
                                                   GenerationState state,
                                                   @NotNull
                                                   com.intellij.psi.PsiFile file)

removeInlinedClasses

public void removeInlinedClasses(java.util.Set<java.lang.String> classNamesToRemove)