@SuppressWarnings("unused")
protected void _computeTypes(Map<JvmIdentifiableElement, ResolvedTypes> preparedResolvedTypes, ResolvedTypes resolvedTypes, IFeatureScopeSession featureScopeSession, JvmConstructor constructor) {
ResolvedTypes childResolvedTypes = preparedResolvedTypes.get(constructor);
if (childResolvedTypes == null) {
if (preparedResolvedTypes.containsKey(constructor))
return;
throw new IllegalStateException("No resolved type found. Constructor was: " + constructor.getIdentifier());
} else {
preparedResolvedTypes.put(constructor, null);
}
ConstructorBodyComputationState state = new ConstructorBodyComputationState(childResolvedTypes, featureScopeSession.toInstanceContext().toConstructorContext(), constructor);
addExtensionProviders(state, constructor.getParameters());
state.computeTypes();
computeAnnotationTypes(childResolvedTypes, featureScopeSession, constructor);
computeLocalTypes(preparedResolvedTypes, childResolvedTypes, featureScopeSession, constructor);
mergeChildTypes(childResolvedTypes);
}