Basic completion within secondary constructors
body and delegation call
This commit is contained in:
@@ -77,6 +77,7 @@ public abstract class ElementResolver {
|
||||
jetElement,
|
||||
JetNamedFunction.class,
|
||||
JetClassInitializer.class,
|
||||
JetSecondaryConstructor.class,
|
||||
JetProperty.class,
|
||||
JetParameter.class,
|
||||
JetDelegationSpecifierList.class,
|
||||
@@ -150,6 +151,9 @@ public abstract class ElementResolver {
|
||||
else if (resolveElement instanceof JetClassInitializer) {
|
||||
initializerAdditionalResolve(resolveSession, (JetClassInitializer) resolveElement, trace, file, statementFilter);
|
||||
}
|
||||
else if (resolveElement instanceof JetSecondaryConstructor) {
|
||||
secondaryConstructorAdditionalResolve(resolveSession, (JetSecondaryConstructor) resolveElement, trace, file, statementFilter);
|
||||
}
|
||||
else if (resolveElement instanceof JetProperty) {
|
||||
propertyAdditionalResolve(resolveSession, (JetProperty) resolveElement, trace, file, statementFilter);
|
||||
}
|
||||
@@ -405,6 +409,21 @@ public abstract class ElementResolver {
|
||||
bodyResolver.resolveFunctionBody(createEmptyContext(resolveSession), trace, namedFunction, functionDescriptor, scope);
|
||||
}
|
||||
|
||||
private void secondaryConstructorAdditionalResolve(
|
||||
ResolveSession resolveSession,
|
||||
JetSecondaryConstructor constructor,
|
||||
BindingTrace trace,
|
||||
JetFile file,
|
||||
@NotNull StatementFilter statementFilter
|
||||
) {
|
||||
JetScope scope = resolveSession.getScopeProvider().getResolutionScopeForDeclaration(constructor);
|
||||
ConstructorDescriptor constructorDescriptor = (ConstructorDescriptor) resolveSession.resolveToDescriptor(constructor);
|
||||
ForceResolveUtil.forceResolveAllContents(constructorDescriptor);
|
||||
|
||||
BodyResolver bodyResolver = createBodyResolver(resolveSession, trace, file, statementFilter);
|
||||
bodyResolver.resolveSecondaryConstructorBody(createEmptyContext(resolveSession), trace, constructor, constructorDescriptor, scope);
|
||||
}
|
||||
|
||||
private void constructorAdditionalResolve(
|
||||
ResolveSession resolveSession,
|
||||
JetClass klass,
|
||||
|
||||
Reference in New Issue
Block a user