Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(525)

Issue 2412453007: Add support for patching class methods. (Closed)

Created:
4 years, 2 months ago by scheglov
Modified:
4 years, 2 months ago
CC:
reviews_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Patch Set 1 #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+229 lines, -25 lines) Patch
M pkg/analyzer/lib/src/dart/sdk/patch.dart View 5 chunks +77 lines, -25 lines 4 comments Download
M pkg/analyzer/test/src/dart/sdk/patch_test.dart View 2 chunks +152 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (1 generated)
scheglov
4 years, 2 months ago (2016-10-13 18:37:16 UTC) #1
Brian Wilkerson
lgtm
4 years, 2 months ago (2016-10-13 18:49:40 UTC) #2
scheglov
Committed patchset #1 (id:1) manually as cbb898bca74b38859f1c0f2e49d1beec6fbd9509 (presubmit successful).
4 years, 2 months ago (2016-10-13 18:55:59 UTC) #4
Paul Berry
lgtm https://codereview.chromium.org/2412453007/diff/1/pkg/analyzer/lib/src/dart/sdk/patch.dart File pkg/analyzer/lib/src/dart/sdk/patch.dart (right): https://codereview.chromium.org/2412453007/diff/1/pkg/analyzer/lib/src/dart/sdk/patch.dart#newcode111 pkg/analyzer/lib/src/dart/sdk/patch.dart:111: // Remove the "external" keyword. It looks like ...
4 years, 2 months ago (2016-10-13 19:09:52 UTC) #5
scheglov
4 years, 2 months ago (2016-10-13 20:18:14 UTC) #6
Message was sent while issue was closed.
https://codereview.chromium.org/2412453007/diff/1/pkg/analyzer/lib/src/dart/s...
File pkg/analyzer/lib/src/dart/sdk/patch.dart (right):

https://codereview.chromium.org/2412453007/diff/1/pkg/analyzer/lib/src/dart/s...
pkg/analyzer/lib/src/dart/sdk/patch.dart:111: // Remove the "external" keyword.
On 2016/10/13 19:09:52, Paul Berry wrote:
> It looks like we have some duplication between this code and the code in
> _patchTopLevelDeclarations (everything between here and "baseMember.body =
> newBody").  How about extracting a method to share code?

It does not seem practical to me.
Both "externalKeyword" getter and setter are defined in leaf classes
FunctionDeclaration and MethodDeclaration. And there is not much code to share.
Well, we could use callback, but...

https://codereview.chromium.org/2412453007/diff/1/pkg/analyzer/lib/src/dart/s...
pkg/analyzer/lib/src/dart/sdk/patch.dart:141:
newMember.endToken.setNext(lastToken.next);
On 2016/10/13 19:09:52, Paul Berry wrote:
> Consider extracting a method for this logic too.

OK
https://codereview.chromium.org/2417053002

Powered by Google App Engine
This is Rietveld 408576698