@@ -14,24 +14,28 @@ import com.intellij.psi.util.parents
14
14
15
15
object JSPsiUtil {
16
16
fun isExportedFileFunction (element : PsiElement ): Boolean {
17
- val parent = element.parent
18
-
19
- if ((parent is JSFile ) || (parent is JSEmbeddedContent )) {
20
- return when (element) {
21
- is JSVarStatement -> {
22
- val variables = element.variables
23
- val variable = variables.firstOrNull()
24
- variable != null && variable.initializerOrStub is JSFunction && exported(variable)
17
+ when (val parent = element.parent) {
18
+ is JSFile , is JSEmbeddedContent -> {
19
+ return when (element) {
20
+ is JSVarStatement -> {
21
+ val variables = element.variables
22
+ val variable = variables.firstOrNull() ? : return false
23
+ variable.initializerOrStub is JSFunction && exported(variable)
24
+ }
25
+
26
+ is JSFunction -> exported(element)
27
+ else -> false
25
28
}
29
+ }
30
+
31
+ is JSVariable -> {
32
+ val varStatement = parent.parent as ? JSVarStatement ? : return false
33
+ return varStatement.parent is JSFile && exported(parent)
34
+ }
26
35
27
- is JSFunction -> exported(element)
28
- else -> false
36
+ else -> {
37
+ return parent is ES6ExportDefaultAssignment
29
38
}
30
- } else if (parent is JSVariable ) {
31
- val varStatement = parent.parent as ? JSVarStatement
32
- return varStatement != null && varStatement.parent is JSFile && exported(parent)
33
- } else {
34
- return parent is ES6ExportDefaultAssignment
35
39
}
36
40
}
37
41
@@ -58,7 +62,7 @@ object JSPsiUtil {
58
62
}
59
63
}
60
64
61
- fun exported (element : PsiElement ): Boolean {
65
+ private fun exported (element : PsiElement ): Boolean {
62
66
if (element !is JSElementBase ) return false
63
67
64
68
if (element.isExported || element.isExportedWithDefault) {
@@ -91,6 +95,12 @@ object JSPsiUtil {
91
95
return jSVariable.name
92
96
}
93
97
98
+ /* *
99
+ * Determines whether the given [element] is a private member.
100
+ *
101
+ * @param element the PSI element to check
102
+ * @return `true` if the element is a private member, `false` otherwise
103
+ */
94
104
fun isPrivateMember (element : PsiElement ): Boolean {
95
105
if (element is JSQualifiedNamedElement && element.isPrivateName) {
96
106
return true
0 commit comments