Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(264)

Unified Diff: pkg/analyzer/lib/src/generated/resolver.dart

Issue 1534043002: Cache element docs (and add to completions) (#23694). (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: tweaks Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/lib/src/generated/element_handle.dart ('k') | pkg/analyzer/lib/src/task/dart.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/generated/resolver.dart
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index 42669581a26f12ab6998c53170a2169ea9ebe0c9..a52736d015cea04e0182ceda91145fac082f106a 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -2696,7 +2696,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
interfaceType.typeArguments = typeArguments;
element.type = interfaceType;
element.typeParameters = typeParameters;
- _setDocRange(element, node);
+ _setDoc(element, node);
element.abstract = node.isAbstract;
element.accessors = holder.accessors;
List<ConstructorElement> constructors = holder.constructors;
@@ -2768,7 +2768,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
SimpleIdentifier constructorName = node.name;
ConstructorElementImpl element =
new ConstructorElementImpl.forNode(constructorName);
- _setDocRange(element, node);
+ _setDoc(element, node);
if (node.externalKeyword != null) {
element.external = true;
}
@@ -2873,7 +2873,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
SimpleIdentifier enumName = node.name;
ClassElementImpl enumElement = new ClassElementImpl.forNode(enumName);
enumElement.enum2 = true;
- _setDocRange(enumElement, node);
+ _setDoc(enumElement, node);
InterfaceTypeImpl enumType = new InterfaceTypeImpl(enumElement);
enumElement.type = enumType;
// The equivalent code for enums in the spec shows a single constructor,
@@ -2946,7 +2946,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
SimpleIdentifier functionName = node.name;
FunctionElementImpl element =
new FunctionElementImpl.forNode(functionName);
- _setDocRange(element, node);
+ _setDoc(element, node);
if (node.externalKeyword != null) {
element.external = true;
}
@@ -2993,7 +2993,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
if (node.isGetter) {
PropertyAccessorElementImpl getter =
new PropertyAccessorElementImpl.forNode(propertyNameNode);
- _setDocRange(getter, node);
+ _setDoc(getter, node);
if (node.externalKeyword != null) {
getter.external = true;
}
@@ -3019,7 +3019,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
} else {
PropertyAccessorElementImpl setter =
new PropertyAccessorElementImpl.forNode(propertyNameNode);
- _setDocRange(setter, node);
+ _setDoc(setter, node);
if (node.externalKeyword != null) {
setter.external = true;
}
@@ -3110,7 +3110,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
List<TypeParameterElement> typeParameters = holder.typeParameters;
FunctionTypeAliasElementImpl element =
new FunctionTypeAliasElementImpl.forNode(aliasName);
- _setDocRange(element, node);
+ _setDoc(element, node);
element.parameters = parameters;
element.typeParameters = typeParameters;
_createTypeParameterTypes(typeParameters);
@@ -3181,7 +3181,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
}
MethodElementImpl element =
new MethodElementImpl(nameOfMethod, methodName.offset);
- _setDocRange(element, node);
+ _setDoc(element, node);
element.abstract = node.isAbstract;
if (node.externalKeyword != null) {
element.external = true;
@@ -3218,7 +3218,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
if (node.isGetter) {
PropertyAccessorElementImpl getter =
new PropertyAccessorElementImpl.forNode(propertyNameNode);
- _setDocRange(getter, node);
+ _setDoc(getter, node);
if (node.externalKeyword != null) {
getter.external = true;
}
@@ -3244,7 +3244,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
} else {
PropertyAccessorElementImpl setter =
new PropertyAccessorElementImpl.forNode(propertyNameNode);
- _setDocRange(setter, node);
+ _setDoc(setter, node);
if (node.externalKeyword != null) {
setter.external = true;
}
@@ -3382,7 +3382,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
}
element = field;
if (node.parent.parent is FieldDeclaration) {
- _setDocRange(element, node.parent.parent);
+ _setDoc(element, node.parent.parent);
}
if ((node.parent as VariableDeclarationList).type == null) {
field.hasImplicitType = true;
@@ -3417,7 +3417,7 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
}
element = variable;
if (node.parent.parent is TopLevelVariableDeclaration) {
- _setDocRange(element, node.parent.parent);
+ _setDoc(element, node.parent.parent);
}
if ((node.parent as VariableDeclarationList).type == null) {
variable.hasImplicitType = true;
@@ -3551,12 +3551,14 @@ class ElementBuilder extends RecursiveAstVisitor<Object> {
}
/**
- * If the given [node] has a documentation comment, remember its range
- * into the given [element].
+ * If the given [node] has a documentation comment, remember its content
+ * and range into the given [element].
*/
- void _setDocRange(ElementImpl element, AnnotatedNode node) {
+ void _setDoc(ElementImpl element, AnnotatedNode node) {
Comment comment = node.documentationComment;
if (comment != null && comment.isDocumentation) {
+ element.documentationComment =
+ comment.tokens.map((Token t) => t.lexeme).join('\n');
element.setDocRange(comment.offset, comment.length);
}
}
« no previous file with comments | « pkg/analyzer/lib/src/generated/element_handle.dart ('k') | pkg/analyzer/lib/src/task/dart.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698