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

Unified Diff: pkg/analysis_server/lib/src/services/correction/fix_internal.dart

Issue 1149473002: Check for null in 'Create Class' Quick Fix. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/lib/src/services/correction/fix_internal.dart
diff --git a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
index 1cbd87d29709a2eed1a8ebf16ddb787a9cd9d55d..9e4e8b17c09c6b577f22ddfa6ab4222c6ec4b694 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -372,37 +372,41 @@ class FixProcessor {
}
void _addFix_createClass() {
- if (_mayBeTypeIdentifier(node)) {
- String name = (node as SimpleIdentifier).name;
- // prepare environment
- CompilationUnitMember enclosingMember =
- node.getAncestor((node) => node is CompilationUnitMember);
- int offset = enclosingMember.end;
- String prefix = '';
- // prepare source
- SourceBuilder sb = new SourceBuilder(file, offset);
+ if (!_mayBeTypeIdentifier(node)) {
+ return;
+ }
+ String name = (node as SimpleIdentifier).name;
+ // prepare environment
+ CompilationUnitMember enclosingMember =
+ node.getAncestor((node) => node is CompilationUnitMember);
+ if (enclosingMember == null) {
+ return;
+ }
+ int offset = enclosingMember.end;
+ String prefix = '';
+ // prepare source
+ SourceBuilder sb = new SourceBuilder(file, offset);
+ {
+ sb.append('$eol$eol');
+ sb.append(prefix);
+ // "class"
+ sb.append('class ');
+ // append name
{
- sb.append('$eol$eol');
- sb.append(prefix);
- // "class"
- sb.append('class ');
- // append name
- {
- sb.startPosition('NAME');
- sb.append(name);
- sb.endPosition();
- }
- // no members
- sb.append(' {');
- sb.append(eol);
- sb.append('}');
+ sb.startPosition('NAME');
+ sb.append(name);
+ sb.endPosition();
}
- // insert source
- _insertBuilder(sb, unitElement);
- _addLinkedPosition('NAME', sb, rf.rangeNode(node));
- // add proposal
- _addFix(DartFixKind.CREATE_CLASS, [name]);
+ // no members
+ sb.append(' {');
+ sb.append(eol);
+ sb.append('}');
}
+ // insert source
+ _insertBuilder(sb, unitElement);
+ _addLinkedPosition('NAME', sb, rf.rangeNode(node));
+ // add proposal
+ _addFix(DartFixKind.CREATE_CLASS, [name]);
}
/**
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698