| Index: pkg/analysis_server/lib/src/protocol_server.dart
|
| diff --git a/pkg/analysis_server/lib/src/protocol_server.dart b/pkg/analysis_server/lib/src/protocol_server.dart
|
| index 7618308894687470087bd6ff9b0c6281a785040f..f5c58060d990e93876b4f3757a0a1d159dc44654 100644
|
| --- a/pkg/analysis_server/lib/src/protocol_server.dart
|
| +++ b/pkg/analysis_server/lib/src/protocol_server.dart
|
| @@ -84,6 +84,7 @@ AnalysisError newAnalysisError_fromEngine(
|
| */
|
| Element newElement_fromEngine(engine.Element element) {
|
| String name = element.displayName;
|
| + String elementTypeParameters = _getTypeParametersString(element);
|
| String elementParameters = _getParametersString(element);
|
| String elementReturnType = _getReturnTypeString(element);
|
| return new Element(newElementKind_fromEngine(element.kind), name, Element
|
| @@ -95,6 +96,7 @@ Element newElement_fromEngine(engine.Element element) {
|
| isFinal: _isFinal(element),
|
| isStatic: _isStatic(element)),
|
| location: newLocation_fromElement(element),
|
| + typeParameters: elementTypeParameters,
|
| parameters: elementParameters,
|
| returnType: elementReturnType);
|
| }
|
| @@ -351,6 +353,19 @@ String _getReturnTypeString(engine.Element element) {
|
| }
|
| }
|
|
|
| +String _getTypeParametersString(engine.Element element) {
|
| + List<engine.TypeParameterElement> typeParameters;
|
| + if (element is engine.ClassElement) {
|
| + typeParameters = element.typeParameters;
|
| + } else if (element is engine.FunctionTypeAliasElement) {
|
| + typeParameters = element.typeParameters;
|
| + }
|
| + if (typeParameters == null || typeParameters.isEmpty) {
|
| + return null;
|
| + }
|
| + return '<${typeParameters.join(', ')}>';
|
| +}
|
| +
|
| bool _isAbstract(engine.Element element) {
|
| // TODO(scheglov) add isAbstract to Element API
|
| if (element is engine.ClassElement) {
|
|
|