Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Intellij Community
Commits
43817db7
Commit
43817db7
authored
6 years ago
by
Semyon Proshev
Browse files
Options
Download
Email Patches
Plain Diff
Reduce code duplication (PY-30747)
parent
cf26af17
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
python/psi-api/src/com/jetbrains/python/psi/PyCallExpression.java
+16
-19
...si-api/src/com/jetbrains/python/psi/PyCallExpression.java
with
16 additions
and
19 deletions
+16
-19
python/psi-api/src/com/jetbrains/python/psi/PyCallExpression.java
+
16
-
19
View file @
43817db7
...
...
@@ -31,34 +31,31 @@ public interface PyCallExpression extends PyCallSiteExpression {
@Nullable
@Override
default
PyExpression
getReceiver
(
@Nullable
PyCallable
resolvedCallee
)
{
final
PyExpression
callee
=
getCallee
();
if
(
resolvedCallee
instanceof
PyFunction
)
{
final
PyFunction
function
=
(
PyFunction
)
resolvedCallee
;
if
(!
PyNames
.
NEW
.
equals
(
function
.
getName
())
&&
function
.
getModifier
()
==
PyFunction
.
Modifier
.
STATICMETHOD
)
{
final
String
functionName
=
resolvedCallee
.
getName
();
if
(!
PyNames
.
NEW
.
equals
(
functionName
)
&&
((
PyFunction
)
resolvedCallee
).
getModifier
()
==
PyFunction
.
Modifier
.
STATICMETHOD
)
{
return
null
;
}
}
final
PyExpression
callee
=
getCallee
();
if
(
callee
instanceof
PyQualifiedExpression
)
{
final
PyQualifiedExpression
qualifiedCallee
=
(
PyQualifiedExpression
)
callee
;
if
(
callee
instanceof
PyQualifiedExpression
)
{
final
String
qualifiedCalleeName
=
callee
.
getName
();
if
(
resolvedCallee
instanceof
PyFunction
&&
qualifiedCallee
.
isQualified
()
&&
PyNames
.
INIT
.
equals
(
resolvedCallee
.
getName
())
&&
!
PyNames
.
INIT
.
equals
(
qualifiedCallee
.
getName
()))
{
return
null
;
}
if
(((
PyQualifiedExpression
)
callee
).
isQualified
()
&&
PyNames
.
INIT
.
equals
(
functionName
)
&&
!
PyNames
.
INIT
.
equals
(
qualifiedCalleeName
))
{
return
null
;
}
if
(
resolvedCallee
instanceof
PyFunction
&&
PyNames
.
NEW
.
equals
(
resolvedCallee
.
getName
())
&&
!
PyNames
.
NEW
.
equals
(
qualifiedCallee
.
getName
()))
{
return
callee
;
if
(
PyNames
.
NEW
.
equals
(
functionName
)
&&
!
PyNames
.
NEW
.
equals
(
qualifiedCalleeName
))
{
return
callee
;
}
}
return
qualifiedCallee
.
getQualifier
();
}
return
null
;
return
callee
instanceof
PyQualifiedExpression
?
((
PyQualifiedExpression
)
callee
).
getQualifier
()
:
null
;
}
@NotNull
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help