@@ -722,7 +722,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
722722 * identifier/field-identifier nodes so the resulting AST can be safely used as an argument without node-sharing
723723 * issues.
724724 */
725- private def createFieldAccessChain (baseName : String , fields : List [String ], node : SwiftNode ): Ast = {
725+ protected def createFieldAccessChain (baseName : String , fields : List [String ], node : SwiftNode ): Ast = {
726726 val baseAst = Ast (identifierNode(node, baseName))
727727 fields.foldLeft(baseAst) { (accAst, field) =>
728728 createFieldAccessCallAst(node, accAst, fieldIdentifierNode(node, field, field))
@@ -740,7 +740,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
740740 * Nested tuples like case ((1, 2), 3): are handled recursively: <subject>.0.0 == 1 && <subject>.0.1 == 2 &&
741741 * <subject>.1 == 3
742742 */
743- private def astForExpressionTuplePatternInSwitchContext (
743+ protected def astForExpressionTuplePattern (
744744 tupleExpr : TupleExprSyntax ,
745745 subjectBase : String ,
746746 subjectFieldPath : List [String ],
@@ -753,7 +753,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
753753 val subjectAst = createFieldAccessChain(subjectBase, currentPath, node)
754754 element.expression match {
755755 case inner : TupleExprSyntax =>
756- astForExpressionTuplePatternInSwitchContext (inner, subjectBase, currentPath, node)
756+ astForExpressionTuplePattern (inner, subjectBase, currentPath, node)
757757 case _ =>
758758 val rhsAst = astForNode(element)
759759 val eqCode = s " $subjectCode == ${code(element.expression)}"
@@ -768,7 +768,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
768768 }
769769 }
770770
771- private def isBindingTupleExpr (tupleExpr : TupleExprSyntax ): Boolean = {
771+ protected def isBindingTupleExpr (tupleExpr : TupleExprSyntax ): Boolean = {
772772 tupleExpr.elements.children.exists { elem =>
773773 elem.expression.isInstanceOf [PatternExprSyntax ]
774774 }
@@ -782,16 +782,16 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
782782 case ep : ExpressionPatternSyntax if ep.expression.isInstanceOf [TupleExprSyntax ] =>
783783 val tupleExpr = ep.expression.asInstanceOf [TupleExprSyntax ]
784784 if (isBindingTupleExpr(tupleExpr)) {
785- astsForBindingTupleExprInSwitchContext (tupleExpr, tmpName, List .empty, ep)
785+ astsForBindingTupleExpr (tupleExpr, tmpName, List .empty, ep)
786786 } else {
787- List (astForExpressionTuplePatternInSwitchContext (tupleExpr, tmpName, List .empty, ep))
787+ List (astForExpressionTuplePattern (tupleExpr, tmpName, List .empty, ep))
788788 }
789789 case vb : ValueBindingPatternSyntax =>
790790 vb.pattern match {
791791 case tp : TuplePatternSyntax =>
792- astsForBindingTuplePatternInSwitchContext (tp, tmpName, List .empty, vb)
792+ astsForBindingTuplePattern (tp, tmpName, List .empty, vb)
793793 case ep : ExpressionPatternSyntax if ep.expression.isInstanceOf [TupleExprSyntax ] =>
794- astsForBindingTupleExprInSwitchContext (
794+ astsForBindingTupleExpr (
795795 ep.expression.asInstanceOf [TupleExprSyntax ],
796796 tmpName,
797797 List .empty,
@@ -801,7 +801,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
801801 case _ => List (astForNode(item.pattern))
802802 }
803803 case tuple : TuplePatternSyntax =>
804- astsForBindingTuplePatternInSwitchContext (tuple, tmpName, List .empty, tuple)
804+ astsForBindingTuplePattern (tuple, tmpName, List .empty, tuple)
805805 case _ =>
806806 List (astForNode(item.pattern))
807807 }
@@ -825,7 +825,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
825825 */
826826
827827 /** Creates an instanceOf check for an IsTypePatternSyntax against a subject field access. */
828- private def astForIsTypePatternInTupleContext (
828+ protected def astForIsTypePatternInTupleContext (
829829 isType : IsTypePatternSyntax ,
830830 subjectAst : Ast ,
831831 subjectCode : String ,
@@ -842,7 +842,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
842842 }
843843
844844 /** Creates an equality check for an expression pattern against a subject field access. */
845- private def astForExpressionPatternInTupleContext (
845+ protected def astForExpressionPatternInTupleContext (
846846 ep : ExpressionPatternSyntax ,
847847 subjectAst : Ast ,
848848 subjectCode : String ,
@@ -855,7 +855,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
855855 }
856856
857857 /** Creates a variable binding assignment for a pattern element against a subject field access. */
858- private def astForBindingInTupleContext (
858+ protected def astForBindingInTupleContext (
859859 varName : String ,
860860 subjectAst : Ast ,
861861 subjectCode : String ,
@@ -869,7 +869,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
869869 List (createAssignmentCallAst(anchorNode, Ast (lhsNode), subjectAst, assignCode))
870870 }
871871
872- private def astsForBindingTuplePatternInSwitchContext (
872+ protected def astsForBindingTuplePattern (
873873 tuplePat : TuplePatternSyntax ,
874874 subjectBase : String ,
875875 subjectFieldPath : List [String ],
@@ -881,7 +881,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
881881 val subjectAst = createFieldAccessChain(subjectBase, currentPath, node)
882882 element.pattern match {
883883 case inner : TuplePatternSyntax =>
884- astsForBindingTuplePatternInSwitchContext (inner, subjectBase, currentPath, node)
884+ astsForBindingTuplePattern (inner, subjectBase, currentPath, node)
885885 case isType : IsTypePatternSyntax =>
886886 astForIsTypePatternInTupleContext(isType, subjectAst, subjectCode, node)
887887 case ep : ExpressionPatternSyntax =>
@@ -891,7 +891,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
891891 case vb : ValueBindingPatternSyntax =>
892892 vb.pattern match {
893893 case inner : TuplePatternSyntax =>
894- astsForBindingTuplePatternInSwitchContext (inner, subjectBase, currentPath, node)
894+ astsForBindingTuplePattern (inner, subjectBase, currentPath, node)
895895 case _ =>
896896 astForBindingInTupleContext(code(vb.pattern), subjectAst, subjectCode, tuplePat)
897897 }
@@ -902,7 +902,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
902902 }
903903
904904 /** Determines whether an expression inside a tuple represents a binding (let/var pattern). */
905- private def isBindingExpression (expr : ExprSyntax ): Boolean = expr match {
905+ protected def isBindingExpression (expr : ExprSyntax ): Boolean = expr match {
906906 case p : PatternExprSyntax =>
907907 p.pattern match {
908908 case _ : ValueBindingPatternSyntax => true
@@ -913,7 +913,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
913913 }
914914
915915 /** Dispatches a PatternSyntax inside a tuple context to the appropriate de-sugaring. */
916- private def astsForPatternInTupleContext (
916+ protected def astsForPatternInTupleContext (
917917 pattern : PatternSyntax ,
918918 subjectAst : Ast ,
919919 subjectCode : String ,
@@ -932,7 +932,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
932932 List (callAst(eqNode, List (subjectAst, rhsAst)))
933933 }
934934
935- private def astsForBindingTupleExprInSwitchContext (
935+ protected def astsForBindingTupleExpr (
936936 tupleExpr : TupleExprSyntax ,
937937 subjectBase : String ,
938938 subjectFieldPath : List [String ],
@@ -945,7 +945,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
945945 val subjectAst = createFieldAccessChain(subjectBase, currentPath, node)
946946 element.expression match {
947947 case inner : TupleExprSyntax =>
948- astsForBindingTupleExprInSwitchContext (inner, subjectBase, currentPath, node, allBindings)
948+ astsForBindingTupleExpr (inner, subjectBase, currentPath, node, allBindings)
949949 case _ if allBindings || isBindingExpression(element.expression) =>
950950 val varName = extractBindingName(element.expression)
951951 astForBindingInTupleContext(varName, subjectAst, subjectCode, tupleExpr)
@@ -966,7 +966,7 @@ trait AstForExprSyntaxCreator(implicit withSchemaValidation: ValidationMode) {
966966 * - `DeclReferenceExprSyntax` (`a` in `case let (a, b):`)
967967 * - `PatternExprSyntax(ValueBindingPatternSyntax(IdentifierPatternSyntax))` (`var a` in `case (var a, var b):`)
968968 */
969- private def extractBindingName (expr : ExprSyntax ): String = {
969+ protected def extractBindingName (expr : ExprSyntax ): String = {
970970 expr match {
971971 case d : DeclReferenceExprSyntax => code(d)
972972 case p : PatternExprSyntax =>
0 commit comments