From bc95fd894517911fdc2013e86a3212bd263fade8 Mon Sep 17 00:00:00 2001 From: Robert Nystrom Date: Tue, 13 Aug 2024 18:51:23 -0700 Subject: [PATCH] When the RHS of `=>` is a function call, prefer to split at the `=>`. We use the same AssignPiece rule for `=`, `=>`, and `:`. And that rule uniformly handles all kinds of block-formattable right hand sides: collection literals, switch expressions, and function calls. For the most part, that works well and provides nice consistent formatting. Users generally like: ```dart // Better: variable = [ long, list, literal, ]; // Worse: variable = [long, list, literal]; ``` And: ```dart // Better: SomeWidget( children: [ long, list, literal, ], ); // Worse: SomeWidget( children: [long, list, literal], ); ``` And (with somewhat less consensus): ```dart // Better: variable = function( long, argument, list, ); // Worse: variable = function(long, argument, list); ``` Also, users have long requested and seem to like: ```dart // Better: class C { List makeStuff() => [ long, list, literal, ]; } // Worse: class C { List makeStuff() => [long, list, literal]; } ``` So based on all that, I just used uniform rules for all combinations of assignment constructs and delimited constructs. That means that this behavior falls out implicitly: ```dart // Better: class C { String doThing() => function( long, argument, list, ); } // Worse: class C { String doThing() => function(long, argument, list); } ``` But it turns out that that particular combination of `=>` with a function call on the right doesn't get the same user sentiment. Instead, most (including me) prefer: ```dart class C { String doThing() => function(long, argument, list); } ``` I think it's because this keeps the function name next to its arguments. With the other block-like forms: list literals, etc. there isn't really anything particularly interesting going on in the opening delimiter, so it makes sense to keep it on the same line as the `=>` since it's pretty much just punctuation. But a function call is a single coherent operation including the function and its arguments. So this PR tweaks the cost rule for AssignPiece. When the operator is `=>` and the RHS is a function call, we prefer to split at the `=>` if that lets the RHS stay unsplit. --- lib/src/front_end/ast_node_visitor.dart | 4 +- lib/src/piece/assign.dart | 101 ++++++------- test/tall/function/default_value.unit | 11 +- test/tall/function/expression_body.unit | 8 +- test/tall/regression/0100/0108.unit | 6 +- test/tall/regression/0200/0217.stmt | 8 +- test/tall/regression/0400/0474.unit | 134 ++++++------------ test/tall/regression/0500/0500.unit | 5 +- test/tall/regression/0500/0557.unit | 6 +- test/tall/regression/0500/0584.unit | 6 +- test/tall/regression/0700/0721.unit | 5 +- test/tall/regression/1100/1190.unit | 180 ++++++++++++------------ test/tall/regression/1200/1253.unit | 41 ++++++ test/tall/regression/1400/1463.unit | 10 +- test/tall/regression/other/misc.unit | 4 +- 15 files changed, 261 insertions(+), 268 deletions(-) create mode 100644 test/tall/regression/1200/1253.unit diff --git a/lib/src/front_end/ast_node_visitor.dart b/lib/src/front_end/ast_node_visitor.dart index 36d5f4e0..4771d673 100644 --- a/lib/src/front_end/ast_node_visitor.dart +++ b/lib/src/front_end/ast_node_visitor.dart @@ -605,7 +605,9 @@ class AstNodeVisitor extends ThrowingAstVisitor with PieceFactory { nodePiece(node.expression, context: NodeContext.assignment); pieces.add(AssignPiece(operatorPiece, expression, - canBlockSplitRight: node.expression.canBlockSplit)); + canBlockSplitRight: node.expression.canBlockSplit, + avoidBlockSplitRight: + node.expression.blockFormatType == BlockFormat.invocation)); pieces.token(node.semicolon); } diff --git a/lib/src/piece/assign.dart b/lib/src/piece/assign.dart index 40f473c7..d861721c 100644 --- a/lib/src/piece/assign.dart +++ b/lib/src/piece/assign.dart @@ -73,7 +73,7 @@ class AssignPiece extends Piece { static const State _blockSplitLeft = State(1); /// Allow the right-hand side to block split. - static const State _blockSplitRight = State(2); + static const State _blockSplitRight = State(2, cost: 0); /// Split at the operator. static const State _atOperator = State(3); @@ -109,13 +109,34 @@ class AssignPiece extends Piece { /// ]; final bool _canBlockSplitRight; + /// If `true` then prefer to split at the operator instead of block splitting + /// the right side. + /// + /// This is `true` for `=>` functions whose body is a function call. This + /// keeps the called function next to its arguments instead having the + /// function name stick to the `=>` while the arguments split. In other words, + /// prefer: + /// + /// someMethod() => + /// someFunction(argument, another); + /// + /// Over: + /// + /// someMethod() => someFunction( + /// argument, + /// another, + /// ); + final bool _avoidBlockSplitRight; + AssignPiece(this._operator, this._right, {Piece? left, bool canBlockSplitLeft = false, - bool canBlockSplitRight = false}) + bool canBlockSplitRight = false, + bool avoidBlockSplitRight = false}) : _left = left, _canBlockSplitLeft = canBlockSplitLeft, - _canBlockSplitRight = canBlockSplitRight; + _canBlockSplitRight = canBlockSplitRight, + _avoidBlockSplitRight = avoidBlockSplitRight; @override List get additionalStates => [ @@ -126,6 +147,16 @@ class AssignPiece extends Piece { _atOperator, ]; + @override + int stateCost(State state) { + // Allow block splitting the right side, but increase the cost so that we + // prefer splitting at the operator and not splitting in the right piece if + // possible. + if (state == _blockSplitRight && _avoidBlockSplitRight) return 1; + + return super.stateCost(state); + } + @override void applyConstraints(State state, Constrain constrain) { // Force the left side to block split when in that state. @@ -140,63 +171,35 @@ class AssignPiece extends Piece { } @override - bool allowNewlineInChild(State state, Piece child) { - if (state == State.unsplit) { - if (child == _left) return false; - - // Always allow block-splitting the right side if it supports it. - if (child == _right) return _canBlockSplitRight; - } - - return true; - } + bool allowNewlineInChild(State state, Piece child) => state != State.unsplit; @override void format(CodeWriter writer, State state) { - switch (state) { - case State.unsplit: - _writeLeft(writer, allowNewlines: false); - _writeOperator(writer); - // Always allow block-splitting the right side if it supports it. - _writeRight(writer, allowNewlines: _canBlockSplitRight); - - case _atOperator: - // When splitting at the operator, both operands may split or not and - // will be indented if they do. - writer.pushIndent(Indent.expression); - _writeLeft(writer); - _writeOperator(writer, split: state == _atOperator); - _writeRight(writer); - writer.popIndent(); - - case _blockSplitLeft: - _writeLeft(writer); - _writeOperator(writer); - _writeRight(writer, indent: !_canBlockSplitRight); - - case _blockSplitRight: - _writeLeft(writer); - _writeOperator(writer, split: state == _atOperator); - _writeRight(writer); - } - } + // When splitting at the operator, both operands may split or not and + // will be indented if they do. + if (state == _atOperator) writer.pushIndent(Indent.expression); - void _writeLeft(CodeWriter writer, {bool allowNewlines = true}) { if (_left case var left?) writer.format(left); - } - void _writeOperator(CodeWriter writer, {bool split = false}) { writer.pushIndent(Indent.expression); writer.format(_operator); writer.popIndent(); - writer.splitIf(split); - } + writer.splitIf(state == _atOperator); - void _writeRight(CodeWriter writer, - {bool indent = false, bool allowNewlines = true}) { - if (indent) writer.pushIndent(Indent.expression); + // If the left side block splits and the right doesn't, then indent the + // right side if it splits as in: + // + // var [ + // a, + // b, + // ] = long + + // expression; + var indentRight = state == _blockSplitLeft && !_canBlockSplitRight; + if (indentRight) writer.pushIndent(Indent.expression); writer.format(_right); - if (indent) writer.popIndent(); + if (indentRight) writer.popIndent(); + + if (state == _atOperator) writer.popIndent(); } @override diff --git a/test/tall/function/default_value.unit b/test/tall/function/default_value.unit index de91d455..fb406edb 100644 --- a/test/tall/function/default_value.unit +++ b/test/tall/function/default_value.unit @@ -66,9 +66,10 @@ f([ f([callback(SomeType parameter) = const CallableClass(someLongConstantArgument, anotherConstantArgument)]) {} <<< f([ - callback(SomeType parameter) = - const CallableClass( - someLongConstantArgument, - anotherConstantArgument, - ), + callback( + SomeType parameter, + ) = const CallableClass( + someLongConstantArgument, + anotherConstantArgument, + ), ]) {} \ No newline at end of file diff --git a/test/tall/function/expression_body.unit b/test/tall/function/expression_body.unit index 47027503..98873b2a 100644 --- a/test/tall/function/expression_body.unit +++ b/test/tall/function/expression_body.unit @@ -52,13 +52,11 @@ function() => ( longElement, longElement, ); ->>> Prefer block-like splitting for function calls. +>>> Avoid block-like splitting for function calls. function() => another(argument, argument); <<< -function() => another( - argument, - argument, -); +function() => + another(argument, argument); >>> Use block-like splitting for switch expressions. function() => switch (value) { 1 => 'one', 2 => 'two' }; <<< diff --git a/test/tall/regression/0100/0108.unit b/test/tall/regression/0100/0108.unit index b952477a..5717ba24 100644 --- a/test/tall/regression/0100/0108.unit +++ b/test/tall/regression/0100/0108.unit @@ -276,10 +276,8 @@ class ElementBinder { eventName, (_) => zone.run( () => bindAssignableProps.forEach( - (propAndExp) => propAndExp[1].assign( - scope.context, - jsNode[propAndExp[0]], - ), + (propAndExp) => + propAndExp[1].assign(scope.context, jsNode[propAndExp[0]]), ), ), ), diff --git a/test/tall/regression/0200/0217.stmt b/test/tall/regression/0200/0217.stmt index c9c40ecc..50cfb967 100644 --- a/test/tall/regression/0200/0217.stmt +++ b/test/tall/regression/0200/0217.stmt @@ -3,8 +3,8 @@ Annotation _getAnnotation(AnnotatedNode node, String name) => nodeMetadata .firstWhere((annotation) => _isAnnotationType(annotation, name), orElse: () => null); <<< -Annotation _getAnnotation(AnnotatedNode node, String name) => nodeMetadata - .firstWhere( +Annotation _getAnnotation(AnnotatedNode node, String name) => + nodeMetadata.firstWhere( (annotation) => _isAnnotationType(annotation, name), orElse: () => null, ); @@ -13,8 +13,8 @@ Annotation _getAnnotation(AnnotatedNode node, String name) => nodeMetadata .firstWhere((annotation) => _isAnnotationType(annotation, name), orElse: () => null); <<< - Annotation _getAnnotation(AnnotatedNode node, String name) => nodeMetadata - .firstWhere( + Annotation _getAnnotation(AnnotatedNode node, String name) => + nodeMetadata.firstWhere( (annotation) => _isAnnotationType(annotation, name), orElse: () => null, ); \ No newline at end of file diff --git a/test/tall/regression/0400/0474.unit b/test/tall/regression/0400/0474.unit index ff4bacdd..3f012702 100644 --- a/test/tall/regression/0400/0474.unit +++ b/test/tall/regression/0400/0474.unit @@ -382,21 +382,13 @@ Map methodTable_Parser = { 'advance_0': new MethodTrampoline(0, (Parser target) => target._advance()), 'appendScalarValue_5': new MethodTrampoline( 5, - (Parser target, arg0, arg1, arg2, arg3, arg4) => target._appendScalarValue( - arg0, - arg1, - arg2, - arg3, - arg4, - ), + (Parser target, arg0, arg1, arg2, arg3, arg4) => + target._appendScalarValue(arg0, arg1, arg2, arg3, arg4), ), 'computeStringValue_3': new MethodTrampoline( 3, - (Parser target, arg0, arg1, arg2) => target._computeStringValue( - arg0, - arg1, - arg2, - ), + (Parser target, arg0, arg1, arg2) => + target._computeStringValue(arg0, arg1, arg2), ), 'convertToFunctionDeclaration_1': new MethodTrampoline( 1, @@ -561,11 +553,8 @@ Map methodTable_Parser = { ), 'parseClassTypeAlias_3': new MethodTrampoline( 3, - (Parser target, arg0, arg1, arg2) => target._parseClassTypeAlias( - arg0, - arg1, - arg2, - ), + (Parser target, arg0, arg1, arg2) => + target._parseClassTypeAlias(arg0, arg1, arg2), ), 'parseCombinator_0': new MethodTrampoline( 0, @@ -662,19 +651,13 @@ Map methodTable_Parser = { ), 'parseFunctionBody_3': new MethodTrampoline( 3, - (Parser target, arg0, arg1, arg2) => target._parseFunctionBody( - arg0, - arg1, - arg2, - ), + (Parser target, arg0, arg1, arg2) => + target._parseFunctionBody(arg0, arg1, arg2), ), 'parseFunctionDeclaration_3': new MethodTrampoline( 3, - (Parser target, arg0, arg1, arg2) => target._parseFunctionDeclaration( - arg0, - arg1, - arg2, - ), + (Parser target, arg0, arg1, arg2) => + target._parseFunctionDeclaration(arg0, arg1, arg2), ), 'parseFunctionDeclarationStatement_0': new MethodTrampoline( 0, @@ -682,8 +665,8 @@ Map methodTable_Parser = { ), 'parseFunctionDeclarationStatementAfterReturnType_2': new MethodTrampoline( 2, - (Parser target, arg0, arg1) => target - ._parseFunctionDeclarationStatementAfterReturnType(arg0, arg1), + (Parser target, arg0, arg1) => + target._parseFunctionDeclarationStatementAfterReturnType(arg0, arg1), ), 'parseFunctionTypeAlias_2': new MethodTrampoline( 2, @@ -691,12 +674,8 @@ Map methodTable_Parser = { ), 'parseGetter_4': new MethodTrampoline( 4, - (Parser target, arg0, arg1, arg2, arg3) => target._parseGetter( - arg0, - arg1, - arg2, - arg3, - ), + (Parser target, arg0, arg1, arg2, arg3) => + target._parseGetter(arg0, arg1, arg2, arg3), ), 'parseIdentifierList_0': new MethodTrampoline( 0, @@ -712,8 +691,8 @@ Map methodTable_Parser = { ), 'parseInitializedIdentifierList_4': new MethodTrampoline( 4, - (Parser target, arg0, arg1, arg2, arg3) => target - ._parseInitializedIdentifierList(arg0, arg1, arg2, arg3), + (Parser target, arg0, arg1, arg2, arg3) => + target._parseInitializedIdentifierList(arg0, arg1, arg2, arg3), ), 'parseInstanceCreationExpression_1': new MethodTrampoline( 1, @@ -745,8 +724,8 @@ Map methodTable_Parser = { ), 'parseMethodDeclarationAfterParameters_7': new MethodTrampoline( 7, - (Parser target, arg0, arg1, arg2, arg3, arg4, arg5, arg6) => target - ._parseMethodDeclarationAfterParameters( + (Parser target, arg0, arg1, arg2, arg3, arg4, arg5, arg6) => + target._parseMethodDeclarationAfterParameters( arg0, arg1, arg2, @@ -758,8 +737,8 @@ Map methodTable_Parser = { ), 'parseMethodDeclarationAfterReturnType_4': new MethodTrampoline( 4, - (Parser target, arg0, arg1, arg2, arg3) => target - ._parseMethodDeclarationAfterReturnType(arg0, arg1, arg2, arg3), + (Parser target, arg0, arg1, arg2, arg3) => + target._parseMethodDeclarationAfterReturnType(arg0, arg1, arg2, arg3), ), 'parseModifiers_0': new MethodTrampoline( 0, @@ -783,11 +762,8 @@ Map methodTable_Parser = { ), 'parseOperator_3': new MethodTrampoline( 3, - (Parser target, arg0, arg1, arg2) => target._parseOperator( - arg0, - arg1, - arg2, - ), + (Parser target, arg0, arg1, arg2) => + target._parseOperator(arg0, arg1, arg2), ), 'parseOptionalReturnType_0': new MethodTrampoline( 0, @@ -823,12 +799,8 @@ Map methodTable_Parser = { ), 'parseSetter_4': new MethodTrampoline( 4, - (Parser target, arg0, arg1, arg2, arg3) => target._parseSetter( - arg0, - arg1, - arg2, - arg3, - ), + (Parser target, arg0, arg1, arg2, arg3) => + target._parseSetter(arg0, arg1, arg2, arg3), ), 'parseShiftExpression_0': new MethodTrampoline( 0, @@ -880,24 +852,23 @@ Map methodTable_Parser = { ), 'parseVariableDeclarationListAfterMetadata_1': new MethodTrampoline( 1, - (Parser target, arg0) => target._parseVariableDeclarationListAfterMetadata( - arg0, - ), + (Parser target, arg0) => + target._parseVariableDeclarationListAfterMetadata(arg0), ), 'parseVariableDeclarationListAfterType_3': new MethodTrampoline( 3, - (Parser target, arg0, arg1, arg2) => target - ._parseVariableDeclarationListAfterType(arg0, arg1, arg2), + (Parser target, arg0, arg1, arg2) => + target._parseVariableDeclarationListAfterType(arg0, arg1, arg2), ), 'parseVariableDeclarationStatementAfterMetadata_1': new MethodTrampoline( 1, - (Parser target, arg0) => target - ._parseVariableDeclarationStatementAfterMetadata(arg0), + (Parser target, arg0) => + target._parseVariableDeclarationStatementAfterMetadata(arg0), ), 'parseVariableDeclarationStatementAfterType_3': new MethodTrampoline( 3, - (Parser target, arg0, arg1, arg2) => target - ._parseVariableDeclarationStatementAfterType(arg0, arg1, arg2), + (Parser target, arg0, arg1, arg2) => + target._parseVariableDeclarationStatementAfterType(arg0, arg1, arg2), ), 'parseWhileStatement_0': new MethodTrampoline( 0, @@ -918,26 +889,18 @@ Map methodTable_Parser = { ), 'reportErrorForCurrentToken_2': new MethodTrampoline( 2, - (Parser target, arg0, arg1) => target._reportErrorForCurrentToken( - arg0, - arg1, - ), + (Parser target, arg0, arg1) => + target._reportErrorForCurrentToken(arg0, arg1), ), 'reportErrorForNode_3': new MethodTrampoline( 3, - (Parser target, arg0, arg1, arg2) => target._reportErrorForNode( - arg0, - arg1, - arg2, - ), + (Parser target, arg0, arg1, arg2) => + target._reportErrorForNode(arg0, arg1, arg2), ), 'reportErrorForToken_3': new MethodTrampoline( 3, - (Parser target, arg0, arg1, arg2) => target._reportErrorForToken( - arg0, - arg1, - arg2, - ), + (Parser target, arg0, arg1, arg2) => + target._reportErrorForToken(arg0, arg1, arg2), ), 'skipBlock_0': new MethodTrampoline( 0, @@ -1005,11 +968,8 @@ Map methodTable_Parser = { ), 'translateCharacter_3': new MethodTrampoline( 3, - (Parser target, arg0, arg1, arg2) => target._translateCharacter( - arg0, - arg1, - arg2, - ), + (Parser target, arg0, arg1, arg2) => + target._translateCharacter(arg0, arg1, arg2), ), 'unlockErrorListener_0': new MethodTrampoline( 0, @@ -1037,14 +997,13 @@ Map methodTable_Parser = { ), 'validateModifiersForFunctionDeclarationStatement_1': new MethodTrampoline( 1, - (Parser target, arg0) => target - ._validateModifiersForFunctionDeclarationStatement(arg0), + (Parser target, arg0) => + target._validateModifiersForFunctionDeclarationStatement(arg0), ), 'validateModifiersForGetterOrSetterOrMethod_1': new MethodTrampoline( 1, - (Parser target, arg0) => target._validateModifiersForGetterOrSetterOrMethod( - arg0, - ), + (Parser target, arg0) => + target._validateModifiersForGetterOrSetterOrMethod(arg0), ), 'validateModifiersForOperator_1': new MethodTrampoline( 1, @@ -1052,9 +1011,8 @@ Map methodTable_Parser = { ), 'validateModifiersForTopLevelDeclaration_1': new MethodTrampoline( 1, - (Parser target, arg0) => target._validateModifiersForTopLevelDeclaration( - arg0, - ), + (Parser target, arg0) => + target._validateModifiersForTopLevelDeclaration(arg0), ), 'validateModifiersForTopLevelFunction_1': new MethodTrampoline( 1, diff --git a/test/tall/regression/0500/0500.unit b/test/tall/regression/0500/0500.unit index ec8bb09e..cce8a64c 100644 --- a/test/tall/regression/0500/0500.unit +++ b/test/tall/regression/0500/0500.unit @@ -39,9 +39,8 @@ }); }, setter: - (value, ExprCont ek, ExprCont k) => ek( - "NoSuchMethodError: method not found: '${names[i]}='", - ), + (value, ExprCont ek, ExprCont k) => + ek("NoSuchMethodError: method not found: '${names[i]}='"), ); } }; \ No newline at end of file diff --git a/test/tall/regression/0500/0557.unit b/test/tall/regression/0500/0557.unit index cf406a70..3082794e 100644 --- a/test/tall/regression/0500/0557.unit +++ b/test/tall/regression/0500/0557.unit @@ -15,10 +15,8 @@ class PublicType { class PublicType { const factory PublicType.constructor(String a, Type b) = PublicTypeImpl._; - factory PublicType.constructor(String a, Type b) => new PublicTypeImpl._( - a, - b, - ); + factory PublicType.constructor(String a, Type b) => + new PublicTypeImpl._(a, b); } >>> class PublicType { diff --git a/test/tall/regression/0500/0584.unit b/test/tall/regression/0500/0584.unit index bcca0598..9e84d940 100644 --- a/test/tall/regression/0500/0584.unit +++ b/test/tall/regression/0500/0584.unit @@ -2,7 +2,5 @@ bool listEquals(List a, List b) => const ListEquality().equals(a, b); <<< -bool listEquals(List a, List b) => const ListEquality().equals( - a, - b, -); \ No newline at end of file +bool listEquals(List a, List b) => + const ListEquality().equals(a, b); \ No newline at end of file diff --git a/test/tall/regression/0700/0721.unit b/test/tall/regression/0700/0721.unit index 10d519a5..a4119ade 100644 --- a/test/tall/regression/0700/0721.unit +++ b/test/tall/regression/0700/0721.unit @@ -28,7 +28,6 @@ class C { class C { static token() => FirebaseMessaging().getToken(); - static unsubscribe(String topic) => FirebaseMessaging().unsubscribeFromTopic( - topic, - ); + static unsubscribe(String topic) => + FirebaseMessaging().unsubscribeFromTopic(topic); } \ No newline at end of file diff --git a/test/tall/regression/1100/1190.unit b/test/tall/regression/1100/1190.unit index f6502d0c..96209a22 100644 --- a/test/tall/regression/1100/1190.unit +++ b/test/tall/regression/1100/1190.unit @@ -55,66 +55,66 @@ AaaaaaaAaaaaaaaaAaaaaaaaAaaaa _aaaAaaaaaaaaAaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( ) { switch (aaaaaaAaaa) { case aaaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaa(aaaaaaa?.aaaaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaa(aaaaaaa?.aaaaaa); case aaaaaaaaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaa(aaaaaaa?.aaaaaaaaaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaa(aaaaaaa?.aaaaaaaaaaa); case aaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa( aaaaaaa?.aaaaaaaaaaAaaaa, aaaaaaaaAaaa, aaaaaaaAaaaaaaaAaaaaa: aaaaa, ); case aaaAaaaaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaa(aaaaaaa?.aaaAaaaaaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaa(aaaaaaa?.aaaAaaaaaaa); case aaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaaaaaAaaaaAaaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaaaaaAaaaaAaaaaa( aaaaaaa?.aaaAaaaaaaaaaAaaaaAaaaaa() == true ? aaaaaaa!.aaaaaaaaaaAaaaaAaaaaa : null, ); case aaaAaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaaaaaAaaaaAaaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaaaaaAaaaaAaaaaa( aaaaaaa?.aaaAaaAaaaaaaaaaAaaaaAaaaaa() == true ? aaaaaaa!.aaaAaaaaaaaaaAaaaaAaaaaa : null, ); case aaaaaaaaAaaAaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaaaaaAaaaaAaaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaaaaaAaaaaAaaaaa( aaaaaaa?.aaaAaaaaaaaAaaAaaaaaaaaaAaaaaAaaaaa() == true ? aaaaaaa!.aaaaaaaaAaaAaaaaaaaaaAaaaaAaaaaa : null, ); case aaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); case aaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); case aaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaa(aaaaaaa?.aaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaa(aaaaaaa?.aaaa); case aaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); case aaaaaAaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaa(aaaaaaa?.aaaaaAaaaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaa(aaaaaaa?.aaaaaAaaaaa); case aaaaAaaAaaaaAaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa(aaaaaaa?.aaaa, aaaaaaaaAaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa(aaaaaaa?.aaaa, aaaaaaaaAaaa); case aaaaaAaaaaAaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa(aaaaaaa?.aaaaaAaaaaAaaaa, aaaaaaaaAaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa(aaaaaaa?.aaaaaAaaaaAaaaa, aaaaaaaaAaaa); case aaaaaAaaaaAaaaaAaaAaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaa(aaaaaaa?.aaaaaAaaaaAaaaaAaaAaaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaa(aaaaaaa?.aaaaaAaaaaAaaaaAaaAaaaa); default: throw AaaaaaaaaaaaaAaaaa(aaaaaaAaaa); } @@ -176,66 +176,66 @@ AaaaaaaAaaaaaaaaAaaaaaaaAaaaa _aaaAaaaaaaaaAaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( ) { switch (aaaaaaAaaa) { case aaaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaa(aaaaaaa?.aaaaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaa(aaaaaaa?.aaaaaa); case aaaaaaaaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaa(aaaaaaa?.aaaaaaaaaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaa(aaaaaaa?.aaaaaaaaaaa); case aaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa( aaaaaaa?.aaaaaaaaaaAaaaa, aaaaaaaaAaaa, aaaaaaaAaaaaaaaAaaaaa: false, ); case aaaAaaaaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaa(aaaaaaa?.aaaAaaaaaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaa(aaaaaaa?.aaaAaaaaaaa); case aaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaaaaaAaaaaAaaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaaaaaAaaaaAaaaaa( aaaaaaa?.aaaAaaaaaaaaaAaaaaAaaaaa() == true ? aaaaaaa!.aaaaaaaaaaAaaaaAaaaaa : null, ); case aaaAaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaaaaaAaaaaAaaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaaaaaAaaaaAaaaaa( aaaaaaa?.aaaAaaAaaaaaaaaaAaaaaAaaaaa() == true ? aaaaaaa!.aaaAaaaaaaaaaAaaaaAaaaaa : null, ); case aaaaaaaaAaaAaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaaaaaAaaaaAaaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaaaaaAaaaaAaaaaa( aaaaaaa?.aaaAaaaaaaaAaaAaaaaaaaaaAaaaaAaaaaa() == true ? aaaaaaa!.aaaaaaaaAaaAaaaaaaaaaAaaaaAaaaaa : null, ); case aaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); case aaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); case aaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaa(aaaaaaa?.aaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaa(aaaaaaa?.aaaa); case aaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa(aaaaaaa?.aaa, aaaaaaaaAaaa); case aaaaaAaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaa(aaaaaaa?.aaaaaAaaaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaa(aaaaaaa?.aaaaaAaaaaa); case aaaaAaaAaaaaAaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa(aaaaaaa?.aaaa, aaaaaaaaAaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa(aaaaaaa?.aaaa, aaaaaaaaAaaa); case aaaaaAaaaaAaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaa(aaaaaaa?.aaaaaAaaaaAaaaa, aaaaaaaaAaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaa(aaaaaaa?.aaaaaAaaaaAaaaa, aaaaaaaaAaaa); case aaaaaAaaaaAaaaaAaaAaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaa(aaaaaaa?.aaaaaAaaaaAaaaaAaaAaaaa); + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaa(aaaaaaa?.aaaaaAaaaaAaaaaAaaAaaaa); default: throw AaaaaaaaaaaaaAaaaa(aaaaaaAaaa); } @@ -312,8 +312,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( }) { switch (aaaaaaAaaa) { case aaaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaaAaaaaAaaaa( aaaaaaaa?.aaaaaa, aaaaaaa?.aaaaaa, aaaaaaaAaaaaaaaaaa: aaaaaaaAaaaaaaaaaa, @@ -321,8 +321,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaaaaaaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaaAaaaaAaaaa( aaaaaaaa?.aaaaaaaaaaa, aaaaaaa?.aaaaaaaaaaa, aaaaaaaAaaaaaaaaaa: aaaaaaaAaaaaaaaaaa, @@ -330,8 +330,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaAaaaaAaaaa( aaaaaaaa?.aaaaaaaaaaAaaaa, aaaaaaa?.aaaaaaaaaaAaaaa, aaaaaaaaAaaa!, @@ -341,8 +341,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaAaaaaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaaAaaaaAaaaa( aaaaaaaa?.aaaAaaaaaaa, aaaaaaa?.aaaAaaaaaaa, aaaaaaaAaaaaaaaaaa: aaaaaaaAaaaaaaaaaa, @@ -350,8 +350,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaaaaAaaaaaaaaaAaaaaAaaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaaaaAaaaaaaaaaAaaaaAaaaaaAaaaaAaaaa( aaaaaaaa?.aaaaaaaaaaAaaaaAaaaaa, aaaaaaa?.aaaaaaaaaaAaaaaAaaaaa, aaaaaaaAaaaaaaaaaa: aaaaaaaAaaaaaaaaaa, @@ -359,8 +359,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaAaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaaaaAaaaaaaaaaAaaaaAaaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaaaaAaaaaaaaaaAaaaaAaaaaaAaaaaAaaaa( aaaaaaaa?.aaaAaaaaaaaaaAaaaaAaaaaa, aaaaaaa?.aaaAaaaaaaaaaAaaaaAaaaaa, aaaaaaaAaaaaaaaaaa: aaaaaaaAaaaaaaaaaa, @@ -368,8 +368,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaaaaaaAaaAaaaaaaaaaAaaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaaaaAaaaaaaaaaAaaaaAaaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaaaaAaaaaaaaaaAaaaaAaaaaaAaaaaAaaaa( aaaaaaaa?.aaaaaaaaAaaAaaaaaaaaaAaaaaAaaaaa, aaaaaaa?.aaaaaaaaAaaAaaaaaaaaaAaaaaAaaaaa, aaaaaaaAaaaaaaaaaa: aaaaaaaAaaaaaaaaaa, @@ -377,8 +377,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaAaaaaAaaaa( aaaaaaaa?.aaa, aaaaaaa?.aaa, aaaaaaaaAaaa!, @@ -388,8 +388,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaAaaaaAaaaa( aaaaaaaa?.aaa, aaaaaaa?.aaa, aaaaaaaaAaaa!, @@ -399,8 +399,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaaaaAaaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaaaaAaaaaaAaaaaAaaaa( aaaaaaaa?.aaaa, aaaaaaa?.aaaa, aaaaaaaAaaaaaaaaaa: aaaaaaaAaaaaaaaaaa, @@ -408,8 +408,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaAaaaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaAaaaaAaaaa( aaaaaaaa?.aaa, aaaaaaa?.aaa, aaaaaaaaAaaa!, @@ -419,8 +419,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaaaAaaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaaaAaaaaAaaaa( aaaaaaaa?.aaaaaAaaaaa, aaaaaaa?.aaaaaAaaaaa, aaaaaaaAaaaaaaaaaa: aaaaaaaAaaaaaaaaaa, @@ -428,8 +428,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaaAaaAaaaaAaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaAaaaaAaaaa( aaaaaaaa?.aaaa, aaaaaaa?.aaaa, aaaaaaaaAaaa!, @@ -438,8 +438,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaaaAaaaaAaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaAaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaAaaaaAaaaaAaaaa( aaaaaaaa?.aaaaaAaaaaAaaaa, aaaaaaa?.aaaaaAaaaaAaaaa, aaaaaaaaAaaa!, @@ -448,8 +448,8 @@ _aaaAaaaaaaaaAaaaaAaaaaaaaaaAaaaaaaaAaaaaaAaaaaaaaa( aaaaAaaa: true, ); case aaaaaAaaaaAaaaaAaaAaaaaAaaaaaAaaa: - return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => aaaaaaAaaaaaaaa - .aaaaaaaaaAaaaaaAaaaaAaaaa( + return (Aaaaaaaa? aaaaaaa, Aaaaaaaa? aaaaaaaa) => + aaaaaaAaaaaaaaa.aaaaaaaaaAaaaaaAaaaaAaaaa( aaaaaaaa?.aaaaaAaaaaAaaaaAaaAaaaa, aaaaaaa?.aaaaaAaaaaAaaaaAaaAaaaa, aaaaaaaAaaaaaaaaaa: aaaaaaaAaaaaaaaaaa, diff --git a/test/tall/regression/1200/1253.unit b/test/tall/regression/1200/1253.unit new file mode 100644 index 00000000..eb55fd5a --- /dev/null +++ b/test/tall/regression/1200/1253.unit @@ -0,0 +1,41 @@ +>>> +class C { + T visitVariableDeclarationList( + VariableDeclarationList node, + ) => visitExpression(node); + + T visitAssignment(Assignment node) => visitExpression(node); + + T visitVariableInitialization(VariableInitialization node) => visitExpression( + node, + ); +} +<<< +class C { + T visitVariableDeclarationList(VariableDeclarationList node) => + visitExpression(node); + + T visitAssignment(Assignment node) => visitExpression(node); + + T visitVariableInitialization(VariableInitialization node) => + visitExpression(node); +} +>>> +class C { + Instantiator visitLiteralStatement(LiteralStatement node) => TODO( + 'visitLiteralStatement', + ); +} +<<< +class C { + Instantiator visitLiteralStatement(LiteralStatement node) => + TODO('visitLiteralStatement'); +} +>>> +ModifiableCssSupportsRule copyWithoutChildren() => ModifiableCssSupportsRule( + condition, + span, +); +<<< +ModifiableCssSupportsRule copyWithoutChildren() => + ModifiableCssSupportsRule(condition, span); \ No newline at end of file diff --git a/test/tall/regression/1400/1463.unit b/test/tall/regression/1400/1463.unit index 3ae5748b..75016c24 100644 --- a/test/tall/regression/1400/1463.unit +++ b/test/tall/regression/1400/1463.unit @@ -79,9 +79,8 @@ class C { ); } else if (apiError.message?.contains('Permission denied') ?? false) { di().pushToastWithBuilder( - (context) => ToastConfig( - context.l10n.defaultMessagingRestriction, - ), + (context) => + ToastConfig(context.l10n.defaultMessagingRestriction), ); } }); @@ -140,9 +139,8 @@ class C { ); } else if (apiError.message?.contains('Permission denied') ?? false) { di().pushToastWithBuilder( - (context) => ToastConfig( - context.l10n.defaultMessagingRestriction, - ), + (context) => + ToastConfig(context.l10n.defaultMessagingRestriction), ); } }); diff --git a/test/tall/regression/other/misc.unit b/test/tall/regression/other/misc.unit index de1d6806..d8ebea8a 100644 --- a/test/tall/regression/other/misc.unit +++ b/test/tall/regression/other/misc.unit @@ -30,5 +30,5 @@ ItemRenderer get projectRenderer => Future executeShellCommand(String command) async => _api.executeShellCommand(command); <<< -Future executeShellCommand(String command) async => _api - .executeShellCommand(command); +Future executeShellCommand(String command) async => + _api.executeShellCommand(command); \ No newline at end of file