Getting default value from overriding method

This commit is contained in:
Valentin Kipyatkov
2015-05-21 22:26:46 +03:00
parent a7580d95e5
commit 5df840d9e3
4 changed files with 45 additions and 0 deletions
@@ -120,6 +120,11 @@ public object OptionalParametersHelper {
public fun defaultParameterValue(parameter: ValueParameterDescriptor, project: Project): DefaultValue? {
if (!parameter.hasDefaultValue()) return null
if (!parameter.declaresDefaultValue()) {
val overridden = parameter.getOverriddenDescriptors().firstOrNull { it.hasDefaultValue() } ?: return null
return defaultParameterValue(overridden, project)
}
//TODO: parameter in overriding method!
//TODO: it's a temporary code while we don't have default values accessible from descriptors
var declaration = DescriptorToSourceUtilsIde.getAnyDeclaration(project, parameter) as? JetParameter ?: return null