TS 69 JavaFX Refactoring
Author: Alexandr Scherbatiy
Version: 1.2
Last update: 4 August 2010
Introduction:
Comments:
Contents |
Refactoring Ubrella issue: 173077
Variable
Name
- Type in the editor:
public var a = 10; public var b = a + 10;
- Refactor->Rename the a variable to c
- Code should be compilable
- The result should be
public var c = 10; public var b = c + 10;
Type
- Type in the editor:
var a:A; class A{}
- Refactor->Rename the A type of the a variable to B
- Code should be compilable
- The result should be
var a:B; class B{}
Function
Name
- Type in the editor:
function f(x:Number):Number{ x * x}
- Refactor->Rename the f function to sqr
- Code should be compilable
- The result should be
function sqr(x:Number):Number{ x * x}
Argument
- Type in the editor:
function sqr(x:Number):Number{ x * x}
- Refactor->Rename the x argument to y
- Code should be compilable
- The result should be
function sqr(y:Number):Number{ y * y}
Return Type
- Type in the editor:
class A{} function f(a:A):A{ A{} }
- Refactor->Rename the A function return type to B
- Code should be compilable
- The result should be
class B{} function f(a:B):B{ B{} }
Sequence
Name
- Type in the editor:
var seq = [1,2,3,4,5]; var sqr = for(n in seq) seq[[N | n]] * seq[N];
- Refactor->Rename the seq sequence to s
- Code should be compilable
- The result should be
var s = [1,2,3,4,5]; var sqr = for(n in s) s[[N | n]] * s[N];
Package
Name
- Create a package
- Create A JavaFX class under the package
package a; public class A { }
- Refactor->Rename the a package to b
- Code should be compilable
- The A class should have the b package
package b; public class A { }
Drag And Drop
- Create a package
- Create A JavaFX class under the package
package a; public class A { }
- Create b package
- Drag and drop the A class to the b package
- Code should be compilable
- The A class should have the b package
package b; public class A { }
Default package
- Have a JavaFX class in any package
- Refactor -> Move it into empty package
- Class is moved without any error. There is no package line in source code
Class
Name
- Type in the editor:
class A{}; var a = A{}; function f(a:A):A { A{} }
- Refactor->Rename the A class to B
- Code should be compilable
- The result should be
class B{}; var a = B{}; function f(a:B):B { B{} }
Attribute name
- Type in the editor:
class A{ public var attr:String; }; var a = A{ attr: "Hello World" }; println(a.attr);
- Refactor->Rename the attr attribute name to attr2
- Code should be compilable
- The result should be
class A{ public var attr2:String; }; var a = A{ attr2: "Hello World" }; println(a.attr2);
Attribute Type
- Type in the editor:
class A{ public var attr:A; }; var a = A{ attr: A{} };
- Refactor->Rename the A type of the attr_ attribute to B__
- Code should be compilable
- The result should be
class B{ public var attr:B; }; var a = B{ attr: B{} };
Attribute Default Value
- Type in the editor:
class A{ public var attr:A = A{}; }; var a = A{ attr: A{} };
- Refactor->Rename the A default value of the attr_ attribute to B__
- Code should be compilable
- The result should be
class B{ public var attr:B = B{}; }; var a = B{ attr: B{} };
Inheritence
- Type in the editor:
class A{} class B extends A{}
- Refactor->Rename the A class to D
- Code should be compilable
- The result should be
class D{} class B extends D{}
Mixin
- Type in the editor:
class A{} mixin class M{} class B extends A, M{}
- Refactor->Rename the M class to N
- Code should be compilable
- The result should be
class A{} mixin class N{} class B extends A, N{}
Operators
While loop
- Type in the editor:
var f = true; while(f){ f = not f; }
- Refactor->Rename the f variable to g in the 'while(f){' line
- Code should be compilable
- The result should be
var g = true; while(g){ g = not g; }
For loop
- Type in the editor:
var s = [1,2,3,4,5]; var t = for(n in s) s[N] * indexof n;
- Refactor->Rename the n loop variable to m
- Code should be compilable
- The result should be
var s = [1,2,3,4,5]; var t = for(m in s) s[M] * indexof m;
-- Main.AlexandrScherbatiy - 22 Sep 2009