blob: accff7368c12e9dede91e58fd9355558c0ea3e0e [file] [log] [blame]
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/plugin/edit/assist/assist_core.dart';
import 'package:analyzer/src/dart/analysis/driver.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer_plugin/utilities/assist/assist.dart';
/**
* The implementation of [AssistContext].
*/
class AssistContextImpl implements AssistContext {
@override
final AnalysisDriver analysisDriver;
@override
final Source source;
@override
final int selectionOffset;
@override
final int selectionLength;
AssistContextImpl(this.analysisDriver, this.source, this.selectionOffset,
this.selectionLength);
}
/**
* An enumeration of possible assist kinds.
*/
class DartAssistKind {
static const ADD_PART_DIRECTIVE =
const AssistKind('ADD_PART_DIRECTIVE', 30, "Add 'part' directive");
static const ADD_TYPE_ANNOTATION =
const AssistKind('ADD_TYPE_ANNOTATION', 30, "Add type annotation");
static const ASSIGN_TO_LOCAL_VARIABLE = const AssistKind(
'ASSIGN_TO_LOCAL_VARIABLE', 30, "Assign value to new local variable");
static const CONVERT_DOCUMENTATION_INTO_BLOCK = const AssistKind(
'CONVERT_DOCUMENTATION_INTO_BLOCK',
30,
"Convert into block documentation comment");
static const CONVERT_DOCUMENTATION_INTO_LINE = const AssistKind(
'CONVERT_DOCUMENTATION_INTO_LINE',
30,
"Convert into line documentation comment");
static const CONVERT_FLUTTER_CHILD =
const AssistKind('CONVERT_FLUTTER_CHILD', 30, "Convert to children:");
static const CONVERT_INTO_ASYNC_BODY = const AssistKind(
'CONVERT_INTO_ASYNC_BODY', 30, "Convert into async function body");
static const CONVERT_INTO_BLOCK_BODY = const AssistKind(
'CONVERT_INTO_BLOCK_BODY', 30, "Convert into block body");
static const CONVERT_INTO_EXPRESSION_BODY = const AssistKind(
'CONVERT_INTO_EXPRESSION_BODY', 30, "Convert into expression body");
static const CONVERT_INTO_FOR_INDEX = const AssistKind(
'CONVERT_INTO_FOR_INDEX', 30, "Convert into for-index loop");
static const CONVERT_INTO_FINAL_FIELD = const AssistKind(
'CONVERT_INTO_FINAL_FIELD', 30, "Convert into final field");
static const CONVERT_INTO_GETTER =
const AssistKind('CONVERT_INTO_GETTER', 30, "Convert into getter");
static const CONVERT_INTO_IS_NOT =
const AssistKind('CONVERT_INTO_IS_NOT', 30, "Convert into is!");
static const CONVERT_INTO_IS_NOT_EMPTY = const AssistKind(
'CONVERT_INTO_IS_NOT_EMPTY', 30, "Convert into 'isNotEmpty'");
static const CONVERT_PART_OF_TO_URI =
const AssistKind('CONVERT_PART_OF_TO_URI', 30, "Convert to use a URI");
static const CONVERT_TO_FIELD_PARAMETER = const AssistKind(
'CONVERT_TO_FIELD_PARAMETER', 30, "Convert to field formal parameter");
static const CONVERT_TO_NORMAL_PARAMETER = const AssistKind(
'CONVERT_TO_NORMAL_PARAMETER', 30, "Convert to normal parameter");
static const ENCAPSULATE_FIELD =
const AssistKind('ENCAPSULATE_FIELD', 30, "Encapsulate field");
static const EXCHANGE_OPERANDS =
const AssistKind('EXCHANGE_OPERANDS', 30, "Exchange operands");
static const EXTRACT_CLASS =
const AssistKind('EXTRACT_CLASS', 30, "Extract class into file '{0}'");
static const FLUTTER_CONVERT_TO_STATEFUL_WIDGET = const AssistKind(
"FLUTTER_CONVERT_TO_STATEFUL_WIDGET", 30, "Convert to StatefulWidget");
static const FLUTTER_REPLACE_WITH_CHILDREN = const AssistKind(
"FLUTTER_REPLACE_WITH_CHILDREN", 30, "Replace with children");
static const IMPORT_ADD_SHOW =
const AssistKind('IMPORT_ADD_SHOW', 30, "Add explicit 'show' combinator");
static const INTRODUCE_LOCAL_CAST_TYPE = const AssistKind(
'INTRODUCE_LOCAL_CAST_TYPE', 30, "Introduce new local with tested type");
static const INVERT_IF_STATEMENT =
const AssistKind('INVERT_IF_STATEMENT', 30, "Invert 'if' statement");
static const JOIN_IF_WITH_INNER = const AssistKind('JOIN_IF_WITH_INNER', 30,
"Join 'if' statement with inner 'if' statement");
static const JOIN_IF_WITH_OUTER = const AssistKind('JOIN_IF_WITH_OUTER', 30,
"Join 'if' statement with outer 'if' statement");
static const JOIN_VARIABLE_DECLARATION = const AssistKind(
'JOIN_VARIABLE_DECLARATION', 30, "Join variable declaration");
static const MOVE_FLUTTER_WIDGET_DOWN =
const AssistKind("MOVE_FLUTTER_WIDGET_DOWN", 30, "Move widget down");
static const MOVE_FLUTTER_WIDGET_UP =
const AssistKind("MOVE_FLUTTER_WIDGET_UP", 30, "Move widget up");
static const REPARENT_FLUTTER_LIST =
const AssistKind("REPARENT_FLUTTER_LIST", 30, "Wrap with new widget");
static const REPARENT_FLUTTER_WIDGET =
const AssistKind("REPARENT_FLUTTER_WIDGET", 30, "Wrap with new widget");
static const REPARENT_FLUTTER_WIDGET_CENTER =
const AssistKind("REPARENT_FLUTTER_WIDGET_CENTER", 29, "Center widget");
static const REPARENT_FLUTTER_WIDGET_PADDING = const AssistKind(
"REPARENT_FLUTTER_WIDGET_PADDING", 29, "Add widget padding");
static const REPARENT_FLUTTER_WIDGETS_COLUMN = const AssistKind(
"REPARENT_FLUTTER_WIDGETS_COLUMN", 29, "Wrap with Column");
static const REPARENT_FLUTTER_WIDGETS_ROW =
const AssistKind("REPARENT_FLUTTER_WIDGETS_ROW", 29, "Wrap with Row");
static const REMOVE_TYPE_ANNOTATION =
const AssistKind('REMOVE_TYPE_ANNOTATION', 29, "Remove type annotation");
static const REPLACE_CONDITIONAL_WITH_IF_ELSE = const AssistKind(
'REPLACE_CONDITIONAL_WITH_IF_ELSE',
30,
"Replace conditional with 'if-else'");
static const REPLACE_IF_ELSE_WITH_CONDITIONAL = const AssistKind(
'REPLACE_IF_ELSE_WITH_CONDITIONAL',
30,
"Replace 'if-else' with conditional ('c ? x : y')");
static const SPLIT_AND_CONDITION =
const AssistKind('SPLIT_AND_CONDITION', 30, "Split && condition");
static const SPLIT_VARIABLE_DECLARATION = const AssistKind(
'SPLIT_VARIABLE_DECLARATION', 30, "Split variable declaration");
static const SURROUND_WITH_BLOCK =
const AssistKind('SURROUND_WITH_BLOCK', 30, "Surround with block");
static const SURROUND_WITH_DO_WHILE = const AssistKind(
'SURROUND_WITH_DO_WHILE', 30, "Surround with 'do-while'");
static const SURROUND_WITH_FOR =
const AssistKind('SURROUND_WITH_FOR', 30, "Surround with 'for'");
static const SURROUND_WITH_FOR_IN =
const AssistKind('SURROUND_WITH_FOR_IN', 30, "Surround with 'for-in'");
static const SURROUND_WITH_IF =
const AssistKind('SURROUND_WITH_IF', 30, "Surround with 'if'");
static const SURROUND_WITH_TRY_CATCH = const AssistKind(
'SURROUND_WITH_TRY_CATCH', 30, "Surround with 'try-catch'");
static const SURROUND_WITH_TRY_FINALLY = const AssistKind(
'SURROUND_WITH_TRY_FINALLY', 30, "Surround with 'try-finally'");
static const SURROUND_WITH_WHILE =
const AssistKind('SURROUND_WITH_WHILE', 30, "Surround with 'while'");
}