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

Side by Side Diff: pkg/front_end/lib/src/fasta/kernel/kernel_library_builder.dart

Issue 2967903003: Add names to nested declaration to ease debugging. (Closed)
Patch Set: 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/front_end/lib/src/fasta/source/outline_builder.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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 fasta.kernel_library_builder; 5 library fasta.kernel_library_builder;
6 6
7 import 'package:front_end/src/scanner/token.dart' show Token; 7 import 'package:front_end/src/scanner/token.dart' show Token;
8 8
9 import 'package:kernel/ast.dart'; 9 import 'package:kernel/ast.dart';
10 10
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 100
101 void addClass( 101 void addClass(
102 List<MetadataBuilder> metadata, 102 List<MetadataBuilder> metadata,
103 int modifiers, 103 int modifiers,
104 String className, 104 String className,
105 List<TypeVariableBuilder> typeVariables, 105 List<TypeVariableBuilder> typeVariables,
106 KernelTypeBuilder supertype, 106 KernelTypeBuilder supertype,
107 List<KernelTypeBuilder> interfaces, 107 List<KernelTypeBuilder> interfaces,
108 int charOffset) { 108 int charOffset) {
109 // Nested declaration began in `OutlineBuilder.beginClassDeclaration`. 109 // Nested declaration began in `OutlineBuilder.beginClassDeclaration`.
110 var declaration = endNestedDeclaration()..resolveTypes(typeVariables, this); 110 var declaration = endNestedDeclaration(className)
111 ..resolveTypes(typeVariables, this);
111 assert(declaration.parent == libraryDeclaration); 112 assert(declaration.parent == libraryDeclaration);
112 Map<String, MemberBuilder> members = declaration.members; 113 Map<String, MemberBuilder> members = declaration.members;
113 Map<String, MemberBuilder> constructors = declaration.constructors; 114 Map<String, MemberBuilder> constructors = declaration.constructors;
114 Map<String, MemberBuilder> setters = declaration.setters; 115 Map<String, MemberBuilder> setters = declaration.setters;
115 116
116 Scope classScope = new Scope( 117 Scope classScope = new Scope(
117 members, setters, scope.withTypeVariables(typeVariables), 118 members, setters, scope.withTypeVariables(typeVariables),
118 isModifiable: false); 119 isModifiable: false);
119 120
120 // When looking up a constructor, we don't consider type variables or the 121 // When looking up a constructor, we don't consider type variables or the
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 446
446 void addNamedMixinApplication( 447 void addNamedMixinApplication(
447 List<MetadataBuilder> metadata, 448 List<MetadataBuilder> metadata,
448 String name, 449 String name,
449 List<TypeVariableBuilder> typeVariables, 450 List<TypeVariableBuilder> typeVariables,
450 int modifiers, 451 int modifiers,
451 KernelTypeBuilder mixinApplication, 452 KernelTypeBuilder mixinApplication,
452 List<KernelTypeBuilder> interfaces, 453 List<KernelTypeBuilder> interfaces,
453 int charOffset) { 454 int charOffset) {
454 // Nested declaration began in `OutlineBuilder.beginNamedMixinApplication`. 455 // Nested declaration began in `OutlineBuilder.beginNamedMixinApplication`.
455 endNestedDeclaration().resolveTypes(typeVariables, this); 456 endNestedDeclaration(name).resolveTypes(typeVariables, this);
456 KernelNamedTypeBuilder supertype = applyMixins(mixinApplication, 457 KernelNamedTypeBuilder supertype = applyMixins(mixinApplication,
457 metadata: metadata, 458 metadata: metadata,
458 name: name, 459 name: name,
459 typeVariables: typeVariables, 460 typeVariables: typeVariables,
460 modifiers: modifiers, 461 modifiers: modifiers,
461 interfaces: interfaces, 462 interfaces: interfaces,
462 charOffset: charOffset); 463 charOffset: charOffset);
463 checkTypeVariables(typeVariables, supertype.builder); 464 checkTypeVariables(typeVariables, supertype.builder);
464 } 465 }
465 466
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 List<TypeVariableBuilder> typeVariables, 512 List<TypeVariableBuilder> typeVariables,
512 List<FormalParameterBuilder> formals, 513 List<FormalParameterBuilder> formals,
513 ProcedureKind kind, 514 ProcedureKind kind,
514 int charOffset, 515 int charOffset,
515 int charOpenParenOffset, 516 int charOpenParenOffset,
516 int charEndOffset, 517 int charEndOffset,
517 String nativeMethodName, 518 String nativeMethodName,
518 {bool isTopLevel}) { 519 {bool isTopLevel}) {
519 // Nested declaration began in `OutlineBuilder.beginMethod` or 520 // Nested declaration began in `OutlineBuilder.beginMethod` or
520 // `OutlineBuilder.beginTopLevelMethod`. 521 // `OutlineBuilder.beginTopLevelMethod`.
521 endNestedDeclaration().resolveTypes(typeVariables, this); 522 endNestedDeclaration(name).resolveTypes(typeVariables, this);
522 ProcedureBuilder procedure; 523 ProcedureBuilder procedure;
523 String constructorName = 524 String constructorName =
524 isTopLevel ? null : computeAndValidateConstructorName(name, charOffset); 525 isTopLevel ? null : computeAndValidateConstructorName(name, charOffset);
525 if (constructorName != null) { 526 if (constructorName != null) {
526 name = constructorName; 527 name = constructorName;
527 procedure = new KernelConstructorBuilder( 528 procedure = new KernelConstructorBuilder(
528 metadata, 529 metadata,
529 modifiers & ~abstractMask, 530 modifiers & ~abstractMask,
530 returnType, 531 returnType,
531 name, 532 name,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 List<FormalParameterBuilder> formals, 566 List<FormalParameterBuilder> formals,
566 ConstructorReferenceBuilder redirectionTarget, 567 ConstructorReferenceBuilder redirectionTarget,
567 int charOffset, 568 int charOffset,
568 int charOpenParenOffset, 569 int charOpenParenOffset,
569 int charEndOffset, 570 int charEndOffset,
570 String nativeMethodName) { 571 String nativeMethodName) {
571 KernelTypeBuilder returnType = addNamedType( 572 KernelTypeBuilder returnType = addNamedType(
572 currentDeclaration.parent.name, <KernelTypeBuilder>[], charOffset); 573 currentDeclaration.parent.name, <KernelTypeBuilder>[], charOffset);
573 // Nested declaration began in `OutlineBuilder.beginFactoryMethod`. 574 // Nested declaration began in `OutlineBuilder.beginFactoryMethod`.
574 DeclarationBuilder<KernelTypeBuilder> factoryDeclaration = 575 DeclarationBuilder<KernelTypeBuilder> factoryDeclaration =
575 endNestedDeclaration(); 576 endNestedDeclaration("#factory_method");
576 String name = constructorNameReference.name; 577 String name = constructorNameReference.name;
577 String constructorName = 578 String constructorName =
578 computeAndValidateConstructorName(name, charOffset); 579 computeAndValidateConstructorName(name, charOffset);
579 if (constructorName != null) { 580 if (constructorName != null) {
580 name = constructorName; 581 name = constructorName;
581 } 582 }
582 assert(constructorNameReference.suffix == null); 583 assert(constructorNameReference.suffix == null);
583 KernelProcedureBuilder procedure = new KernelProcedureBuilder( 584 KernelProcedureBuilder procedure = new KernelProcedureBuilder(
584 metadata, 585 metadata,
585 staticMask | modifiers, 586 staticMask | modifiers,
(...skipping 28 matching lines...) Expand all
614 List<MetadataBuilder> metadata, 615 List<MetadataBuilder> metadata,
615 KernelTypeBuilder returnType, 616 KernelTypeBuilder returnType,
616 String name, 617 String name,
617 List<TypeVariableBuilder> typeVariables, 618 List<TypeVariableBuilder> typeVariables,
618 List<FormalParameterBuilder> formals, 619 List<FormalParameterBuilder> formals,
619 int charOffset) { 620 int charOffset) {
620 FunctionTypeAliasBuilder typedef = new KernelFunctionTypeAliasBuilder( 621 FunctionTypeAliasBuilder typedef = new KernelFunctionTypeAliasBuilder(
621 metadata, returnType, name, typeVariables, formals, this, charOffset); 622 metadata, returnType, name, typeVariables, formals, this, charOffset);
622 checkTypeVariables(typeVariables, typedef); 623 checkTypeVariables(typeVariables, typedef);
623 // Nested declaration began in `OutlineBuilder.beginFunctionTypeAlias`. 624 // Nested declaration began in `OutlineBuilder.beginFunctionTypeAlias`.
624 endNestedDeclaration().resolveTypes(typeVariables, this); 625 endNestedDeclaration("#typedef").resolveTypes(typeVariables, this);
625 addBuilder(name, typedef, charOffset); 626 addBuilder(name, typedef, charOffset);
626 } 627 }
627 628
628 KernelFunctionTypeBuilder addFunctionType( 629 KernelFunctionTypeBuilder addFunctionType(
629 KernelTypeBuilder returnType, 630 KernelTypeBuilder returnType,
630 List<TypeVariableBuilder> typeVariables, 631 List<TypeVariableBuilder> typeVariables,
631 List<FormalParameterBuilder> formals, 632 List<FormalParameterBuilder> formals,
632 int charOffset) { 633 int charOffset) {
633 var builder = new KernelFunctionTypeBuilder( 634 var builder = new KernelFunctionTypeBuilder(
634 charOffset, fileUri, returnType, typeVariables, formals); 635 charOffset, fileUri, returnType, typeVariables, formals);
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 mixinApplicationClasses.putIfAbsent(name, () => builder); 856 mixinApplicationClasses.putIfAbsent(name, () => builder);
856 if (existing != builder) { 857 if (existing != builder) {
857 part.scope.local.remove(name); 858 part.scope.local.remove(name);
858 } 859 }
859 }); 860 });
860 super.includePart(part); 861 super.includePart(part);
861 nativeMethods.addAll(part.nativeMethods); 862 nativeMethods.addAll(part.nativeMethods);
862 boundlessTypeVariables.addAll(part.boundlessTypeVariables); 863 boundlessTypeVariables.addAll(part.boundlessTypeVariables);
863 } 864 }
864 } 865 }
OLDNEW
« no previous file with comments | « no previous file | pkg/front_end/lib/src/fasta/source/outline_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698