Page MenuHomePhabricator

Active Work ProposalProject
ArchivedPublic

Members

  • This project does not have any members.

Watchers

  • This project does not have any watchers.

Details

Description

A work proposal which has been voted on and accepted

Recent Activity

Mon, Sep 16

YOhoho added a comment to T8165: C#: Hide unecessary API.

If "inherited generated classes" are eo custom classes that inherited efl classes, internal will occur compiler error.
e.g.

mcs -d:EFL_BETA -target:library -out:src/tests/efl_mono/efl_mono_test.dll -r:src/bindings/mono/efl_mono.dll src/tests/efl_mono/dummy_child.eo.cs src/tests/efl_mono/dummy_numberwrapper.eo.cs src/tests/efl_mono/dummy_test_object.eo.cs src/tests/efl_mono/dummy_test_iface.eo.cs src/tests/efl_mono/dummy_inherit_helper.eo.cs src/tests/efl_mono/dummy_inherit_iface.eo.cs src/tests/efl_mono/dummy_part_holder.eo.cs src/tests/efl_mono/dummy_event_manager.eo.cs src/tests/efl_mono/dummy_constructible_object.eo.cs
src/tests/efl_mono/dummy_part_holder.eo.cs(83,80): error CS0122: `Efl.PartConcrete.NativeMethods.efl_part_get_ptr' is inaccessible due to its protection level

With this patch

diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh
index a0f28df..149272a 100644
--- a/src/bin/eolian_mono/eolian/mono/function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh
@@ -61,7 +61,7 @@ struct native_function_definition_generator
     if(!as_generator
        (
         indent << eolian_mono::marshall_annotation(true) << "\n"
-        << indent << "public delegate "
+        << indent << "internal delegate "
         << eolian_mono::marshall_type(true)
         << " "
         << string << "_api_delegate(" << (f.is_static ? "" : "System.IntPtr obj")
@@ -76,7 +76,7 @@ struct native_function_definition_generator
Mon, Sep 16, 5:04 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Fri, Sep 13

brunobelo closed T8163: C#: Event naming as Resolved.
Fri, Sep 13, 6:46 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
brunobelo closed T8163: C#: Event naming, a subtask of T7204: Discussion about C# binding syntax, as Resolved.
Fri, Sep 13, 6:46 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
brunobelo closed T8164: C#: Event args suffix as Resolved.
Fri, Sep 13, 6:46 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
brunobelo closed T8164: C#: Event args suffix, a subtask of T7204: Discussion about C# binding syntax, as Resolved.
Fri, Sep 13, 6:46 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Thu, Sep 12

brunobelo added a commit to T8166: C#: Remove I prefix from regular classes: rEFLb36e159d313b: eolian-mono: Removing I prefix from classes..
Thu, Sep 12, 11:49 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
brunobelo added a commit to T8163: C#: Event naming: rEFL353524e1b89d: eolian-mono: Renaming suffix for event and event args.
Thu, Sep 12, 11:47 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
brunobelo added a commit to T8164: C#: Event args suffix: rEFL353524e1b89d: eolian-mono: Renaming suffix for event and event args.
Thu, Sep 12, 11:46 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Mon, Sep 9

lauromoura lowered the priority of T8162: C#: .cs file naming with PascalCase from High to Wishlist.

@lauromoura
It is confirmed that SA1402 is not mandatory but it is recommended.

Since SA1402 is problematic with eo and SA1402 requires additional effort, I think it would be better we do not apply SA1402 for now.

We focus on other mandatory rules and major issues and then we may consider SA1402 later when we are able to do it.

Mon, Sep 9, 2:05 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura closed T8166: C#: Remove I prefix from regular classes as Resolved.

Resolved in D9816

Mon, Sep 9, 2:04 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura closed T8166: C#: Remove I prefix from regular classes, a subtask of T7204: Discussion about C# binding syntax, as Resolved.
Mon, Sep 9, 2:04 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Wed, Sep 4

Jaehyun_Cho added a comment to T8162: C#: .cs file naming with PascalCase.

@lauromoura
It is confirmed that SA1402 is not mandatory but it is recommended.

Wed, Sep 4, 11:32 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
Jaehyun_Cho added a comment to T8162: C#: .cs file naming with PascalCase.

@lauromoura
I will ask the reporter who raised this issue in detail and I will let you know.

Wed, Sep 4, 4:24 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Tue, Sep 3

lauromoura added a comment to T8162: C#: .cs file naming with PascalCase.

If actually needed, we could disable this rule for generated code and keep it only for the manual code.

Tue, Sep 3, 11:46 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura added a comment to T8162: C#: .cs file naming with PascalCase.

@Jaehyun_Cho, what would be the reason for these requirements? (We're not questioning them, just trying to understand the issue better. :) )

The main reason is to make class name and cs file name same :)
As you know, efl_ui_layout.eo.cs contains class Layout in the namespace Efl and Ui.
Therefore, it was suggested that efl_ui_layout.eo.cs should be renamed to Layout.cs which is the same name with class Layout. And Layout.cs should be moved to Efl.Ui namespace directory to avoid duplicate cs file names.

Tue, Sep 3, 11:44 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
Jaehyun_Cho added a comment to T8162: C#: .cs file naming with PascalCase.

This may be hard with meson. See my first comment on its limitations.

I totally understand. If it is hard on upstream with meson, then I consider that I run some script manually to generate directories and change the cs names only for Tizen.

Tue, Sep 3, 12:12 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Mon, Sep 2

lauromoura added a comment to T8162: C#: .cs file naming with PascalCase.

@segfaultxavi
The main issues of this task are as follows.

  1. All C# source files (.cs) should be located in the directory named fully-qualified namespace.
    • e.g. cs file for class Efl.A.cs should be located in directory Efl. This means that Efl/A.cs
Mon, Sep 2, 10:52 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
Jaehyun_Cho added a comment to T8162: C#: .cs file naming with PascalCase.

@segfaultxavi
The main issues of this task are as follows.

Mon, Sep 2, 10:37 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
brunobelo added a revision to T8166: C#: Remove I prefix from regular classes: D9816: eolian-mono: Removing I prefix from classes..
Mon, Sep 2, 1:47 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
Jaehyun_Cho added a comment to T8164: C#: Event args suffix.

Sorry I missed D9692, I've reverted ac99e2ac9410d5b2ef6225fa1aaaf9ffcd6578fb

Mon, Sep 2, 5:43 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
Jaehyun_Cho added a comment to T8164: C#: Event args suffix.

For now, I've removed the underscore of Evt_Args by ac99e2ac9410d5b2ef6225fa1aaaf9ffcd6578fb

Mon, Sep 2, 5:30 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Fri, Aug 30

brunobelo added a revision to T8163: C#: Event naming: D9692: eolian-mono: Renaming suffix for event and event args.
Fri, Aug 30, 7:15 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura renamed T8166: C#: Remove I prefix from regular classes from C#: Remove I prefix from argument structs for class events to C#: Remove I prefix from regular classes.
Fri, Aug 30, 5:58 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
Jaehyun_Cho added a comment to T8166: C#: Remove I prefix from regular classes.

Can we change this task name?

Fri, Aug 30, 4:58 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Wed, Aug 28

segfaultxavi added a comment to T8163: C#: Event naming.

.... and there's talk of using C for classes ...

Is there? O_o

Wed, Aug 28, 2:31 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Tue, Aug 27

lauromoura added a comment to T8163: C#: Event naming.

Trying to automatically convert eo event names to verbs in the past tense is going to be an nightmare :)

Tue, Aug 27, 11:44 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura added a comment to T8166: C#: Remove I prefix from regular classes.

Just to be sure, we're talking about removing the I prefix from the EventArgs classes, no? This makes sense.

Tue, Aug 27, 9:26 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
segfaultxavi added a comment to T8166: C#: Remove I prefix from regular classes.

Just to be sure, we're talking about removing the I prefix from the EventArgs classes, no? This makes sense.

Tue, Aug 27, 3:33 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
segfaultxavi added a comment to T8163: C#: Event naming.

Trying to automatically convert eo event names to verbs in the past tense is going to be an nightmare :)
All events should already be like that (as shown in the list above), and the rest should be renamed in the eo file.

Tue, Aug 27, 3:22 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
segfaultxavi added a comment to T8165: C#: Hide unecessary API.

Would that be an option, @lauromoura? Are all users of these methods inside the same assembly?

Tue, Aug 27, 1:23 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
zzervb added a comment to T8165: C#: Hide unecessary API.

You'd better use internal instead if you want to hide them.

Tue, Aug 27, 1:12 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Mon, Aug 26

lauromoura added a comment to T8165: C#: Hide unecessary API.

If a method is meant to be used only by derived classes, shouldn't it be protected? What am I missing?

I don't like hiding it from the editor since it won't show up for writers of derived classes.

Mon, Aug 26, 2:48 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
segfaultxavi added a comment to T8165: C#: Hide unecessary API.

If a method is meant to be used only by derived classes, shouldn't it be protected? What am I missing?

Mon, Aug 26, 6:52 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
segfaultxavi added a comment to T8162: C#: .cs file naming with PascalCase.

What's the issue with the current approach? it's not clear from the task description.

Mon, Aug 26, 6:50 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Thu, Aug 22

brunobelo added a revision to T8167: C#: Fix indentation and blanklines: D9712: efl-mono: Additional blank line between all methods..
Thu, Aug 22, 3:30 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Wed, Aug 21

lauromoura added a comment to T8166: C#: Remove I prefix from regular classes.

The interface name was added to the struct name in order to avoid collisions between event arg structures with the same name. Removing this prefix leads at least to the following clashes:

Wed, Aug 21, 2:56 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
brunobelo added a revision to T8164: C#: Event args suffix: D9692: eolian-mono: Renaming suffix for event and event args.
Wed, Aug 21, 1:54 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura added a comment to T8163: C#: Event naming.

From C# guidelines in https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-type-members#names-of-events:

Wed, Aug 21, 1:01 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura added a comment to T8163: C#: Event naming.

Here is a list of generated events from the C# files. (without the prefix).

Wed, Aug 21, 12:59 PM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura added a comment to T8165: C#: Hide unecessary API.

We could try hiding them but AFAIR they should be public so inherited classes can use them.

Wed, Aug 21, 11:54 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura added a comment to T8164: C#: Event args suffix.

Evt today comes from the name of the event. Related to T8163

Wed, Aug 21, 11:53 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura added a comment to T8163: C#: Event naming.

This could be kinda tricky to do in a generic way. We may end up having to build a list of irregular verbs and their past tense in order to generate them.

Wed, Aug 21, 11:47 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura added a comment to T8162: C#: .cs file naming with PascalCase.

We may encounter some difficulty generating the files in sub folders as a meson issue [1] limits the output of custom_target command to be placed in the same folder as it is called.

Wed, Aug 21, 11:35 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura triaged T8167: C#: Fix indentation and blanklines as High priority.
Wed, Aug 21, 11:05 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura triaged T8166: C#: Remove I prefix from regular classes as High priority.
Wed, Aug 21, 11:02 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura triaged T8165: C#: Hide unecessary API as High priority.
Wed, Aug 21, 11:01 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura triaged T8164: C#: Event args suffix as High priority.
Wed, Aug 21, 10:57 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura triaged T8163: C#: Event naming as High priority.
Wed, Aug 21, 10:56 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings
lauromoura triaged T8162: C#: .cs file naming with PascalCase as High priority.
Wed, Aug 21, 10:55 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings

Jul 24 2019

segfaultxavi added a comment to T7752: C#: Get rid of all lower-cased methods.

Good news! DocFX already filters out methods with the [EditorBrowsable(EditorBrowsableState.Never)] attribute :)
https://dotnet.github.io/docfx/tutorial/howto_filter_out_unwanted_apis_attributes.html#3-default-filter-configuration

Jul 24 2019, 4:40 AM · efl (efl-1.23), Active Work Proposal, Restricted Project, efl: language bindings