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

Side by Side Diff: pkg/analyzer/lib/src/dart/element/element.dart

Issue 2983773002: Resynthesize expressions for Kernel's StaticGet and PropertyGet. (Closed)
Patch Set: Resynthesize ClassName.StaticElement for Kernel. Created 3 years, 5 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
« no previous file with comments | « no previous file | pkg/analyzer/test/src/summary/resynthesize_common.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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.dart.element.element; 5 library analyzer.src.dart.element.element;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 import 'dart:math' show min; 8 import 'dart:math' show min;
9 9
10 import 'package:analyzer/dart/ast/ast.dart'; 10 import 'package:analyzer/dart/ast/ast.dart';
(...skipping 1805 matching lines...) Expand 10 before | Expand all | Expand 10 after
1816 if (typeAliasImpl.identifier == identifier) { 1816 if (typeAliasImpl.identifier == identifier) {
1817 return typeAliasImpl; 1817 return typeAliasImpl;
1818 } 1818 }
1819 } 1819 }
1820 for (ClassElement type in types) { 1820 for (ClassElement type in types) {
1821 ClassElementImpl typeImpl = type; 1821 ClassElementImpl typeImpl = type;
1822 if (typeImpl.name == identifier) { 1822 if (typeImpl.name == identifier) {
1823 return typeImpl; 1823 return typeImpl;
1824 } 1824 }
1825 } 1825 }
1826 for (ClassElement type in _enums) { 1826 for (ClassElement type in enums) {
1827 EnumElementImpl typeImpl = type; 1827 EnumElementImpl typeImpl = type;
1828 if (typeImpl.identifier == identifier) { 1828 if (typeImpl.identifier == identifier) {
1829 return typeImpl; 1829 return typeImpl;
1830 } 1830 }
1831 } 1831 }
1832 return null; 1832 return null;
1833 } 1833 }
1834 1834
1835 @override 1835 @override
1836 ClassElement getEnum(String enumName) { 1836 ClassElement getEnum(String enumName) {
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1912 * Initialize a newly created field element to have the given [name]. 1912 * Initialize a newly created field element to have the given [name].
1913 */ 1913 */
1914 ConstFieldElementImpl.forNode(Identifier name) : super.forNode(name); 1914 ConstFieldElementImpl.forNode(Identifier name) : super.forNode(name);
1915 1915
1916 /** 1916 /**
1917 * Initialize using the given serialized information. 1917 * Initialize using the given serialized information.
1918 */ 1918 */
1919 ConstFieldElementImpl.forSerialized( 1919 ConstFieldElementImpl.forSerialized(
1920 UnlinkedVariable unlinkedVariable, ElementImpl enclosingElement) 1920 UnlinkedVariable unlinkedVariable, ElementImpl enclosingElement)
1921 : super.forSerialized(unlinkedVariable, enclosingElement); 1921 : super.forSerialized(unlinkedVariable, enclosingElement);
1922
1923 /**
1924 * Initialize using the given kernel.
1925 */
1926 ConstFieldElementImpl.forKernel(
1927 ElementImpl enclosingElement, kernel.Field kernel)
1928 : super.forKernel(enclosingElement, kernel);
1922 } 1929 }
1923 1930
1924 /** 1931 /**
1925 * A field element representing an enum constant. 1932 * A field element representing an enum constant.
1926 */ 1933 */
1927 class ConstFieldElementImpl_EnumValue extends ConstFieldElementImpl_ofEnum { 1934 class ConstFieldElementImpl_EnumValue extends ConstFieldElementImpl_ofEnum {
1928 final UnlinkedEnumValue _unlinkedEnumValue; 1935 final UnlinkedEnumValue _unlinkedEnumValue;
1929 final int _index; 1936 final int _index;
1930 1937
1931 ConstFieldElementImpl_EnumValue( 1938 ConstFieldElementImpl_EnumValue(
(...skipping 2398 matching lines...) Expand 10 before | Expand all | Expand 10 after
4330 */ 4337 */
4331 class FieldElementImpl extends PropertyInducingElementImpl 4338 class FieldElementImpl extends PropertyInducingElementImpl
4332 implements FieldElement { 4339 implements FieldElement {
4333 /** 4340 /**
4334 * Initialize a newly created synthetic field element to have the given [name] 4341 * Initialize a newly created synthetic field element to have the given [name]
4335 * at the given [offset]. 4342 * at the given [offset].
4336 */ 4343 */
4337 FieldElementImpl(String name, int offset) : super(name, offset); 4344 FieldElementImpl(String name, int offset) : super(name, offset);
4338 4345
4339 /** 4346 /**
4340 * Initialize using the given serialized information. 4347 * Initialize using the given kernel.
4341 */ 4348 */
4342 FieldElementImpl.forKernel(ElementImpl enclosingElement, kernel.Field kernel) 4349 FieldElementImpl.forKernel(ElementImpl enclosingElement, kernel.Field kernel)
4343 : super.forKernel(enclosingElement, kernel); 4350 : super.forKernel(enclosingElement, kernel);
4344 4351
4345 /** 4352 /**
4346 * Initialize using the given serialized information. 4353 * Initialize using the given kernel.
4347 */ 4354 */
4348 factory FieldElementImpl.forKernelFactory( 4355 factory FieldElementImpl.forKernelFactory(
4349 ClassElementImpl enclosingClass, kernel.Field kernel) { 4356 ClassElementImpl enclosingClass, kernel.Field kernel) {
4350 // TODO(scheglov) add support for constants. 4357 if (kernel.isConst) {
4351 return new FieldElementImpl.forKernel(enclosingClass, kernel); 4358 return new ConstFieldElementImpl.forKernel(enclosingClass, kernel);
4359 } else {
4360 return new FieldElementImpl.forKernel(enclosingClass, kernel);
4361 }
4352 } 4362 }
4353 4363
4354 /** 4364 /**
4355 * Initialize a newly created field element to have the given [name]. 4365 * Initialize a newly created field element to have the given [name].
4356 */ 4366 */
4357 FieldElementImpl.forNode(Identifier name) : super.forNode(name); 4367 FieldElementImpl.forNode(Identifier name) : super.forNode(name);
4358 4368
4359 /** 4369 /**
4360 * Initialize using the given serialized information. 4370 * Initialize using the given serialized information.
4361 */ 4371 */
(...skipping 5045 matching lines...) Expand 10 before | Expand all | Expand 10 after
9407 9417
9408 @override 9418 @override
9409 DartObject computeConstantValue() => null; 9419 DartObject computeConstantValue() => null;
9410 9420
9411 @override 9421 @override
9412 void visitChildren(ElementVisitor visitor) { 9422 void visitChildren(ElementVisitor visitor) {
9413 super.visitChildren(visitor); 9423 super.visitChildren(visitor);
9414 _initializer?.accept(visitor); 9424 _initializer?.accept(visitor);
9415 } 9425 }
9416 } 9426 }
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/test/src/summary/resynthesize_common.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698