org.jetbrains.jet.lang.resolve.scopes
Class WriteThroughScope

java.lang.Object
  extended by org.jetbrains.jet.lang.resolve.scopes.AbstractScopeAdapter
      extended by org.jetbrains.jet.lang.resolve.scopes.JetScopeAdapter
          extended by org.jetbrains.jet.lang.resolve.scopes.WritableScopeWithImports
              extended by org.jetbrains.jet.lang.resolve.scopes.WriteThroughScope
All Implemented Interfaces:
JetScope, WritableScope

public class WriteThroughScope
extends WritableScopeWithImports


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.jetbrains.jet.lang.resolve.scopes.WritableScope
WritableScope.LockLevel
 
Field Summary
 
Fields inherited from class org.jetbrains.jet.lang.resolve.scopes.WritableScopeWithImports
redeclarationHandler
 
Fields inherited from interface org.jetbrains.jet.lang.resolve.scopes.JetScope
EMPTY
 
Constructor Summary
WriteThroughScope(JetScope outerScope, WritableScope scope, RedeclarationHandler redeclarationHandler, java.lang.String debugName)
           
 
Method Summary
 void addClassifierAlias(Name name, ClassifierDescriptor classifierDescriptor)
           
 void addClassifierDescriptor(ClassifierDescriptor classDescriptor)
           
 void addFunctionAlias(Name name, FunctionDescriptor functionDescriptor)
           
 void addFunctionDescriptor(FunctionDescriptor functionDescriptor)
           
 void addLabeledDeclaration(DeclarationDescriptor descriptor)
           
 void addNamespace(NamespaceDescriptor namespaceDescriptor)
           
 void addNamespaceAlias(Name name, NamespaceDescriptor namespaceDescriptor)
           
 void addObjectDescriptor(ClassDescriptor objectDescriptor)
           
 void addPropertyDescriptor(VariableDescriptor propertyDescriptor)
           
 void addTypeParameterDescriptor(TypeParameterDescriptor typeParameterDescriptor)
           
 void addVariableAlias(Name name, VariableDescriptor variableDescriptor)
           
 void addVariableDescriptor(VariableDescriptor variableDescriptor)
           
 java.util.Collection<DeclarationDescriptor> getAllDescriptors()
          All visible descriptors from current scope.
 ClassifierDescriptor getClassifier(Name name)
          Should not return object (class object or enum entry) class descriptors.
 DeclarationDescriptor getContainingDeclaration()
           
 java.util.Collection<DeclarationDescriptor> getDeclarationsByLabel(LabelName labelName)
           
 com.google.common.collect.Multimap<Name,DeclarationDescriptor> getDeclaredDescriptorsAccessibleBySimpleName()
           
 NamespaceDescriptor getDeclaredNamespace(Name name)
           
 java.util.Collection<FunctionDescriptor> getFunctions(Name name)
           
 VariableDescriptor getLocalVariable(Name name)
           
 NamespaceDescriptor getNamespace(Name name)
           
 ClassDescriptor getObjectDescriptor(Name name)
           
 java.util.Set<ClassDescriptor> getObjectDescriptors()
           
 JetScope getOuterScope()
           
 java.util.Set<VariableDescriptor> getProperties(Name name)
           
 PropertyDescriptor getPropertyByFieldReference(Name fieldName)
           
 void importScope(JetScope imported)
           
 void setImplicitReceiver(ReceiverParameterDescriptor implicitReceiver)
           
 
Methods inherited from class org.jetbrains.jet.lang.resolve.scopes.WritableScopeWithImports
changeLockLevel, checkMayNotWrite, checkMayRead, checkMayWrite, clearImports, computeImplicitReceiversHierarchy, getImplicitReceiversHierarchy, getImports, importClassifierAlias, importFunctionAlias, importNamespaceAlias, importVariableAlias, toString
 
Methods inherited from class org.jetbrains.jet.lang.resolve.scopes.JetScopeAdapter
getWorkerScope
 
Methods inherited from class org.jetbrains.jet.lang.resolve.scopes.AbstractScopeAdapter
getOwnDeclaredDescriptors
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jetbrains.jet.lang.resolve.scopes.JetScope
getOwnDeclaredDescriptors
 

Constructor Detail

WriteThroughScope

public WriteThroughScope(@NotNull
                         JetScope outerScope,
                         @NotNull
                         WritableScope scope,
                         @NotNull
                         RedeclarationHandler redeclarationHandler,
                         @NotNull
                         java.lang.String debugName)
Method Detail

getPropertyByFieldReference

@Nullable
public PropertyDescriptor getPropertyByFieldReference(@NotNull
                                                               Name fieldName)
Specified by:
getPropertyByFieldReference in interface JetScope
Overrides:
getPropertyByFieldReference in class AbstractScopeAdapter
Parameters:
fieldName - includes the "$"
Returns:
the property declaring this field, if any

getDeclarationsByLabel

@NotNull
public java.util.Collection<DeclarationDescriptor> getDeclarationsByLabel(LabelName labelName)
Specified by:
getDeclarationsByLabel in interface JetScope
Overrides:
getDeclarationsByLabel in class AbstractScopeAdapter

getContainingDeclaration

@NotNull
public DeclarationDescriptor getContainingDeclaration()
Specified by:
getContainingDeclaration in interface JetScope
Overrides:
getContainingDeclaration in class AbstractScopeAdapter

getFunctions

@NotNull
public java.util.Collection<FunctionDescriptor> getFunctions(@NotNull
                                                                     Name name)
Specified by:
getFunctions in interface JetScope
Overrides:
getFunctions in class WritableScopeWithImports

getProperties

@NotNull
public java.util.Set<VariableDescriptor> getProperties(@NotNull
                                                               Name name)
Specified by:
getProperties in interface JetScope
Overrides:
getProperties in class WritableScopeWithImports

getLocalVariable

@Nullable
public VariableDescriptor getLocalVariable(@NotNull
                                                    Name name)
Specified by:
getLocalVariable in interface JetScope
Overrides:
getLocalVariable in class WritableScopeWithImports

getNamespace

@Nullable
public NamespaceDescriptor getNamespace(@NotNull
                                                 Name name)
Specified by:
getNamespace in interface JetScope
Overrides:
getNamespace in class WritableScopeWithImports

getClassifier

@Nullable
public ClassifierDescriptor getClassifier(@NotNull
                                                   Name name)
Description copied from interface: JetScope
Should not return object (class object or enum entry) class descriptors.

Specified by:
getClassifier in interface JetScope
Overrides:
getClassifier in class WritableScopeWithImports

getObjectDescriptor

public ClassDescriptor getObjectDescriptor(@NotNull
                                           Name name)
Specified by:
getObjectDescriptor in interface JetScope
Overrides:
getObjectDescriptor in class WritableScopeWithImports

getObjectDescriptors

@NotNull
public java.util.Set<ClassDescriptor> getObjectDescriptors()
Specified by:
getObjectDescriptors in interface JetScope
Overrides:
getObjectDescriptors in class AbstractScopeAdapter

addLabeledDeclaration

public void addLabeledDeclaration(@NotNull
                                  DeclarationDescriptor descriptor)

addVariableDescriptor

public void addVariableDescriptor(@NotNull
                                  VariableDescriptor variableDescriptor)

addPropertyDescriptor

public void addPropertyDescriptor(@NotNull
                                  VariableDescriptor propertyDescriptor)

addFunctionDescriptor

public void addFunctionDescriptor(@NotNull
                                  FunctionDescriptor functionDescriptor)

addTypeParameterDescriptor

public void addTypeParameterDescriptor(@NotNull
                                       TypeParameterDescriptor typeParameterDescriptor)

addClassifierDescriptor

public void addClassifierDescriptor(@NotNull
                                    ClassifierDescriptor classDescriptor)

addObjectDescriptor

public void addObjectDescriptor(@NotNull
                                ClassDescriptor objectDescriptor)

addClassifierAlias

public void addClassifierAlias(@NotNull
                               Name name,
                               @NotNull
                               ClassifierDescriptor classifierDescriptor)

addNamespaceAlias

public void addNamespaceAlias(@NotNull
                              Name name,
                              @NotNull
                              NamespaceDescriptor namespaceDescriptor)

addVariableAlias

public void addVariableAlias(@NotNull
                             Name name,
                             @NotNull
                             VariableDescriptor variableDescriptor)

addFunctionAlias

public void addFunctionAlias(@NotNull
                             Name name,
                             @NotNull
                             FunctionDescriptor functionDescriptor)

addNamespace

public void addNamespace(@NotNull
                         NamespaceDescriptor namespaceDescriptor)

getDeclaredNamespace

@Nullable
public NamespaceDescriptor getDeclaredNamespace(@NotNull
                                                         Name name)

getDeclaredDescriptorsAccessibleBySimpleName

@NotNull
public com.google.common.collect.Multimap<Name,DeclarationDescriptor> getDeclaredDescriptorsAccessibleBySimpleName()

importScope

public void importScope(@NotNull
                        JetScope imported)
Specified by:
importScope in interface WritableScope
Overrides:
importScope in class WritableScopeWithImports

setImplicitReceiver

public void setImplicitReceiver(@NotNull
                                ReceiverParameterDescriptor implicitReceiver)

getAllDescriptors

@NotNull
public java.util.Collection<DeclarationDescriptor> getAllDescriptors()
Description copied from interface: JetScope
All visible descriptors from current scope.

Specified by:
getAllDescriptors in interface JetScope
Overrides:
getAllDescriptors in class AbstractScopeAdapter
Returns:
All visible descriptors from current scope.

getOuterScope

@NotNull
public JetScope getOuterScope()