public static Map<String, DeclarationDescriptor> prepareDefaultNameToDescriptors( Project project, KotlinCoreEnvironment environment) { KotlinBuiltIns builtIns = JvmPlatform.INSTANCE.getBuiltIns(); Map<String, DeclarationDescriptor> nameToDescriptor = new HashMap<String, DeclarationDescriptor>(); nameToDescriptor.put( "kotlin::Int.plus(Int)", standardFunction(builtIns.getInt(), "plus", project, builtIns.getIntType())); FunctionDescriptor descriptorForGet = standardFunction(builtIns.getArray(), "get", project, builtIns.getIntType()); nameToDescriptor.put("kotlin::Array.get(Int)", descriptorForGet.getOriginal()); nameToDescriptor.put( "kotlin::Int.compareTo(Double)", standardFunction(builtIns.getInt(), "compareTo", project, builtIns.getDoubleType())); @NotNull FunctionDescriptor descriptorForSet = standardFunction( builtIns.getArray(), "set", project, builtIns.getIntType(), builtIns.getIntType()); nameToDescriptor.put("kotlin::Array.set(Int, Int)", descriptorForSet.getOriginal()); return nameToDescriptor; }
private void generateDataClassHashCodeIfNeeded(@NotNull List<PropertyDescriptor> properties) { FunctionDescriptor function = getDeclaredMember("hashCode", builtIns.getInt()); if (function != null && isTrivial(function)) { generateHashCodeMethod(function, properties); } }