aBothe / Mono-D

D Add-In for MonoDevelop
http://wiki.dlang.org/Mono-D
Other
113 stars 26 forks source link

type resolution for indirectly imported public-imports seems broken #596

Closed extrawurst closed 9 years ago

extrawurst commented 9 years ago

regarding my github project (for repro: https://github.com/Extrawurst/unecht):

type vec3 cannot be found (goto-def or something): https://github.com/Extrawurst/unecht/blob/master/samples/helloworld/source/app.d#L29

the type get imported using import unecht: https://github.com/Extrawurst/unecht/blob/master/samples/helloworld/source/app.d#L3

which has a public import gl3n.linalg; and thats where type vec3 is defined

see: image

aBothe commented 9 years ago

The public import stuff is working - it's able to find UEComponent. Couldn't it simply be the fact that gl3n is missing? -- Or some of the include paths aren't interpreted properly.

extrawurst commented 9 years ago

maybe its because another third library is where vec3 is in and the unecht lib just publicly imports it?

aBothe commented 9 years ago

are you able to get completion for gl3n?

extrawurst commented 9 years ago

now we get closer. yeah i dont get any completion for any lib that is not a DIRECT dependency of the helloworld app.

aBothe commented 9 years ago

Is any gl3n library shown in the project pad? Or can you access gl3n stuff from derelict sources? It's a difference between having stuff loaded but not referenced and having it referenced but not loaded at all.

extrawurst commented 9 years ago

gl3n shows up in the project pad perfectly fine.. screen shot 2015-03-27 at 16 22 09

why do we keep playing this q&a game when all u have to do to answer those questions is git clone and look for yourself ? :)

extrawurst commented 9 years ago

and yes i get completion for gl3n stuff in the unecht-lib which is a dependency of helloworld and has gl3n as a direkt dependency

extrawurst commented 9 years ago

so i guess the only question is: should mono-d autocomplete indirect dependencies that come two levels down the dependency tree. right now dub build this just fine so i guess mono-d should allow completion there too...

aBothe commented 9 years ago

This involves changing the entire API heavily..but well, let's see.

aBothe commented 9 years ago

There probably will be some null-ref-exceptions throwing around, but the unittests are passing. Editing should work just as normal.

extrawurst commented 9 years ago

the proposed use case (my helloworld app) still gives no completion for gl3n types.. please download the repro project