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

Side by Side Diff: lib/extension_generator.dart

Issue 1829573002: Fix all strong mode warnings in protoc-plugin (Closed) Base URL: git@github.com:dart-lang/dart-protoc-plugin.git@master
Patch Set: regenerate pb.dart files Created 4 years, 8 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 | « lib/enum_generator.dart ('k') | lib/file_generator.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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 part of protoc; 5 part of protoc;
6 6
7 class ExtensionGenerator { 7 class ExtensionGenerator {
8 final FieldDescriptorProto _descriptor; 8 final FieldDescriptorProto _descriptor;
9 final ProtobufContainer _parent; 9 final ProtobufContainer _parent;
10 10
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 // The type of this extension is defined in a different file, 48 // The type of this extension is defined in a different file,
49 // so we need to import it. 49 // so we need to import it.
50 imports.add(typeGen.fileGen); 50 imports.add(typeGen.fileGen);
51 } 51 }
52 } 52 }
53 53
54 void generate(IndentingWriter out) { 54 void generate(IndentingWriter out) {
55 if (_field == null) throw new StateError("resolve not called"); 55 if (_field == null) throw new StateError("resolve not called");
56 56
57 String name = _field.dartFieldName; 57 String name = _field.dartFieldName;
58 var type = _field.baseType;
59 var dartType = type.getDartType(package);
58 60
59 if (_field.isRepeated) { 61 if (_field.isRepeated) {
60 out.print('static final Extension $name = ' 62 out.print('static final Extension $name = '
61 'new Extension.repeated(\'$_extendedClassName\', \'$name\', ' 63 'new Extension<$dartType>.repeated(\'$_extendedClassName\','
62 '${_field.number}, ${_field.typeConstant}'); 64 ' \'$name\', ${_field.number}, ${_field.typeConstant}');
63 var type = _field.baseType;
64 if (type.isMessage || type.isGroup) { 65 if (type.isMessage || type.isGroup) {
65 var dartClass = type.getDartType(package); 66 out.println(', $dartType.$checkItem, $dartType.create);');
66 out.println(', $dartClass.$checkItem, $dartClass.create);');
67 } else if (type.isEnum) { 67 } else if (type.isEnum) {
68 var dartClass = type.getDartType(package); 68 out.println(', $dartType.$checkItem, null, $dartType.valueOf);');
69 out.println(', $dartClass.$checkItem, null, $dartClass.valueOf);');
70 } else { 69 } else {
71 out.println(", getCheckFunction(${_field.typeConstant}));"); 70 out.println(", getCheckFunction(${_field.typeConstant}));");
72 } 71 }
73 return; 72 return;
74 } 73 }
75 74
76 out.print('static final Extension $name = ' 75 out.print('static final Extension $name = '
77 'new Extension(\'$_extendedClassName\', \'$name\', ' 76 'new Extension<$dartType>(\'$_extendedClassName\', \'$name\', '
78 '${_field.number}, ${_field.typeConstant}'); 77 '${_field.number}, ${_field.typeConstant}');
79 78
80 String initializer = _field.generateDefaultFunction(package); 79 String initializer = _field.generateDefaultFunction(package);
81 80
82 var type = _field.baseType;
83 if (type.isMessage || type.isGroup) { 81 if (type.isMessage || type.isGroup) {
84 var dartClass = type.getDartType(package); 82 out.println(', $initializer, $dartType.create);');
85 out.println(', $initializer, $dartClass.create);');
86 } else if (type.isEnum) { 83 } else if (type.isEnum) {
87 var dartEnum = type.getDartType(package); 84 var dartEnum = type.getDartType(package);
88 String valueOf = '(var v) => $dartEnum.valueOf(v)'; 85 String valueOf = '(var v) => $dartEnum.valueOf(v)';
89 out.println(", $initializer, null, $valueOf);"); 86 out.println(", $initializer, null, $valueOf);");
90 } else if (initializer != null) { 87 } else if (initializer != null) {
91 out.println(", $initializer);"); 88 out.println(", $initializer);");
92 } else { 89 } else {
93 out.println(");"); 90 out.println(");");
94 } 91 }
95 } 92 }
96 } 93 }
OLDNEW
« no previous file with comments | « lib/enum_generator.dart ('k') | lib/file_generator.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698