Based on the #13004 discussion, the following changes are made:
This aligns the Vim9 class variable/method implementation with the Dart implementation.
https://github.com/vim/vim/pull/13086
(9 files)
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Merging #13086 (afde8c2) into master (6ffcc58) will increase coverage by
1.26%.
The diff coverage is87.96%.
@@ Coverage Diff @@ ## master #13086 +/- ## ========================================== + Coverage 81.46% 82.73% +1.26% ========================================== Files 160 150 -10 Lines 194970 181902 -13068 Branches 43747 40881 -2866 ========================================== - Hits 158841 150500 -8341 + Misses 23393 18450 -4943 - Partials 12736 12952 +216
| Flag | Coverage Δ | |
|---|---|---|
| huge-clang-Array | 82.73% <87.96%> (+<0.01%) |
⬆️ |
| linux | 82.73% <87.96%> (+<0.01%) |
⬆️ |
| mingw-x64-HUGE | ? |
|
| windows | ? |
Flags with carried forward coverage won't be shown. Click here to find out more.
| Files Changed | Coverage Δ | |
|---|---|---|
| src/vim9execute.c | 88.27% <0.00%> (-0.77%) |
⬇️ |
| src/vim9expr.c | 90.39% <71.42%> (-1.05%) |
⬇️ |
| src/vim9class.c | 88.57% <88.40%> (-1.47%) |
⬇️ |
| src/eval.c | 91.08% <100.00%> (-1.39%) |
⬇️ |
| src/vim9compile.c | 90.46% <100.00%> (-0.81%) |
⬇️ |
... and 137 files with indirect coverage changes
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@yegappan pushed 1 commit.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Just ran a few quick tests.
C extends B extends A. In class C, using A.svar, can read/write private members of A, tried that because I remembered you could do that before. Some might consider that a bug. Not sure what I think.
Looking good. I'll dig in more tomorrow.
Messages, I'm fine with the way they are, but some things that occurred to me.
In C, svar get message Class member "svar" accessible only inside class "A",
wondering about working use A.svar and/or from class "A" in there somewhere.
With var oa = A.new() and doing oa.sval get ... accessible only using class "A"
wondering about ... only using A.svar"
With var oc = C.new() and oc.sval get the old favorite Member not found on object
wondering, since sval is in C's kind of parentage, if a message like in 1. is useful.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Just ran a few quick tests.
Thanks for testing the PR.
C extends B extends A. In class C, using A.svar, can read/write private members of A, tried that because
I remembered you could do that before. Some might consider that a bug. Not sure what I think.
I have updated the PR with a fix for this.
Looking good. I'll dig in more tomorrow.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I played around with vim including this PR. While trying stuff, ran into #13041 (comment); doesn't have anything to do with this PR.
Unless there's something particular you'd like explored, I'll wait for the merge.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I played around with vim including this PR. While trying stuff, ran into #13041 (comment); doesn't have anything to do with this PR.
Unless there's something particular you'd like explored, I'll wait for the merge.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Duplicate method name for both object/class method not flagged as an error.
This output should be a dup name error, but it runs OK. I started putting the test code here, then checked, it's not caused by this PR.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you commented.![]()
Duplicate method name for both object/class method not flagged as an error.
This output should be a dup name error, but it runs OK. I started putting the test code here, then checked, it's not caused by this PR.
I have updated the PR with a fix for this issue also.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you commented.![]()
Did you take a peek at #13041 (comment)? _F() in one class and F() in a child or base class gets no error.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you commented.![]()
Did you take a peek at #13041 (comment)?
_F()in one class andF()in a child or base class gets no error.
This is now addressed in the updated PR.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you commented.![]()
Haven't found any more bugs with this PR (original comment went to wrong spot)
—
Reply to this email directly, view it on GitHub.
You are receiving this because you commented.![]()
Haven't found any more bugs with this PR (original comment went to wrong spot)
Thanks for testing the PR.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you commented.![]()
—
Reply to this email directly, view it on GitHub.
You are receiving this because you commented.![]()
Coverity complains about this part here:
*** CID 1544700: Control flow issues (DEADCODE)
/src/vim9class.c: 1114 in add_classfuncs_objmethods()
1108 if (loop == 1 && STRNCMP(
1109 extends_cl->class_class_functions[i]->uf_name,
1110 "new", 3) == 0)
1111 ++skipped;
1112 else
1113 {
>>> CID 1544700: Control flow issues (DEADCODE)
>>> Execution cannot reach the expression "extends_cl->class_class_functions" inside this statement: "pf = (loop == 1) ? extends_...".
1114 ufunc_T *pf = (loop == 1
1115 ? extends_cl->class_class_functions
1116 : extends_cl->class_obj_methods)[i];
1117 (*fup)[gap->ga_len + i - skipped] = copy_function(pf);
1118
1119 // If the child class overrides a function from the parent
—
Reply to this email directly, view it on GitHub.
You are receiving this because you commented.![]()
Coverity complains about this part here:
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()