<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.adamcolton.net/index.php?action=history&amp;feed=atom&amp;title=Refactor_Tool</id>
	<title>Refactor Tool - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.adamcolton.net/index.php?action=history&amp;feed=atom&amp;title=Refactor_Tool"/>
	<link rel="alternate" type="text/html" href="https://wiki.adamcolton.net/index.php?title=Refactor_Tool&amp;action=history"/>
	<updated>2026-10-29T10:17:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.adamcolton.net/index.php?title=Refactor_Tool&amp;diff=8006&amp;oldid=prev</id>
		<title>Adamcolton: Created page with &quot;Like golangs eg.  Takes a script (also in the Gryphon language) and manipulates the syntax tree.  == Selector == This is actually something of a challenge. We need a way to de...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.adamcolton.net/index.php?title=Refactor_Tool&amp;diff=8006&amp;oldid=prev"/>
		<updated>2019-09-23T19:09:20Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Like golangs eg.  Takes a script (also in the Gryphon language) and manipulates the syntax tree.  == Selector == This is actually something of a challenge. We need a way to de...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Like golangs eg.&lt;br /&gt;
&lt;br /&gt;
Takes a script (also in the Gryphon language) and manipulates the syntax tree.&lt;br /&gt;
&lt;br /&gt;
== Selector ==&lt;br /&gt;
This is actually something of a challenge. We need a way to define what we&amp;#039;re selecting.&lt;br /&gt;
&lt;br /&gt;
If the tool is being used interactively this can just be a location.&lt;br /&gt;
&lt;br /&gt;
If a user is writing a script, it can be done with contexts. So the ID property on the Foo struct would be &amp;quot;ID.Foo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Scope ==&lt;br /&gt;
Targets a package. If the package is an application, it can cascade to the modules.&lt;br /&gt;
&lt;br /&gt;
== Operations ==&lt;br /&gt;
=== Rename ===&lt;br /&gt;
Yup.&lt;br /&gt;
&lt;br /&gt;
=== Change Type ===&lt;br /&gt;
Requires a converter function. So changing Foo from type A to B requires a function of func(a A) B. If we enconter&lt;br /&gt;
  var foo A = someA&lt;br /&gt;
it becomes&lt;br /&gt;
  var foo B = Convert(someA)&lt;br /&gt;
&lt;br /&gt;
[[Category:Gryphon]]&lt;/div&gt;</summary>
		<author><name>Adamcolton</name></author>
	</entry>
</feed>