Unresolved <xyz> messages in IntelliJ

I have loaded the project GitHub - FlowForwarding/enetconf: NETCONF Library for Erlang in IntelliJ. I am able to compile the project and generate the .beam files.

However, I see the Unresolved <xyz> messages, examples of which are given at the end.

Because of this, I cannot walk through the code in IntelliJ (ctrl & mouse-over on a function/variable will enable a link. Clicking on the link will take me to the definition of the function/variable).

How to fix the issue?

While comparing with Java, I have the following queries. Please clarify.

  1. Java code would not compile with “unresolved variable” error. It is compile time error message. But, Erlang code is compiled in spite of the such an error. What type of message Erlang Unresolved <xyz> messages is?

  2. One class can refer another using import in Java. I do not see import in Erlang. One module can refer another directly in Erlang. Any thought on this?

Unresolved Message Examples
In the following examples, I have separated the actual code and the message by an arrow →

In enetconf_client.erl:
-behaviour(gen_server). → Unresolved behaviour gen_server
gen_server:start → Unresolved function start/3
enetconf_xml:unlock(MessageId, Target) → Unresolved function unlock/2

In enetconf.erl:
ssh:stop_daemon(Pid) → Unresolved function stop_daemon/1

1 Like

I am not a IntelliJ-user, but this looks like that it can’t find the definition of the gen_server-behavior (Typed Behaviours in LYSE). Maybe you need to configure the path to your erlang-installation?

2 Likes

Thanks Felix. I have installed the SDK and configured it in the IntelliJ IDE as mentioned in configure the path to your erlang-installation.

As of now, I am code browsing using the other options available with IntelliJ.

2 Likes

The issue got resolved after configuring Content root as explained in Content roots setting

2 Likes