Page MenuHomePhabricator

Define which constructors are actualy optional
Closed, ResolvedPublic

Description

With D7789, some C# examples fails to build as most constructors are currently required (i.e. missing the @optional tag).

Pyolian shows the following constructors and we can split them into actually required and potential @optional ones.

Actually required constructors (they are actually checked for in the finalize step)

  • Ecore.Exe.command - Required by the finalizer at least in the posix implementation of ecore exe.
  • Efl.Container_Model_Item.define - Required by the finalizer
  • Efl.Loop_Timer.interval - Required by the finalizer
  • Elm.Code_Widget.code - Required by the finalizer

Currently required constructors that doens't seems to be actually required in the finalize step of the Eo instatiation. Either they should receive the @optional tag or be checked for in the finalize step.

  • Efl.Ui.Widget.style - Can only be set in the constructor, but not enforced (use default style?)
  • Efl.Ui.Widget_Factory.item_class
  • Efl.View_Model.children_bind - Can be set only in constructor like widget.style
  • Efl.Composite_Model.index - Does not seem to be needed at finalize.
    • Note: Composite_Model may need Efl.Ui.View.model.set as it is required in the finalize and is not generated in C# as a constructor argument.
  • Efl.Ui.Win.accel_preference - Not required?
  • Efl.Ui.Win.win_name - Not required?
  • Efl.Ui.Win.win_type - Not required?
  • Elm.Glview.version_constructor - Not required in finalize
  • Elm.View.Form.model_set - Not required in finalize
  • Elm.View.List.genlist_set - Not required in finalize

(I've hid some old eldbus classes that currently seems to be not used as it still clashes namespaces, etc)