@Nullable private static Name getName(@Nullable JetExpression expression) { if (expression == null) { return null; } if (expression instanceof JetSimpleNameExpression) { return ((JetSimpleNameExpression) expression).getReferencedNameAsName(); } else { throw new IllegalArgumentException( "Can't construct name for: " + expression.getClass().toString()); } }
@Nullable private static FqName getFQName(@Nullable JetExpression expression) { if (expression == null) { return null; } if (expression instanceof JetDotQualifiedExpression) { JetDotQualifiedExpression dotQualifiedExpression = (JetDotQualifiedExpression) expression; FqName parentFqn = getFQName(dotQualifiedExpression.getReceiverExpression()); Name child = getName(dotQualifiedExpression.getSelectorExpression()); return parentFqn != null && child != null ? parentFqn.child(child) : null; } else if (expression instanceof JetSimpleNameExpression) { JetSimpleNameExpression simpleNameExpression = (JetSimpleNameExpression) expression; return FqName.topLevel(simpleNameExpression.getReferencedNameAsName()); } else { throw new IllegalArgumentException( "Can't construct fqn for: " + expression.getClass().toString()); } }