org.eclipse.xtend.ide.quickfix
Class XtendQuickfixProvider
java.lang.Object
org.eclipse.xtext.ui.editor.quickfix.AbstractDeclarativeQuickfixProvider
org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider
org.eclipse.xtend.ide.quickfix.XtendQuickfixProvider
- All Implemented Interfaces:
- IssueResolutionProvider
public class XtendQuickfixProvider
- extends DefaultQuickfixProvider
- Author:
- Jan Koehnlein - Quickfixes for inconsistent indentation, Sebastian Zarnekow - Quickfixes for misspelled types and constructors, Holger Schill - Quickfixes for missing methods / fields / localVars
Method Summary |
void |
addConstuctorFromSuper(Issue issue,
IssueResolutionAcceptor acceptor)
|
void |
addThrowsDeclaration(Issue issue,
IssueResolutionAcceptor acceptor)
|
protected void |
computeArgumentString(XAbstractFeatureCall call,
boolean paramNames,
IAppendable appendable,
boolean isExtension)
|
protected void |
computeTypeArguments(XExpression expression,
java.util.List<JvmTypeReference> typeArguments,
IAppendable appendable)
|
protected void |
createImportProposals(JvmDeclaredType contextType,
Issue issue,
java.lang.String typeSimpleName,
org.eclipse.jdt.core.search.IJavaSearchScope searchScope,
IssueResolutionAcceptor acceptor)
|
void |
createLinkingIssueResolutions(Issue issue,
IssueResolutionAcceptor issueResolutionAcceptor)
Filter quickfixes for types and constructors. |
protected void |
createNewLocalVariable(java.lang.String elementName,
JvmTypeReference expectedType,
Issue issue,
IssueResolutionAcceptor issueResolutionAcceptor,
IModificationContext modificationContext)
|
protected void |
createNewXtendField(java.lang.String elementName,
JvmTypeReference expectedType,
XAbstractFeatureCall call,
Issue issue,
IssueResolutionAcceptor issueResolutionAcceptor,
IModificationContext modificationContext)
|
protected void |
createNewXtendFunction(java.lang.String elementName,
java.lang.String callText,
boolean isExtension,
JvmTypeReference expectedType,
Issue issue,
IssueResolutionAcceptor issueResolutionAcceptor,
IModificationContext modificationContext)
|
protected void |
createXtendLinkingIssueResolutions(Issue issue,
IssueResolutionAcceptor issueResolutionAcceptor)
|
protected void |
doCreateNewFieldInClazz(java.lang.String elementName,
XAbstractFeatureCall call,
JvmTypeReference expectedType,
IXtextDocument xtextDocument,
int openingBraceOffset)
|
protected void |
doCreateNewFunctionInClazz(XAbstractFeatureCall call,
XtendClass xtendClazz,
JvmTypeReference expectedType,
IXtextDocument xtextDocument,
java.lang.String callText)
|
protected XExpression |
findContainerExpressionInBlockExpression(org.eclipse.emf.ecore.EObject expr)
|
void |
fixDuplicateImport(Issue issue,
IssueResolutionAcceptor acceptor)
|
void |
fixDuplicateWildcardUse(Issue issue,
IssueResolutionAcceptor acceptor)
|
void |
fixIndentation(Issue issue,
IssueResolutionAcceptor acceptor)
|
void |
fixMissingOverride(Issue issue,
IssueResolutionAcceptor acceptor)
|
void |
fixObsoleteOverride(Issue issue,
IssueResolutionAcceptor acceptor)
|
void |
fixUnusedImport(Issue issue,
IssueResolutionAcceptor acceptor)
|
protected java.lang.String |
getDefaultValueLiteral(JvmTypeReference type)
|
protected int |
getFirstOffsetOfKeyword(org.eclipse.emf.ecore.EObject object,
java.lang.String keyword)
|
protected IScope |
getImportedTypesScope(org.eclipse.emf.ecore.EObject model,
java.lang.String misspelled,
IScope actualScope,
org.eclipse.jdt.core.search.IJavaSearchScope scope)
|
protected org.eclipse.jdt.core.search.IJavaSearchScope |
getJavaSearchScope(org.eclipse.emf.ecore.EObject model)
|
protected java.lang.String |
getQualifiedTypeName(char[] packageName,
char[][] enclosingTypeNames,
char[] simpleTypeName)
|
java.util.List<IssueResolution> |
getResolutions(Issue issue)
|
boolean |
hasResolutionFor(java.lang.String issueCode)
|
void |
implementAbstractMethods(Issue issue,
IssueResolutionAcceptor acceptor)
|
protected void |
internalDoAddAbstractKeyword(org.eclipse.emf.ecore.EObject element,
IModificationContext context)
|
protected boolean |
isSimilarTypeName(java.lang.String s0,
java.lang.String s1)
|
void |
makeClassAbstract(Issue issue,
IssueResolutionAcceptor acceptor)
|
protected void |
organizeImports(Issue issue,
IssueResolutionAcceptor acceptor)
|
void |
putXtendOnClasspath(Issue issue,
IssueResolutionAcceptor acceptor)
|
protected void |
replaceKeyword(Keyword keyword,
java.lang.String replacement,
org.eclipse.emf.ecore.EObject container,
IXtextDocument document)
|
void |
surroundWithTryCatch(Issue issue,
IssueResolutionAcceptor acceptor)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
XtendQuickfixProvider
public XtendQuickfixProvider()
hasResolutionFor
public boolean hasResolutionFor(java.lang.String issueCode)
- Specified by:
hasResolutionFor
in interface IssueResolutionProvider
- Overrides:
hasResolutionFor
in class DefaultQuickfixProvider
getResolutions
public java.util.List<IssueResolution> getResolutions(Issue issue)
- Specified by:
getResolutions
in interface IssueResolutionProvider
- Overrides:
getResolutions
in class DefaultQuickfixProvider
createXtendLinkingIssueResolutions
protected void createXtendLinkingIssueResolutions(Issue issue,
IssueResolutionAcceptor issueResolutionAcceptor)
- Since:
- 2.3
createNewLocalVariable
protected void createNewLocalVariable(java.lang.String elementName,
JvmTypeReference expectedType,
Issue issue,
IssueResolutionAcceptor issueResolutionAcceptor,
IModificationContext modificationContext)
- Since:
- 2.3
createNewXtendFunction
protected void createNewXtendFunction(@NonNull
java.lang.String elementName,
@NonNull
java.lang.String callText,
boolean isExtension,
JvmTypeReference expectedType,
Issue issue,
IssueResolutionAcceptor issueResolutionAcceptor,
IModificationContext modificationContext)
- Since:
- 2.3
doCreateNewFunctionInClazz
protected void doCreateNewFunctionInClazz(@NonNull
XAbstractFeatureCall call,
XtendClass xtendClazz,
@Nullable
JvmTypeReference expectedType,
IXtextDocument xtextDocument,
@NonNull
java.lang.String callText)
throws org.eclipse.jface.text.BadLocationException
- Throws:
org.eclipse.jface.text.BadLocationException
- Since:
- 2.3
createNewXtendField
protected void createNewXtendField(java.lang.String elementName,
JvmTypeReference expectedType,
XAbstractFeatureCall call,
Issue issue,
IssueResolutionAcceptor issueResolutionAcceptor,
IModificationContext modificationContext)
- Since:
- 2.3
doCreateNewFieldInClazz
protected void doCreateNewFieldInClazz(@NonNull
java.lang.String elementName,
@NonNull
XAbstractFeatureCall call,
@NonNull
JvmTypeReference expectedType,
@NonNull
IXtextDocument xtextDocument,
int openingBraceOffset)
throws org.eclipse.jface.text.BadLocationException
- Throws:
org.eclipse.jface.text.BadLocationException
- Since:
- 2.3
getFirstOffsetOfKeyword
protected int getFirstOffsetOfKeyword(org.eclipse.emf.ecore.EObject object,
java.lang.String keyword)
- Since:
- 2.3
getDefaultValueLiteral
protected java.lang.String getDefaultValueLiteral(JvmTypeReference type)
- Since:
- 2.3
computeArgumentString
protected void computeArgumentString(XAbstractFeatureCall call,
boolean paramNames,
IAppendable appendable,
boolean isExtension)
- Since:
- 2.3
computeTypeArguments
protected void computeTypeArguments(XExpression expression,
java.util.List<JvmTypeReference> typeArguments,
IAppendable appendable)
- Since:
- 2.3
createLinkingIssueResolutions
public void createLinkingIssueResolutions(Issue issue,
IssueResolutionAcceptor issueResolutionAcceptor)
- Filter quickfixes for types and constructors.
- Overrides:
createLinkingIssueResolutions
in class DefaultQuickfixProvider
getJavaSearchScope
protected org.eclipse.jdt.core.search.IJavaSearchScope getJavaSearchScope(org.eclipse.emf.ecore.EObject model)
getImportedTypesScope
protected IScope getImportedTypesScope(org.eclipse.emf.ecore.EObject model,
java.lang.String misspelled,
IScope actualScope,
org.eclipse.jdt.core.search.IJavaSearchScope scope)
isSimilarTypeName
protected boolean isSimilarTypeName(java.lang.String s0,
java.lang.String s1)
getQualifiedTypeName
protected java.lang.String getQualifiedTypeName(char[] packageName,
char[][] enclosingTypeNames,
char[] simpleTypeName)
createImportProposals
protected void createImportProposals(JvmDeclaredType contextType,
Issue issue,
java.lang.String typeSimpleName,
org.eclipse.jdt.core.search.IJavaSearchScope searchScope,
IssueResolutionAcceptor acceptor)
throws org.eclipse.jdt.core.JavaModelException
- Throws:
org.eclipse.jdt.core.JavaModelException
fixIndentation
public void fixIndentation(Issue issue,
IssueResolutionAcceptor acceptor)
fixDuplicateImport
public void fixDuplicateImport(Issue issue,
IssueResolutionAcceptor acceptor)
fixDuplicateWildcardUse
public void fixDuplicateWildcardUse(Issue issue,
IssueResolutionAcceptor acceptor)
fixUnusedImport
public void fixUnusedImport(Issue issue,
IssueResolutionAcceptor acceptor)
organizeImports
protected void organizeImports(Issue issue,
IssueResolutionAcceptor acceptor)
fixMissingOverride
public void fixMissingOverride(Issue issue,
IssueResolutionAcceptor acceptor)
fixObsoleteOverride
public void fixObsoleteOverride(Issue issue,
IssueResolutionAcceptor acceptor)
replaceKeyword
protected void replaceKeyword(Keyword keyword,
java.lang.String replacement,
org.eclipse.emf.ecore.EObject container,
IXtextDocument document)
throws org.eclipse.jface.text.BadLocationException
- Throws:
org.eclipse.jface.text.BadLocationException
addConstuctorFromSuper
public void addConstuctorFromSuper(Issue issue,
IssueResolutionAcceptor acceptor)
implementAbstractMethods
public void implementAbstractMethods(Issue issue,
IssueResolutionAcceptor acceptor)
addThrowsDeclaration
public void addThrowsDeclaration(Issue issue,
IssueResolutionAcceptor acceptor)
surroundWithTryCatch
public void surroundWithTryCatch(Issue issue,
IssueResolutionAcceptor acceptor)
findContainerExpressionInBlockExpression
protected XExpression findContainerExpressionInBlockExpression(org.eclipse.emf.ecore.EObject expr)
putXtendOnClasspath
public void putXtendOnClasspath(Issue issue,
IssueResolutionAcceptor acceptor)
makeClassAbstract
public void makeClassAbstract(Issue issue,
IssueResolutionAcceptor acceptor)
internalDoAddAbstractKeyword
protected void internalDoAddAbstractKeyword(org.eclipse.emf.ecore.EObject element,
IModificationContext context)
throws org.eclipse.jface.text.BadLocationException
- Throws:
org.eclipse.jface.text.BadLocationException