Recovery for initializer if no LBRACE
- If no LBRACE after 'init' keyword parse initializer without body - Made getBody() nullable, appropriate checks added
This commit is contained in:
+2
-2
@@ -179,8 +179,8 @@ private fun addDebugExpressionBeforeContextElement(codeFragment: JetCodeFragment
|
||||
fun insertNewInitializer(classBody: JetClassBody): PsiElement? {
|
||||
val initializer = psiFactory.createAnonymousInitializer()
|
||||
val newInitializer = (classBody.addAfter(initializer, classBody.getFirstChild()) as JetClassInitializer)
|
||||
val block = newInitializer.getBody() as JetBlockExpression
|
||||
return block.getLastChild()
|
||||
val block = newInitializer.getBody() as JetBlockExpression?
|
||||
return block?.getLastChild()
|
||||
}
|
||||
|
||||
val elementBefore = when {
|
||||
|
||||
+4
-1
@@ -70,7 +70,10 @@ public class KotlinCalleeMethodsTreeStructure extends KotlinCallTreeStructure {
|
||||
JetClassBody body = classOrObject.getBody();
|
||||
if (body != null) {
|
||||
for (JetClassInitializer initializer : body.getAnonymousInitializers()) {
|
||||
elementsToAnalyze.add(initializer.getBody());
|
||||
JetExpression initializerBody = initializer.getBody();
|
||||
if (initializerBody != null) {
|
||||
elementsToAnalyze.add(initializerBody);
|
||||
}
|
||||
}
|
||||
for (JetProperty property : body.getProperties()) {
|
||||
JetExpression initializer = property.getInitializer();
|
||||
|
||||
@@ -44,7 +44,7 @@ public class AddInitKeywordFix(element: JetClassInitializer) : JetIntentionActio
|
||||
|
||||
val psiFactory = JetPsiFactory(file)
|
||||
val initKeyword = psiFactory.createInitKeyword()
|
||||
val anchor = element.getBody()
|
||||
val anchor = element.getBody() ?: return
|
||||
element.addBefore(initKeyword, anchor)
|
||||
element.addBefore(psiFactory.createWhiteSpace(), anchor)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user