<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://techbase.kde.org/skins/common/feed.css?0.2"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://techbase.kde.org/index.php?title=Projects/KDevelop4/SupportForDynamicMaps&amp;feed=atom&amp;action=history</id>
		<title>Projects/KDevelop4/SupportForDynamicMaps - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://techbase.kde.org/index.php?title=Projects/KDevelop4/SupportForDynamicMaps&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Projects/KDevelop4/SupportForDynamicMaps&amp;action=history"/>
		<updated>2013-06-19T05:35:48Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Projects/KDevelop4/SupportForDynamicMaps&amp;diff=60913&amp;oldid=prev</id>
		<title>Neverendingo: Text replace - &quot;&lt;/code&gt;&quot; to &quot;&lt;/syntaxhighlight&gt;&quot;</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Projects/KDevelop4/SupportForDynamicMaps&amp;diff=60913&amp;oldid=prev"/>
				<updated>2011-06-29T20:57:32Z</updated>
		
		<summary type="html">&lt;p&gt;Text replace - &amp;quot;&amp;lt;/code&amp;gt;&amp;quot; to &amp;quot;&amp;lt;/syntaxhighlight&amp;gt;&amp;quot;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 20:57, 29 June 2011&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In the simple case of a map similar to &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;QMap&amp;lt;KeyType, ValueType&amp;gt;&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt; the types are clear. But in the following PHP example we would have to use UnsureType:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In the simple case of a map similar to &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;QMap&amp;lt;KeyType, ValueType&amp;gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt; the types are clear. But in the following PHP example we would have to use UnsureType:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$a&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt; would be a VariableDeclaration with an associated MapType. Here would be the expected return values for &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;keyType()&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;valueType()&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt; respectivly:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$a&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt; would be a VariableDeclaration with an associated MapType. Here would be the expected return values for &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;keyType()&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;valueType()&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt; respectivly:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 126:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 126:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In this case we don't know how to resolve &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$b&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt;! Hence our idea is to give a list of all completionitems for each class &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$a&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt; contains. Since that is possibly quite much we show an additional list (positioned the same like the argument hint list) which can be accessed by mouse or by the up-arrow. That list contains all possible types (i.e. valueType()). This list can be used for filtering the lower list.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In this case we don't know how to resolve &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$b&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt;! Hence our idea is to give a list of all completionitems for each class &amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;$a&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt; contains. Since that is possibly quite much we show an additional list (positioned the same like the argument hint list) which can be accessed by mouse or by the up-arrow. That list contains all possible types (i.e. valueType()). This list can be used for filtering the lower list.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wwwdeveloper:diff:version:1.11a:oldid:60388:newid:60913 --&gt;
&lt;/table&gt;</summary>
		<author><name>Neverendingo</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Projects/KDevelop4/SupportForDynamicMaps&amp;diff=60388&amp;oldid=prev</id>
		<title>Neverendingo: Text replace - &quot;&lt;code&gt;&quot; to &quot;&lt;syntaxhighlight lang=&quot;text&quot;&gt;&quot;</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Projects/KDevelop4/SupportForDynamicMaps&amp;diff=60388&amp;oldid=prev"/>
				<updated>2011-06-29T20:49:03Z</updated>
		
		<summary type="html">&lt;p&gt;Text replace - &amp;quot;&amp;lt;code&amp;gt;&amp;quot; to &amp;quot;&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&amp;quot;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 20:49, 29 June 2011&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In the simple case of a map similar to &amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt;QMap&amp;lt;KeyType, ValueType&amp;gt;&amp;lt;/code&amp;gt; the types are clear. But in the following PHP example we would have to use UnsureType:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In the simple case of a map similar to &amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight lang=&amp;quot;text&amp;quot;&lt;/ins&gt;&amp;gt;QMap&amp;lt;KeyType, ValueType&amp;gt;&amp;lt;/code&amp;gt; the types are clear. But in the following PHP example we would have to use UnsureType:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt;$a&amp;lt;/code&amp;gt; would be a VariableDeclaration with an associated MapType. Here would be the expected return values for &amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt;keyType()&amp;lt;/code&amp;gt; and &amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt;valueType()&amp;lt;/code&amp;gt; respectivly:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight lang=&amp;quot;text&amp;quot;&lt;/ins&gt;&amp;gt;$a&amp;lt;/code&amp;gt; would be a VariableDeclaration with an associated MapType. Here would be the expected return values for &amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight lang=&amp;quot;text&amp;quot;&lt;/ins&gt;&amp;gt;keyType()&amp;lt;/code&amp;gt; and &amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight lang=&amp;quot;text&amp;quot;&lt;/ins&gt;&amp;gt;valueType()&amp;lt;/code&amp;gt; respectivly:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 126:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 126:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In this case we don't know how to resolve &amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt;$b&amp;lt;/code&amp;gt;! Hence our idea is to give a list of all completionitems for each class &amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code&lt;/del&gt;&amp;gt;$a&amp;lt;/code&amp;gt; contains. Since that is possibly quite much we show an additional list (positioned the same like the argument hint list) which can be accessed by mouse or by the up-arrow. That list contains all possible types (i.e. valueType()). This list can be used for filtering the lower list.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In this case we don't know how to resolve &amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight lang=&amp;quot;text&amp;quot;&lt;/ins&gt;&amp;gt;$b&amp;lt;/code&amp;gt;! Hence our idea is to give a list of all completionitems for each class &amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight lang=&amp;quot;text&amp;quot;&lt;/ins&gt;&amp;gt;$a&amp;lt;/code&amp;gt; contains. Since that is possibly quite much we show an additional list (positioned the same like the argument hint list) which can be accessed by mouse or by the up-arrow. That list contains all possible types (i.e. valueType()). This list can be used for filtering the lower list.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Neverendingo</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Projects/KDevelop4/SupportForDynamicMaps&amp;diff=57967&amp;oldid=prev</id>
		<title>Odysseus: moved KDevelop4/SupportForDynamicMaps to Projects/KDevelop4/SupportForDynamicMaps:&amp;#32;Move to correct place in page hierarchy, although most content probably belongs on community.kde.org</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Projects/KDevelop4/SupportForDynamicMaps&amp;diff=57967&amp;oldid=prev"/>
				<updated>2011-03-19T13:34:54Z</updated>
		
		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/KDevelop4/SupportForDynamicMaps&quot; class=&quot;mw-redirect&quot; title=&quot;KDevelop4/SupportForDynamicMaps&quot;&gt;KDevelop4/SupportForDynamicMaps&lt;/a&gt; to &lt;a href=&quot;/Projects/KDevelop4/SupportForDynamicMaps&quot; title=&quot;Projects/KDevelop4/SupportForDynamicMaps&quot;&gt;Projects/KDevelop4/SupportForDynamicMaps&lt;/a&gt;: Move to correct place in page hierarchy, although most content probably belongs on community.kde.org&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 13:34, 19 March 2011&lt;/td&gt;
			&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Odysseus</name></author>	</entry>

	<entry>
		<id>http://techbase.kde.org/index.php?title=Projects/KDevelop4/SupportForDynamicMaps&amp;diff=56929&amp;oldid=prev</id>
		<title>Milianw: Created page with '= support for maps in dynamic languages =   Virtually every dynamic language we can think of has some kind of map which you can use to store any combination of types. Currently t...'</title>
		<link rel="alternate" type="text/html" href="http://techbase.kde.org/index.php?title=Projects/KDevelop4/SupportForDynamicMaps&amp;diff=56929&amp;oldid=prev"/>
				<updated>2011-02-05T18:00:17Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;#039;= support for maps in dynamic languages =   Virtually every dynamic language we can think of has some kind of map which you can use to store any combination of types. Currently t...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= support for maps in dynamic languages = &lt;br /&gt;
&lt;br /&gt;
Virtually every dynamic language we can think of has some kind of map which you can use to store any combination of types. Currently there is no support for this in the KDevelop 4 DUChain. Here's a proposal we came up with on the KDevelop Hack Sprint 2009 in Ukraine:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== UnsureType ==&lt;br /&gt;
&lt;br /&gt;
essentially a list of possible types&lt;br /&gt;
&lt;br /&gt;
== MapType == &lt;br /&gt;
&lt;br /&gt;
A type which essentially holds two types: One for the key(s), one for the value(s).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AbstractType::Ptr MapType-&amp;gt;keyType()&lt;br /&gt;
AbstractType::Ptr MapType-&amp;gt;valueType()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the simple case of a map similar to &amp;lt;code&amp;gt;QMap&amp;lt;KeyType, ValueType&amp;gt;&amp;lt;/code&amp;gt; the types are clear. But in the following PHP example we would have to use UnsureType:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$a = array(&lt;br /&gt;
  1 =&amp;gt; &amp;quot;foo&amp;quot;,&lt;br /&gt;
  &amp;quot;bar&amp;quot; =&amp;gt; 2134,&lt;br /&gt;
  0 =&amp;gt; 0.234,&lt;br /&gt;
  &amp;quot;asdfasdf&amp;quot; =&amp;gt; new someClass();&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$a&amp;lt;/code&amp;gt; would be a VariableDeclaration with an associated MapType. Here would be the expected return values for &amp;lt;code&amp;gt;keyType()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;valueType()&amp;lt;/code&amp;gt; respectivly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  keyType() =&amp;gt; UnsureType which contains the types&lt;br /&gt;
    ConstantIntegralType for Int, value 1&lt;br /&gt;
    ConstantIntegralType for String, value bar&lt;br /&gt;
    ConstantIntegralType for Int, value 0&lt;br /&gt;
    ConstantIntegralType for String, value asdfasdf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**Note:** ConstantIntegralType has to be extended to be able to store strings. Should be simple by storing the IndexedString-&amp;gt;index() in the available value field.&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  valueType() =&amp;gt; UnsureType which contains the types&lt;br /&gt;
    IntegralType for String&lt;br /&gt;
    IntegralType for Int&lt;br /&gt;
    IntegralType for Float&lt;br /&gt;
    StructureType for someClass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Declarations for map contents ==&lt;br /&gt;
&lt;br /&gt;
Each map has its own context which contains declarations for all it's items.&lt;br /&gt;
&lt;br /&gt;
The Declarations are again have a MapType, though keyType / valueType returns the real types, no UnsureType. As an Identifier we use the key converted to a string. Example: Int(1) =&amp;gt; &amp;quot;1&amp;quot;, String(&amp;quot;asdf&amp;quot;) =&amp;gt; &amp;quot;\&amp;quot;asdf\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
**TODO:** what / how do we store complex keys, for example variables, objects (possible in Ruby) or function calls.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// VariableDeclaration&lt;br /&gt;
//   type: MapType&lt;br /&gt;
//     MapType-&amp;gt;keyType() =&amp;gt; UnsureType (contains ConstIntegralType for Int and ConstIntegralType for String)&lt;br /&gt;
//     MapType-&amp;gt;valueType() =&amp;gt; UnsureType (contains ConstIntegralType for String, StructureType)&lt;br /&gt;
$a = array(&lt;br /&gt;
  // open new context for $a&lt;br /&gt;
&lt;br /&gt;
  // Declaration&lt;br /&gt;
  //   type: MapType&lt;br /&gt;
  //     MapType-&amp;gt;keyType() =&amp;gt; ConstIntegralType Int, value 1&lt;br /&gt;
  //     MapType-&amp;gt;valueType() =&amp;gt; StructureType for Class&lt;br /&gt;
  //   Identifier: keyName (here: &amp;quot;1&amp;quot;)&lt;br /&gt;
  //&lt;br /&gt;
  1 =&amp;gt; &amp;quot;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
  // Declaration&lt;br /&gt;
  //   Type: MapType&lt;br /&gt;
  //     MapType-&amp;gt;keyType() =&amp;gt; ConstIntegralType String, value &amp;quot;a&amp;quot; (TODO:&lt;br /&gt;
  //     MapType-&amp;gt;valueType() =&amp;gt; StructureType for Class&lt;br /&gt;
  //   Identifier: keyName (here &amp;quot;\&amp;quot;a\&amp;quot;&amp;quot; &amp;lt;-- including the quotes, possibly in the PHP/Js case always converted to doublequotes&lt;br /&gt;
  &amp;quot;a&amp;quot; =&amp;gt; new Class();&lt;br /&gt;
&lt;br /&gt;
  // close context for $a&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CodeCompletion: ==&lt;br /&gt;
&lt;br /&gt;
All the above will make it possible to generate sane completion lists most of the time.&lt;br /&gt;
&lt;br /&gt;
=== Example 1 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$a[&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should create a list of all possible values for the keys, by going through keyType. ConstIntegralTypes list their values, StructureTypes (for Ruby) the identifier of their associated Declaration.&lt;br /&gt;
&lt;br /&gt;
=== Example 2 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$a = array(&lt;br /&gt;
  1 =&amp;gt; new myClass();&lt;br /&gt;
  2 =&amp;gt; ...&lt;br /&gt;
  ...&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$a[1]-&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Shows completion just like we access any variable of myClass type.&lt;br /&gt;
&lt;br /&gt;
=== Example 3 ===&lt;br /&gt;
&lt;br /&gt;
In dynamic languages the following is possible which makes it a bit more complicated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// in some config file e.g.&lt;br /&gt;
$a = array(&lt;br /&gt;
  0 =&amp;gt; new class1,&lt;br /&gt;
  1 =&amp;gt; new class2,&lt;br /&gt;
  2 =&amp;gt; new class3,&lt;br /&gt;
  ...&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
// in another file&lt;br /&gt;
// we don't know what $b contains!&lt;br /&gt;
$a[$b]-&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case we don't know how to resolve &amp;lt;code&amp;gt;$b&amp;lt;/code&amp;gt;! Hence our idea is to give a list of all completionitems for each class &amp;lt;code&amp;gt;$a&amp;lt;/code&amp;gt; contains. Since that is possibly quite much we show an additional list (positioned the same like the argument hint list) which can be accessed by mouse or by the up-arrow. That list contains all possible types (i.e. valueType()). This list can be used for filtering the lower list.&lt;/div&gt;</summary>
		<author><name>Milianw</name></author>	</entry>

	</feed>