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

Side by Side Diff: pkg/analyzer/lib/src/summary/public_namespace_computer.dart

Issue 1944733002: Support references to static getters in the summary linker. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 months 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library analyzer.src.summary.public_namespace_visitor; 5 library analyzer.src.summary.public_namespace_visitor;
6 6
7 import 'package:analyzer/analyzer.dart'; 7 import 'package:analyzer/analyzer.dart';
8 import 'package:analyzer/src/summary/format.dart'; 8 import 'package:analyzer/src/summary/format.dart';
9 import 'package:analyzer/src/summary/idl.dart'; 9 import 'package:analyzer/src/summary/idl.dart';
10 10
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 if (isPublic(name)) { 76 if (isPublic(name)) {
77 cls.members.add(new UnlinkedPublicNameBuilder( 77 cls.members.add(new UnlinkedPublicNameBuilder(
78 name: name, 78 name: name,
79 kind: ReferenceKind.propertyAccessor, 79 kind: ReferenceKind.propertyAccessor,
80 numTypeParameters: 0)); 80 numTypeParameters: 0));
81 } 81 }
82 } 82 }
83 } 83 }
84 if (member is MethodDeclaration && 84 if (member is MethodDeclaration &&
85 member.isStatic && 85 member.isStatic &&
86 !member.isGetter &&
87 !member.isSetter && 86 !member.isSetter &&
88 !member.isOperator) { 87 !member.isOperator) {
89 String name = member.name.name; 88 String name = member.name.name;
90 if (isPublic(name)) { 89 if (isPublic(name)) {
91 cls.members.add(new UnlinkedPublicNameBuilder( 90 cls.members.add(new UnlinkedPublicNameBuilder(
92 name: name, 91 name: name,
93 kind: ReferenceKind.method, 92 kind: member.isGetter
93 ? ReferenceKind.propertyAccessor
94 : ReferenceKind.method,
94 numTypeParameters: 95 numTypeParameters:
95 member.typeParameters?.typeParameters?.length ?? 0)); 96 member.typeParameters?.typeParameters?.length ?? 0));
96 } 97 }
97 } 98 }
98 if (member is ConstructorDeclaration && member.name != null) { 99 if (member is ConstructorDeclaration && member.name != null) {
99 String name = member.name.name; 100 String name = member.name.name;
100 if (isPublic(name)) { 101 if (isPublic(name)) {
101 cls.members.add(new UnlinkedPublicNameBuilder( 102 cls.members.add(new UnlinkedPublicNameBuilder(
102 name: name, 103 name: name,
103 kind: ReferenceKind.constructor, 104 kind: ReferenceKind.constructor,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 172
172 @override 173 @override
173 visitVariableDeclaration(VariableDeclaration node) { 174 visitVariableDeclaration(VariableDeclaration node) {
174 String name = node.name.name; 175 String name = node.name.name;
175 addNameIfPublic(name, ReferenceKind.topLevelPropertyAccessor, 0); 176 addNameIfPublic(name, ReferenceKind.topLevelPropertyAccessor, 0);
176 if (!node.isFinal && !node.isConst) { 177 if (!node.isFinal && !node.isConst) {
177 addNameIfPublic('$name=', ReferenceKind.topLevelPropertyAccessor, 0); 178 addNameIfPublic('$name=', ReferenceKind.topLevelPropertyAccessor, 0);
178 } 179 }
179 } 180 }
180 } 181 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/summary/prelink.dart ('k') | pkg/analyzer/lib/src/summary/summarize_elements.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698