@NotNull private JetScope computeScopeForPropertyInitializerResolution() { ConstructorDescriptor primaryConstructor = getUnsubstitutedPrimaryConstructor(); if (primaryConstructor == null) return getScopeForMemberDeclarationResolution(); WritableScopeImpl scope = new WritableScopeImpl( JetScope.EMPTY, this, RedeclarationHandler.DO_NOTHING, "Scope with constructor parameters in " + getName()); for (ValueParameterDescriptor valueParameterDescriptor : primaryConstructor.getValueParameters()) { scope.addVariableDescriptor(valueParameterDescriptor); } scope.changeLockLevel(WritableScope.LockLevel.READING); return new ChainedScope( this, "ScopeForPropertyInitializerResolution: " + getName(), scope, getScopeForMemberDeclarationResolution()); }
public JetScope getScopeForPropertyInitializerResolution() { ConstructorDescriptor primaryConstructor = getUnsubstitutedPrimaryConstructor(); if (primaryConstructor == null) return getScopeForMemberDeclarationResolution(); if (scopeForPropertyInitializerResolution == null) { WritableScopeImpl scope = new WritableScopeImpl( JetScope.EMPTY, this, RedeclarationHandler.DO_NOTHING, "Property Initializer Resolution"); List<ValueParameterDescriptor> parameters = primaryConstructor.getValueParameters(); for (ValueParameterDescriptor valueParameterDescriptor : parameters) { scope.addVariableDescriptor(valueParameterDescriptor); } scope.changeLockLevel(WritableScope.LockLevel.READING); scopeForPropertyInitializerResolution = new ChainedScope(this, scope, getScopeForMemberDeclarationResolution()); } return scopeForPropertyInitializerResolution; }