The hover builder does not get the same information in the old and new Spoofax.

I guess it does not really matter whether "4" or Int("4") is hovered.
What does matter is that the position argument is empty in the new Spoofax.

Old spoofax Hover:

(
  Int("4"){(NablProp_ordering,Result(3607)),(NablProp_multiplicity,Result(3798)),(Type,Result(3797))},
  [3,0,0,0],
  ModuleDesugared("Relationsdebug"{Def(URI(Language("Relations"),[ID(NablNsModule,"Relationsdebug",Unique("/Users/daco/Documents/workspace/Relationsdebug/Relationsdebug.rel/0"))]))},None,None,Executable([Addition(Int("4"){(NablProp_ordering,Result(3607)),(NablProp_multiplicity,Result(3798)),(Type,Result(3797))},Int("5"){(NablProp_ordering,Result(3607)),(NablProp_multiplicity,Result(3798)),(Type,Result(3797))}){(NablProp_ordering,Result(3986)),(NablProp_multiplicity,Result(3974)),(Type,Result(3918))}])),
  "Relationsdebug.rel",
  "/Users/daco/Documents/workspace/Relationsdebug"
)

Spoofax Core Hover:

( "4"
, ()
, ModuleDesugared("Relationsdebug"{ Def(URI(Language("Relations"), [ID(NablNsModule(), "Relationsdebug", Unique("eclipse:///Relationsdebug/Relationsdebug.rel/0"))]))}, None(), None(), Executable([Addition(Int("4"){ (NablProp_ordering(), Result(40845)), (NablProp_multiplicity(), Result(40843)), (Type(), Result(40917))}, Int("4"){ (NablProp_ordering(), Result(40845)), (NablProp_multiplicity(), Result(40843)), (Type(), Result(40917))}){ (NablProp_ordering(), Result(41042)), (NablProp_multiplicity(), Result(41030)), (Type(), Result(40974))}]))
, ""
, "/Users/daco/Documents/workspace-20160105/Relationsdebug/Relationsdebug.rel"
)
Submitted by Daco Harkes on 5 January 2016 at 18:43

On 6 January 2016 at 16:20 Gabriël Konat tagged improvement

On 6 January 2016 at 16:20 Gabriël Konat tagged minor

On 6 January 2016 at 16:20 Gabriël Konat removed tag error

On 8 January 2016 at 11:04 Gabriël Konat commented:

This information is indeed missing from ALL builders.

The hover and resolution builders in Spoofax Core will apply to the deepest term under the cursor, and travel upwards until an invocation succeeds. So, if you want to have the hover or resolution to be applied on the parent instead, just fail the invocation, and it will invoke it on the parent, and so on.


On 30 March 2016 at 13:53 Gabriël Konat tagged core

Log in to post comments