use MainFunctionDetector in order to check for main function

This commit is contained in:
Michael Nedzelsky
2015-10-15 18:31:05 +03:00
parent e2c7ba7f40
commit 114d19e6d9
4 changed files with 22 additions and 27 deletions
@@ -630,21 +630,6 @@ public class DescriptorUtils {
return SourceFile.NO_SOURCE_FILE;
}
public static boolean isTopLevelMainFunction(@NotNull DeclarationDescriptor descriptor) {
if (!(descriptor instanceof FunctionDescriptor) ||
!isTopLevelDeclaration(descriptor) ||
!"main".equals(descriptor.getName().asString())) return false;
FunctionDescriptor functionDescriptor = (FunctionDescriptor) descriptor;
List<ValueParameterDescriptor> valueParameterDescriptors = functionDescriptor.getValueParameters();
if (valueParameterDescriptors.size() != 1) return false;
JetType type = valueParameterDescriptors.get(0).getType();
return KotlinBuiltIns.isArray(type) && type.getArguments().size() == 1 && KotlinBuiltIns.isString(type.getArguments().get(0).getType());
}
private static void getSubPackagesFqNames(PackageViewDescriptor packageView, Set<FqName> result) {
FqName fqName = packageView.getFqName();
if (!fqName.isRoot()) {