| Index: pkg/analysis_server/lib/src/services/completion/dart/utilities.dart | 
| diff --git a/pkg/analysis_server/lib/src/services/completion/dart/utilities.dart b/pkg/analysis_server/lib/src/services/completion/dart/utilities.dart | 
| index 7b888c638f034111c2cf7622d4c10c6e9652259e..4f3bb2c64a47c432fe238d5f16f22d574dd71ee7 100644 | 
| --- a/pkg/analysis_server/lib/src/services/completion/dart/utilities.dart | 
| +++ b/pkg/analysis_server/lib/src/services/completion/dart/utilities.dart | 
| @@ -71,26 +71,19 @@ void addDefaultArgDetails( | 
| } | 
| } | 
|  | 
| -  //TODO(pq): generalize and unify with _getDefaultValue | 
| if (options?.generateFlutterWidgetChildrenBoilerPlate == true) { | 
| if (element is ConstructorElement) { | 
| -      ConstructorElement constructorElement = element; | 
| -      ClassElement classElement = constructorElement.enclosingElement; | 
| -      if (isFlutterWidget(classElement)) { | 
| -        for (ParameterElement param in constructorElement.parameters) { | 
| +      if (isFlutterWidget(element.enclosingElement)) { | 
| +        for (ParameterElement param in element.parameters) { | 
| if (param.name == 'children') { | 
| -            DartType type = param.type; | 
| -            if (type is InterfaceType && isDartList(type)) { | 
| -              InterfaceType interfaceType = type; | 
| -              List<DartType> typeArguments = interfaceType.typeArguments; | 
| -              if (typeArguments.length == 1) { | 
| -                if (sb.isNotEmpty) { | 
| -                  sb.write(', '); | 
| -                } | 
| -                offset = sb.length; | 
| -                sb.write('children: <${typeArguments.first.name}>[]'); | 
| -              } | 
| +            String defaultValue = getDefaultStringParameterValue(param); | 
| +            if (sb.isNotEmpty) { | 
| +              sb.write(', '); | 
| } | 
| +            sb.write('children: '); | 
| +            offset = sb.length; | 
| +            sb.write(defaultValue); | 
| +            ranges.addAll([offset, defaultValue.length]); | 
| } | 
| } | 
| } | 
| @@ -184,6 +177,23 @@ CompletionSuggestion createLocalSuggestion(SimpleIdentifier id, | 
| return suggestion; | 
| } | 
|  | 
| +String getDefaultStringParameterValue(ParameterElement param) { | 
| +  DartType type = param.type; | 
| +  if (type is InterfaceType && isDartList(type)) { | 
| +    List<DartType> typeArguments = type.typeArguments; | 
| +    StringBuffer sb = new StringBuffer(); | 
| +    if (typeArguments.length == 1) { | 
| +      DartType typeArg = typeArguments.first; | 
| +      if (!typeArg.isDynamic) { | 
| +        sb.write('<${typeArg.name}>'); | 
| +      } | 
| +      sb.write('[]'); | 
| +      return sb.toString(); | 
| +    } | 
| +  } | 
| +  return null; | 
| +} | 
| + | 
| bool isDartList(DartType type) { | 
| ClassElement element = type.element; | 
| if (element != null) { | 
|  |