Uast update due to new diagnostic for delegation by

This commit is contained in:
Mikhael Bogdanov
2016-12-15 16:51:41 +01:00
parent 547704c179
commit 0949f55921
7 changed files with 131 additions and 7 deletions
@@ -18,6 +18,7 @@ package org.jetbrains.uast.java
import com.intellij.psi.PsiAnonymousClass
import com.intellij.psi.PsiClass
import com.intellij.psi.PsiElement
import org.jetbrains.uast.*
import org.jetbrains.uast.java.internal.JavaUElementWithComments
@@ -57,8 +58,12 @@ abstract class AbstractJavaUClass : UClass, JavaUElementWithComments {
override fun hashCode() = psi.hashCode()
}
class JavaUClass private constructor(psi: PsiClass, override val containingElement: UElement?) : AbstractJavaUClass(), PsiClass by psi {
override val psi = unwrap<UClass, PsiClass>(psi)
class JavaUClass private constructor(psiClass: PsiClass, override val containingElement: UElement?) : AbstractJavaUClass(), PsiClass by psiClass {
override val psi = unwrap<UClass, PsiClass>(psiClass)
override fun getOriginalElement(): PsiElement? {
return super.getOriginalElement()
}
companion object {
fun create(psi: PsiClass, containingElement: UElement?): UClass {
@@ -75,4 +80,8 @@ class JavaUAnonymousClass(
override val containingElement: UElement?
) : AbstractJavaUClass(), UAnonymousClass, PsiAnonymousClass by psi {
override val psi: PsiAnonymousClass = unwrap<UAnonymousClass, PsiAnonymousClass>(psi)
override fun getOriginalElement(): PsiElement? {
return super<AbstractJavaUClass>.getOriginalElement()
}
}
@@ -17,6 +17,8 @@
package org.jetbrains.uast.java
import com.intellij.psi.PsiClassInitializer
import com.intellij.psi.PsiCodeBlock
import com.intellij.psi.PsiElement
import org.jetbrains.uast.*
import org.jetbrains.uast.java.internal.JavaUElementWithComments
@@ -26,6 +28,14 @@ class JavaUClassInitializer(
) : UClassInitializer, JavaUElementWithComments, PsiClassInitializer by psi {
override val psi = unwrap<UClassInitializer, PsiClassInitializer>(psi)
override fun getBody(): PsiCodeBlock {
return super.getBody()
}
override fun getOriginalElement(): PsiElement? {
return super.getOriginalElement()
}
override val uastAnchor: UElement?
get() = null
@@ -16,9 +16,7 @@
package org.jetbrains.uast.java
import com.intellij.psi.PsiAnnotationMethod
import com.intellij.psi.PsiMethod
import com.intellij.psi.PsiNameIdentifierOwner
import com.intellij.psi.*
import org.jetbrains.uast.*
import org.jetbrains.uast.java.internal.JavaUElementWithComments
@@ -27,7 +25,15 @@ open class JavaUMethod(
override val containingElement: UElement?
) : UMethod, JavaUElementWithComments, PsiMethod by psi {
override val psi = unwrap<UMethod, PsiMethod>(psi)
override fun getBody(): PsiCodeBlock? {
return super.getBody()
}
override fun getOriginalElement(): PsiElement? {
return super.getOriginalElement()
}
override val uastBody by lz {
val body = psi.body ?: return@lz null
getLanguagePlugin().convertElement(body, this) as? UExpression
@@ -44,7 +44,15 @@ open class JavaUVariable(
override val containingElement: UElement?
) : AbstractJavaUVariable(), UVariable, PsiVariable by psi {
override val psi = unwrap<UVariable, PsiVariable>(psi)
override fun getInitializer(): PsiExpression? {
return super<AbstractJavaUVariable>.getInitializer()
}
override fun getOriginalElement(): PsiElement? {
return super<AbstractJavaUVariable>.getOriginalElement()
}
companion object {
fun create(psi: PsiVariable, containingElement: UElement?): UVariable {
return when (psi) {
@@ -63,6 +71,14 @@ open class JavaUParameter(
override val containingElement: UElement?
) : AbstractJavaUVariable(), UParameter, PsiParameter by psi {
override val psi = unwrap<UParameter, PsiParameter>(psi)
override fun getInitializer(): PsiExpression? {
return super<AbstractJavaUVariable>.getInitializer()
}
override fun getOriginalElement(): PsiElement? {
return super<AbstractJavaUVariable>.getOriginalElement()
}
}
open class JavaUField(
@@ -70,6 +86,14 @@ open class JavaUField(
override val containingElement: UElement?
) : AbstractJavaUVariable(), UField, PsiField by psi {
override val psi = unwrap<UField, PsiField>(psi)
override fun getInitializer(): PsiExpression? {
return super<AbstractJavaUVariable>.getInitializer()
}
override fun getOriginalElement(): PsiElement? {
return super<AbstractJavaUVariable>.getOriginalElement()
}
}
open class JavaULocalVariable(
@@ -77,6 +101,14 @@ open class JavaULocalVariable(
override val containingElement: UElement?
) : AbstractJavaUVariable(), ULocalVariable, PsiLocalVariable by psi {
override val psi = unwrap<ULocalVariable, PsiLocalVariable>(psi)
override fun getInitializer(): PsiExpression? {
return super<AbstractJavaUVariable>.getInitializer()
}
override fun getOriginalElement(): PsiElement? {
return super<AbstractJavaUVariable>.getOriginalElement()
}
}
open class JavaUEnumConstant(
@@ -85,6 +117,14 @@ open class JavaUEnumConstant(
) : AbstractJavaUVariable(), UEnumConstant, PsiEnumConstant by psi {
override val psi = unwrap<UEnumConstant, PsiEnumConstant>(psi)
override fun getInitializer(): PsiExpression? {
return super<AbstractJavaUVariable>.getInitializer()
}
override fun getOriginalElement(): PsiElement? {
return super<AbstractJavaUVariable>.getOriginalElement()
}
override val kind: UastCallKind
get() = UastCallKind.CONSTRUCTOR_CALL
override val receiver: UExpression?