Packages

IntellijElixir allows intellij-elixir to ask Elixir for the native quoted form of code to check that intellij-elixir's quoted form matches.

Current section

Files

Jump to
intellij_elixir UPGRADING.md
Raw

UPGRADING.md

# Upgrading
## v0.1.0
If upgrading from v0.0.1, you'll now need to perform `GenServer.call IntellijElixir.Quoter, code` instead of
`send IntellijElixir.Quoter, %{code: code, for: pid}`. The response from `GenServer.call IntellijElixir.Quoter, code`
will be the same as `Code.string_to_quoted/2`: `{:ok, quoted}` or `{:error, reason}`.
If using JInterface, you'll need to manually construct a `GenServer.call` to `send` and parse the
`{ref, {status, quoted}}` that is received:
```java
OtpNode otpNode = new OtpNode(shortName + "@127.0.0.1", "intellij_elixir");
otpMbox = otpNode.createMbox();
OtpErlangAtom label = new OtpErlangAtom("$gen_call");
OtpErlangRef ref = otpNode.createRef();
OtpErlangTuple returnAddress = new OtpErlangTuple(
new OtpErlangObject[]{
otpMbox.self(),
ref
}
);
final byte[] bytes = code.getBytes(CharSet.forName("UTF-8"));
OtpErlangObject request = new OtpErlangBinary(bytes);
OtpErlangObject message = new OtpErlangTuple(
new OtpErlangObject[]{
label,
returnAddress,
request
}
);
optMbox.send("Elixir.IntellijElixir.Quoter", "intellij_elixir@127.0.0.1", message);
OtpErlangTuple response = (OtpErlangTuple) optMbox.receive(50);
assert response.elementAt(0).equals(ref);
OtpErlangTuple quoted = (OtpErlangTuple) response.element(1)
```