0 Replies Latest reply on Dec 16, 2008 1:45 PM by (Paul_Reilly)

    [svn] 4330: * Reduced code generation for Bindable, added weak reference support

    Level 1
      Revision: 4330
      Author: preilly@adobe.com
      Date: 2008-12-16 13:45:10 -0800 (Tue, 16 Dec 2008)

      Log Message:
      -----------
      * Reduced code generation for Bindable, added weak reference support
      to BindingUtils and added support for binding to private Statics.

      tests Passed: checkintests, mxunit databinding (with and without AST generation)

      Needs QA: YES

      Needs DOC: NO

      Bug fixes: SDK-14891

      API Change: Yes, see BindingUtils and IWatcherSetupUtil2.

      Reviewer: Corey

      Code-level description of changes:

      frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as

      Added useWeakReference arg to watch().

      Added useWeakReference variable.

      Modified reset() to use useWeakReference.

      frameworks/projects/framework/src/mx/binding/utils/BindingUtils.as

      Added useWeakReference arg to bindProperty() and bindSetter().

      frameworks/projects/framework/src/mx/binding/BindingManager.as

      Added set() function.

      frameworks/projects/framework/src/mx/binding/IWatcherSetupUtil2.as

      Initial checkin.

      modules/compiler/src/java/flex2/compiler/as3/genext/GenerativeSecondPassEvaluator.java

      Renamed ensureNonPublic() to ensurePublic() and reversed the logic.

      Renamed makeAttrListPrivate() to makeAttrListPublic() and modified
      to use ensurePublic().

      modules/compiler/src/java/flex2/compiler/as3/binding/DataBindingExtension.java

      Updated AST generation to mirror changes to WatcherSetupUtil.vm.

      modules/compiler/src/java/flex2/compiler/as3/binding/BindableProperty.vm

      Modified setter code generation to use BindingManager.set() to
      reduce code size.

      modules/compiler/src/java/flex2/compiler/as3/binding/WatcherSetupUtil.vm

      Added support for staticPropertyGetter.

      modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java

      Updated WatcherSetupUtil imports.

      modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm

      Added static property getter arg to WatcherSetupUtil setup() call.

      Updated template to use IWatcherSetupUtil2.

      modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java

      Updated AST generation to mirror changes to ClassDefLib.vm.

      Ticket Links:
      ------------
      http://bugs.adobe.com/jira/browse/SDK-14891

      Modified Paths:
      --------------
      flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/BindingManager.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/PropertyWatcher.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/StaticPropertyWatcher.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/BindingUtils.as
      flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/utils/ChangeWatcher.as
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/SignatureEvaluator.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/BindableProperty.vm
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/DataBindingExtension. java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/binding/WatcherSetupUtil.vm
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/genext/GenerativeSecondPassEv aluator.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationGenerator.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/gen/ClassDefLib.vm
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java
      flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/NameFormatter.java

      Added Paths:
      -----------
      flex/sdk/trunk/frameworks/projects/framework/src/mx/binding/IWatcherSetupUtil2.as