<div dir="ltr">Hi Sven,<div><br></div><div>Thanks a lot for your time and efforts. I'll try all of this in kdev-ruby as soon as possible and I'll let you know what changes I think that might be needed for each component ;-)</div>
<div><br></div><div>Cheers,</div><div>Miquel</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-16 21:36 GMT+02:00 Sven Brauch <span dir="ltr"><<a href="mailto:svenbrauch@googlemail.com" target="_blank">svenbrauch@googlemail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi!<br>
<br>
I recently spent some time on cleaning up and generalizing some of the tools<br>
kdevelop-python uses for type inference, and moved them to KDevPlatform.<br>
There's now the following things:<br>
<br>
 - The container types: They make it possible to track T for List<T> for a T<br>
which is not static. There's also a type for hashmap-like objects which can<br>
track P and Q in Map<P, Q>. I think this might be especially interesting for<br>
PHP and JS; Ruby already uses its own (extended) copy and will eventually port<br>
to the new base class.<br>
See language/duchain/types/containertypes.h in KDevPlatform.<br>
<br>
 - Some type utilities, which allow to conveniently merge multiple types into<br>
an unsure type.<br>
See language/duchain/types/typeutils.h in KDevPlatform.<br>
<br>
 - A base expression visitor for finding the type of an expression. This is<br>
another thing which is reimplemented from scratch for each dynamic language<br>
and looks almost the same, so I think it would be good to share a common base.<br>
Especially increased consistency across language plugins would be nice here.<br>
See language/duchain/builders/dynamiclanguageexpressionvisitor.h in<br>
KDevPlatform.<br>
<br>
I'm writing this email so interested parties can review the API; I'd be happy<br>
to modify it to make it useful for other languages.<br>
<br>
Greetings!<br>
Sven<br>
_______________________________________________<br>
KDevelop-devel mailing list<br>
<a href="mailto:KDevelop-devel@kde.org">KDevelop-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kdevelop-devel" target="_blank">https://mail.kde.org/mailman/listinfo/kdevelop-devel</a><br>
</blockquote></div><br></div>